doomemacs/modules/lang/go
Henrik Lissner de6907aca0
Bump :lang
200ok-ch/counsel-jq@b14dfc5 -> 200ok-ch/counsel-jq@104c77b
Andersbakken/rtags@b57b360 -> Andersbakken/rtags@e6c7005
Emacs-Kotlin-Mode-Maintainers/kotlin-mode@8e6dd57 -> Emacs-Kotlin-Mode-Maintainers/kotlin-mode@0e4bafb
FStarLang/fstar-mode.el@bd28cb8 -> FStarLang/fstar-mode.el@5670fc0
GDQuest/emacs-gdscript-mode@7aea87b -> GDQuest/emacs-gdscript-mode@55a6637
JuliaEditorSupport/julia-emacs@b5f5983 -> JuliaEditorSupport/julia-emacs@8ea90c7
NixOS/nix-mode@0cf1ea1 -> NixOS/nix-mode@bb0b49e
OmniSharp/omnisharp-emacs@e658a18 -> OmniSharp/omnisharp-emacs@e26ff8b
ProofGeneral/PG@03e427a -> ProofGeneral/PG@4f6b602
Raku/raku-mode@e0639c8 -> Raku/raku-mode@8a6e17f
Sterlingg/json-snatcher@c4cecc0 -> Sterlingg/json-snatcher@b28d1c0
agda/agda@36738c1 -> agda/agda@08191e6
asok/projectile-rails@11980b2 -> asok/projectile-rails@7a256b1
borkdude/flycheck-clj-kondo@5472c26 -> borkdude/flycheck-clj-kondo@152df7f
brotzeit/rustic@75b9920 -> brotzeit/rustic@7c9d55b
clojure-emacs/cider@a89b694 -> clojure-emacs/cider@f1c2a79
clojure-emacs/clj-refactor.el@9709568 -> clojure-emacs/clj-refactor.el@6db85b3
clojure-emacs/clojure-mode@84ed16c -> clojure-emacs/clojure-mode@75c2889
cython/cython@fcfd16c -> cython/cython@ba6cbed
dominikh/go-mode.el@734d523 -> dominikh/go-mode.el@d17d210
emacs-ess/ESS@1baf8bf -> emacs-ess/ESS@a694b26
emacs-lsp/lsp-haskell@a56667b -> emacs-lsp/lsp-haskell@4d85cb3
emacs-lsp/lsp-java@2600162 -> emacs-lsp/lsp-java@3f1ed17
emacs-lsp/lsp-metals@039aa72 -> emacs-lsp/lsp-metals@8f8471c
emacs-lsp/lsp-pyright@9603dda -> emacs-lsp/lsp-pyright@ccd0007
emacs-lsp/lsp-python-ms@a884a9a -> emacs-lsp/lsp-python-ms@a0c56f4
emacs-lsp/lsp-sourcekit@130f7a8 -> emacs-lsp/lsp-sourcekit@948c3a3
emacs-straight/rainbow-mode@f780ddb -> emacs-straight/rainbow-mode@fdff98b
emacs-typescript/typescript.el@42a60e5 -> emacs-typescript/typescript.el@e6f68ab
ericdallo/hover.el@e213f2b -> ericdallo/hover.el@3f07a18
erlang/otp@d9bc785 -> erlang/otp@36b4ba4
factor/factor@3fdb032 -> factor/factor@c6e15bd
flycheck/flycheck-cask@3457ae5 -> flycheck/flycheck-cask@4b2ede6
fsharp/emacs-fsharp-mode@3e41fe1 -> fsharp/emacs-fsharp-mode@68dfc22
fxbois/web-mode@60ffd87 -> fxbois/web-mode@b4b0a85
galaunay/poetry.el@22a76cd -> galaunay/poetry.el@eb238d9
greghendershott/racket-mode@c55fd70 -> greghendershott/racket-mode@0ca8b26
hhvm/hack-mode@572c3b4 -> hhvm/hack-mode@9079bc3
hylang/hy-mode@55e84ca -> hylang/hy-mode@7256844
immerrr/lua-mode@35b6e4c -> immerrr/lua-mode@345ebfc
jaor/geiser@adc5c4a -> jaor/geiser@2accab7
joaotavora/sly@34239bc -> joaotavora/sly@fce4f9b
jorgenschaefer/emacs-buttercup@0e5eae0 -> jorgenschaefer/emacs-buttercup@cccdedf
jorgenschaefer/emacs-buttercup@0e5eae0 -> jorgenschaefer/emacs-buttercup@cccdedf
josteink/csharp-mode@4885177 -> josteink/csharp-mode@f46d656
jrblevin/markdown-mode@ef2cb4d -> jrblevin/markdown-mode@152eae2
jschaf/powershell.el@8782677 -> jschaf/powershell.el@d1b3f95
jwiegley/emacs-async@36a1015 -> jwiegley/emacs-async@14f48de
leanprover/lean-mode@6b43776 -> leanprover/lean-mode@cc1f5fa
liblit/demangle-mode@697c1db -> liblit/demangle-mode@aaef0bd
mooz/js2-mode@40aab27 -> mooz/js2-mode@ffb7099
nonsequitur/inf-ruby@9f0f79f -> nonsequitur/inf-ruby@b012457
pashky/restclient.el@ac8aad6 -> pashky/restclient.el@abc307b
pythonic-emacs/anaconda-mode@73266a4 -> pythonic-emacs/anaconda-mode@39b1cf8
pythonic-emacs/pyenv-mode@d191037 -> pythonic-emacs/pyenv-mode@b818901
seagle0128/grip-mode@281ada2 -> seagle0128/grip-mode@91da46f
senny/rvm.el@081d517 -> senny/rvm.el@6897576
swift-emacs/swift-mode@d266fbd -> swift-emacs/swift-mode@e65a80a
wbolster/emacs-python-pytest@fc056fa -> wbolster/emacs-python-pytest@a2f88b1
xuchunyang/elisp-demos@8c97481 -> xuchunyang/elisp-demos@3cca496
2020-10-11 23:20:06 -04:00
..
autoload.el
config.el General refactors & reformatting across the board 2020-06-04 20:13:28 -04:00
doctor.el
packages.el Bump :lang 2020-10-11 23:20:06 -04:00
README.org

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)
  • Code navigation & refactoring (go-guru)
  • File templates
  • Snippets
  • Generate testing code (go-gen-test)
  • Code checking (flycheck-golangci-lint)

Module Flags

  • +lsp Enables integration for the gopls LSP server. It is highly recommended you use this, as the non-LSP experience is deprecated (and poor).

Plugins

Prerequisites

Go

To get started with Go, you need the go tool:

MacOS

brew install go

Arch Linux

sudo pacman -S go

openSUSE

sudo zypper install go

Dependencies

This module requires a valid GOPATH, and the following Go packages:

  • 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 get -u github.com/motemen/gore/cmd/gore
go get -u github.com/stamblerre/gocode
go get -u golang.org/x/tools/cmd/godoc
go get -u golang.org/x/tools/cmd/goimports
go get -u golang.org/x/tools/cmd/gorename
go get -u golang.org/x/tools/cmd/guru
go get -u github.com/cweill/gotests/...
go get -u github.com/fatih/gomodifytags
  • 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 Features

TODO Configuration

TODO Troubleshooting