summary refs log tree commit diff
path: root/.vim/after/plugin/neomake.vim
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2020-01-26 17:16:07 +0100
committerRobert Günzler <r@gnzler.io>2020-01-26 18:00:59 +0100
commitf5d56602df70950de6b7d40966b00c9939c81763 (patch)
treeb50ffeb5496fe3525cc1bab2629389ced95435b7 /.vim/after/plugin/neomake.vim
Intial commit of v2
See https://drewdevault.com/2019/12/30/dotfiles.html
Diffstat (limited to '.vim/after/plugin/neomake.vim')
-rw-r--r--.vim/after/plugin/neomake.vim60
1 files changed, 60 insertions, 0 deletions
diff --git a/.vim/after/plugin/neomake.vim b/.vim/after/plugin/neomake.vim
new file mode 100644
index 0000000..7024408
--- /dev/null
+++ b/.vim/after/plugin/neomake.vim
@@ -0,0 +1,60 @@
+if !exists('g:loaded_neomake')
+  finish
+endif
+
+" Neomake
+cnoreabbrev neom Neomake
+cnoreabbrev nm Neomake
+call neomake#configure#automake('w')
+
+" \ 'BufWritePost': {'delay': 0},
+let g:neomake_error_sign = {'text': '✘', 'texthl': 'NeomakeErrorSign'}
+let g:neomake_warning_sign = {'text': '‼', 'texthl': 'NeomakeWarningSign'}
+let g:neomake_message_sign = {'text': '☛', 'texthl': 'NeomakeMessageSign'}
+let g:neomake_info_sign = {'text': 'i', 'texthl': 'NeomakeInfoSign'}
+" let g:neomake_error_sign = {'text': '✘', 'texthl': 'ALEErrorSign'}
+" let g:neomake_warning_sign = {'text': '‼', 'texthl': 'ALEWarningSign'}
+" let g:neomake_message_sign = {'text': '☛', 'texthl': 'ALEInfoSign'}
+" let g:neomake_info_sign = {'text': 'i', 'texthl': 'ALEInfoSign'}
+" let g:neomake_serialize = 1
+
+let g:neomake_highlight_columns = 1
+let g:neomake_highlight_lines = 1
+let g:neomake_open_list = 0
+
+" function! OnNeomakeJobFinished()
+"   let l:ctx = g:neomake_hook_context
+"   if l:ctx.jobinfo.exit_code != 0
+"     echoerr l:ctx.jobinfo.maker.name . ' failed'
+"   endif
+" endfunction
+augroup neomake_hooks
+  au!
+  " au User NeomakeJobFinished call OnNeomakeJobFinished()
+  au BufWritePost * Neomake
+augroup END
+
+" generic makers
+let g:neomake_makeclean_maker = { 'exe': 'make', 'args': ['clean'], 'errorformat': '%f:%l:%c: %m' }
+let g:neomake_make_maker = { 'exe': 'make', 'errorformat': '%f:%l:%c: %m' }
+
+nmap <leader>nm :Neomake<space>
+
+let g:lightline.component_function.neomake = 'LightLineNeomake'
+function! LightLineNeomake()
+  let l:msg = neomake#statusline#get(bufnr('%'), {
+    \ 'format_status_disabled': '{{disabled_info}} %s',
+    \ 'format_status_enabled': '%s',
+    \ 'format_running': '… {{running_job_names}}',
+    \ 'format_loclist_ok': ' ✔',
+    \ 'format_loclist_issues': '%s',
+    \ 'format_loclist_unknown': '',
+    \ 'format_loclist_type_E': ' ✘ {{count}}',
+    \ 'format_loclist_type_W': ' ‼ {{count}}',
+    \ 'format_loclist_type_I': ' i {{count}}',
+    \ 'format_quickfix_type_E': '✘ {{count}}',
+    \ 'format_quickfix_type_W': '‼ {{count}}',
+    \ 'format_quickfix_type_I': 'i {{count}}',
+  \ })
+  return l:msg ? 'nm:'.l:msg : ''
+endfunction