mirror of
https://github.com/dense-analysis/ale.git
synced 2025-12-06 20:54:26 +08:00
Adds --memory-limit support for phpstan (#3973)
* Adds --memmory-limit option for PHPStan linter * Updates docs for phpstan --memory-limit option. * Adds Arizard to authors * Adds test for phpstan memory limit parameter * Fixes order of parameters in test * Changes dash to underscore
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
" Author: medains <https://github.com/medains>, ardis <https://github.com/ardisdreelath>
|
" Author: medains <https://github.com/medains>, ardis <https://github.com/ardisdreelath>, Arizard <https://github.com/Arizard>
|
||||||
" Description: phpstan for PHP files
|
" Description: phpstan for PHP files
|
||||||
|
|
||||||
" Set to change the ruleset
|
" Set to change the ruleset
|
||||||
@@ -6,6 +6,7 @@ let g:ale_php_phpstan_executable = get(g:, 'ale_php_phpstan_executable', 'phpsta
|
|||||||
let g:ale_php_phpstan_level = get(g:, 'ale_php_phpstan_level', '')
|
let g:ale_php_phpstan_level = get(g:, 'ale_php_phpstan_level', '')
|
||||||
let g:ale_php_phpstan_configuration = get(g:, 'ale_php_phpstan_configuration', '')
|
let g:ale_php_phpstan_configuration = get(g:, 'ale_php_phpstan_configuration', '')
|
||||||
let g:ale_php_phpstan_autoload = get(g:, 'ale_php_phpstan_autoload', '')
|
let g:ale_php_phpstan_autoload = get(g:, 'ale_php_phpstan_autoload', '')
|
||||||
|
let g:ale_php_phpstan_memory_limit = get(g:, 'ale_php_phpstan_memory_limit', '')
|
||||||
call ale#Set('php_phpstan_use_global', get(g:, 'ale_use_global_executables', 0))
|
call ale#Set('php_phpstan_use_global', get(g:, 'ale_use_global_executables', 0))
|
||||||
|
|
||||||
function! ale_linters#php#phpstan#GetCommand(buffer, version) abort
|
function! ale_linters#php#phpstan#GetCommand(buffer, version) abort
|
||||||
@@ -19,6 +20,11 @@ function! ale_linters#php#phpstan#GetCommand(buffer, version) abort
|
|||||||
\ ? ' -a ' . ale#Escape(l:autoload)
|
\ ? ' -a ' . ale#Escape(l:autoload)
|
||||||
\ : ''
|
\ : ''
|
||||||
|
|
||||||
|
let l:memory_limit = ale#Var(a:buffer, 'php_phpstan_memory_limit')
|
||||||
|
let l:memory_limit_option = !empty(l:memory_limit)
|
||||||
|
\ ? ' --memory-limit ' . ale#Escape(l:memory_limit)
|
||||||
|
\ : ''
|
||||||
|
|
||||||
let l:level = ale#Var(a:buffer, 'php_phpstan_level')
|
let l:level = ale#Var(a:buffer, 'php_phpstan_level')
|
||||||
let l:config_file_exists = ale#path#FindNearestFile(a:buffer, 'phpstan.neon')
|
let l:config_file_exists = ale#path#FindNearestFile(a:buffer, 'phpstan.neon')
|
||||||
let l:dist_config_file_exists = ale#path#FindNearestFile(a:buffer, 'phpstan.neon.dist')
|
let l:dist_config_file_exists = ale#path#FindNearestFile(a:buffer, 'phpstan.neon.dist')
|
||||||
@@ -41,6 +47,7 @@ function! ale_linters#php#phpstan#GetCommand(buffer, version) abort
|
|||||||
\ . l:configuration_option
|
\ . l:configuration_option
|
||||||
\ . l:autoload_option
|
\ . l:autoload_option
|
||||||
\ . l:level_option
|
\ . l:level_option
|
||||||
|
\ . l:memory_limit_option
|
||||||
\ . ' %s'
|
\ . ' %s'
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
|||||||
@@ -187,6 +187,15 @@ g:ale_php_phpstan_autoload *g:ale_php_phpstan_autoload*
|
|||||||
This variable sets path to phpstan autoload file.
|
This variable sets path to phpstan autoload file.
|
||||||
|
|
||||||
|
|
||||||
|
g:ale_php_phpstan_memory_limit *g:ale_php_phpstan_memory-limit*
|
||||||
|
*b:ale_php_phpstan_memory-limit*
|
||||||
|
Type: |String|
|
||||||
|
Default: `''`
|
||||||
|
|
||||||
|
This variable sets the memory limit for phpstan analysis. This is a string
|
||||||
|
in the same format as `php.ini` accepts, e.g. `128M`, `1G`.
|
||||||
|
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
psalm *ale-php-psalm*
|
psalm *ale-php-psalm*
|
||||||
|
|
||||||
|
|||||||
@@ -113,3 +113,9 @@ Execute(Autoload parameter is added to the command):
|
|||||||
|
|
||||||
AssertLinter 'phpstan',
|
AssertLinter 'phpstan',
|
||||||
\ ale#Escape('phpstan') . ' analyze --no-progress --errorFormat json -a ' . ale#Escape('autoload.php') . ' -l ' . ale#Escape('4') . ' %s'
|
\ ale#Escape('phpstan') . ' analyze --no-progress --errorFormat json -a ' . ale#Escape('autoload.php') . ' -l ' . ale#Escape('4') . ' %s'
|
||||||
|
|
||||||
|
Execute(Memory limit parameter is added to the command):
|
||||||
|
let g:ale_php_phpstan_memory_limit = '500M'
|
||||||
|
|
||||||
|
AssertLinter 'phpstan',
|
||||||
|
\ ale#Escape('phpstan') . ' analyze --no-progress --errorFormat json -l ' . ale#Escape('4') . ' --memory-limit ' . ale#Escape('500M') . ' %s'
|
||||||
|
|||||||
Reference in New Issue
Block a user