~damien/dotfiles

a9235cb6637cc0172ba98700ac0cede956fbe339 — Damien Radtke 10 months ago e0d504b
Improve LSP settings for gopls
4 files changed, 30 insertions(+), 3 deletions(-)

M vim/.config/nvim/init.lua
M vim/.config/nvim/lua/lsp.lua
A vim/.gitignore
M vim/.vimrc
M vim/.config/nvim/init.lua => vim/.config/nvim/init.lua +1 -0
@@ 5,6 5,7 @@ vim.opt.number = true
vim.opt.tabstop = 4
vim.opt.shiftwidth = 4
vim.opt.expandtab = false
vim.opt.signcolumn = 'number'

vim.keymap.set('n', '<leader>ff', '<cmd>Telescope find_files<cr>')
vim.keymap.set('n', '<leader>fg', '<cmd>Telescope live_grep<cr>')

M vim/.config/nvim/lua/lsp.lua => vim/.config/nvim/lua/lsp.lua +25 -3
@@ 11,10 11,10 @@ end
-- Mappings.
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
local opts = { noremap=true, silent=true }
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, opts)
vim.keymap.set('n', '<leader>ee', vim.diagnostic.open_float, opts)
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts)
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts)
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts)
vim.keymap.set('n', '<leader>ew', vim.diagnostic.setloclist, opts)

-- Use an on_attach function to only map the following keys
-- after the language server attaches to the current buffer


@@ 47,9 47,12 @@ local lsp_flags = {
	debounce_text_changes = 150,
}

local lsp_server_dir = vim.fn.stdpath('data')..'/lsp_servers'

lspconfig['rust_analyzer'].setup{
	on_attach = on_attach,
	flags = lsp_flags,
	cmd = {lsp_server_dir..'/rust/rust-analyzer'},
	-- Server-specific settings...
	settings = {
		["rust-analyzer"] = {}


@@ 59,7 62,7 @@ lspconfig['rust_analyzer'].setup{
lspconfig['sumneko_lua'].setup{
	on_attach = on_attach,
	flags = lsp_flags,
	cmd = {vim.fn.stdpath('data')..'/lsp_servers/sumneko_lua/extension/server/bin/lua-language-server'},
	cmd = {lsp_server_dir..'/sumneko_lua/extension/server/bin/lua-language-server'},
	settings = {
		Lua = {
			diagnostics = {


@@ 72,13 75,32 @@ lspconfig['sumneko_lua'].setup{
lspconfig['gopls'].setup{
	on_attach = on_attach,
	flags = lsp_flags,
	cmd = {lsp_server_dir..'/gopls/gopls'},
	-- https://github.com/golang/tools/blob/master/gopls/doc/settings.md
	--settings = {
	--	ui = {
	--		documentation = {
	--			hoverKind = 'FullDocumentation'
	--		}
	--	}
	--},
}

lspconfig['zls'].setup{
	on_attach = on_attach,
	flags = lsp_flags,
	cmd = {lsp_server_dir..'/zls/package/zls'},
}

lsp_installer.setup{
	automatic_installation = true,
}

vim.diagnostic.config({
	virtual_text = false,
	update_in_insert = false,
	signs = true,
	float = {
		border = 'single',
	},
})

A vim/.gitignore => vim/.gitignore +1 -0
@@ 0,0 1,1 @@
.local/share

M vim/.vimrc => vim/.vimrc +3 -0
@@ 19,6 19,7 @@ if has('nvim')
endif
if has('nvim-0.5')
	Plug 'neovim/nvim-lspconfig'
	Plug 'williamboman/nvim-lsp-installer', {'branch': 'main'}
	Plug 'nvim-telescope/telescope.nvim'
	Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
	Plug 'jlanzarotta/bufexplorer'


@@ 30,6 31,7 @@ set modeline
set nu
set completeopt=menuone,noinsert,noselect
set tabstop=4 shiftwidth=4
set signcolumn=number
nmap <Leader>ff :FZF<cr>
nmap <Leader>nt :NERDTreeToggle<cr>
nmap <Leader>nf :NERDTreeFind<cr>


@@ 42,6 44,7 @@ au FileType html setlocal expandtab tabstop=2 shiftwidth=2
au FileType json setlocal expandtab tabstop=2 shiftwidth=2
au FileType javascript setlocal expandtab tabstop=4 shiftwidth=4
au BufNewFile,BufRead *.xaml set filetype=xml
au BufNewFile,BufRead *.nomad set filetype=hcl

if has('nvim-0.5')
	silent! colorscheme OceanicNext