summaryrefslogtreecommitdiff
path: root/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/golangci_lint_ls.lua
diff options
context:
space:
mode:
Diffstat (limited to 'start/lspconfig-0.1.8/lua/lspconfig/server_configurations/golangci_lint_ls.lua')
-rw-r--r--start/lspconfig-0.1.8/lua/lspconfig/server_configurations/golangci_lint_ls.lua42
1 files changed, 42 insertions, 0 deletions
diff --git a/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/golangci_lint_ls.lua b/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/golangci_lint_ls.lua
new file mode 100644
index 0000000..b1b51c4
--- /dev/null
+++ b/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/golangci_lint_ls.lua
@@ -0,0 +1,42 @@
+local util = require 'lspconfig.util'
+
+return {
+ default_config = {
+ cmd = { 'golangci-lint-langserver' },
+ filetypes = { 'go', 'gomod' },
+ init_options = {
+ command = { 'golangci-lint', 'run', '--out-format', 'json' },
+ },
+ root_dir = function(fname)
+ return util.root_pattern(
+ '.golangci.yml',
+ '.golangci.yaml',
+ '.golangci.toml',
+ '.golangci.json',
+ 'go.work',
+ 'go.mod',
+ '.git'
+ )(fname)
+ end,
+ },
+ docs = {
+ description = [[
+Combination of both lint server and client
+
+https://github.com/nametake/golangci-lint-langserver
+https://github.com/golangci/golangci-lint
+
+
+Installation of binaries needed is done via
+
+```
+go install github.com/nametake/golangci-lint-langserver@latest
+go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
+```
+
+]],
+ default_config = {
+ root_dir = [[root_pattern('.golangci.yml', '.golangci.yaml', '.golangci.toml', '.golangci.json', 'go.work', 'go.mod', '.git')]],
+ },
+ },
+}