aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorKim Nielsen <github@insecurity.dk>2021-11-29 14:52:23 +0100
committerGitHub <noreply@github.com>2021-11-29 08:52:23 -0500
commit3ab8cdd6fe65e7b1614aaef364680b1cdf0c7c63 (patch)
tree769b7afa9880c700bf79c15914e58ab24b645509 /lua
parentdocs: update server_configurations.md (diff)
downloadnvim-lspconfig-3ab8cdd6fe65e7b1614aaef364680b1cdf0c7c63.tar
nvim-lspconfig-3ab8cdd6fe65e7b1614aaef364680b1cdf0c7c63.tar.gz
nvim-lspconfig-3ab8cdd6fe65e7b1614aaef364680b1cdf0c7c63.tar.bz2
nvim-lspconfig-3ab8cdd6fe65e7b1614aaef364680b1cdf0c7c63.tar.lz
nvim-lspconfig-3ab8cdd6fe65e7b1614aaef364680b1cdf0c7c63.tar.xz
nvim-lspconfig-3ab8cdd6fe65e7b1614aaef364680b1cdf0c7c63.tar.zst
nvim-lspconfig-3ab8cdd6fe65e7b1614aaef364680b1cdf0c7c63.zip
feat: add golangci-lint-languageserver support (#1511)
Diffstat (limited to 'lua')
-rw-r--r--lua/lspconfig/server_configurations/golangci_lint_ls.lua34
1 files changed, 34 insertions, 0 deletions
diff --git a/lua/lspconfig/server_configurations/golangci_lint_ls.lua b/lua/lspconfig/server_configurations/golangci_lint_ls.lua
new file mode 100644
index 00000000..7621d40a
--- /dev/null
+++ b/lua/lspconfig/server_configurations/golangci_lint_ls.lua
@@ -0,0 +1,34 @@
+local util = require 'lspconfig.util'
+
+return {
+ default_config = {
+ cmd = { 'golangci-lint-langserver' },
+ filetypes = { 'go', 'gomod' },
+ init_options = {
+ command = { 'golangci-lint', 'run', '--enable-all', '--disable', 'lll', '--out-format', 'json' },
+ },
+ root_dir = function(fname)
+ return util.root_pattern 'go.work'(fname) or util.root_pattern('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@v1.42.1
+```
+
+]],
+ default_config = {
+ root_dir = [[root_pattern('go.mod', '.git')]],
+ },
+ },
+}