Changelog History
Page 1
-
v1.26 Changes
April 23, 2022BACKWARDS INCOMPATIBILITIES:
๐ IMPROVEMENTS:
- โ Add mapping for formatting,
(go-fmt)
. [GH-3209] - โ Add
tr
snippet for"testing.T".Run
. [GH-3210] [GH-3220] - ๐ Use
go env GOBIN
to determineGOBIN
's value. [GH-3207] - List register in the debugger. [GH-3221]
- ๐ Install the latest release of tools that seem to be using tags to do releases instead of installing from their master/main branch. [GH-3227]
- ๐ฆ Expose error message when
gopls
cannot be found andg:go_echo_command_info
is set. [GH-3244] - ๐ Install all tools in module aware mode in preparation for Go 1.17 release. [GH-3226]
- Add
g:go_doc_balloon
to allow godoc to be displayed in hover balloons. [GH-3252] - ๐ Default to using
revive
in place ofgolint
. [GH-3248] [GH-3401] - ๐จ Teach
:GoDebugPrint
to show function call return values. [GH-3256] - Do not enable keyify unless in GOPATH. [GH-3095]
- ๐ Show LSP messages to users. [GH-3058]
- Check omnifunc's value before executing actions on CompletedDone event. [GH-3274]
- ๐ Highlight new form of build constraints. [GH-3292]
- ๐ฆ Teach
:GoDiagnostics
to handle package pattern arguments. [GH-3297] - Add
g:go_debug_subsitute_paths
to support debugging applications when the source is hosted in a local location that is different from where the binary was compiled. [GH-3301] - 0๏ธโฃ Wrap text in the fzf preview window by default. [GH-3310]
- Wait for up to five seconds when opening a connection to a remote debugger. [GH-3312]
- Install tools with
go install
instead ofgo get
. [GH-3317] [GH-3370] - โก๏ธ Update
:GoPlay
to usego.dev/play
instead ofplay.golang.org
. [GH-3331] [GH-3348] - Recurse local variables more deeply when debugging. [GH-3344]
- โ Add syntax elements for
any
andcomparable
types. [GH-3351] - โ Add syntax support for go.work files. [GH-3375]
- ๐ Show the current goroutine at the top of the list of goroutines when debugging. [GH-3379]
- โ Add
:GoModReload
and autocmd events to reload go.mod when it changes on disk and is open in a buffer. [GH-3387] [GH-3391] - โ Add syntax support for generics. [GH-3397]
- โ Remove invalid numeric literal highlighting. [GH-3404]
๐ BUG FIXES:
- ๐ Handle terminating parenthesis on hexadecimal values. [GH-3216]
- ๐ Fix applying text edits from gopls. [GH-3231]
- ๐ป Apply arguments to
:GoCoverageBrowser
. [GH-3240] - Fix
:GoFillStruct
wheng:go_fillstruct_mode
isgopls
. [GH-3279] - ๐ Fix example in
g:go_metalinter_enabled
documentation. [GH-3291] - ๐ Fix changing directories in older Vims. [GH-3299]
- Highlight the receive type when method declarations that omit the receiver identifier. [GH-3306]
- Do not highlight misspellings in import paths. [GH-3308] [GH-3321]
- ๐ Handle shell quoting when execing. [GH-3323]
- Do not automatically add directories from the module cache into the LSP workspace. [GH-3343]
- Resolve symlinks in autocmd events. [GH-3353]
- ๐ Fix
:GoRename
in Neovim so that it does not take 10 seconds to complete. [GH-3386] - ๐ Fix
:GoDebugConnect
argument handling. [GH-3400]
- โ Add mapping for formatting,
-
v1.25 Changes
April 18, 2021BACKWARDS INCOMPATIBILITIES:
- Remove g:go_autodetect_gopath. [GH-3078]
๐ IMPROVEMENTS:
- ๐ง Clarify allowed values for
gopls
related configuration options. [GH-3016] [GH-3017] - Add
g:go_fillstruct_mode
to allow:GoFillStruct
to be satisfied by eitherfillstruct
or bygopls
. [GH-3018] - โ Add
:GoDebugTestFunc
to debug the test function surrounding the current cursor location. [GH-3011] - Implicitly add a workspace when a file from a module is opened. [GH-3028]
- โ Add support for using static check as the gometalinter. [GH-3036] [GH-3133]
- Add
g:go_debug_mappings
to allow the debug key mappings to be customized. [GH-3035] [GH-3143] - 0๏ธโฃ Use
gopls
as the default instead ofguru
to satisfy:GoImplements
. [GH-3034] - Deprecate g:go_diagnostics_enabled
and add
g:go_diagnostics_level` to allow more finely grained control of the handling of diagnostics messages. [GH-3050] [GH-3052] [GH-3119] - Add support for allowing
g:go_gopls_local
to specify different local imports values per workspace. [GH-3053] - ๐ Improve
:GoDecls
and:GoDeclsDir
display. [GH-3081] - Preserve existing window layout when debugging and
g:go_debug_windows
is empty. [GH-3068] - ๐ Show identifier in fzf's preview window with
:GoDecls
and:GoDeclsDir
. [GH-3083] - ๐ Use
gopls
for:GoCallers
. [GH-3088] [GH-3090] [GH-3141] [GH-3142] - โก๏ธ Update denite integration to work with python3.9. [GH-3097]
- โ Add syntax highlighting for go.sum files. [GH-3102]
- ๐ Change the default from metalinter to staticcheck. [GH-3126]
- Add
g:go_debug_preserve_layout
to prevent:GoDebug
and friends from closing windows. [GH-3125] - โ Add support for
fillstruct
's new-tags
flag. [GH-3156] - Display map key and slice elements more usefully in the local vars window in debug mode. [GH-3170]
- โ Add support for go.mod's
retract
directive. [GH-3166] - Do not execute disabled code actions. [GH-3155]
- โ Add
:GoDebugConnect
to support connecting to an instance of delve started outside of vim-go. [GH-3179] - 0๏ธโฃ Use gopls to adjust imports and formatting by default. [GH-2986]
- Set the filetype for .tmpl files to gohtmltmpl even if it's already been set. [GH-3146]
๐ BUG FIXES:
- โ Remove implications that terminal mode is only applied for Neovim. [GH-3010]
- ๐ Correct documentation to clearly show the default value for
g:go_gopls_options
. [GH-3019] - Allow truthy values for
g:go_gopls_gofumpt
. [GH-3017] [GH-3022] - ๐ Fix quickfix title for
:GoMetaLinter
. [GH-3040] - ๐ Change key mapping for (go-debug-halt) to F8 to resolve collision with key mapping for (go-debug-print). [GH-3047]
- ๐ Handle gopls v0.5.2 addition of a prefix on the expected code actions names. [GH-3077]
- โช Make sure all buffers' mappings are restored when debugging stops. [GH-3048]
- Return early when
g:go_referrers_modes
isgopls
andgopls
is disabled. [GH-3090] - ๐ Handle yet another error format produced by golangci-lint. [GH-3094]
- ๐ Handle additional ways that gopls can provide links for godoc. [GH-3112]
- Remove implication that
g:go_def_reuse_buffer
only applies to split variant of jumping to a definition. [GH-3128] - Organize imports correctly when
gopls
formatting usesgofumpt
. [GH-3154] - ๐ Rename all instances of an identifier when
g:go_rename_mode
isgopls
. [GH-3181] [GH-3182] - Terminate a case statement in the select snippet with a colon. [GH-3185]
- ๐ Fix syntax highlighting in template files. [GH-3188] [GH-3189]
-
v1.24 Changes
September 15, 2020๐ IMPROVEMENTS:
- Clarify how
g:go_imports_autosave
andg:go_fmt_autosave
interact. [GH-2893] - Document what the working directory will be for
:GoRun
. [GH-2898] - โ Add Ultisnip snippet for wrapping errors. [GH-2883]
- Beautify the godoc pop up window border. [GH-2900]
- Default
g:go_doc_url
to https://pkg.go.dev. [GH-2884] - Default
g:go_gopls_options
to[-remote=auto]
to share gopls instances with other plugins and multiple instances of Vim. [GH-2905] - ๐ Use the module root as the working directory when renaming so that all
references to the symbol will be renamed when in module aware mode and
g:go_rename_command
is set togopls
. [GH-2917] - ๐ Change
g:go_rename_command
's default togopls
. [GH-2922] - Do not send unnecessary textDocument/didChange notifications to
gopls
. [GH-2902] [GH-2930] - Stop the debugger when the process being debugged exits. [GH-2921]
- ๐ฆ Use the module package cache as a source of packages candidates when trying to complete package names. [GH-2936] [GH-2939]
- ๐ Allow interaction with Vim while waiting for a breakpoint to be hit while debugging. [GH-2932]
- ๐จ Refactor Vim signs used for debugging breakpoints to avoid id collision with other plugins. [GH-2943]
- ๐จ Refactor debugger's rpc response handling to be asynchronous so that Vim will be responsive while the program being debugged is executing. [GH-2948] [GH-2952]
- Warn when the debugger breaks in a file that has changed since debugging started. [GH-2950]
- Enable
go-run
mappings that use the terminal to work with Vim in addition to Neovim. [GH-2956] - ๐ Use existing diagnostics for the file when the file hasn't changed and
g:go_metalinter_command
isgopls
. [GH-2960] - Add a new option,
g:go_code_completion_icase
, to allow ignoring case when filtering completion results. [GH-2961] - โ Add
:GoDebugHalt
to allow a program being debugged to be paused before it hits a breakpoint. [GH-2983] - Clear highlighting of the current line when after resuming when debugging. [GH-2984]
- โ Add
:GoDebugAttach
to debug a running process. [GH-2989] - Add
g:go_term_reuse
option to allow the reuse of a terminal window. [GH-2990] - โ Add official support for using
gopls
'gofumpt
workspace setting viag:go_gopls_gofumpt
. [GH-2994] [GH-3005] - โ Add support for using
gopls
' workspace settings that are otherwise not yet officially supported by vim-go. [GH-2994]
๐ BUG FIXES:
- ๐ Fix call to non-existent function in terminal mode edge case. [GH-2895]
- Do not show errors when adding a text property for highlighting fails. [GH-2892]
- ๐ Include
errcheck
ing:go_metalinter_enabled
's default. [GH-2903] - ๐ Fix display of completion selection information on command-line when
g:go_echo_go_info
is enabled. [GH-2907] - Prevent
:GoDebugBreakpoint
from causing delve to exit. [GH-2908] - ๐ Use the resolved directory name for
gopls
' working directory whengo.mod
is in a symlinked path. [GH-2913] - ๐ Fix buffer reuse with
:GoDef
. [GH-2928] - ๐ Handle breakpoints that are already set before calling
:GoDebugStart
or:GoDebugTest
in some locales that cause thesign place
output to vary. [GH-2921] - ๐ Handle diagnostic errors at the end of a .go file. [GH-2942]
- Fix the
go-implements
mapping to use respectg:go_implements_mode
. [GH-2944] - ๐ Handle null results from
gopls
when getting definitions or type definitions from virtual files. [GH-2951] - ๐ Fix warning when Neovim is older than v0.4.0. [GH-2959]
- Correct documentation that referred to
g:go_imports_command
to refer tog:go_imports_mode
instead. [GH-2969] - Remove reference to gocode in error message when
g:go_info_mode
is set to an unsupported value. [GH-2978] - ๐ง Make sure debugging commands are configured when debugging a second time within a single Vim session. [GH-2985]
- ๐ Correct documentation in for
:GoModifyTags
when adding a specific tag value. [GH-3001] - ๐ Fix the path given to
gopls
whenlet g:go_metalinter='gopls'
and:GoMetaLinter
is called without any arguments. [GH-2992] - ๐ง Do not override a user's configuration for
GoDebugBreakpoint
orGoDebugCurrent
highlight groups. [GH-2998] - Apply
gopls
text edits correctly that insert solitary newlines. [GH-3000]
- Clarify how
-
v1.24-rc.1 Changes
September 07, 2020๐ This is a pre-release for vim-go. Please checkout the changelog for this release.
๐ Do you want to support vim-go? Checkout the fully optional donation option, a way to support vim-go's ongoing development directly: https://www.patreon.com/bhcleek
-
v1.23 Changes
May 16, 2020BACKWARDS INCOMPATIBILITIES:
- โ Remove support for gocode. [GH-2686]
- Require at least Neovim >= 0.4.0 [GH-2853] [GH-2856] [GH-2863]
๐ IMPROVEMENTS:
- ๐ง Make signs for breakpoints configurable. [GH-2676] [GH-2690]
- Enable g:go_gopls_complete_unimported by default to stay aligned with gopls' defaults. [GH-2695]
- Document mappings that were recently added. [GH-2699]
- ๐ Handle null arrays better in gopls responses. [GH-2703]
- 0๏ธโฃ Use
gopls
defaults by default when they're not otherwise specified in vim-go options. [GH-2696] - โ Add support for
gomodifytags --skip-unexported
[GH-2660] - ๐ Show problems that prevent golangci-lint from running linters. [GH-2706] [GH-2720]
- ๐ Support golangci-lint config file by not using
--disable-all
wheng:go_metalinter_enable
org:go_metalinter_autosave_enabled
is set to an empty array. [GH-2655] [GH-2715] - โ Add support for Vim8 terminals. [GH-2639] [GH-2736]
- Replace
g:go_gopls_fuzzy_matching
withg:go_gopls_matcher
in response togopls
deprecation of itsfuzzyMatching
option. [GH-2728] - Set statuses and progress messages consistently for code quality tools. [GH-2727]
- Add a new supported value to
g:go_fmt_command
to format withgopls
. [GH-2729] [GH-2752] [GH-2852] - โ
Handle changes to
go test -v
output. [GH-2743] - Add
g:go_gopls_mod_tempfile
to configuregopls
'tempModfile
configuration. [GH-2747] - Add
g:go_gopls_options
to configuregopls
' commandline options. [GH-2747] - ๐ Improve readability of gopls logs. [GH-2773]
- Introduce
g:go_implements_mode
to allow:GoImplements
to be satisfied withgopls
. [GH-2741] [GH-2799] - Introduce
g:go_imports_mode
to allow:GoImports
to be satisfied withgopls
. [GH-2791] [GH-2794] [GH-2796] [GH-2848] - ๐ Send LSP synchronization messages to
gopls
when the file does not yet exist on disk as long as its directory exists. [GH-2805] - โ Run
gogetdoc
in the buffer's directory so that it will work regardless of the user's working directory in module-aware mode. [GH-2804] - Add
g:go_gopls_analyses
to supportgopls
' analyses options. [GH-2820] - Add
g:go_gopls_local
to supportgopls
' local option to control how third party imports are organized. [GH-2821] - ๐ Use gopls to get documentation and documentation links for identifiers under the cursor. [GH-2822] [GH-2839]
- ๐ Clarify documentation for terminal options. [GH-2843]
๐ BUG FIXES:
- ๐ Use the discovered full path for gopls when renaming. [GH-2692]
- ๐ Execute commands correctly on windows when
'shell'
is not cmd.exe [GH-2713] [GH-2724] - ๐ฆ Always execute
errcheck
in the current package's directory. [GH-2726] - ๐ Fix errors when highlighting diagnostics after a
:GoImports
. [GH-2746] - ๐ Preserve errors from formatting when both formatting and metalinting happen on save. [GH-2733] [GH-2810]
- ๐ฒ Preserve ordering of gopls messages in the log. [GH-2753]
- Fix
:GoDef
on windows wheng:go_def_mode
is set togopls
. [GH-2768] - ๐ Handle null values from
gopls
. [GH-2778] - Preserve diagnostics highlights after formatting. [GH-2779]
- ๐ Fix the decoding and encoding of multi-byte file paths received from and sent
to
gopls
. [GH-2784] - ๐ Fix
:GoRun
so that it works as expected when the current working directory is neither in GOPATH nor within a module. [GH-2782] [GH-2818] [GH-2842] - ๐ Use absolute file paths for
:GoRun
's arguments in terminal mode. [GH-2844] - ๐ Show the command executed by
:GoRun
wheng:go_debug
includes'shell-commands'
. [GH-2785] [GH-2817] - Clear the list for formatting errors when
g:go_fmt_command
isgopls
. [GH-2790] - ๐ Handle text edits from gopls that are only line insertions. [GH-2802] [GH-2803]
- Add
g:go_imports_autosave
so that imports can be adjusted on save wheng:go_imports_mode
is set togopls
. [GH-2800] [GH-2858] - Correct vim-go's help to correctly identify
g:go_referrer_mode
's default. [GH-2832] - ๐ Clear the quickfix list when
:GoLint
succeeds. [GH-2833] - ๐ป Respect arguments to
:GoDocBrowser
. [GH-2822] - ๐ Use the correct path to documentation for struct fields with
:GoDocBrowser
. [GH-2822] - ๐ท Do not try parsing errors from terminal jobs when the working directory has been removed. [GH-2824]
- Document that
g:go_jump_to_error
apples to running the metalinter on save, too. [GH-2854] - Ignore commented out import statements when executing
:GoImport
. [GH-2862] - Interpret file paths in
go vet
errors relative to the current buffer's directory. [GH-2882]
-
v1.22 Changes
January 30, 2020BACKWARDS INCOMPATIBILITIES:
- โฌ๏ธ Drop support for Vim 7.4. The minimum required version of Vim is now 8.0.1453. [GH-2495] [GH-2497]
- โฌ๏ธ Drop support for
gometalinter
[GH-2494]
๐ IMPROVEMENTS:
- Highlight the
go
keyword in go.mod files. [GH-2473] - ๐ Use echo functions consistently. [GH-2458]
- โ Add support for managing goroutines in debugger. [GH-2463] [GH-2527]
- Document
g:go_doc_popup_window
. [GH-2506] - Make
g:go_doc_popup_window=1
work for Neovim, too. [GH-2451] [GH-2512] - ๐ Handle errors jumping to a definition in a file open in another Vim process better. [GH-2518]
- ๐ Improve the UX when the gopls binary is missing. [GH-2522]
- ๐ Use gopls instead of guru for
:GoSameIds
. [GH-2519] - ๐ Use gopls instead of guru for
:GoReferrers
. [GH-2535] - โ Update documentation for
g:go_addtags_transform
. [GH-2541] - Install most helper tools in module aware mode. [GH-2545]
- Add a new option,
g:go_referrers_mode
to allow the user to choose whether to use gopls or guru for finding references. [GH-2566] - โ Add options to control how gopls responds to completion requests. [GH-2567] [GH-2568]
- โ Add syntax highlighting for binary literals. [GH-2557]
- ๐ Improve highlighting of invalid numeric literals. [GH-2571] [GH-2587] [GH-2589] [GH-2584] [GH-2597] [GH-2599]
- โ Add highlighting of sections reported by gopls diagnostics' errors and warnings. [GH-2569] [GH-2643]
- ๐ง Make the highlighting of fzf decls configurable. [GH-2572] [GH-2579]
- ๐ Support renaming with gopls. [GH-2577] [GH-2618]
- Add an option,
g:go_gopls_enabled
, to allow gopls integration to be disabled. [GH-2605] [GH-2609] [GH-2638] [GH-2640] - Add a buffer level option,
b:go_fmt_options
, to control formatting options per buffer. [GH-2613] - ๐ Use build tags when running
:GoVet
. [GH-2615] - โ Add new snippets for UltiSnips. [GH-2623] [GH-2627]
- Expand completions as snippets when
g:go_gopls_use_placeholders
is set. [GH-2624] - โ Add a new function,
:GoDiagnostics
and an associated mapping for seeinggopls
diagnostics. Because of the performance implications on large projects,g:go_diagnostics_enabled
controls whether all diagnostics are processed or only the diagnostics for the current buffer. [GH-2612] - ๐ Explain how to find and detect multiple copies of vim-go in the FAQ. [GH-2632]
- โก๏ธ Update the issue template to ask for the gopls version and
:GoReportGitHubIssue
to provide it. [GH-2630] - ๐ Use text properties when possible for some highlighting cases. [GH-2652] [GH-2662] [GH-2663] [GH-2672] [GH-2678]
๐ BUG FIXES:
- ๐ Fix removal of missing directories from gopls workspaces. [GH-2507]
- ๐ Change to original window before trying to change directories when term job ends. [GH-2508]
- Swallow errors when the hover info cannot be determined. [GH-2515]
- ๐ Fix errors when trying to debug lsp and hover. [GH-2516]
- Reset environment variables on Vim <= 8.0.1831 . [GH-2523]
- ๐ Handle empty results from delve. [GH-2526]
- Do not overwrite
updatetime
wheng:go_auto_sameids
org:go_auto_type_info
is set. [GH-2529] - Fix example for
g:go_debug_log_output
in docs. [GH-2547] - ๐ Use FileChangedShellPost instead of FileChangedShell so that reload messages are not hidden. [GH-2549]
- Restore cwd after
:GoTest
wheng:go_term_enabled
is set. [GH-2556] - Expand struct variable correctly in the variables debug window. [GH-2574]
- ๐ Show output from errcheck when there are failures other than problems it can report. [GH-2667]
-
v1.22-rc.4 Changes
January 22, 2020๐ This is a pre-release for vim-go. Please checkout the changelog for this release: https://github.com/fatih/vim-go/blob/025af24e79a5efe6981b8c02c1a314217d3c73cb/CHANGELOG.md#unplanned
๐ Do you want to support vim-go? Checkout the fully optional donation option, a way to support vim-go's ongoing development directly: https://www.patreon.com/bhcleek
-
v1.22-rc.3 Changes
January 19, 2020๐ This is a pre-release for vim-go. Please checkout the changelog for this release: https://github.com/fatih/vim-go/blob/025af24e79a5efe6981b8c02c1a314217d3c73cb/CHANGELOG.md#unplanned
๐ Do you want to support vim-go? Checkout the fully optional donation option, a way to support vim-go's ongoing development directly: https://www.patreon.com/bhcleek
-
v1.22-rc.2 Changes
January 18, 2020๐ This is a pre-release for vim-go. Please checkout the changelog for this release: https://github.com/fatih/vim-go/blob/d15b85a710620e8f1e942e12edcf6ee06d38164b/CHANGELOG.md#unplanned
๐ Do you want to support vim-go? Checkout the fully optional donation option, a way to support vim-go's ongoing development directly: https://www.patreon.com/bhcleek
-
v1.22-rc.1 Changes
January 17, 2020๐ This is a pre-release for vim-go. Please checkout the changelog for this release: https://github.com/fatih/vim-go/blob/d15b85a710620e8f1e942e12edcf6ee06d38164b/CHANGELOG.md#unplanned
๐ Do you want to support vim-go? Checkout the fully optional donation option, a way to support vim-go's ongoing development directly: https://www.patreon.com/bhcleek