summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.vimrc15
1 files changed, 15 insertions, 0 deletions
diff --git a/.vimrc b/.vimrc
index dc6b517..6641294 100644
--- a/.vimrc
+++ b/.vimrc
@@ -69,6 +69,7 @@ Plug 'octol/vim-cpp-enhanced-highlight'
Plug 'unblevable/quick-scope'
Plug 'derekwyatt/vim-scala'
Plug 'ocaml/vim-ocaml'
+Plug 'gleam-lang/gleam.vim'
" Unmanaged plugin (manually installed and updated)
" Plug '~/my-prototype-plugin'
@@ -194,6 +195,20 @@ if executable('clangd')
augroup end
endif
+if executable('gleam')
+ au User lsp_setup call lsp#register_server({
+ \ 'name': 'gleam',
+ \ 'cmd': {server_info->['gleam lsp']},
+ \ 'root_uri':{server_info->lsp#utils#path_to_uri(
+ \ lsp#utils#find_nearest_parent_file_directory(
+ \ lsp#utils#get_buffer_path(),
+ \ ['gleam.toml', '.git'],
+ \ ))},
+ \ 'whitelist': ['gleam'],
+ \ })
+ autocmd FileType gleam setlocal omnifunc=lsp#complete
+endif
+
function! s:on_lsp_buffer_enabled() abort
setlocal omnifunc=lsp#complete
setlocal signcolumn=yes