vim-go v1.15 Release Notes
Release Date: 2017-10-03 // over 6 years ago-
🔋 FEATURES:
- ➕ Add
:GoFillStruct
to fill a struct with all fields; usesfillstruct
[GH-1443].
👌 IMPROVEMENTS:
- 🚚
:GoAddTags
and:GoRemoveTags
now continue to process if there are malformed individual struct tags (run:GoUpdateBinaries
to updategomodifiytags
binary) [GH-1401] - 🚚
:GoAddTags
and:GoRemoveTags
now shows a location list if there are malformed struct tags (run:GoUpdateBinaries
to updategomodifiytags
binary) [GH-1401] - ➕ Add folding of the package-level comment (enabled by default) and/or any other comments (disabled by default) [GH-1377]. [GH-1428].
- 👍 Allow using :GoImpl on the type and struct parts too. Makes it a wee bit easier to use [GH-1386]
:GoDef
sets the path of new buffers as relative to the current directory when appropriate, instead of always using the full path [GH-1277].- 0️⃣ Syntax highlighting for variable declarations and assignments (disabled by default) [GH-1426] and [GH-1458].
- ➕ Add support for
:GoDecls[Dir]
in unite.vim [GH-1391]. - ➕ Add support for fzf.vim in
GoDecls[Dir]
. [GH-1437]. - 👌 Support relative imports for
:GoImpl
[GH-1322]. A new
g:go_list_type_commands
setting is added to individually set the list type for each command [GH-1415]. As en example:let g:go_list_type_commands = {"GoBuild": "quickfix", "GoTest": "locationlist"}
👉 Show unexpected errors better by expanding newlines and tabs [GH-1456].
⚡️
:GoInstallBinaries
and:GoUpdateBinaries
can now install/update only the selected binaries (e.g.:GoUpdateBinaries guru golint
) [GH-1467].
🐛 BUG FIXES:
:GoFmt
now (again) useslocationlist
to show formatting errors instead ofquickfix
. To change back tolocationlist
you can change it with the settinglet g:go_list_type_commands = { "GoFmt": locationlist" }
[GH-1415]- Include comments in import block when folding is enabled [GH-1387]
- 🛠 Fix opening definitions in tabs [GH-1400]
- 🛠 Fix accidentally closing quickfix window from other commands if :GoFmt or autosave format was called [GH-1407]
- 🛠 Fix entering into insert mode after for term mode in nvim [GH-1411]
When using :GoImpl on type foo struct{} it would work, but with:
type foo struct{ }
or with a struct with fields, it would create the generated methods inside the struct [GH-1386]
:GoImpl
output would include extra newline, and error would include trailing newline from shell command:vim-go: invalid receiver: "} *}"<00>
. Fixed with [GH-1386]- 👕 Run
:GoMetaLinter
against the package of the open file [GH-1414]. - The
g:go_doc_command
andg:go_doc_options
to configure the command for:GoDoc
were documented but never referenced [GH-1420]. - 📦
go#package#FromPath()
didn't work correctly [GH-1435]. - 🛠 Fix race condition for
guru
based commands [GH-1439]. - 🔌 The
gohtmltmpl
filetype now sources thehtml
ftplugin, so thatmatchit
, completion, and some other things work better. [GH-1442] - 🛠 Fix
:GoBuild
shell escaping [GH-1450]. - Ensure fmt list gets closed when title cannot be checked [GH-1474].
BACKWARDS INCOMPATIBILITIES:
👕
:GoMetaLinter
now runs against the package of the open file instead of the current working directory. This is so all commands behave the same relative to the current open buffer. [GH-1414]:GoImpl
now requiresimpl
version 3fb19c2c or newer (released June 13, 2017); use:GoUpdateBinaries
to make sure that you've got a recent version [GH-1322]
- ➕ Add