From aca317c1879e56c1deff1ab3c0133a6c1e4c5736 Mon Sep 17 00:00:00 2001 From: Maxim Likhachev Date: Fri, 2 Jul 2021 14:08:04 +0300 Subject: [PATCH] vim: ++coc.nvim settings --- etc/soft/nvim/coc-settings.json | 54 +++++++++++++++++++++++++ etc/soft/nvim/vimrc | 88 +++++++++++++++++++++++++++++++++++++---- 2 files changed, 134 insertions(+), 8 deletions(-) create mode 100644 etc/soft/nvim/coc-settings.json diff --git a/etc/soft/nvim/coc-settings.json b/etc/soft/nvim/coc-settings.json new file mode 100644 index 0000000..f44b113 --- /dev/null +++ b/etc/soft/nvim/coc-settings.json @@ -0,0 +1,54 @@ +{ + "diagnostic.errorSign": "✖", + "suggest.autoTrigger": "none", + "coc.preferences.formatOnSaveFiletypes": [], + "codeLens.enable": true, + "coc.preferences.formatOnSaveFiletypes": ["haskell"], + "coc.preferences.snippets.enable": true, + "languageserver": { + "golang": { + "command": "/Users/m.likhachev/go/bin/gopls", + "rootPatterns": ["go.mod", ".vim/", ".git/"], + "filetypes": ["go"], + "initializationOptions": { + "usePlaceholders": true + } + }, + "bash": { + "command": "bash-language-server", + "args": ["start"], + "filetypes": ["sh"], + "ignoredRootPaths": ["~"] + }, + "haskell": { + "command": "haskell-language-server-wrapper", + "args": ["--lsp", "--debug"], + "rootPatterns": ["*.cabal", "stack.yaml", "cabal.project", "package.yaml", "hie.yaml"], + "filetypes": ["haskell", "lhaskell"], + "settings": { + "languageServerHaskell": { + "hlintOn": true, + "maxNumberOfProblems": 10, + "completionSnippetsOn": true, + "formattingProvider": "none" + } + } + }, + "python": { + "command": "pylsp", + "filetypes": ["python"], + "ignoredRootPaths": ["~"] + }, + "terraform": { + "command": "terraform-ls", + "args": ["serve"], + //"command": "terraform-lsp", + "filetypes": [ + "terraform", + "tf" + ], + "initializationOptions": {}, + "settings": {} + } + } +} diff --git a/etc/soft/nvim/vimrc b/etc/soft/nvim/vimrc index 6065a60..761e312 100644 --- a/etc/soft/nvim/vimrc +++ b/etc/soft/nvim/vimrc @@ -331,9 +331,9 @@ nmap ,/ :nohlsearch " Перемещение курсора в режиме вставки " imap -imap -imap -imap +" imap +" imap +" imap " Показ строк, содержащих слово под курсором nmap g [I:let nr=input("> ")exe "normal " . nr . "[\t" @@ -626,7 +626,7 @@ let g:airline_whitespace_symbol = '∅' let g:airline_section_c = '%t%m%r%h%w' let g:airline_section_z = '%L:%03l,%03v %p%%' -let g:airline_extensions = ['neomake', 'whitespace'] +let g:airline_extensions = ['neomake', 'whitespace', 'coc'] " enable/disable fugitive/lawrencium integration let g:airline_enable_branch=1 @@ -655,6 +655,12 @@ let g:airline_theme='cool' " enable/disable usage of patched powerline font symbols let g:airline_powerline_fonts=0 +let g:airline#extensions#coc#enabled = 1 +let airline#extensions#coc#error_symbol = 'E:' +let airline#extensions#coc#warning_symbol = 'W:' +let airline#extensions#coc#stl_format_err = '%E{[%e(#%fe)]}' +let airline#extensions#coc#stl_format_warn = '%W{[%w(#%fw)]}' + " define the set of text to display for each mode. let g:airline_mode_map = { 'i': '+', 'n': ' ', 'v': '⇄', 'V': '⇄', '': '⇅', 'R': '✂', 'c': '#', 's': 'SELECT', '^S': 'S-BLOCK', 'S': 'S-LINE' } @@ -761,8 +767,8 @@ let g:timestamp_rep = '%a %d %b %Y %H:%M:%S' "Pummode"{{{ " Выбор вариантов дополнения курсорными клавишами -call pummode#map('i', '', 0, 'j', '') -call pummode#map('i', '', 0, 'k', '') +call pummode#map('i', '', 1, "", '') +call pummode#map('i', '', 1, "", '') call pummode#map('i', '', 0, '', '') "}}} @@ -799,6 +805,7 @@ let g:used_javascript_libs = 'jquery' " When writing a buffer (no delay). call neomake#configure#automake('w') " let g:neomake_open_list = 2 +let g:neomake_haskell_enabled_makers = ["hlint"] " }}} " nnn.vim {{{ @@ -885,8 +892,8 @@ let g:CheatSheetDefaultMode=0 let g:CheatSheetFrameworks = {} -imap