Author: Kyle Fuller <kyle@fuller.li> 2021-09-04 15:05:09 +0100 +0100
Committer: Kyle Fuller <kyle@fuller.li> 2021-09-04 15:15:12 +0100 +0100
Commit: 802b8a5a6d95c3ba4f9f88470f619e0432709bf2
Parent: 69d704a61d7f34331d8688845218e0b920b8e58b
feat(vim): enable lsp
diff --git a/.vim/vimrc b/.vim/vimrc
index ac0df35cd1b7f1442112452c05a773407bd09f89..aedd1aba7161dc3332d4d7ae2cd3679492566d44 100644
--- a/.vim/vimrc
+++ b/.vim/vimrc
@@ -22,9 +22,15 @@ Plug '/usr/local/opt/fzf' | Plug 'junegunn/fzf.vim'
Plug 'rking/ag.vim'
Plug 'scrooloose/nerdtree', { 'on': ['NERDTreeToggle','NERDTreeFind'] }
+"" LSP / Completion Engines
+Plug 'hrsh7th/cmp-nvim-lsp'
+Plug 'hrsh7th/nvim-cmp'
+Plug 'neovim/nvim-lspconfig'
+
" Language
Plug 'cespare/vim-toml'
Plug 'dag/vim-fish'
+Plug 'hashivim/vim-terraform'
Plug 'kchmck/vim-coffee-script'
Plug 'keith/swift.vim'
Plug 'kylef/apiblueprint.vim'
@@ -154,3 +160,29 @@ autocmd FileType podspec set makeprg=pod\ spec\ lint\ %
autocmd FileType podfile set makeprg=pod\ install
augroup END
" }}}
+
+lua <<EOF
+ require'lspconfig'.ansiblels.setup{}
+ require'lspconfig'.bashls.setup{}
+ require'lspconfig'.pyright.setup{}
+ require'lspconfig'.sourcekit.setup{}
+ require'lspconfig'.sumneko_lua.setup{
+ cmd = {'lua-language-server'}
+ }
+ require'lspconfig'.terraformls.setup{}
+
+ local cmp = require'cmp'
+ cmp.setup({
+ snippet = {
+ expand = function(args)
+ vim.fn["vsnip#anonymous"](args.body)
+ end,
+ },
+ mapping = {
+ ['<C-y>'] = cmp.mapping.confirm({ select = true }),
+ },
+ sources = {
+ { name = 'nvim_lsp' },
+ }
+ })
+EOF