feat: golang ide config with format

This commit is contained in:
2023-05-06 01:10:35 +08:00
parent 06d2d1ed02
commit 7b9425ca82
7 changed files with 41 additions and 52 deletions

View File

@@ -18,7 +18,7 @@ require("nvim-tree").setup({
filters = {
custom = {},
dotfiles = true,
exclude = { ".golangci*", ".protolint*", ".gitignore" },
exclude = { ".golangci*", ".protolint*", ".gitignore", ".eslintrc*" },
},
filesystem_watchers = {
enable = true,

View File

@@ -1,9 +0,0 @@
require("go").setup()
local format_sync_grp = vim.api.nvim_create_augroup("GoImport", {})
vim.api.nvim_create_autocmd("InsertLeavePre", {
pattern = "*.go",
callback = function()
require("go.format").goimport()
end,
group = format_sync_grp,
})

View File

@@ -1,15 +1,33 @@
local null_ls = require("null-ls")
local sources = {
null_ls.builtins.formatting.stylua,
null_ls.builtins.formatting.goimports_reviser,
null_ls.builtins.formatting.golines.with({
extra_args = {
"--max-len=180",
"--base-formatter=gofumpt",
},
}),
null_ls.builtins.formatting.eslint_d,
null_ls.builtins.formatting.yamlfmt,
null_ls.builtins.formatting.protolint,
-- 诊断
null_ls.builtins.diagnostics.eslint_d,
null_ls.builtins.diagnostics.protolint,
}
local gotest = require("go.null_ls").gotest()
local gotest_codeaction = require("go.null_ls").gotest_action()
local golangci_lint = require("go.null_ls").golangci_lint()
table.insert(sources, gotest)
table.insert(sources, golangci_lint)
table.insert(sources, gotest_codeaction)
null_ls.setup({
debounce = 500,
sources = {
null_ls.builtins.formatting.stylua,
null_ls.builtins.formatting.gofmt,
null_ls.builtins.formatting.eslint_d,
null_ls.builtins.formatting.yamlfmt,
null_ls.builtins.formatting.protolint,
-- 诊断
null_ls.builtins.diagnostics.eslint_d,
null_ls.builtins.diagnostics.protolint,
},
debounce = 1000,
default_timeout = 5000,
sources = sources,
})
null_ls.register(gotest)