aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/.local/share/nvim/site/autoload/airline/extensions/eclim.vim
diff options
context:
space:
mode:
authorYaroslav <contact@yaroslavps.com>2020-03-31 17:52:49 +0300
committerYaroslav <contact@yaroslavps.com>2020-03-31 17:52:49 +0300
commit7217c7749e5403c9c7856c1d12c7986eb9c3b460 (patch)
treed60a112d9119a51af1cf5f590c5efad81751edf6 /dotfiles/.local/share/nvim/site/autoload/airline/extensions/eclim.vim
parent9a3aa7b20a67c1b7991da1da9508ad5f78f76352 (diff)
downloadvimrice-7217c7749e5403c9c7856c1d12c7986eb9c3b460.tar.gz
vimrice-7217c7749e5403c9c7856c1d12c7986eb9c3b460.zip
Goodbye vim, been using neovim for ages now; home directory cleanup
Diffstat (limited to 'dotfiles/.local/share/nvim/site/autoload/airline/extensions/eclim.vim')
-rw-r--r--dotfiles/.local/share/nvim/site/autoload/airline/extensions/eclim.vim61
1 files changed, 61 insertions, 0 deletions
diff --git a/dotfiles/.local/share/nvim/site/autoload/airline/extensions/eclim.vim b/dotfiles/.local/share/nvim/site/autoload/airline/extensions/eclim.vim
new file mode 100644
index 0000000..3c48d75
--- /dev/null
+++ b/dotfiles/.local/share/nvim/site/autoload/airline/extensions/eclim.vim
@@ -0,0 +1,61 @@
+" MIT License. Copyright (c) 2013-2018 Bailey Ling et al.
+" vim: et ts=2 sts=2 sw=2
+
+scriptencoding utf-8
+
+if !exists(':ProjectCreate')
+ finish
+endif
+
+function! airline#extensions#eclim#creat_line(...)
+ if &filetype == "tree"
+ let builder = a:1
+ call builder.add_section('airline_a', ' Project ')
+ call builder.add_section('airline_b', ' %f ')
+ call builder.add_section('airline_c', '')
+ return 1
+ endif
+endfunction
+
+function! airline#extensions#eclim#get_warnings()
+ " Cache vavlues, so that it isn't called too often
+ if exists("s:eclim_errors") &&
+ \ get(b:, 'airline_changenr', 0) == changenr()
+ return s:eclim_errors
+ endif
+ let eclimList = eclim#display#signs#GetExisting()
+ let s:eclim_errors = ''
+
+ if !empty(eclimList)
+ " Remove any non-eclim signs (see eclim#display#signs#Update)
+ " First check for just errors since they are more important.
+ " If there are no errors, then check for warnings.
+ let errorList = filter(copy(eclimList), 'v:val.name =~ "^\\(qf_\\)\\?\\(error\\)$"')
+
+ if (empty(errorList))
+ " use the warnings
+ call filter(eclimList, 'v:val.name =~ "^\\(qf_\\)\\?\\(warning\\)$"')
+ let type = 'W'
+ else
+ " Use the errors
+ let eclimList = errorList
+ let type = 'E'
+ endif
+
+ if !empty(eclimList)
+ let errorsLine = eclimList[0]['line']
+ let errorsNumber = len(eclimList)
+ let errors = "[Eclim:" . type . " line:".string(errorsLine)." (".string(errorsNumber).")]"
+ if !exists(':SyntasticCheck') || SyntasticStatuslineFlag() == ''
+ let s:eclim_errors = errors.(g:airline_symbols.space)
+ endif
+ endif
+ endif
+ let b:airline_changenr = changenr()
+ return s:eclim_errors
+endfunction
+
+function! airline#extensions#eclim#init(ext)
+ call airline#parts#define_function('eclim', 'airline#extensions#eclim#get_warnings')
+ call a:ext.add_statusline_func('airline#extensions#eclim#creat_line')
+endfunction