aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/.local/share/nvim/site/autoload/neomake/makers/ft/lua.vim
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/.local/share/nvim/site/autoload/neomake/makers/ft/lua.vim')
-rw-r--r--dotfiles/.local/share/nvim/site/autoload/neomake/makers/ft/lua.vim33
1 files changed, 33 insertions, 0 deletions
diff --git a/dotfiles/.local/share/nvim/site/autoload/neomake/makers/ft/lua.vim b/dotfiles/.local/share/nvim/site/autoload/neomake/makers/ft/lua.vim
new file mode 100644
index 0000000..c0e6bce
--- /dev/null
+++ b/dotfiles/.local/share/nvim/site/autoload/neomake/makers/ft/lua.vim
@@ -0,0 +1,33 @@
+function! neomake#makers#ft#lua#EnabledMakers() abort
+ return executable('luacheck') ? ['luacheck'] : ['luac']
+endfunction
+
+" luacheck: postprocess: use pattern (%s) for end column.
+function! neomake#makers#ft#lua#PostprocessLuacheck(entry) abort
+ let end_col = matchstr(a:entry.pattern, '\v\d+')
+ if !empty(end_col)
+ let a:entry.length = end_col - a:entry.col + 1
+ else
+ echom 'luacheck: no end_col: '.string(a:entry)
+ endif
+ let a:entry.pattern = ''
+endfunction
+
+function! neomake#makers#ft#lua#luacheck() abort
+ " cwd: luacheck looks for .luacheckrc upwards from there.
+ return {
+ \ 'args': ['--no-color', '--formatter=plain', '--ranges', '--codes', '--filename', '%:p'],
+ \ 'cwd': '%:p:h',
+ \ 'errorformat': '%E%f:%l:%c-%s: \(%t%n\) %m',
+ \ 'postprocess': function('neomake#makers#ft#lua#PostprocessLuacheck'),
+ \ 'supports_stdin': 1,
+ \ }
+endfunction
+
+function! neomake#makers#ft#lua#luac() abort
+ return {
+ \ 'args': ['-p'],
+ \ 'errorformat': '%*\f: %#%f:%l: %m',
+ \ }
+endfunction
+" vim: ts=4 sw=4 et