diff options
Diffstat (limited to 'lua/lsp/go-ls.lua')
-rw-r--r-- | lua/lsp/go-ls.lua | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/lua/lsp/go-ls.lua b/lua/lsp/go-ls.lua index 201873a8..4af87a9d 100644 --- a/lua/lsp/go-ls.lua +++ b/lua/lsp/go-ls.lua @@ -1,7 +1,22 @@ -require'lspconfig'.gopls.setup{ +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"), + 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 |