diff options
Diffstat (limited to 'ftplugin/go.lua')
-rw-r--r-- | ftplugin/go.lua | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/ftplugin/go.lua b/ftplugin/go.lua new file mode 100644 index 00000000..b2d6a82a --- /dev/null +++ b/ftplugin/go.lua @@ -0,0 +1,22 @@ +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 |