summaryrefslogtreecommitdiff
path: root/vim
diff options
context:
space:
mode:
Diffstat (limited to 'vim')
-rw-r--r--vim/.vimrc44
1 files changed, 29 insertions, 15 deletions
diff --git a/vim/.vimrc b/vim/.vimrc
index ef4c8e8..76684c9 100644
--- a/vim/.vimrc
+++ b/vim/.vimrc
@@ -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())