From 0ac1c861026fc3bfb8285ead4c8f2d7b79376b3f Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Fri, 26 Nov 2021 21:20:01 +0000 Subject: [PATCH] feat(lang/go): add custom lsp-client for golangci-lint-langserver --- modules/languages/siren-golang.el | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/modules/languages/siren-golang.el b/modules/languages/siren-golang.el index 79774b5..1178fe0 100644 --- a/modules/languages/siren-golang.el +++ b/modules/languages/siren-golang.el @@ -82,6 +82,23 @@ '(("gopls.allowModfileModifications" t t) ("gopls.gofumpt" t t))) + ;; Create custom lsp-client for golangci-lint-langserver. + (lsp-register-custom-settings + '(("golangci-lint.command" ["golangci-lint" "run" "--out-format" "json"]))) + (lsp-register-client + (make-lsp-client :new-connection (lsp-stdio-connection + '("golangci-lint-langserver")) + :major-modes '(go-mode) + :language-id "go" + :priority 0 + :server-id 'golangci-lint + :add-on? t + :library-folders-fn #'lsp-go--library-default-directories + :initialization-options (lambda () + (gethash "golangci-lint" + (lsp-configuration-section "golangci-lint"))))) + (add-to-list 'lsp-language-id-configuration '(go-mode . "golangci-lint")) + :init (defun siren-lsp-go-mode-setup () (setq-local siren-lsp-format-buffer-func 'siren-lsp-go-format-buffer)