summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ale_linters/puppet/puppet.vim13
-rw-r--r--doc/ale-puppet.txt20
-rw-r--r--doc/ale.txt1
3 files changed, 32 insertions, 2 deletions
diff --git a/ale_linters/puppet/puppet.vim b/ale_linters/puppet/puppet.vim
index 4ca0dd55..d44bb517 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', '')
+
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 --color=false '
+ \ . 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..daa8c10f 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: `''`
+
+ 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*
diff --git a/doc/ale.txt b/doc/ale.txt
index 29f74e1a..2c018a10 100644
--- a/doc/ale.txt
+++ b/doc/ale.txt
@@ -204,6 +204,7 @@ CONTENTS *ale-contents*
pug...................................|ale-pug-options|
puglint.............................|ale-pug-puglint|
puppet................................|ale-puppet-options|
+ puppet..............................|ale-puppet-puppet|
puppetlint..........................|ale-puppet-puppetlint|
puppet-languageserver...............|ale-puppet-languageserver|
pyrex (cython)........................|ale-pyrex-options|