diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2020-09-22 17:16:27 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2020-09-22 17:16:27 +0200 |
commit | 6f0c50457f9d197c1a1759d4302f251cce4242d8 (patch) | |
tree | d935fca3ffab9e0a25fe062513095f968871fc77 | |
parent | 06548fe61765d8a68a289741ce8d30f04a037e60 (diff) | |
download | vim-polyglot-6f0c50457f9d197c1a1759d4302f251cce4242d8.tar.gz vim-polyglot-6f0c50457f9d197c1a1759d4302f251cce4242d8.zip |
Build
-rw-r--r-- | autoload/go/config.vim | 4 | ||||
-rw-r--r-- | autoload/rustfmt.vim | 4 | ||||
-rw-r--r-- | autoload/terraform.vim | 1 | ||||
-rw-r--r-- | doc/vim-go.txt | 99 | ||||
-rw-r--r-- | ftplugin/zig.vim | 21 | ||||
-rw-r--r-- | syntax/odin.vim | 8 |
6 files changed, 91 insertions, 46 deletions
diff --git a/autoload/go/config.vim b/autoload/go/config.vim index 55bc1902..355f90fb 100644 --- a/autoload/go/config.vim +++ b/autoload/go/config.vim @@ -572,6 +572,10 @@ function! go#config#GoplsOptions() abort return get(g:, 'go_gopls_options', ['-remote=auto']) endfunction +function! go#config#FillStructMode() abort + return get(g:, 'go_fillstruct_mode', 'fillstruct') +endfunction + " Set the default value. A value of "1" is a shortcut for this, for " compatibility reasons. if exists("g:go_gorename_prefill") && g:go_gorename_prefill == 1 diff --git a/autoload/rustfmt.vim b/autoload/rustfmt.vim index 60e2029e..28cca07a 100644 --- a/autoload/rustfmt.vim +++ b/autoload/rustfmt.vim @@ -109,7 +109,7 @@ function! s:DeleteLines(start, end) abort endfunction function! s:RunRustfmt(command, tmpname, from_writepre) - mkview! + let l:view = winsaveview() let l:stderr_tmpname = tempname() call writefile([], l:stderr_tmpname) @@ -215,7 +215,7 @@ function! s:RunRustfmt(command, tmpname, from_writepre) lwindow endif - silent! loadview + call winrestview(l:view) endfunction function! rustfmt#FormatRange(line1, line2) diff --git a/autoload/terraform.vim b/autoload/terraform.vim index 05a88e30..1f987669 100644 --- a/autoload/terraform.vim +++ b/autoload/terraform.vim @@ -68,6 +68,7 @@ function! terraform#commands(ArgLead, CmdLine, CursorPos) abort \ 'version', \ 'workspace', \ '0.12upgrade', + \ '0.13upgrade', \ 'debug', \ 'force-unlock', \ 'push', diff --git a/doc/vim-go.txt b/doc/vim-go.txt index b92ab5b9..7d4ac52d 100644 --- a/doc/vim-go.txt +++ b/doc/vim-go.txt @@ -426,10 +426,6 @@ CTRL-t If [!] is not given the first error is jumped to. - If using neovim `:GoTestFunc` will run in a new terminal or run - asynchronously in the background according to |'g:go_term_enabled'|. You - can set the mode of the new terminal with |'g:go_term_mode'|. - *:GoTestCompile* :GoTestCompile[!] [expand] @@ -441,10 +437,6 @@ CTRL-t If [!] is not given the first error is jumped to. - If using neovim `:GoTestCompile` will run in a new terminal or run - asynchronously in the background according to |'g:go_term_enabled'|. You - can set the mode of the new terminal with |'g:go_term_mode'|. - *:GoCoverage* :GoCoverage[!] [options] @@ -1484,6 +1476,14 @@ and `guru`. > let g:go_def_mode = 'gopls' < + *'g:go_fillstruct_mode'* + +Use this option to define the command to be used for |:GoFillStruct|. By +default `fillstruct` is used. Valid values are `fillstruct` and `gopls`. By +default it is `fillstruct`. +> + let g:go_fillstruct_mode = 'fillstruct' +< *'g:go_referrers_mode'* Use this option to define the command to be used for |:GoReferrers|. By @@ -1789,25 +1789,34 @@ same. *'g:go_gopls_enabled'* -Specifies whether `gopls` can be used by vim-go. By default gopls is enabled. -When gopls is disabled completion will not work and other configuration +Specifies whether `gopls` can be used by vim-go. + +Completion will not work when gopls is disabled and other configuration options may also need to be adjusted. +By default gopls is enabled. + > let g:go_gopls_enabled = 1 < *'g:go_gopls_options'* -The commandline arguments to pass to gopls. By default, it's `-remote=auto`. +The commandline arguments to pass to gopls. + +By default, it is `['-remote=auto']`. > - let g:go_gopls_options = [] + let g:go_gopls_options = ['-remote=auto'] < *'g:go_gopls_analyses'* -The analyses settings for `gopls`. By default, it's `v:null`. Valid map values -are `v:true` and `v:false`. +The analyses settings for `gopls`. + +The Expected value is either `v:null` or a dictionary. The dictionary will be +provided to `gopls` via json-rpc, so dictionary values need to be of the +appropriate type for Vim to convert to JSON (e.g. truthy dictionary values +should be `v:true` or `v:false`). By default, it is `v:null`. > let g:go_gopls_analyses = v:null < @@ -1815,34 +1824,36 @@ are `v:true` and `v:false`. *'g:go_gopls_complete_unimported'* Specifies whether `gopls` should include suggestions from unimported packages. -When it is `v:null`, `gopls`' default will be used. By default it is -`v:null`. + +When it is `v:null`, `gopls`' default will be used. By default it is `v:null`. > let g:go_gopls_complete_unimported = v:null < *'g:go_gopls_deep_completion'* -Specifies whether `gopls` should use deep completion. When it is `v:null`, -`gopls`' default will be used. By default it is `v:null`. +Specifies whether `gopls` should use deep completion. +When it is `v:null`, `gopls`' default will be used. By default it is `v:null`. > let g:go_gopls_deep_completion = v:null < *'g:go_gopls_matcher'* -Specifies how `gopls` should match for completions. Valid values are `v:null`, -`fuzzy`, and `caseSensitive`. When it is `v:null`, `gopls`' default will be -used. By default it is `v:null`. +Specifies how `gopls` should match for completions. + +Valid values are `v:null`, `fuzzy`, and `caseSensitive`. When it is `v:null`, +`gopls`' default will be used. By default it is `v:null`. > let g:go_gopls_matcher = v:null < *'g:go_gopls_staticcheck'* -Specifies whether `gopls` should run staticcheck checks. When it is `v:null`, -`gopls`' default will be used. By default it is `v:null`. +Specifies whether `gopls` should run staticcheck checks. + +When it is `v:null`, `gopls`' default will be used. By default it is `v:null`. > let g:go_gopls_staticcheck = v:null < @@ -1852,8 +1863,9 @@ Specifies whether `gopls` should run staticcheck checks. When it is `v:null`, Specifies whether `gopls` can provide placeholders for function parameters and struct fields. When set, completion items will be treated as anonymous snippets if UltiSnips is installed and configured to be used as -|'g:go_snippet_engine'|. When it is `v:null`, `gopls`' default will be used. -By default it is `v:null`. +|'g:go_snippet_engine'|. + +When it is `v:null`, `gopls`' default will be used. By default it is `v:null`. > let g:go_gopls_use_placeholders = v:null < @@ -1861,8 +1873,9 @@ By default it is `v:null`. *'g:go_gopls_temp_modfile'* Specifies whether `gopls` should use a temp modfile and suggest edits rather -than modifying the ambient go.mod file. When it is `v:null`, `gopls`' default -will be used. By default it is `v:null`. +than modifying the ambient go.mod file. + +When it is `v:null`, `gopls`' default will be used. By default it is `v:null`. > let g:go_gopls_temp_modfile = v:null < @@ -1870,16 +1883,18 @@ will be used. By default it is `v:null`. *'g:go_gopls_local'* Specifies the prefix for imports that `gopls` should consider group -separately. When it is `v:null`, `gopls`' default will be used. By default it -is `v:null`. +separately. + +When it is `v:null`, `gopls`' default will be used. By default it is `v:null`. > let g:go_gopls_local = v:null < *'g:go_gopls_gofumpt'* -Specifies whether `gopls` should use `gofumpt` for formatting. When it is -`v:null`, `gopls`' default will be used. By default it is `v:null`. +Specifies whether `gopls` should use `gofumpt` for formatting. + +When it is `v:null`, `gopls`' default will be used. By default it is `v:null`. > let g:go_gopls_gofumpt = v:null < @@ -1887,10 +1902,12 @@ Specifies whether `gopls` should use `gofumpt` for formatting. When it is *'g:go_gopls_settings'* Specifies `gopls` workspace settings for `gopls` that are not yet officially -supported by vim-go. Any value in the dictionary will be overridden by values -provided in the specific options supported by vim-go (e.g. -g:go_gopls_staticcheck) or settings statically configured by vim-go to ensure -expected behavior. By default it is `v:null`. +supported by vim-go. + +Any value in the dictionary will be overridden by values provided in the +specific options supported by vim-go (e.g. g:go_gopls_staticcheck) or +settings statically configured by vim-go to ensure expected behavior. By +default it is `v:null`. > let g:go_gopls_settings = v:null < @@ -1898,7 +1915,9 @@ expected behavior. By default it is `v:null`. Specifies whether `gopls` diagnostics are enabled. Only the diagnostics for the current buffer will be processed when it is not set; all others will be -ignored. By default it is disabled. +ignored. + +By default it is disabled. > let g:go_diagnostics_enabled = 0 < @@ -2323,6 +2342,14 @@ The rest of the commands and mappings become available after executing Use `-test.flag` to pass flags to `go test` when debugging a test; for example `-test.v` or `-test.run TestFoo` + *:GoDebugTestFunc* +:GoDebugTestFunc [expand] + + Behaves the same as |:GoDebugTest| and implicitly adds `-test.run` to run + the nearest test or example function (i.e the nearest function declaration + that matches `func Test` or `func Example`) at or previous to the cursor. + Search will not wrap around when at the top of the file. + *:GoDebugRestart* :GoDebugRestart diff --git a/ftplugin/zig.vim b/ftplugin/zig.vim index 675a3bcf..dc9af384 100644 --- a/ftplugin/zig.vim +++ b/ftplugin/zig.vim @@ -21,24 +21,31 @@ setlocal formatoptions-=t formatoptions+=croql setlocal suffixesadd=.zig,.zir setlocal makeprg=zig\ build -if has("comments") +if has('comments') setlocal comments=:///,://!,://,:\\\\ setlocal commentstring=//\ %s endif if has('find_in_path') - let &l:includeexpr='substitute(v:fname, "^([^.])$", "\1.zig", "")' - let &l:include='\v(\@import>|\@cInclude>|^\s*\#\s*include)' - let &l:define='\v(<fn>|<const>|<var>|^\s*\#\s*define)' + let &l:includeexpr='substitute(v:fname, "^([^.])$", "\1.zig", "")' + let &l:include='\v(\@import>|\@cInclude>|^\s*\#\s*include)' endif -if has('eval') - execute 'setlocal path+=' . json_decode(system('zig env'))['std_dir'] +let &l:define='\v(<fn>|<const>|<var>|^\s*\#\s*define)' + +if exists("*json_decode") && executable('zig') + silent let s:env = system('zig env') + if v:shell_error == 0 + let &l:path=json_decode(s:env)['std_dir'] . ',' . &l:path + endif + unlet! s:env endif -let b:undo_ftplugin = "setl et< ts< sts< sw< fo< sua< mp< com< cms<" +let b:undo_ftplugin = + \ 'setl et< ts< sts< sw< fo< sua< mp< com< cms< inex< inc< pa<' let &cpo = s:cpo_orig unlet s:cpo_orig +" vim: tabstop=8 shiftwidth=4 softtabstop=4 expandtab endif diff --git a/syntax/odin.vim b/syntax/odin.vim index c9bae639..553f4612 100644 --- a/syntax/odin.vim +++ b/syntax/odin.vim @@ -30,6 +30,9 @@ syntax keyword odinTypeIdOf typeid_of syntax keyword odinTypeOf type_of syntax keyword odinAlignOf align_of +syntax keyword odinInline inline +syntax keyword odinNoInline no_inline + syntax match odinTodo "TODO" syntax match odinNote "NOTE" syntax match odinXXX "XXX" @@ -37,7 +40,7 @@ syntax match odinFixMe "FIXME" syntax match odinNoCheckin "NOCHECKIN" syntax match odinHack "HACK" -syntax keyword odinDataType string cstring bool b8 b16 b32 b64 rune any rawptr f32 f64 f32le f32be f64le f64be u8 u16 u32 u64 u128 u16le u32le u64le u128le u16be u32be u64be u128be uint i8 i16 i32 i64 i128 i16le i32le i64le i128le i16be i32be i64be i128be int +syntax keyword odinDataType string cstring bool b8 b16 b32 b64 rune any rawptr f32 f64 f32le f32be f64le f64be u8 u16 u32 u64 u128 u16le u32le u64le u128le u16be u32be u64be u128be uint uintptr i8 i16 i32 i64 i128 i16le i32le i64le i128le i16be i32be i64be i128be int syntax keyword odinBool true false syntax keyword odinNull nil syntax keyword odinDynamic dynamic @@ -105,6 +108,9 @@ highlight link odinTypeIdOf Keyword highlight link odinAlignOf Keyword highlight link odinPackage Keyword +highlight link odinInline Keyword +highlight link odinNoInline Keyword + highlight link odinImport Keyword highlight link odinExport Keyword highlight link odinForeign Keyword |