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
"================
"{{{
"source system defaults
if filereadable(expand('$VIMRUNTIME/defaults.vim'))
unlet! g:skip_defaults_vim
@ -186,13 +185,6 @@ nnoremap <leader>obs :OpenBrowserSearch
nmap 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
let g:user_emmet_leader_key = '<C-E>'
@ -202,7 +194,7 @@ nnoremap <leader>ggt :GitGutterToggle<CR>
"vim-fugitive
nnoremap <leader>gw :Gwrite<CR>
nnoremap <leader>gl :Glog<CR>
nnoremap <leader>gs :Git<CR>
nnoremap <leader>g :Git<CR>
nnoremap <leader>gd :Gdiffsplit<CR>
nnoremap <leader>gp :Gpush<CR>
nnoremap <leader>ga :Git add %<CR>
@ -278,10 +270,10 @@ call plug#begin(pluginDir)
"toml
Plug 'cespare/vim-toml'
" ==== general language support ====
"linting and lsp
Plug 'w0rp/ale'
Plug 'prabirshrestha/vim-lsp'
Plug 'mattn/vim-lsp-settings'
" ==== misc editor plugins ====
Plug 'editorconfig/editorconfig-vim'
@ -301,30 +293,58 @@ let g:netrw_browsex_viewer = "xdg-open"
let g:NetrwIsOpen = 0 "for toggle function
let g:netrw_nogx = 1
"ale
let g:ale_linters = {
\ 'python': ['flake8', 'pylint'],
\ 'javascript': ['eslint'],
\ 'ruby': ['rubocop'],
\ 'markdown': ['mdl', 'write-good']
\}
"vim-lsp
function! s:on_lsp_buffer_enabled() abort
setlocal omnifunc=lsp#complete
setlocal signcolumn=yes
if exists('+tagfunc') | setlocal tagfunc=lsp#tagfunc | endif
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 = {
\ '*': ['remove_trailing_lines', 'trim_whitespace'],
\ 'python': ['yapf', 'black'],
\ 'javascript': ['prettier', 'eslint'],
\ 'ruby': ['rubocop'],
\ 'css': ['prettier'],
\ 'scss': ['prettier'],
\ 'html': ['prettier'],
\ 'markdown': ['prettier']
\}
nmap <buffer> <leader>pdf <plug>(lsp-peek-definition)
nmap <buffer> <leader>pdc <plug>(lsp-peek-declaration)
nmap <buffer> <leader>pdi <plug>(lsp-peek-implementation)
nmap <buffer> <leader>ca <plug>(lsp-code-action)
nmap <buffer> <leader>cl <plug>(lsp-code-lens)
nmap <buffer> <leader>r <plug>(lsp-rename)
nmap <buffer> <leader>s <plug>(lsp-status)
nmap <buffer> <leader>di <plug>(lsp-document-diagnostics)
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
let g:vim_markdown_folding_disabled = 1
@ -352,7 +372,6 @@ command! Trim %s/\s\+$//
"Functions
"=========
"{{{
"toggle functions
"----------------
function! ToggleColorColumn()
@ -405,24 +424,6 @@ endfunction
"============
"{{{
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)
"------------------
function FT_python()
@ -451,7 +452,7 @@ if has("autocmd")
endfunction
function FT_markdown()
setlocal spell
" setlocal spell
endfunction
function FT_halftab()
@ -460,13 +461,39 @@ if has("autocmd")
"language specific autocmds
"--------------------------
augroup language_group
augroup language_ft_group
autocmd!
autocmd FileType python call FT_python()
autocmd FileType ruby,eruby call FT_ruby()
autocmd FileType go call FT_go()
autocmd FileType html call FT_html()
autocmd FileType markdown call FT_markdown()
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
endif
"}}}
@ -486,7 +513,7 @@ endif
" colorscheme 1989
" colorscheme PaperColor
" colorscheme gruvbox
" colorscheme jellybeans
colorscheme jellybeans
" colorscheme molokai
" colorscheme Benokai
" colorscheme Monokai