diff options
author | Tim Byrne <sultan@locehilios.com> | 2018-08-27 12:59:38 -0500 |
---|---|---|
committer | Tim Byrne <sultan@locehilios.com> | 2018-08-27 12:59:38 -0500 |
commit | 192f211a0ee63c716d0d5887755d1e139a82ace8 (patch) | |
tree | 1c6079597f874a5d35c67ef4aa84b2f41ad16b4b | |
parent | 3c85c7ef65242cf80279cf9dcf843523f6d7875b (diff) | |
download | ale-192f211a0ee63c716d0d5887755d1e139a82ace8.zip |
Support options for puppet parser validate
It can be necessary to pass options to the puppet parser validation. The
most glaring example of this is when using Puppet 3, with the
`parser = future` option enabled. This update allows adding
`--parser=future` to the options passed to Puppet.
-rw-r--r-- | ale_linters/puppet/puppet.vim | 13 | ||||
-rw-r--r-- | doc/ale-puppet.txt | 20 |
2 files changed, 31 insertions, 2 deletions
diff --git a/ale_linters/puppet/puppet.vim b/ale_linters/puppet/puppet.vim index 4ca0dd55..1ed268d1 100644 --- a/ale_linters/puppet/puppet.vim +++ b/ale_linters/puppet/puppet.vim @@ -1,5 +1,8 @@ " Author: Alexander Olofsson <alexander.olofsson@liu.se> +call ale#Set('puppet_puppet_executable', 'puppet') +call ale#Set('puppet_puppet_options', '--color=false') + function! ale_linters#puppet#puppet#Handle(buffer, lines) abort " Matches patterns like the following: " Error: Could not parse for environment production: Syntax error at ':' at /root/puppetcode/modules/nginx/manifests/init.pp:43:12 @@ -20,10 +23,16 @@ function! ale_linters#puppet#puppet#Handle(buffer, lines) abort return l:output endfunction +function! ale_linters#puppet#puppet#GetCommand(buffer) abort + return '%e parser validate ' + \ . ale#Pad(ale#Var(a:buffer, 'puppet_puppet_options')) + \ . ' %t' +endfunction + call ale#linter#Define('puppet', { \ 'name': 'puppet', -\ 'executable': 'puppet', +\ 'executable_callback': ale#VarFunc('puppet_puppet_executable'), \ 'output_stream': 'stderr', -\ 'command': 'puppet parser validate --color=false %t', +\ 'command_callback': 'ale_linters#puppet#puppet#GetCommand', \ 'callback': 'ale_linters#puppet#puppet#Handle', \}) diff --git a/doc/ale-puppet.txt b/doc/ale-puppet.txt index 7c67484e..b37a19a1 100644 --- a/doc/ale-puppet.txt +++ b/doc/ale-puppet.txt @@ -3,6 +3,26 @@ ALE Puppet Integration *ale-puppet-options* =============================================================================== +puppet *ale-puppet-puppet* + +g:ale_puppet_puppet_executable *g:ale_puppet_puppet_executable* + *b:ale_puppet_puppet_executable* + Type: |String| + Default: `'puppet'` + + This variable can be changed to specify the executable used for puppet. + + +g:ale_puppet_puppet_options *g:ale_puppet_puppet_options* + *b:ale_puppet_puppet_options* + Type: |String| + Default: `'--color=false'` + + This variable can be changed to add command-line arguments to the + puppet parser validate invocation. + + +=============================================================================== puppetlint *ale-puppet-puppetlint* g:ale_puppet_puppetlint_executable *g:ale_puppet_puppetlint_executable* |