LunarVim/lua/lsp/go-ls.lua
2021-06-30 18:45:40 -04:00

22 lines
861 B
Lua

require'lspconfig'.gopls.setup {
cmd = {DATA_PATH .. "/lspinstall/go/gopls"},
settings = {gopls = {analyses = {unusedparams = true}, staticcheck = true}},
root_dir = require'lspconfig'.util.root_pattern(".git", "go.mod"),
init_options = {usePlaceholders = true, completeUnimported = true},
on_attach = require'lsp'.common_on_attach
}
if O.lang.go.autoformat then
require('lv-utils').define_augroups({
_go_format = {
'BufWritePre', '*.go', 'lua vim.lsp.buf.formatting_sync(nil,1000)'
},
_go = {
-- Go generally requires Tabs instead of spaces.
{'FileType', 'go', 'setlocal tabstop=4'},
{'FileType', 'go', 'setlocal shiftwidth=4'},
{'FileType', 'go', 'setlocal softtabstop=4'},
{'FileType', 'go', 'setlocal noexpandtab'}
}
})
end