mirror of
https://github.com/doomemacs/doomemacs
synced 2025-08-01 12:17:25 -05:00
Wilfred/helpful@5ad8a9ce57 -> Wilfred/helpful@6a4d5e0760 agda/agda@10a0ca0516 -> agda/agda@49a12eab7f clojure-emacs/cider@a0d6169026 -> clojure-emacs/cider@fdfa7c2200 dominikh/go-mode.el@602d73e226 -> dominikh/go-mode.el@0ed3c5227e emacs-geiser/gauche@8ff743f641 -> emacs-geiser/gauche@9eb8b35f0c emacs-lsp/lsp-dart@7e3d342941 -> emacs-lsp/lsp-dart@2170823139 emacs-lsp/lsp-java@868600bf7f -> emacs-lsp/lsp-java@6cfff8761e emacs-lsp/lsp-metals@567089f7f4 -> emacs-lsp/lsp-metals@345b4fa80e emacs-lsp/lsp-sourcekit@63ff1ab638 -> emacs-lsp/lsp-sourcekit@3bd9750e7e emacs-lsp/lsp-treemacs@fb1a07ae0a -> emacs-lsp/lsp-treemacs@312dee2b3a emacs-rustic/rustic@fbbf0a7192 -> emacs-rustic/rustic@22a5ef8bfd emacs-straight/auctex@53f80ba36c -> emacs-straight/auctex@6fb366064c emacs-straight/csv-mode@6979fc18eb -> emacs-straight/csv-mode@1695ee1752 emacsorphanage/dart-mode@88b6683f43 -> emacsorphanage/dart-mode@6229941ec5 erlang/otp@64185e73b0 -> erlang/otp@740af6bae5 fsharp/emacs-fsharp-mode@677d78c4d6 -> fsharp/emacs-fsharp-mode@bf7a11e1ba gcv/julia-snail@24f79a067b -> gcv/julia-snail@cacf52e4c8 godotengine/emacs-gdscript-mode@c3d9988984 -> godotengine/emacs-gdscript-mode@3f3739dd88 greghendershott/racket-mode@eef5e9ab2c -> greghendershott/racket-mode@88d82e249e jrblevin/markdown-mode@ee9d6de1d2 -> jrblevin/markdown-mode@d2d960bec1 json-emacs/json-mode@77125b01c0 -> json-emacs/json-mode@466d5b5637 ledger/ledger-mode@356d8049ed -> ledger/ledger-mode@d9b6648201 rust-lang/rust-mode@542f1755d8 -> rust-lang/rust-mode@efd830806c seagle0128/grip-mode@ffce7f78eb -> seagle0128/grip-mode@e90e3b47d8 ziglang/zig-mode@f0b4a48753 -> ziglang/zig-mode@4ad4edf759
:lang go
Description unfold
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 doom-module::editor format +onsave) - File templates
- Snippets
- Generate testing code (
go-gen-test
) - Code checking (
flycheck-golangci-lint
)
Maintainers
This module needs a maintainer. Become a maintainer?
Module flags
- +lsp
-
Enable LSP support for
go-mode
. Requires doom-module::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 doom-module::tools tree-sitter.
Packages
- doom-package:company-go if doom-module::completion company (DEPRECATED)
- doom-package:flycheck-golangci-lint if doom-module::checkers syntax
- doom-package:go-eldoc
- doom-package:go-gen-test
- doom-package:go-mode
- doom-package:gorepl-mode
- doom-package:go-tag
Hacks
No hacks documented for this module.
TODO Changelog
This module does not have a changelog yet.
Installation
Enable this module in your doom!
block.
This module requires Go, a valid $GOPATH
, and a number of go packages, listed
below.
Go
- macOS:
$ brew install go
- Arch Linux:
$ pacman -S go
- openSUSE:
$ zypper install go
Dependencies
gocode
(for code completion & eldoc support)godoc
(for documentation lookup)gorename
(for extra refactoring commands)gore
(for the REPL)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 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.
TODO Usage
This module has no usage documentation yet. Write some?
Keybinds
Keys | Description |
---|---|
<localleader> a | Add field tags to a struct |
<localleader> d | Remove field tags from a struct |
<localleader> e | Evaluate buffer or selection in the Go playground |
<localleader> i | Go to imports |
<localleader> b c | run $ go clean |
<localleader> b b | run $ go build |
<localleader> b r | run $ go run . |
<localleader> h . | lookup symbol at point in godoc |
<localleader> t t | rerun last test |
<localleader> t a | run all tests in project |
<localleader> t f | run all tests in current file |
<localleader> t s | run single test at point |
<localleader> t g | Generate tests for all exported or selected functions |
<localleader> t G | Generate tests for all functions |
<localleader> t e | Generate tests for all exported functions |
<localleader> t b s | go test.bench single |
<localleader> t b a | go test.bench all |
<localleader> r i a | search imports to add |
<localleader> r i r | reimove unused imports |
TODO Configuration
This module has no configuration documentation yet. Write some?
Troubleshooting
There are no known problems with this module. Report one?
Frequently asked questions
This module has no FAQs yet. Ask one?
TODO Appendix
This module has no appendix yet. Write one?