forked from github-mirrors/ale
Add support for `ptop` fixer (#3652)
* Add support for `ptop` fixer * add test file for ptop tests * called wrong fixer in assertion test * use ' %s %t' instead of ' %t %t'
This commit is contained in:
parent
c6b61950f8
commit
cdac7a830e
|
@ -430,6 +430,11 @@ let s:default_registry = {
|
||||||
\ 'function': 'ale#fixers#ormolu#Fix',
|
\ 'function': 'ale#fixers#ormolu#Fix',
|
||||||
\ 'suggested_filetypes': ['haskell'],
|
\ 'suggested_filetypes': ['haskell'],
|
||||||
\ 'description': 'A formatter for Haskell source code.',
|
\ 'description': 'A formatter for Haskell source code.',
|
||||||
|
\ },
|
||||||
|
\ 'ptop': {
|
||||||
|
\ 'function': 'ale#fixers#ptop#Fix',
|
||||||
|
\ 'suggested_filetypes': ['pascal'],
|
||||||
|
\ 'description': 'Fix Pascal files with ptop.',
|
||||||
\ }
|
\ }
|
||||||
\}
|
\}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
" Author: BarrOff https://github.com/BarrOff
|
||||||
|
" Description: Integration of ptop with ALE.
|
||||||
|
|
||||||
|
call ale#Set('pascal_ptop_executable', 'ptop')
|
||||||
|
call ale#Set('pascal_ptop_options', '')
|
||||||
|
|
||||||
|
function! ale#fixers#ptop#Fix(buffer) abort
|
||||||
|
let l:executable = ale#Var(a:buffer, 'pascal_ptop_executable')
|
||||||
|
let l:options = ale#Var(a:buffer, 'pascal_ptop_options')
|
||||||
|
|
||||||
|
return {
|
||||||
|
\ 'command': ale#Escape(l:executable)
|
||||||
|
\ . (empty(l:options) ? '' : ' ' . l:options)
|
||||||
|
\ . ' %s %t',
|
||||||
|
\ 'read_temporary_file': 1,
|
||||||
|
\}
|
||||||
|
endfunction
|
|
@ -0,0 +1,24 @@
|
||||||
|
===============================================================================
|
||||||
|
ALE Pascal Integration *ale-pascal-options*
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
ptop *ale-pascal-ptop*
|
||||||
|
|
||||||
|
g:ale_pascal_ptop_executable *g:ale_pascal_ptop_executable*
|
||||||
|
*b:ale_pascal_ptop_executable*
|
||||||
|
Type: |String|
|
||||||
|
Default: `'ptop'`
|
||||||
|
|
||||||
|
This variable can be changed to specify the ptop executable.
|
||||||
|
|
||||||
|
|
||||||
|
g:ale_pascal_ptop_options *g:ale_pascal_ptop_options*
|
||||||
|
*b:ale_pascal_ptop_options*
|
||||||
|
Type: |String|
|
||||||
|
Default: `''`
|
||||||
|
|
||||||
|
This variable can be set to pass additional options to the ptop fixer.
|
||||||
|
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
|
|
@ -344,6 +344,8 @@ Notes:
|
||||||
* `ibm_validator`
|
* `ibm_validator`
|
||||||
* `prettier`
|
* `prettier`
|
||||||
* `yamllint`
|
* `yamllint`
|
||||||
|
* Pascal
|
||||||
|
* `ptop`
|
||||||
* Pawn
|
* Pawn
|
||||||
* `uncrustify`
|
* `uncrustify`
|
||||||
* Perl
|
* Perl
|
||||||
|
|
|
@ -2881,6 +2881,8 @@ documented in additional help files.
|
||||||
ibm_validator.........................|ale-openapi-ibm-validator|
|
ibm_validator.........................|ale-openapi-ibm-validator|
|
||||||
prettier..............................|ale-openapi-prettier|
|
prettier..............................|ale-openapi-prettier|
|
||||||
yamllint..............................|ale-openapi-yamllint|
|
yamllint..............................|ale-openapi-yamllint|
|
||||||
|
pascal..................................|ale-pascal-options|
|
||||||
|
ptop..................................|ale-pascal-ptop|
|
||||||
pawn....................................|ale-pawn-options|
|
pawn....................................|ale-pawn-options|
|
||||||
uncrustify............................|ale-pawn-uncrustify|
|
uncrustify............................|ale-pawn-uncrustify|
|
||||||
perl....................................|ale-perl-options|
|
perl....................................|ale-perl-options|
|
||||||
|
|
|
@ -353,6 +353,8 @@ formatting.
|
||||||
* [ibm_validator](https://github.com/IBM/openapi-validator)
|
* [ibm_validator](https://github.com/IBM/openapi-validator)
|
||||||
* [prettier](https://github.com/prettier/prettier)
|
* [prettier](https://github.com/prettier/prettier)
|
||||||
* [yamllint](https://yamllint.readthedocs.io/)
|
* [yamllint](https://yamllint.readthedocs.io/)
|
||||||
|
* Pascal
|
||||||
|
* [ptop](https://www.freepascal.org/tools/ptop.var)
|
||||||
* Pawn
|
* Pawn
|
||||||
* [uncrustify](https://github.com/uncrustify/uncrustify)
|
* [uncrustify](https://github.com/uncrustify/uncrustify)
|
||||||
* Perl
|
* Perl
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
Before:
|
||||||
|
Save g:ale_pascal_ptop_executable
|
||||||
|
Save g:ale_pascal_ptop_options
|
||||||
|
|
||||||
|
" Use an invalid global executable, so we don't match it.
|
||||||
|
let g:ale_pascal_ptop_executable = 'xxxinvalid'
|
||||||
|
let g:ale_pascal_ptop_options = ''
|
||||||
|
|
||||||
|
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||||
|
|
||||||
|
After:
|
||||||
|
Restore
|
||||||
|
|
||||||
|
call ale#test#RestoreDirectory()
|
||||||
|
|
||||||
|
Execute(The ptop callback should return the correct default values):
|
||||||
|
call ale#test#SetFilename('../test-files/pascal/test.pas')
|
||||||
|
|
||||||
|
AssertEqual
|
||||||
|
\ {
|
||||||
|
\ 'read_temporary_file': 1,
|
||||||
|
\ 'command': ale#Escape('xxxinvalid')
|
||||||
|
\ . ' %s %t',
|
||||||
|
\ },
|
||||||
|
\ ale#fixers#ptop#Fix(bufnr(''))
|
||||||
|
|
||||||
|
Execute(The ptop callback should include custom ptop options):
|
||||||
|
let g:ale_pascal_ptop_options = "-i 2"
|
||||||
|
call ale#test#SetFilename('../test-files/pascal/test.pas')
|
||||||
|
|
||||||
|
AssertEqual
|
||||||
|
\ {
|
||||||
|
\ 'read_temporary_file': 1,
|
||||||
|
\ 'command': ale#Escape('xxxinvalid')
|
||||||
|
\ . ' ' . g:ale_pascal_ptop_options
|
||||||
|
\ . ' %s %t',
|
||||||
|
\ },
|
||||||
|
\ ale#fixers#ptop#Fix(bufnr(''))
|
Loading…
Reference in New Issue