Use Neovim features, such as built-in LSP and tree-sitter, and develop Go code.
Go development environment for Neovim utilizing the builtin LSP and other features and plugins specific to Neovim.
view all screencasts here
gotests
screencast
The main branch of Goldsmith attempts to keep up with the nightly releases of Neovim. It should always work with the most recent nightly release soon after its release. If you are always running the nightly version then you will probably want to use main at all times.
go
versions should be either the most recent minor version or within one minor version of the most recent. So if the
most recent go
version is 1.18.3 this means Goldsmith should work with at least 1.17.0 and newer.
nvim-lspconfig
should always be at or near the latest. A good faith effort will be made to help transition to versions
of nvim-lspconfig
that have major breakage, but cannot be guaranteed. Please ask a question
or report a problem if you think that we can do a better
job or if you are having a problem.
gopls
should always be very recent if you wish to follow the main branch. It does not necessarily need to be the
most recent but should be within one minor version of the most recent.
Other dependencies, such as null-ls
, mason
, or nvim-lsp-installer
, will be handled as problems occur (which is rare).
Starting with Neovim 0.8.0
, for every stable release of Neovim, there will be a branch and tag that are created, named
after that release (e.g. Neovim 0.8.0 will have a branch named stable-nvim-0.8.0
and a tag named stable-0.8.0
).
This branch and tag will be known to work with that version of Neovim. Occasional updates may be made to this branch/tag
but will not have the churn of main.
If you discover that any of the above is not the case, or you find it confusing, please consider asking a question or reporting a problem.
Goldsmith will not work with Vim or versions of Neovim prior to 0.5.0.
There are a number of third-party programs required by Goldsmith:
mason
to install and maintain gopls
:GoInstallBinaries
to install needed third-party programsRun :checkhealth goldsmith
after installing and running through the Quickstart to see if anything has
been missed and what needs to be done to meet the minimal requirements.
Install using your favorite plugin manager.
If you use vim-plug:
Plug 'WhoIsSethDaniel/goldsmith.nvim'
Or if you use Vim 8 style packages:
cd <plugin dir>
git clone https://github.com/WhoIsSethDaniel/goldsmith.nvim
Install Go.
Install Goldsmith, lspconfig, treesitter and null-ls.
Install required external programs:
nvim +GoInstallBinaries
You may receive some warnings from Goldsmith about missing programs. These can be ignored since you are now installing those programs.
After the installation completes (usually within a minute or so) run
:checkhealth goldsmith
Make certain everything looks okay.
Restart Neovim.
Start editing Go code.
Currently you are running with Goldsmith defaults. So take a look at the documentation and tweak your configuration.
See the configuration page on the wiki for examples demonstrating how to configure Goldsmith.
Also see the Goldsmith :help documentation or
after installing Goldsmith by using :h goldsmith
.
Goldsmith is very new. It works for the author, but does it work for you? If not, please consider asking a question or reporting a problem.