vim-go v1.15 Release Notes

Release Date: 2017-10-03 // over 6 years ago
  • 🔋 FEATURES:

    👌 IMPROVEMENTS:

    • 🚚 :GoAddTags and :GoRemoveTags now continue to process if there are malformed individual struct tags (run :GoUpdateBinaries to update gomodifiytags binary) [GH-1401]
    • 🚚 :GoAddTags and :GoRemoveTags now shows a location list if there are malformed struct tags (run :GoUpdateBinaries to update gomodifiytags 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) uses locationlist to show formatting errors instead of quickfix. To change back to locationlist you can change it with the setting let 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 and g: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 the html ftplugin, so that matchit, 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 requires impl version 3fb19c2c or newer (released June 13, 2017); use :GoUpdateBinaries to make sure that you've got a recent version [GH-1322]