diff options
Diffstat (limited to 'vim')
| -rw-r--r-- | vim/.vimrc | 44 |
1 files changed, 29 insertions, 15 deletions
@@ -1,3 +1,4 @@ +"TODO: add documentation in the vim folder for this vim config if empty(glob('~/.vim/autoload/plug.vim')) silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim @@ -17,7 +18,8 @@ Plug 'prabirshrestha/asyncomplete-lsp.vim' Plug 'ap/vim-buftabline' Plug 'sheerun/vim-polyglot' Plug 'tpope/vim-commentary' -Plug 'tpope/vim-fugitive' +Plug 'prabirshrestha/asyncomplete-emmet.vim' +Plug 'keremc/asyncomplete-clang.vim' Plug 'kalbasit/vim-colemak' call plug#end() let mapleader = "\<Space>" @@ -59,8 +61,10 @@ colorscheme flatwhite nnoremap <Space> <Nop> nnoremap <silent> <leader> :WhichKey '<Space>'<CR> inoremap <silent> <Esc> <Esc>l +nnoremap <nowait> y w autocmd FileType html,css EmmetInstall "let +let g:VM_maps = {} let g:buftabline_show = 2 let g:buftabline_numbers = 1 let g:user_emmet_leader_key='<Space>' @@ -90,16 +94,26 @@ endif if executable('clangd') au User lsp_setup call lsp#register_server({ \ 'name': 'clangd', - \ 'cmd': {server_info->['clangd']}, - \ 'allowlist': ['c', 'cpp'], + \ 'cmd': {server_info->['clangd', '-background-index']}, + \ 'allowlist': ['c', 'cpp', 'objc', 'objcpp'], \}) endif +if executable('emmet-language-server') + au User asyncomplete_setup call asyncomplete#register_source(asyncomplete#sources#emmet#get_source_options({ + \ 'name': 'emmet', + \ 'whitelist': ['html'], + \ 'completor': function('asyncomplete#sources#emmet#completor'), + \ })) +endif if executable('vscode-html-language-server') - au User lsp_setup call lsp#register_server({ - \ 'name': 'html', - \ 'cmd': {server_info->['vscode-html-language-server']}, - \ 'allowlist': ['html'], - \}) + autocmd User lsp_setup call lsp#register_server({ + \ 'name': 'vscode-html-language-server', + \ 'cmd': {server_info->[&shell, &shellcmdflag, 'vscode-html-language-server --stdio']}, + \ 'whitelist': ['html'], + \ 'initialization_options': { + \ 'provideFormatter': v:true, + \ 'embeddedLanguages': {'css': v:true, 'javascript': v:true} + \ }}) endif if executable('vscode-css-language-server') au User lsp_setup call lsp#register_server({ @@ -110,17 +124,16 @@ if executable('vscode-css-language-server') endif if executable('typescript-language-server') au User lsp_setup call lsp#register_server({ - \ 'name': 'typescript', - \ 'cmd': {server_info->['typescript-language-server']}, - \ 'allowlist': ['ts', 'js'], - \}) + \ 'name': 'javascript support using typescript-language-server', + \ 'cmd': { server_info->[&shell, &shellcmdflag, 'typescript-language-server --stdio']}, + \ 'root_uri': { server_info->lsp#utils#path_to_uri(lsp#utils#find_nearest_parent_directory(lsp#utils#get_buffer_path(), '.git/..'))}, + \ 'whitelist': ['javascript', 'javascript.jsx', 'javascriptreact'] + \ }) endif - 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) @@ -136,7 +149,6 @@ function! s:on_lsp_buffer_enabled() abort let g:lsp_format_sync_timeout = 1000 autocmd! BufWritePre *.rs,*.go call execute('LspDocumentFormatSync') - " refer to doc to add more commands endfunction augroup lsp_install @@ -144,3 +156,5 @@ augroup lsp_install " call s:on_lsp_buffer_enabled only for languages that has the server registered. autocmd User lsp_buffer_enabled call s:on_lsp_buffer_enabled() augroup END +autocmd User asyncomplete_setup call asyncomplete#register_source( + \ asyncomplete#sources#clang#get_source_options()) |
