This module adds Go support, with optional (but recommended) LSP support via gopls.
- Code completion (
gocode
) - Documentation lookup (
godoc
) - Eldoc support (
go-eldoc
) - REPL (
gore
) - Syntax-checking (
flycheck
) - Auto-formatting on save (
gofmt
) (requires :editor format +onsave) - Code navigation & refactoring (
go-guru
) - File templates
- Snippets
- Generate testing code (
go-gen-test
) - Code checking (
flycheck-golangci-lint
)
This module needs a maintainer. Become a maintainer?
- +lsp
-
Enable LSP support for
go-mode
. Requires :tools lsp and a langserver (supports gopls). Highly recommended, as the non-LSP experience is deprecated (and poor). - +tree-sitter
- Leverages tree-sitter for better syntax highlighting and structural text editing. Requires :tools tree-sitter.
- company-go if :completion company (DEPRECATED)
- flycheck-golangci-lint if :checkers syntax
- go-eldoc
- go-gen-test
- go-guru
- go-mode
- gorepl-mode
- go-tag
No hacks documented for this module.
This module does not have a changelog yet.
Enable this module in your doom!
block.
This module requires Go, a valid $GOPATH
, and a number of go packages, listed
below.
- macOS:
$ brew install go
- Arch Linux:
$ pacman -S go
- openSUSE:
$ zypper install go
gocode
(for code completion & eldoc support)godoc
(for documentation lookup)gorename
(for extra refactoring commands)gore
(for the REPL)guru
(for code navigation & refactoring commands)goimports
(optional: for auto-formatting code on save & fixing imports)gotests
(for generate test code)gomodifytags
(for manipulating tags)
export GOPATH=~/work/go
go install github.com/x-motemen/gore/cmd/gore@latest
go install github.com/stamblerre/gocode@latest
go install golang.org/x/tools/cmd/godoc@latest
go install golang.org/x/tools/cmd/goimports@latest
go install golang.org/x/tools/cmd/gorename@latest
go install golang.org/x/tools/cmd/guru@latest
go install github.com/cweill/gotests/gotests@latest
go install github.com/fatih/gomodifytags@latest
golangci-lint
(optional: for flycheck to integrate golangci-lint results) it is recommended to not use$ go get
to install this one, check the documentation.
🔨 This module has no usage documentation yet. Write some?
🔨 This module has no configuration documentation yet. Write some?
There are no known problems with this module. Report one?
This module has no FAQs yet. Ask one?
🔨 This module has no appendix yet. Write one?