" echodoc set cmdheight=2 let g:echodoc#enable_at_startup = 1 let g:echodoc#type = 'signature' "LanguageClient-neovim " Required for operations modifying multiple buffers like rename. set hidden nnoremap lc :call LanguageClient_contextMenu() " Or map each action separately nnoremap K :call LanguageClient#textDocument_hover() nnoremap gd :call LanguageClient#textDocument_definition() nnoremap :call LanguageClient#textDocument_rename() let g:LanguageClient_autoStart = 0 let g:LanguageClient_diagnosticsEnable = 1 let g:LanguageClient_diagnosticsDisplay = { \ 1: { \ "name": "Error", \ "texthl": "ALEError", \ "signText": "✖", \ "signTexthl": "ALEErrorSign", \ "virtualTexthl": "Error", \ }, \ 2: { \ "name": "Warning", \ "texthl": "ALEWarning", \ "signText": "⚠", \ "signTexthl": "ALEWarningSign", \ "virtualTexthl": "Virtual", \ }, \ 3: { \ "name": "Information", \ "texthl": "ALEInfo", \ "signText": "ℹ", \ "signTexthl": "ALEInfoSign", \ "virtualTexthl": "Virtual", \ }, \ 4: { \ "name": "Hint", \ "texthl": "ALEInfo", \ "signText": "➤", \ "signTexthl": "ALEInfoSign", \ "virtualTexthl": "Virtual", \ }, \ } " hi link ALEError Error hi ALEError term=underline cterm=underline ctermfg=Red gui=undercurl guisp=Red hi link ALEWarning Warning hi Virtual cterm=italic ctermfg=10 gui=italic guifg=#4b5558 hi link ALEInfo SpellCap let $LANGUAGECLIENT_DEBUG=1 let g:LanguageClient_loggingLevel='DEBUG' let g:LanguageClient_virtualTextPrefix = '' let g:LanguageClient_loggingFile = expand('~/LanguageClient.log') let g:LanguageClient_serverStderr = expand('~/LanguageServer.log') if !has("nvim") " lj let g:LustyJugglerSuppressRubyWarning = 1 endif " neosnippet " Plugin key-mappings. " Note: It must be "imap" and "smap". It uses mappings. " imap (neosnippet_expand_or_jump) " smap (neosnippet_expand_or_jump) " xmap (neosnippet_expand_target) " SuperTab like snippets behavior. " Note: It must be "imap" and "smap". It uses mappings. " imap neosnippet#expandable_or_jumpable() ? "\(neosnippet_expand_or_jump)" : pumvisible() ? "\" : "\" " smap neosnippet#expandable_or_jumpable() ? "\(neosnippet_expand_or_jump)" : "\" " For conceal markers. " if has('conceal') " set conceallevel=2 concealcursor=niv " endif " Enable snipMate compatibility feature. " let g:neosnippet#enable_snipmate_compatibility = 1 " let g:neosnippet#snippets_directory='~/.vim/custom-snippets' " rainbow let g:rainbow_conf = { \ 'guifgs': ['#DC322F', 'royalblue3', 'darkorange3', 'seagreen3'], \ 'ctermfgs': ['lightred', 'lightblue', 'lightyellow', 'lightcyan', 'lightmagenta'], \} let g:rainbow_active = 1 " vim airline " let g:airline#extensions#tabline#enabled = 1 " deoplete let g:deoplete#enable_at_startup = 0 " ==== delimitMate ==== let g:delimitMate_matchpairs = "(:),[:],{:}" let g:delimitMate_expand_cr = 1 let g:delimitMate_expand_space = 1 let g:delimitMate_autoclose = 1 " Solarized stuff " let g:solarized_termtrans=0 " let g:solarized_degrade=0 " let g:solarized_bold=1 " let g:solarized_underline=1 " let g:solarized_italic=1 " let g:solarized_termcolors=16 " let g:solarized_contrast="normal" let g:solarized_visibility="high" " let g:solarized_diffmode="normal" " let g:solarized_hitrail=0 let g:solarized_menu=1 " youcompleteme let g:ycm_filetype_blacklist = { \ 'notes' : 1, \ 'markdown' : 1, \ 'text' : 1, \ 'java' : 1, \} let g:ycm_confirm_extra_conf = 0 let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py' let g:ycm_collect_identifiers_from_tags_files = 1 let g:ycm_seed_identifiers_with_syntax = 0 " let g:ycm_always_populate_location_list = 1 let g:ycm_autoclose_preview_window_after_completion = 1 let g:ycm_key_invoke_completion = '' let g:ycm_key_list_select_completion = [''] let g:ycm_key_list_previous_completion = [''] " nnoremap :YcmCompleter GoToDefinition let g:ycm_server_log_level = 'error' let g:ycm_semantic_triggers = {'haskell' : ['. ', '$ ']} let g:ycm_goto_buffer_command = 'horizontal-split' " commenting let NERDSpaceDelims=1 let NERDCreateDefaultMappings=0 " haskellmode, needs to load early let g:haddock_browser='/usr/bin/firefox' let g:haddock_browser_callformat='%s file://%s >/dev/null 2>&1 &' " ctrlp let g:ctrlp_user_command = 'fd --type f --color=never "" %s' let g:ctrlp_use_caching = 1 let g:ctrlp_match_func = { 'match': 'cpsm#CtrlPMatch' } " fzf " --column: Show column number " --line-number: Show line number " --no-heading: Do not show file headings in results " --fixed-strings: Search term as a literal string " --ignore-case: Case insensitive search " --no-ignore: Do not respect .gitignore, etc... " --hidden: Search hidden files and folders " --follow: Follow symlinks " --glob: Additional conditions for search (in this case ignore everything in the .git/ folder) " --color: Search color options command! -bang -nargs=* Find call fzf#vim#grep('rg --column --line-number --no-heading --fixed-strings --ignore-case --no-ignore --hidden --follow --glob "!.git/*" --color "always" '.shellescape(), 1, 0) function! WithGitRoot() let groot = systemlist('git -C ' . expand('%:p:h') . ' rev-parse --show-toplevel')[0] return v:shell_error ? {} : {'dir': groot} endfunction command! -nargs=* Rag \ call fzf#vim#ag(, WithGitRoot())