" For async completion Plug 'Shougo/deoplete.nvim', { 'on': [] } " automatic suggestions, can also perhaps be changed for newer plugs " PLUGIN: DEOPLETE " enable deoplete at startup let g:deoplete#enable_at_startup = 0 let g:deoplete#enable_ignore_case = 1 let g:deoplete#enable_smart_case = 1 let g:deoplete#enable_camel_case = 1 let g:deoplete#enable_refresh_always = 1 let g:deoplete#max_abbr_width = 0 let g:deoplete#max_menu_width = 0 let g:deoplete#omni#input_patterns = get(g:,'deoplete#omni#input_patterns',{}) Plug 'deoplete-plugins/deoplete-go', { 'do': 'make'} Plug 'Shougo/echodoc.vim', { 'on': [] } " PLUGIN: ECHODOC let g:echodoc#type="virtual" set splitbelow set completeopt+=menuone,noinsert,noselect set completeopt-=preview autocmd CompleteDone * pclose Plug 'w0rp/ale', { 'on': [] } " asynchronous linting - might be superseded by lsp or coc.nvim at some point " PLUGIN: ALE " clearer Error and warning signs for the gutter let g:ale_sign_error = '⤫' let g:ale_sign_warning = '⚠' " Enable integration with airline. let g:airline#extensions#ale#enabled = 1 let g:ale_fix_on_save = 1 let g:ale_fixers = { \'javascipt': ['eslint', 'prettier'], \'html': ['tidy','prettier'], \'typescript': ['prettier','tslint'], \'*': ['remove_trailing_lines', 'trim_whitespace'], \'go': ['gofmt'], \'sh': ['shfmt'], \'zsh': ['shfmt'], \} let g:ale_linters = { \ 'go': ['gopls'], \ 'sh': ['language_server','shellcheck'], \ 'zsh': ['language_server','shellcheck'], \} " lazy loading since they require a lot of startup time augroup load_ide_features autocmd! autocmd InsertEnter * call plug#load('ale', 'deoplete.nvim', 'echodoc.vim') \| autocmd! load_ide_features autocmd InsertEnter * call deoplete#enable() autocmd InsertEnter * call echodoc#enable() augroup PandocCompletion " Add pandoc citations to deoplete automatic completions autocmd InsertEnter * call deoplete#custom#var('omni', 'input_patterns', { \ 'pandoc': '@' \}) augroup END