ale -> vim-lsp

This commit is contained in:
James Dixon 2021-04-29 18:54:52 -04:00
parent 4bb324eefe
commit 9c3f1f0191

View File

@ -7,7 +7,6 @@
"General Settings "General Settings
"================ "================
"{{{ "{{{
"source system defaults "source system defaults
if filereadable(expand('$VIMRUNTIME/defaults.vim')) if filereadable(expand('$VIMRUNTIME/defaults.vim'))
unlet! g:skip_defaults_vim unlet! g:skip_defaults_vim
@ -186,13 +185,6 @@ nnoremap <leader>obs :OpenBrowserSearch
nmap gx <Plug>(openbrowser-smart-search) nmap gx <Plug>(openbrowser-smart-search)
vmap gx <Plug>(openbrowser-smart-search) vmap gx <Plug>(openbrowser-smart-search)
"ale
nnoremap <leader>at :ALEToggle<CR>
nmap <leader>af <Plug>(ale_fix)
nmap <leader>aK <Plug>(ale_hover)
nmap <leader>agd <Plug>(ale_go_to_definition)
nmap <leader>agd <Plug>(ale_go_to_definition)
"vim-emmet "vim-emmet
let g:user_emmet_leader_key = '<C-E>' let g:user_emmet_leader_key = '<C-E>'
@ -202,7 +194,7 @@ nnoremap <leader>ggt :GitGutterToggle<CR>
"vim-fugitive "vim-fugitive
nnoremap <leader>gw :Gwrite<CR> nnoremap <leader>gw :Gwrite<CR>
nnoremap <leader>gl :Glog<CR> nnoremap <leader>gl :Glog<CR>
nnoremap <leader>gs :Git<CR> nnoremap <leader>g :Git<CR>
nnoremap <leader>gd :Gdiffsplit<CR> nnoremap <leader>gd :Gdiffsplit<CR>
nnoremap <leader>gp :Gpush<CR> nnoremap <leader>gp :Gpush<CR>
nnoremap <leader>ga :Git add %<CR> nnoremap <leader>ga :Git add %<CR>
@ -278,10 +270,10 @@ call plug#begin(pluginDir)
"toml "toml
Plug 'cespare/vim-toml' Plug 'cespare/vim-toml'
" ==== general language support ==== " ==== general language support ====
"linting and lsp "linting and lsp
Plug 'w0rp/ale' Plug 'prabirshrestha/vim-lsp'
Plug 'mattn/vim-lsp-settings'
" ==== misc editor plugins ==== " ==== misc editor plugins ====
Plug 'editorconfig/editorconfig-vim' Plug 'editorconfig/editorconfig-vim'
@ -301,30 +293,58 @@ let g:netrw_browsex_viewer = "xdg-open"
let g:NetrwIsOpen = 0 "for toggle function let g:NetrwIsOpen = 0 "for toggle function
let g:netrw_nogx = 1 let g:netrw_nogx = 1
"ale "vim-lsp
let g:ale_linters = { function! s:on_lsp_buffer_enabled() abort
\ 'python': ['flake8', 'pylint'], setlocal omnifunc=lsp#complete
\ 'javascript': ['eslint'], setlocal signcolumn=yes
\ 'ruby': ['rubocop'], if exists('+tagfunc') | setlocal tagfunc=lsp#tagfunc | endif
\ 'markdown': ['mdl', 'write-good'] nmap <buffer> gd <plug>(lsp-definition)
\} nmap <buffer> gs <plug>(lsp-document-symbol-search)
nmap <buffer> gS <plug>(lsp-workspace-symbol-search)
nmap <buffer> gr <plug>(lsp-references)
nmap <buffer> gi <plug>(lsp-implementation)
nmap <buffer> gt <plug>(lsp-type-definition)
nmap <buffer> [g <plug>(lsp-previous-diagnostic)
nmap <buffer> ]g <plug>(lsp-next-diagnostic)
nmap <buffer> gp <plug>(lsp-previous-diagnostic)
nmap <buffer> gn <plug>(lsp-next-diagnostic)
nmap <buffer> K <plug>(lsp-hover)
let g:ale_fixers = { nmap <buffer> <leader>pdf <plug>(lsp-peek-definition)
\ '*': ['remove_trailing_lines', 'trim_whitespace'], nmap <buffer> <leader>pdc <plug>(lsp-peek-declaration)
\ 'python': ['yapf', 'black'], nmap <buffer> <leader>pdi <plug>(lsp-peek-implementation)
\ 'javascript': ['prettier', 'eslint'], nmap <buffer> <leader>ca <plug>(lsp-code-action)
\ 'ruby': ['rubocop'], nmap <buffer> <leader>cl <plug>(lsp-code-lens)
\ 'css': ['prettier'], nmap <buffer> <leader>r <plug>(lsp-rename)
\ 'scss': ['prettier'], nmap <buffer> <leader>s <plug>(lsp-status)
\ 'html': ['prettier'], nmap <buffer> <leader>di <plug>(lsp-document-diagnostics)
\ 'markdown': ['prettier'] nmap <buffer> <leader>df <plug>(lsp-document-format)
\}
inoremap <buffer> <expr><c-f> lsp#scroll(+4)
inoremap <buffer> <expr><c-d> lsp#scroll(-4)
let g:lsp_format_sync_timeout = 1000
" let g:lsp_document_highlight_enabled = 0
" let g:lsp_diagnostics_enabled = 0
" highlight lspReference ctermfg=red guifg=red ctermbg=green guibg=green
" refer to doc to add more commands
" https://github.com/prabirshrestha/vim-lsp#supported-commands
endfunction
"lsp-settings configs
" let g:lsp_settings = {
" \ 'pyls-all': {
" \ 'workspace_config': {
" \ 'pyls': {
" \ 'configurationSources': ['flake8']
" \ }
" \ }
" \ }
" \}
" let g:lsp_settings_filetype_python = ['pyls-all', 'pyright-langserver', 'jedi-language-server']
let g:ale_sign_error = '->'
let g:ale_sign_warning = '--'
let g:ale_lint_on_save = 1
let g:ale_fix_on_save_ignore = 1
highlight clear SignColumn
"vim-markdown "vim-markdown
let g:vim_markdown_folding_disabled = 1 let g:vim_markdown_folding_disabled = 1
@ -352,7 +372,6 @@ command! Trim %s/\s\+$//
"Functions "Functions
"========= "=========
"{{{ "{{{
"toggle functions "toggle functions
"---------------- "----------------
function! ToggleColorColumn() function! ToggleColorColumn()
@ -405,24 +424,6 @@ endfunction
"============ "============
"{{{ "{{{
if has("autocmd") if has("autocmd")
"global autocmds
"-----------------
augroup global
autocmd!
"keep equal proportions when windows resized
autocmd VimResized * wincmd =
"save cursor position in a file
autocmd BufReadPost * if line("'\"") > 1 && line("'\"")
\ <= line("$") | exe "normal! g'\"" | endif
augroup END
"general filetype autocmds
"-------------------------
augroup emmet_group
autocmd!
autocmd BufNewFile,BufRead *html*,*css*,*js* EmmetInstall
augroup END
"language specific filetype functions (run by autocmds) "language specific filetype functions (run by autocmds)
"------------------ "------------------
function FT_python() function FT_python()
@ -451,7 +452,7 @@ if has("autocmd")
endfunction endfunction
function FT_markdown() function FT_markdown()
setlocal spell " setlocal spell
endfunction endfunction
function FT_halftab() function FT_halftab()
@ -460,13 +461,39 @@ if has("autocmd")
"language specific autocmds "language specific autocmds
"-------------------------- "--------------------------
augroup language_group augroup language_ft_group
autocmd!
autocmd FileType python call FT_python() autocmd FileType python call FT_python()
autocmd FileType ruby,eruby call FT_ruby() autocmd FileType ruby,eruby call FT_ruby()
autocmd FileType go call FT_go() autocmd FileType go call FT_go()
autocmd FileType html call FT_html() autocmd FileType html call FT_html()
autocmd FileType markdown call FT_markdown() autocmd FileType markdown call FT_markdown()
autocmd FileType sh,ruby,bash,html,css,scss,javascript,json,toml,yaml call FT_halftab() autocmd FileType sh,ruby,bash,html,css,scss,javascript,json,toml,yaml call FT_halftab()
autocmd BufNewFile,BufRead *html*,*css*,*js* EmmetInstall
augroup END
"lsp autocmds
"------------
augroup lsp_install
autocmd!
autocmd User lsp_buffer_enabled call s:on_lsp_buffer_enabled()
augroup END
augroup lsp_ft_group
autocmd!
" autoformat with LSP
" autocmd BufWritePre *.rs call execute('LspDocumentFormatSync')
augroup END
"global autocmds
"-----------------
augroup global
autocmd!
"keep equal proportions when windows resized
autocmd VimResized * wincmd =
"save cursor position in a file
autocmd BufReadPost * if line("'\"") > 1 && line("'\"")
\ <= line("$") | exe "normal! g'\"" | endif
augroup END augroup END
endif endif
"}}} "}}}
@ -486,7 +513,7 @@ endif
" colorscheme 1989 " colorscheme 1989
" colorscheme PaperColor " colorscheme PaperColor
" colorscheme gruvbox " colorscheme gruvbox
" colorscheme jellybeans colorscheme jellybeans
" colorscheme molokai " colorscheme molokai
" colorscheme Benokai " colorscheme Benokai
" colorscheme Monokai " colorscheme Monokai