This Doom package provides ready to use configuration of the Emacs native
go-ts-mode
for editing Go programming language
based on the native support of Tree Sitter.
- Handle and extand properly the Emacs V29.1+ native support of Go
of
go-ts-mode
with native Tree Sitter Emacs integration. - Inherit and extand the Doom Emacs
go-mode
configuration by default. - Provide a solid programming bundle with
go-[ts-]mode
,LSP
and[[https://github.com/golangci/golangci-lint][Golangci-lint]]
working together. - Rapid key access for “Find definitions”, “Find references” and “Go back” without modifying the default Doom key bindings.
- Realtime documentation with mouse or key bindings if the
+lsp
option is passed.
lsp
(recommended) : provideLSP
integration withgo-mode
andgo-ts-mode
. If the module:pimacs lsp
is loaded this option is automatically added. See the pimacs/lsp README for futher informations.
Use purcell/emacs-reformatter.
(reformatter-define go-format
:program "goimports"
:args '("/dev/stdin"))
(use-package go-ts-mode
:hook
(go-ts-mode . go-format-on-save-mode))
The support of Golangci-lint
is done with
flycheck-golangci-lint
only if the Doom module :checkers syntax
is loaded and without the option
+flymake
!
Pull request is needed to support Golangci-lint
with flymake
or golangci-lint-langserver.