Changelog History
Page 3
-
v1.11 Changes
January 09, 2017๐ FEATURES:
- โ
Travis test integration has been added. Now any file that is added as
<name>_test.vim
will be automatically tested in for every Pull Request (just like how we add tests to Go with_test.go
). Going forward this will tremendously increase the stability and decrease the maintenance burden of vim-go. [GH-1157] - โ Add new
g:go_updatetime
setting to change the default updatetime (which was hardcoded previously) [GH-1055] - Add new
g:go_template_use_pkg
setting to enable to use cwd as package name instead of basic template file [GH-1124]
๐ IMPROVEMENTS:
- โ Add
statusline
support for:GoMetaLinter
[GH-1120] - Quickfix and Location lists contain now a descriptive title (requires at least Vim
7.4.2200
)[GH-1004] - 0๏ธโฃ Check
go env GOPATH
as well for:GoInstallBinaries
as Go has now a default path for GOPATH ("~/go")starting with 1.8 [GH-1152] - ๐ป
:GoDocBrowser
now also works on import paths [GH-1174]
๐ BUG FIXES:
- ๐ฆ Always use full path to detect packages to be shown in statusline [GH-1121]
- ๐ Use
echom
to persist errors in case of multiple echos [GH-1122] - ๐ Fix a race condition where a quickfix window was not closed if a job has succeeded [GH-1123]
- ๐ท Do not expand coverage arguments for non job execution of
:GoCoverage
[GH-1127] :GoCoverage
doesn't mess up custom syntax anymore [GH-1128]- Disable autoformat for
asm
files as they might be non Go ASM format [GH-1141] - ๐ Fix indentation broken when using a action with a minus sign like
{{-
[GH-1143] - ๐ Fix breaking Neovim change of passing less arguments to callbacks [GH-1145]
- ๐ Fix
guru
commands if custom build tags were set [GH-1136] - ๐ Fix referencing a non defined variable for async commands when bang (!) was used
- ๐ Fix
:GoDef
failing for a modified buffer ifhidden
was not set [GH-1132] - ๐ Fix
:GoDefStack
to allow popping from jump list when buffer is modified [GH-1133] - ๐ Improve internal defining of functions and referencing them for async operations [GH-1155]
- ๐ Fix
:GoMetaLinter
failing ifgo_metalinter_command
is set. [GH-1160] - ๐ Fix
:GoMetaLinter
'sgo_metalinter_deadline
setting for async mode [GH-1146]
BACKWARDS INCOMPATIBILITIES:
- 0๏ธโฃ The following syntax options are now disabled by default. If you're using them be sure to set them in your .vimrc [GH-1167]
g:go_highlight_array_whitespace_error g:go_highlight_chan_whitespace_error g:go_highlight_extra_types g:go_highlight_space_tab_error g:go_highlight_trailing_whitespace_error
- โ
Travis test integration has been added. Now any file that is added as
-
v1.10 Changes
November 24, 2016๐ FEATURES:
๐ Vim 8.0 support! This is the initial version to add Vim 8.0 based support to all basic commands (check out below for more information). With time we'll going to extend it to other commands. All the features are only enabled if you have at least Vim 8.0.0087. Backwards compatible with Vim 7.4.x. If you see any problems, please open an issue.
๐ฑ We have now a logo for vim-go! Thanks to @egonelbre for his work on this.
โ
:GoBuild
,:GoTest
,:GoTestCompile
,:GoInstall
commands are now fully async. Async means it doesn't block your UI anymore. If the command finished it echoes the status. For a better experience use the statusline information (more info below)๐ป
:GoCoverage
and:GoCoverageBrowser
commands are fully async.:GoDef
is fully async ifguru
is used as command.:GoRename
is fully async .๐
:GoMetaLinter
is fully asnyc. Also works with the current autosave linting feature. As a reminder, to enable auto linting on save either call:GoMetaLinterAutoSaveToggle
(temporary) or addlet g:go_metalinter_autosave = 1
(persistent) to your virmc).All
guru
commands run asynchronously if Vim 8.0 is being used. Current Commands:- GoImplements
- GoWhicherrs
- GoCallees
- GoDescribe
- GoCallers
- GoCallstack
- GoFreevars
- GoChannelPeers
- GoReferrers
:GoSameIds
also runs asynchronously. This makes it useful especially for auto sameids mode. In this mode it constantly evaluates the identifier under the cursor whenever it's in hold position and then calls :GoSameIds. As a reminder, to enable auto info either call:GoSameIdsAutoToggle
(temporary) or addlet g:go_auto_sameids = 1
(persistent) to your vimrc.:GoInfo
is now non blocking and works in async mode ifguru
is used ing:go_info_mode
. This makes it useful especially for autoinfo mode. In this mode it constantly evaluates the identifier under the cursor whenever it's in hold position and then calls :GoInfo. As a reminder, to enable auto info either call:GoAutoTypeInfoToggle
(temporary) or addlet g:go_auto_type_info = 1
(persistent) to your vimrc. To useguru
instead ofgocode
add following to your vimrc:let g:go_info_mode = 'guru'
The
guru
is more accurate and reliabed due the usage ofguru
describe. It doesn't rely onpkg/
folder likegocode
does. However it's slower thangocode
as there is no caching mechanism inguru
yet.- ๐ New: Statusline function:
go#statusline#Show()
which can be plugged into the statusline bar. Works only with vim 8.0. It shows all asynchronously called functions status real time. Checkout it in action: https://twitter.com/fatih/status/800473735467847680. To enable it add the following to yourvimrc
. If you use lightline, airline, .. check out their respective documentation on how to add a custom function:
" go command status (requires vim-go) set statusline+=%#goStatuslineColor# set statusline+=%{go#statusline#Show()} set statusline+=%*
๐ IMPROVEMENTS:
- ๐ป :GoDocBrowser is now capable to to understand the identifier under the cursor (just like :GoDoc)
- Function calls are now highlighted as well when
g:go_highlight_functions
is enabled [GH-1048] - โ Add completion support for un-imported packages. This allows to complete even
if the package is not imported. By default it's disabled, enable by adding
let g:go_gocode_unimported_packages = 1
[GH-1084] - โก๏ธ Tools that embeds GOROOT into their binaries do not work when people update
their Go version and the GOROOT contains the vesion as part of their path
(i.e:
/usr/local/Cellar/go/1.7.2/libexec
, more info) . This is now fixed by introducing automatic GOROOT set/unset before each tool invoke. [GH-954] - Added new setting
g:go_echo_go_info
to enable/disable printing identifier information when completion is done [GH-1101] - Added new
go_echo_command_info
setting is added, which is enabled by default. It's just a switch for disabling messages of commands, such as:GoBuild
,:GoTest
, etc.. Useful to disable ifgo#statusline#Show()
is being used in Statusline, to prevent to see duplicates notifications. - goSameId highlighting is now linked to
Search
, which is much more clear as it changes according to the users colorscheme - โ Add plug mapping
(go-lint)
for :GoLint [GH-1089]
๐ BUG FIXES:
- ๐ Change back nil and iota highlighting color to the old type [GH-1049]
- ๐ Fix passing arguments to
:GoBuild
while using NeoVim [GH-1062] - Do not open a split if
:GoDef
is used on a modified file [GH-1083] - Highlight nested structs correctly [GH-1075]
- Highlight builtin functions correctly if
g:go_highlight_functions
is enabled [GH-1070] - ๐ Fix
:GoSameIds
highlighting if a new buffer is opened in the same window [GH-1067] - Internal: add
abort
to all vim function to return in case of errors [GH-1100] - ๐ Fix
:GoCoverage
to be executed if working dir is not inside the test dir [GH-1033]
BACKWARDS INCOMPATIBILITIES:
โ remove vim-dispatch and vimproc.vim support. vim 8.0 has now the necessary API to invoke async jobs and timers. Going forward we should use those. Also this will remove the burden to maintain compatibility with those plugins.
๐
go#jobcontrol#Statusline()
is removed in favor of the new, global and extensiblego#statusline#Show()
-
v1.9 Changes
September 13, 2016๐ IMPROVEMENTS:
- guru uses now the
-modified
flag, which allows us use guru on modified buffers as well. This affects all commands whereguru
is used. Such as:GoDef
,:GoReferrers
, etc.. [GH-944] - :GoDoc uses now the
-modified
flag under the hood (for `gogetdoc), which allows us to get documentation for the identifier under the cursor ina modified buffer. [GH-1014] - ๐ Cleanup and improve documentation [GH-987]
- Add new
g:go_gocode_socket_type
setting to change the underlying socket type passed togocode
. Useful to fallback totcp
on cases such as Bash on Windows [GH-1000] :GoSameIds
is now automatically re-evaluated in cases of buffer reloads (such as:GoRename
) [GH-998]- Improve docs about
go_auto_sameids
[GH-1017] - ๐ Improve error message by printing the full path if an incompatible
goimports
is being used [GH-1006] iota
andnil
are now highlighted correctly and are not treated as booleans [GH-1030]
๐ BUG FIXES:
- ๐ Fix system calls on Windows [GH-988]
- ๐ Fix :GoSameIds and :GoCoverage for light background and after changing color schemes [GH-983]
- ๐ Fix TagBar and
GoCallers
for Windows user [GH-999] - โก๏ธ Set updatetime for for
auto_sameids
feature as well [GH-1016] - Update docs about missing
go_highlight_generate_tags
setting [GH-1023] - ๐ Fix updating the jumplist if
:GoDef
is used [GH-1029] - ๐ Fix highlighting literal percent sign (
%%
) in strings [GH-1011] - ๐ Fix highlighting of nested fields [GH-1007]
- ๐ Fix checking for
exepath
feature for the upcoming vim 8.0 release [GH-1046]
BACKWARDS INCOMPATIBILITIES:
- ๐ Rename
GoMetalinterAutoSaveToggle
toGoMetaLinterAutoSaveToggle
to make it compatible with the existing:GoMetaLinter
command [GH-1020]
- guru uses now the
-
v1.8 Changes
July 31, 2016๐ FEATURES:
- New
:GoAddTags
command that adds field tags for the fields of a struct automatically based on the field names. Checkout the demo to see it in action: https://twitter.com/fatih/status/759822857773907968 [GH-971] - ๐ The snippet expansion
json
is now much more smarter. It pre populates the placeholder according to the first word and it also appliessnake_case
orcamelCase
conversion. Together with:GoAddTags
it givesvim-go
users flexible ways of populating a field tag. Checkout the demo to see it in action: https://twitter.com/fatih/status/754477622042689536 [GH-927] - New
:GoSameIds
command. When called highlights all same identifiers in the current file. Can be also enabled to highlight identifiers automatically (with:GoSameIdsAutoToggle
org:go_auto_sameids
). Checkout the demo to see it in action: https://twitter.com/fatih/status/753673709278339072. [GH-936] - New
:GoWhicherrs
command. It shows all possible values of the selected error variable. [GH-948] - โ Add new
errp
snippet to expand anif err != nil { panic() }
clause [GH-926] - If you open a new buffer with a Go filename it get automatically populated based on the directory. If there are no Go files a simple main package is created, otherwise the file will include the package declaration line based on the package in the current directory. Checkout the demo to see it in action: https://twitter.com/fatih/status/748333086643994624. This is enabled by default. Can be disabled with
let g:go_template_autocreate = 0
. You can use your own template withlet g:go_template_file = "foo.go"
and putting the file under thetemplates/
folder. [GH-918] - โ Added new toggle commands to enable/disable feature that run for your
automatic. For example if you have
let g:go_auto_type_info = 1
enabled, you can now easily enable/disable it on the fly. Support added with the following commands::GoAutoTypeInfoToggle
,:GoFmtAutoSaveToggle
,:GoAsmFmtAutoSaveToggle
,:GoMetalinterAutoSaveToggle
,:GoTemplateAutoCreateToggle
[GH-945]
๐ IMPROVEMENTS:
:GoDoc
accepts arguments now which are passed directly togodoc
. So usages like:GoDoc flag
works again (it was changed in previous versions [GH-894]:GoDef
works now for modified files as well [GH-910]- Internal: pass filename to the
--srcdir
flag to enable upcominggoimports
features [GH-957] - Internal: fix indentations on all files to 2-spaces/no tabs. This is now the default vim-go style across all VimL files [GH-915]
- Internal: autocmd settings can be now dynamically enabled/disabled [GH-939]
- Internal: automatically detect
GOPATH
for :GoInstall [GH-980] - 0๏ธโฃ Internal: shell executions uses now by default
sh
and then resets it back to the user preference. [GH-967] - ๐ Syntax: improved syntax highglighting performance for methods, fields, structs and interface type declarations [GH-917]
- ๐ Syntax: moved
:GoCoverage
highlight definition into go's syntax file for more customizability [GH-962]
๐ BUG FIXES:
- Escape
#
characters when opening URL's, as it's handled as alternative file in vim [GH-895] - ๐ Fix typos in
doc/vim-go.txt
about usages of syntax highglightings [GH-897] - ๐ Fix
:GoCoverage
not running for Neovim [GH-899] - ๐ Fix
:GoFmt
not picking up-srcdir
if the command was set to usegoimports
[GH-904] - ๐ Fix
:GoTestCompile
to not leave behind artifacts if the cwd and the test files's directory do not match [GH-909] - ๐ Fix
:GoDocBrowser
to not fail if godoc doesn't exist [GH-920] - ๐ Fix
:GoFmt
to not change the permissions of saved file. Now original file permissions are restored [GH-922]
BACKWARDS INCOMPATIBILITIES:
g:go_highlight_structs
andg:go_highlight_interface
are removed in favor ofg:go_highlight_types
[GH-917]
- New
-
v1.7.1 Changes
June 07, 2016๐ BUG FIXES:
- Fixed typo in
syntax/go.vim
file fromgo:go_highlight_fields
tog:go_highlight_fields
- Fixed typo in
-
v1.7 Changes
June 07, 2016๐ FEATURES:
- New
:GoImpl
command that generates method stubs for implementing an interface. Checkout the demo to see how it works. [GH-846] godef
support is added back as an optional setting. By default:GoDef
still usesguru
, but can be changed togodef
by adding the option:let g:go_def_mode = 'godef'
[GH-888]- ๐ New
<C-w><C-]>
and<C-w>]>
shortcuts to split current window and jumpt to the identifier under cursor. [GH-838] - New syntax setting"
g:go_highlight_fields
that highlights struct field references [GH-854]
๐ IMPROVEMENTS:
- Invoking
:GoRename
now reloads all files to reflect new changes automatically [GH-855] - โ
Calling
:GoTestCompile
does not create any temporary binary file anymore [GH-879] - Enable passing the
-tags
flag to:GoDef
. Now you can pass build tags to:GoDef
via:GoGuruTags
org:go_guru_tags
- ๐จ Internal refactoring to use custom
system()
function that wraps both the standardsystem()
call andvimproc
. Now all system calls will take advantage and will usevimproc
if installed. [GH-801] - Completion enables now
gocode
'sautobuild
andpropose-builtins
flags automatically. With these settings packages will be automatically build to get the freshest completion candidates and builtin keywords will be showed as well. By defaults these settings are enabled. Settings can be disabled/enabled viag:go_gocode_autobuild
andg:go_gocode_propose_builtins
. [GH-815] - โ Added new
http.HandlerFunc
snippets withhf
andhhf
shortcuts [GH-816] - โ Added new
Example
andBenchmark
snippets withexample
andbenchmark
shortcuts [GH-836] - Search tool binaries first in
GOBIN
and then inPATH
as most of vim-go users installs it toGOBIN
mostly [GH-823] - ๐ Improve
guru
based commands by providing automatically detected GOPATHS, such asgb
,godep
to be used if possible [GH-861] - โ Add
<Plug>(go-imports)
mapping to make it assignable to other keys [GH-878] - Increase compatibility with tcsh [GH-869]
- Improve
:GoInstallBinaries
for GOPATH's which don't have packages that work well withgo get -u
. We have a newg:go_get_update
setting to disable it. By default it's enabled. [GH-883]
๐ BUG FIXES:
- ๐ Fix
(go-freevars)
plug mapping to work as in visual mode instead of noncompatible normal mode [GH-832] - Commands based on guru now shows a more meaningful error message instead of just showing the exit status (-1)
- ๐ Fix
:GoCoverage
accidentally enabling syntax highlighting for users who don't use syntax (i.e syntax off) [GH-827] - ๐ Fix
:GoCoverage
colors to work for xterm as well [GH-863] - ๐ Fix commenting out block of texts for Go templates (filetype gothtmltmpl) [GH-813]
- ๐ Fix
:GoImplements
failing because of an empty scope definition. Now we default to current package to make it usable. - ๐ Fix
:GoPlay
posting to non HTTPS url. [GH-847] - ๐ Fix escaping the filenames for lint and motion commands [GH-862]
- ๐ Fix escaping the filename to
:GoDef
completely for tcsh [GH-868] - ๐ Fix showing SUCCESS for
go test
related commands if no test files are available [GH-859]
- New
-
v1.6 Changes
April 25, 2016๐ FEATURES:
- ๐ New
CHANGELOG.md
file (which you're reading now). This will make it easier for me to track changes and release versions :GoCoverage
is now highlighting the current source file for covered/uncovered lines. If called again it runs the tests and updates the annotation. Use:GoCoverageClear
to clear the coverage annotation. This is a pretty good addition to vim-go and I suggest to check out the gif that shows it in action: https://twitter.com/fatih/status/716722650383564800 [GH-786]:GoCoverageToggle
just like:GoCoverage
but acts as a toggle. If run again it clears the annotation.- ๐ป
:GoCoverageBrowser
opens a new annotated HTML page. This is the old:GoCoverage
behavior [GH-786] :GoDoc
uses now gogetdoc to lookup and display the comment documentation for the identifier under the cursor. This is more superior as it support looking up dot imports, named imports and imports where package name and file name are different [GH-782]- ๐
guru support
:oracle
is replaced by the new toolguru
.oracle.vim
is therefore renamed toguru.vim
. I've also refactored the code to make it much more easier to maintain and add additional features in future (such as upcoming JSON decoding). vim-go is now fully compatible withguru
. Please be sure you have installedguru
. You can easily do it with:GoInstallBinaries
. :GoDef
uses nowguru definition
under the hood instead ofgodef
. This fixes the following issues: 1. dot imports 2. vendor imports 3. folder != package name imports. The toolgodef
is also deprecated and not used anymore.:GoDef
does have now history of the call stack. This means you can easily jump back to your last entry. This can be done with the new command:GoDefPop
or the mappingCTRL-t
. To see the stack and jump between entries you can use the new command:GoDefStack
, which shows the list of all stack entries. To reset the stack list anytime you can call:GoDefStackClear
[GH-776]
๐ IMPROVEMENTS:
:GoCoverage
is executed asynchronously when used within Neovim [GH-686]- โ
:GoTestFunc
supports now testable examples [GH-794] :GoDef
can jump to existing buffers instead of opening a new window (split, vsplit or tab). By default it's disabled to not break the old behavior, can be enabled withlet g:go_def_reuse_buffer = 1
๐ BUG FIXES:
- ๐ Fix not showing documentation for dot, named and package/file name being different imports [GH-332]
- Term mode: fix closing location list if result is successful after a failed attempt [GH-768]
- Syntax: fix gotexttmpl identifier highlighting [GH-778]
- ๐ฆ Doc: fix wrong wording for
go-run
mapping. It's for the whole main package, not for the current file
BACKWARDS INCOMPATIBILITIES:
:GoDef
doesn't accept any identifier as an argument. This is not suported viaguru definition
and also was not widely used either. Also with this, we significantly simplified the existing def.vim code- ๐
:GoOracleScope
and:GoOracleTags
are deprecated in favor of:GoGuruScope
and:GoGuruTags
. Alsog:go_oracle_scope
is renamed tog:go_guru_scope
g:go_guru_scope
accepts a variable in type oflist
instead ofstring
. i.g:let g:go_guru_scope = ["github.com/fatih/structs", "golang.org/x/tools/..."]
- ๐ New
-
v1.5 Changes
March 16, 2016๐ FEATURES:
- Introducing code name "motion". A new whole way of moving
around and navigating [GH-765]. Checkout the following new changes:
- A vim-go specific tool, called motion is being developed which provides us the underlying foundation for the following and upcoming new features.
]]
and[[
motions can be used to jump between functionsif
andaf
are improved and implement from scratch. It has now support for literal functions, comments of functions, better cursor position support and more stable.- New
:GoDecls
and:GoDeclsDir
commands that are available ifctrlp.vim
is installed. Once called one can easily jump to any generic declaration available. - I wrote two blog posts about these new features in more detail. I recommend you to read it: Treating Go types as objects in Vim and Navigation between functions and types in vim-go
- โ
A new
:GoAlternate
command that toggles to the test file of the current file. It also has new appropriate mappings to open the alternate file in split or tabs. [GH-704] - Now commands can choose whether they want to open a
quickfix
or alocation list
via the settingg:go_list_type
. Also all the commands have now some sensible settings, some will open a qf window, some will open a location list [GH-700]
๐ IMPROVEMENTS:
- โ Add support for goimport's new
-srcdir
. Goimports now succesfully suportsvendor/
folders with this release. [GH-735] - Add
g:go_gorename_prefill
setting which disabled pre filling the argument for:GoRename
[GH-711] - ๐ Improve
:GoRun
to complete to filenames [GH-742] - Highlight
//go:generate
comment directives [GH-757] - Indent code in Go HTML templates [GH-709]
- ๐ Improve negative numbers of all types, octals, imaginary numbers with exponents [GH-752]
- ๐ Improved internal usage of retrieving offsets [GH-762]
- ๐ Improve by substitute all backslashes to slashes for filename [GH-703]
- ๐ Improve internal Go package path function [GH-702]
- ๐ Improved typo and grammar errors in docs [GH-714]
- ๐ Improved internal
:GoInfo
automatic call [GH-759]
๐ BUG FIXES:
- ๐ Fix oracle scope not working if trailing slash exists in scope [GH-751]
- ๐ Fix
:GoErrCheck
checking abspath [GH-671] - ๐ Fix
:GoInstall
correctly parsing errors [GH-692] - ๐ Fix
:GoInstall
correctly parsing errors [GH-692] - ๐ Fix
:GoTestFunc
for neovim [GH-695] - ๐ Fix
:GoRun
accepting arguments for neovim [GH-730] - ๐ Fix
go run
mappings not working [GH-542] - ๐ Fix autodetect gopath picking up non existing GB vendor folder
- ๐ Fix gofmt errors showing per buffer instead of per script [GH-721]
- ๐ Fix some of the neosnippet snippets
- Introducing code name "motion". A new whole way of moving
around and navigating [GH-765]. Checkout the following new changes:
-
v1.4 Changes
January 18, 2016๐ FEATURES:
- ๐ You waited for it for a long time. And here you have it: Neovim support!
This is a huge feature. It's fully compatible with Vim and kicks only in if
vim-go is being used within Neovim. Checkout the full list of changes
[GH-607]:
- An async launcher and base foundation was implemented for the
go
command. This will be used in the future for all upcoming subcommands of thego
tool. :GoBuild
is now called asynchronously (it doesn't block the UI anymore).- A new
go#jobcontrol#Statusline()
can be used to plug into the statusline. This will show the status of the job running asynchronously. The statusline is improved to show the status per package instead of file. Assume you have three files open, all belonging to the same package, if the package build (:GoBuild
) is successful, all statusline's will be empty (means SUCCESS), if it fails all files statusline's will showFAILED
. :GoRun
opens a new vertical terminal emulator inside Neovim and runs the command there. The terminal mode can be changed withg:go_term_mode
, which is by defaultvsplit
. Current options arevsplit, split or tab
. We also have three new mappings to open:GoRun
command in different terminal split modes:<Plug>(go-run-vertical)
,<Plug>(go-run-split)
and<Plug>(go-run-tab)
:GoTest
,:GoTestFunc
and:GoTestCompile
opens and runs in a new terminal. The view mode (split,vertical, tab) is defined withg:go_term_mode
. Theg:go_term_enabled
setting can be use to change the behavior of:GoTestXXX
commands .If set to1
, it opens the test commands inside a terminal, if not it runs them in background just like:GoBuild
and displays the result in the statusline.- We have two settings for terminal sizes:
g:go_term_height
andg:go_term_width
. By default a vertical or horizontal view is equally splitted by vim automatically. However with these settings we can for example have a terminal with a smaller height when we split it horizontally. - If a command inside the term fails (such as
go run
,go test
...) we parse now the errors and list them inside a location list.
- An async launcher and base foundation was implemented for the
- Instead of quickfix window, vim-go now uses the
location list
feature of Vim. These are associated with each window independently of each other. This enables us to have multiple, independent location lists per window (example usages::GoBuild
with errors that needs to be fixed,:GoLint
with warnings that we want to check,:GoReferrers
with a list of referred identifiers) [GH-626] - a new
:AsmFmt
command which is integrated to work with asmfmt [GH-673] - the full identifier information of a completed identifier is echoed in statusline. This is very useful to see a function signatures arguments. [GH-685]
๐ IMPROVEMENTS:
- ๐ Improve
:GoFmt
by checking if the binary is indeed installed on the system [GH-617] - ๐ Improve
:GoMetaLinter
by adding the option to run the metalinter on save and adding the option to limit the output to the currently active buffer. Setlet g:go_metalinter_autosave = 1
to enable autosave and uselet g:go_metalinter_autosave_enabled = ['vet', 'golint']
to change your options. [GH-631] - ๐ Improved
:GoDef
. Ifvimproc
is installedgodef
will make use of it [GH-670] - ๐ Improve completion of godoce when vimproc is used [GH-620]
- ๐ Improve internal error matching prodecure to not match false positives [GH-618]
- A new option to highlight interface variables with
go_highlight_interfaces
[GH-681]
๐ BUG FIXES
- ๐ Fix
:GoFmt
changing the fileformat of the current buffer [GH-615] - ๐ Fix
:GoRename
to output the original error if parsing fails [GH-675] - ๐ Fix
:GoTest
to output the original error if parsing fails [GH-676] - ๐ Fixed
fmt.Fprintln
not to highlight as builtin [GH-628] - ๐ Fixed wrong highlighting of channels of channels [GH-678]
- ๐ You waited for it for a long time. And here you have it: Neovim support!
This is a huge feature. It's fully compatible with Vim and kicks only in if
vim-go is being used within Neovim. Checkout the full list of changes
[GH-607]:
-
v1.3 Changes
November 22, 2015๐ FEATURES:
- ๐ A new
:GoOracleTags
command was added to pass build tags to Oracle's-tags
flag. [GH-573]
๐ IMPROVEMENTS:
- ๐ Change
:GoTest
command to timeout after 10 seconds. Vim UI is blocking and tests with large running times makes Vim blocking for a long time. This is also customizable with the new optiong:go_test_timeout
. [GH-578] - ๐ Improve
:GoRename
to collect and populate quickfix window with errors. [GH-577] - ๐ Improve
:GoRun
by dropping bad filenames from quickfix window. This allows us to have only valid entries which can be jumped to [GH-547] - ๐ Improve
:GoMetaLinter
quickfix output by using absolute paths. This enables us to jump to errors for all cases. [GH-565] - ๐ Improve
:GoMetaLinter
command by adding a new optiong:go_metalinter_deadline
which cancels the linters after 5 seconds (previous default). [GH-576] - ๐ Improve
:GoMetaLinter
by jumping to the first encountered error from the quickfix window. - Automatically resize quickfix window based on the number of errors [GH-602]
- ๐ Improve build constraints to show invalid cases (such as
// +buildfoo
, not having an empty line between the package statement, etc..). Also add missingGOARCH
values sucha sarm64
. There are many other useful improvements, for more detail please have a look at [GH-589] - โ Add support for all values of
GOARCH
[GH-601] - โ Add note about Syntastic usage as this problem comes up a lot [GH-580]
- โ Add note about
:GoUpdateBinaries
[GH-606]
๐ BUG FIXES:
- ๐ Fixed
:GoErrCheck
showing the correct output when executed inside the source folder [GH-564] - ๐ Fixed
:GoBuild
by not using/dev/null
anymore for build output (not supported bygo
). We pass a temporary file now. [GH-567] - Fixed
:GoFmt
passingg:go_fmt_options
options togoimports
. This option is only valid withgofmt
. [GH-590] - ๐ Fix vim-go for
cygwin
users. [GH-575] - ๐ Fixed identifier in template files to be highlighted correctly [GH-559]
- ๐ Fixed character region in template files to be highlighted correctly [GH-603]
- ๐ Fixed variables in template files to be highlighted correctly [GH-611]
- Do not treat builtins as keywords. Now
make
will not highlighted butmake()
will be highlighted (gh-605)
- ๐ A new