diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2021-05-01 19:03:43 -0400 |
---|---|---|
committer | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2021-05-01 22:29:02 -0400 |
commit | 0c93005383daacaa32d2c615716dc3a8c06d573f (patch) | |
tree | eb9920bf1317fb4f4716d87c51bd1e246376992c | |
parent | 2ebd1f6286211bc67cc83e3ad912d28b372ea4b6 (diff) | |
download | rneovim-0c93005383daacaa32d2c615716dc3a8c06d573f.tar.gz rneovim-0c93005383daacaa32d2c615716dc3a8c06d573f.tar.bz2 rneovim-0c93005383daacaa32d2c615716dc3a8c06d573f.zip |
vim-patch:4466ad6baa22
Update runtime files
https://github.com/vim/vim/commit/4466ad6baa22485abb1147aca3340cced4778a66
Omit vim9 references in autocmd.txt.
Omit matchfuzzypos().
-rw-r--r-- | runtime/autoload/ccomplete.vim | 36 | ||||
-rw-r--r-- | runtime/doc/change.txt | 2 | ||||
-rw-r--r-- | runtime/doc/eval.txt | 19 | ||||
-rw-r--r-- | runtime/doc/map.txt | 13 | ||||
-rw-r--r-- | runtime/doc/syntax.txt | 2 | ||||
-rw-r--r-- | runtime/doc/various.txt | 22 | ||||
-rw-r--r-- | runtime/ftplugin/pbtxt.vim | 21 | ||||
-rw-r--r-- | runtime/synmenu.vim | 1 | ||||
-rw-r--r-- | runtime/syntax/pbtxt.vim | 44 |
9 files changed, 119 insertions, 41 deletions
diff --git a/runtime/autoload/ccomplete.vim b/runtime/autoload/ccomplete.vim index 971e7367ce..95a20e16b0 100644 --- a/runtime/autoload/ccomplete.vim +++ b/runtime/autoload/ccomplete.vim @@ -1,13 +1,13 @@ " Vim completion script " Language: C " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2020 Apr 08 +" Last Change: 2020 Nov 14 let s:cpo_save = &cpo set cpo&vim " This function is used for the 'omnifunc' option. -function! ccomplete#Complete(findstart, base) +func ccomplete#Complete(findstart, base) if a:findstart " Locate the start of the item, including ".", "->" and "[...]". let line = getline('.') @@ -244,7 +244,7 @@ function! ccomplete#Complete(findstart, base) return map(res, 's:Tagline2item(v:val, brackets)') endfunc -function! s:GetAddition(line, match, memarg, bracket) +func s:GetAddition(line, match, memarg, bracket) " Guess if the item is an array. if a:bracket && match(a:line, a:match . '\s*\[') > 0 return '[' @@ -260,13 +260,13 @@ function! s:GetAddition(line, match, memarg, bracket) endif endif return '' -endfunction +endfunc " Turn the tag info "val" into an item for completion. " "val" is is an item in the list returned by taglist(). " If it is a variable we may add "." or "->". Don't do it for other types, " such as a typedef, by not including the info that s:GetAddition() uses. -function! s:Tag2item(val) +func s:Tag2item(val) let res = {'match': a:val['name']} let res['extra'] = s:Tagcmd2extra(a:val['cmd'], a:val['name'], a:val['filename']) @@ -289,10 +289,10 @@ function! s:Tag2item(val) endif return res -endfunction +endfunc " Use all the items in dictionary for the "info" entry. -function! s:Dict2info(dict) +func s:Dict2info(dict) let info = '' for k in sort(keys(a:dict)) let info .= k . repeat(' ', 10 - len(k)) @@ -307,7 +307,7 @@ function! s:Dict2info(dict) endfunc " Parse a tag line and return a dictionary with items like taglist() -function! s:ParseTagline(line) +func s:ParseTagline(line) let l = split(a:line, "\t") let d = {} if len(l) >= 3 @@ -334,12 +334,12 @@ function! s:ParseTagline(line) endif return d -endfunction +endfunc " Turn a match item "val" into an item for completion. " "val['match']" is the matching item. " "val['tagline']" is the tagline in which the last part was found. -function! s:Tagline2item(val, brackets) +func s:Tagline2item(val, brackets) let line = a:val['tagline'] let add = s:GetAddition(line, a:val['match'], [a:val], a:brackets == '') let res = {'word': a:val['match'] . a:brackets . add } @@ -377,10 +377,10 @@ function! s:Tagline2item(val, brackets) let res['menu'] = s:Tagcmd2extra(s, a:val['match'], matchstr(line, '[^\t]*\t\zs[^\t]*\ze\t')) endif return res -endfunction +endfunc " Turn a command from a tag line to something that is useful in the menu -function! s:Tagcmd2extra(cmd, name, fname) +func s:Tagcmd2extra(cmd, name, fname) if a:cmd =~ '^/^' " The command is a search command, useful to see what it is. let x = matchstr(a:cmd, '^/^\s*\zs.*\ze$/') @@ -395,13 +395,13 @@ function! s:Tagcmd2extra(cmd, name, fname) let x = a:cmd . ' - ' . a:fname endif return x -endfunction +endfunc " Find composing type in "lead" and match items[0] with it. " Repeat this recursively for items[1], if it's there. " When resolving typedefs "depth" is used to avoid infinite recursion. " Return the list of matches. -function! s:Nextitem(lead, items, depth, all) +func s:Nextitem(lead, items, depth, all) " Use the text up to the variable name and split it in tokens. let tokens = split(a:lead, '\s\+\|\<') @@ -485,7 +485,7 @@ function! s:Nextitem(lead, items, depth, all) endfor return res -endfunction +endfunc " Search for members of structure "typename" in tags files. @@ -493,7 +493,7 @@ endfunction " Each match is a dictionary with "match" and "tagline" entries. " When "all" is non-zero find all, otherwise just return 1 if there is any " member. -function! s:StructMembers(typename, items, all) +func s:StructMembers(typename, items, all) " Todo: What about local structures? let fnames = join(map(tagfiles(), 'escape(v:val, " \\#%")')) if fnames == '' @@ -586,12 +586,12 @@ function! s:StructMembers(typename, items, all) " Failed to find anything. return [] -endfunction +endfunc " For matching members, find matches for following items. " When "all" is non-zero find all, otherwise just return 1 if there is any " member. -function! s:SearchMembers(matches, items, all) +func s:SearchMembers(matches, items, all) let res = [] for i in range(len(a:matches)) let typename = '' diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt index cd73e118e3..30183caf2b 100644 --- a/runtime/doc/change.txt +++ b/runtime/doc/change.txt @@ -1785,6 +1785,8 @@ found here: |sort()|, |uniq()|. When /{pattern}/ is specified and there is no [r] flag the text matched with {pattern} is skipped, so that you sort on what comes after the match. + 'ignorecase' applies to the pattern, but 'smartcase' + is not used. Instead of the slash any non-letter can be used. For example, to sort on the second comma-separated field: > diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 0c5e42a92b..55ffe2f189 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -2863,8 +2863,8 @@ byteidx({expr}, {nr}) *byteidx()* Return byte index of the {nr}'th character in the string {expr}. Use zero for the first character, it then returns zero. - This function is only useful when there are multibyte - characters, otherwise the returned value is equal to {nr}. + If there are no multibyte characters the returned value is + equal to {nr}. Composing characters are not counted separately, their byte length is added to the preceding base character. See |byteidxcomp()| below for counting composing characters @@ -7189,11 +7189,16 @@ search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()* 'ignorecase', 'smartcase' and 'magic' are used. - When the 'z' flag is not given, searching always starts in - column zero and then matches before the cursor are skipped. - When the 'c' flag is present in 'cpo' the next search starts - after the match. Without the 'c' flag the next search starts - one column further. + When the 'z' flag is not given, forward searching always + starts in column zero and then matches before the cursor are + skipped. When the 'c' flag is present in 'cpo' the next + search starts after the match. Without the 'c' flag the next + search starts one column further. This matters for + overlapping matches. + When searching backwards and the 'z' flag is given then the + search starts in column zero, thus no match in the current + line will be found (unless wrapping around the end of the + file). When the {stopline} argument is given then the search stops after searching this line. This is useful to restrict the diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt index b97838e75c..ce5e4dc73c 100644 --- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -306,14 +306,17 @@ preserved, so tricks with |gv| are not needed. Commands can be invoked directly in cmdline-mode (which would otherwise require timer hacks). Unlike <expr> mappings, there are no special restrictions on the <Cmd> -command: it is executed as if an (unrestricted) |autocmd| was invoked or an -async event event was processed. +command: it is executed as if an (unrestricted) |autocommand| was invoked +or an async event event was processed. Note: - Because <Cmd> avoids mode-changes (unlike ":") it does not trigger |CmdlineEnter| and |CmdlineLeave| events. This helps performance. - For the same reason, |keycodes| like <C-R><C-W> are interpreted as plain, unmapped keys. +- The command is not echo'ed, no need for <silent>. +- In Visual mode you can use `line('v')` and `col('v')` to get one end of the + Visual area, the cursor is at the other end. - In select-mode, |:map| and |:vmap| command mappings are executed in visual-mode. Use |:smap| to handle select-mode. @@ -1122,9 +1125,9 @@ Otherwise, using "<SID>" outside of a script context is an error. If you need to get the script number to use in a complicated script, you can use this function: > - function s:SID() - return matchstr(expand('<sfile>'), '<SNR>\zs\d\+\ze_SID$') - endfun + func s:ScriptNumber() + return matchstr(expand('<SID>'), '<SNR>\zs\d\+\ze_') + endfunc The "<SNR>" will be shown when listing functions and mappings. This is useful to find out what they are defined to. diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index a13d9f5190..7a1f19eeeb 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -2974,7 +2974,7 @@ vimrc file: > (Adapted from the html.vim help text by Claudio Fleiner <claudio@fleiner.com>) - *ft-posix-synax* *ft-dash-syntax* + *ft-posix-syntax* *ft-dash-syntax* SH *sh.vim* *ft-sh-syntax* *ft-bash-syntax* *ft-ksh-syntax* This covers syntax highlighting for the older Unix (Bourne) sh, and newer diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt index f8d8dbd294..db8e793680 100644 --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -134,15 +134,17 @@ g8 Print the hex values of the bytes used in the quit < *:z* *E144* -:{range}z[+-^.=]{count} Display several lines of text surrounding the line - specified with {range}, or around the current line - if there is no {range}. If there is a {count}, that's - how many lines you'll see; if there is no {count} and - only one window then twice the value of the 'scroll' - option is used, otherwise the current window height - minus 3 is used. - - If there is a {count} the 'window' option is set to +:[range]z[+-^.=][count] Display several lines of text surrounding the line + specified with [range], or around the current line + if there is no [range]. + + If there is a [count], that's how many lines you'll + see; if there is no [count] and only one window then + twice the value of the 'scroll' option is used, + otherwise the current window height minus 3 is used. + This is the value of "scr" in the table below. + + If there is a [count] the 'window' option is set to its value. :z can be used either alone or followed by any of @@ -160,7 +162,7 @@ g8 Print the hex values of the bytes used in the If the mark is "=", a line of dashes is printed around the current line. -:{range}z#[+-^.=]{count} *:z#* +:[range]z#[+-^.=][count] *:z#* Like ":z", but number the lines. {not in all versions of Vi, not with these arguments} diff --git a/runtime/ftplugin/pbtxt.vim b/runtime/ftplugin/pbtxt.vim new file mode 100644 index 0000000000..e3c1bf7650 --- /dev/null +++ b/runtime/ftplugin/pbtxt.vim @@ -0,0 +1,21 @@ +" Vim filetype plugin file +" Language: Protobuf Text Format +" Maintainer: Lakshay Garg <lakshayg@outlook.in> +" Last Change: 2020 Nov 17 +" Homepage: https://github.com/lakshayg/vim-pbtxt + +if exists("b:did_ftplugin") + finish +endif + +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +setlocal commentstring=#\ %s + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: nowrap sw=2 sts=2 ts=8 noet diff --git a/runtime/synmenu.vim b/runtime/synmenu.vim index 3367c68d3b..d1e4becb2b 100644 --- a/runtime/synmenu.vim +++ b/runtime/synmenu.vim @@ -404,6 +404,7 @@ an 50.90.120 &Syntax.PQ.Pam\ config :cal SetSyn("pamconf")<CR> an 50.90.130 &Syntax.PQ.PApp :cal SetSyn("papp")<CR> an 50.90.140 &Syntax.PQ.Pascal :cal SetSyn("pascal")<CR> an 50.90.150 &Syntax.PQ.Password\ file :cal SetSyn("passwd")<CR> +an 50.90.490 &Syntax.PQ.Pbtxt :cal SetSyn("pbtxt")<CR> an 50.90.160 &Syntax.PQ.PCCTS :cal SetSyn("pccts")<CR> an 50.90.170 &Syntax.PQ.PDF :cal SetSyn("pdf")<CR> an 50.90.180 &Syntax.PQ.Perl.Perl :cal SetSyn("perl")<CR> diff --git a/runtime/syntax/pbtxt.vim b/runtime/syntax/pbtxt.vim new file mode 100644 index 0000000000..92a75560ef --- /dev/null +++ b/runtime/syntax/pbtxt.vim @@ -0,0 +1,44 @@ +" Vim syntax file +" Language: Protobuf Text Format +" Maintainer: Lakshay Garg <lakshayg@outlook.in> +" Last Change: 2020 Nov 17 +" Homepage: https://github.com/lakshayg/vim-pbtxt + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn case ignore + +syn keyword pbtxtTodo TODO FIXME contained +syn keyword pbtxtBool true false contained + +syn match pbtxtInt display "\<\(0\|[1-9]\d*\)\>" +syn match pbtxtHex display "\<0[xX]\x\+\>" +syn match pbtxtFloat display "\(0\|[1-9]\d*\)\=\.\d*" +syn match pbtxtMessage display "^\s*\w\+\s*{"me=e-1 +syn match pbtxtField display "^\s*\w\+:"me=e-1 +syn match pbtxtEnum display ":\s*\a\w\+"ms=s+1 contains=pbtxtBool +syn region pbtxtString start=+"+ skip=+\\"+ end=+"+ contains=@Spell +syn region pbtxtComment start="#" end="$" keepend contains=pbtxtTodo,@Spell + +hi def link pbtxtTodo Todo +hi def link pbtxtBool Boolean +hi def link pbtxtInt Number +hi def link pbtxtHex Number +hi def link pbtxtFloat Float +hi def link pbtxtMessage Structure +hi def link pbtxtField Identifier +hi def link pbtxtEnum Define +hi def link pbtxtString String +hi def link pbtxtComment Comment + +let b:current_syntax = "pbtxt" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: nowrap sw=2 sts=2 ts=8 noet |