Skip to content

Latest commit

 

History

History
108 lines (89 loc) · 3.64 KB

README.org

File metadata and controls

108 lines (89 loc) · 3.64 KB

:lang go

Description

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)

Maintainers

This module needs a maintainer. Become a maintainer?

Module flags

+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.

Packages

  • 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

Hacks

No hacks documented for this module.

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)
  • 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.

Usage

🔨 This module has no usage documentation yet. Write some?

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?

Appendix

🔨 This module has no appendix yet. Write one?