12345678910111213141516171819202122 |
- 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
|