aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--installer/go_install.cmd5
-rw-r--r--installer/install-golangci-lint-langserver.cmd4
-rw-r--r--installer/install-golangci-lint-langserver.sh6
-rw-r--r--settings.json9
-rw-r--r--settings/golangci-lint-langserver.vim14
5 files changed, 37 insertions, 1 deletions
diff --git a/installer/go_install.cmd b/installer/go_install.cmd
index 642b6a9..fa4c0f0 100644
--- a/installer/go_install.cmd
+++ b/installer/go_install.cmd
@@ -2,9 +2,12 @@
if "x%1" equ "x" goto :EOF
+setlocal
+
+set GO111MODULE=on
set GOPATH=%cd%
set GOBIN=%cd%
go get -v -u %1
set GOBIN=
go clean -modcache
-rd /S /Q "src" "pkg" 2> NULL
+rd /S /Q "src" "pkg" 2> NUL
diff --git a/installer/install-golangci-lint-langserver.cmd b/installer/install-golangci-lint-langserver.cmd
new file mode 100644
index 0000000..b64ef38
--- /dev/null
+++ b/installer/install-golangci-lint-langserver.cmd
@@ -0,0 +1,4 @@
+@echo off
+
+call "%~dp0\go_install.cmd" github.com/nametake/golangci-lint-langserver@latest
+call "%~dp0\go_install.cmd" github.com/golangci/golangci-lint@latest
diff --git a/installer/install-golangci-lint-langserver.sh b/installer/install-golangci-lint-langserver.sh
new file mode 100644
index 0000000..92c8c3a
--- /dev/null
+++ b/installer/install-golangci-lint-langserver.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -e
+
+"$(dirname "$0")/go_install.sh" github.com/nametake/golangci-lint-langserver@latest
+"$(dirname "$0")/go_install.sh" github.com/golangci/golangci-lint@latest
diff --git a/settings.json b/settings.json
index c3162ae..3e7eaa5 100644
--- a/settings.json
+++ b/settings.json
@@ -207,6 +207,15 @@
"root_uri_patterns": [
"go.mod"
]
+ },
+ {
+ "command": "golangci-lint-langserver",
+ "requires": [
+ "go"
+ ],
+ "root_uri_patterns": [
+ "go.mod"
+ ]
}
],
"graphql": [
diff --git a/settings/golangci-lint-langserver.vim b/settings/golangci-lint-langserver.vim
new file mode 100644
index 0000000..ef2903c
--- /dev/null
+++ b/settings/golangci-lint-langserver.vim
@@ -0,0 +1,14 @@
+augroup vim_lsp_settings_golangci_lint_langserver
+ au!
+ LspRegisterServer {
+ \ 'name': 'golangci-lint-langserver',
+ \ 'cmd': {server_info->lsp_settings#get('golangci-lint-langserver', 'cmd', [lsp_settings#exec_path('golangci-lint-langserver')])},
+ \ 'root_uri':{server_info->lsp_settings#get('golangci-lint-langserver', 'root_uri', lsp_settings#root_uri('golangci-lint-langserver'))},
+ \ 'initialization_options': lsp_settings#get('golangci-lint-langserver', 'initialization_options', {'command': ['golangci-lint', 'run', '--enable-all', '--disable', 'lll', '--out-format', 'json']}),
+ \ 'whitelist': lsp_settings#get('golangci-lint-langserver', 'whitelist', ['go']),
+ \ 'blacklist': lsp_settings#get('golangci-lint-langserver', 'blacklist', []),
+ \ 'config': lsp_settings#get('golangci-lint-langserver', 'config', lsp_settings#server_config('golangci-lint-langserver')),
+ \ 'workspace_config': lsp_settings#get('golangci-lint-langserver', 'workspace_config', {}),
+ \ 'semantic_highlight': lsp_settings#get('golangci-lint-langserver', 'semantic_highlight', {}),
+ \ }
+augroup END