diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2019-08-02 06:29:23 +0200 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2019-08-02 16:20:22 +0200 |
commit | 4ea83236670825a52e3a046847bbe96239d75394 (patch) | |
tree | d59ec756b66d9b695f8b501953dc3c5513c012d8 | |
parent | bf6919f26bc5cf33049619f15e9e20581269b00d (diff) | |
download | rneovim-4ea83236670825a52e3a046847bbe96239d75394.tar.gz rneovim-4ea83236670825a52e3a046847bbe96239d75394.tar.bz2 rneovim-4ea83236670825a52e3a046847bbe96239d75394.zip |
vim-patch:68e6560b84f1
Update runtime files.
https://github.com/vim/vim/commit/68e6560b84f196c82e27a72669684d5506a3a837
-rw-r--r-- | runtime/doc/eval.txt | 11 | ||||
-rw-r--r-- | runtime/doc/message.txt | 3 | ||||
-rw-r--r-- | runtime/doc/motion.txt | 1 | ||||
-rw-r--r-- | runtime/doc/quickref.txt | 1 | ||||
-rw-r--r-- | runtime/doc/repeat.txt | 3 | ||||
-rw-r--r-- | runtime/doc/scroll.txt | 3 | ||||
-rw-r--r-- | runtime/doc/usr_toc.txt | 13 | ||||
-rw-r--r-- | runtime/doc/windows.txt | 1 | ||||
-rw-r--r-- | runtime/optwin.vim | 4 | ||||
-rw-r--r-- | runtime/syntax/help.vim | 4 | ||||
-rw-r--r-- | runtime/syntax/tmux.vim | 83 | ||||
-rw-r--r-- | runtime/tools/check_colors.vim | 127 |
12 files changed, 172 insertions, 82 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 023a3acb78..de303f6ccd 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1010,8 +1010,9 @@ There must not be white space before or after the dot. Examples: > :let dict = {"one": 1, 2: "two"} - :echo dict.one - :echo dict .2 + :echo dict.one " shows "1" + :echo dict.2 " shows "two" + :echo dict .2 " error because of space before the dot Note that the dot is also used for String concatenation. To avoid confusion always put spaces around the dot for String concatenation. @@ -9327,7 +9328,7 @@ This function can then be called with: > *:cal* *:call* *E107* *E117* :[range]cal[l] {name}([arguments]) Call a function. The name of the function and its arguments - are as specified with |:function|. Up to 20 arguments can be + are as specified with `:function`. Up to 20 arguments can be used. The returned value is discarded. Without a range and for functions that accept a range, the function is called once. When a range is given the cursor is @@ -9381,9 +9382,9 @@ Using an autocommand ~ This is introduced in the user manual, section |41.14|. The autocommand is useful if you have a plugin that is a long Vim script file. -You can define the autocommand and quickly quit the script with |:finish|. +You can define the autocommand and quickly quit the script with `:finish`. That makes Vim startup faster. The autocommand should then load the same file -again, setting a variable to skip the |:finish| command. +again, setting a variable to skip the `:finish` command. Use the FuncUndefined autocommand event with a pattern that matches the function(s) to be defined. Example: > diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt index 864eea8f7f..97a1882159 100644 --- a/runtime/doc/message.txt +++ b/runtime/doc/message.txt @@ -240,6 +240,9 @@ format of the file. The file will not be marked unmodified. If you care about the loss of information, set the 'fileencoding' option to another value that can handle the characters in the buffer and write again. If you don't care, you can abandon the buffer or reset the 'modified' option. +If there is a backup file, when 'writebackup' or 'backup' is set, it will not +be deleted, so you can move it back into place if you want to discard the +changes. *E302* > Could not rename swap file diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt index 818bbf9eb7..4b2e083d5b 100644 --- a/runtime/doc/motion.txt +++ b/runtime/doc/motion.txt @@ -46,6 +46,7 @@ or change text. The following operators are available: |!| ! filter through an external program |=| = filter through 'equalprg' or C-indenting if empty |gq| gq text formatting + |gw| gw text formatting with no cursor movement |g?| g? ROT13 encoding |>| > shift right |<| < shift left diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt index cbfcfa4010..8712e37f77 100644 --- a/runtime/doc/quickref.txt +++ b/runtime/doc/quickref.txt @@ -771,6 +771,7 @@ Short explanation of each option: *option-list* 'menuitems' 'mis' maximum number of items in a menu 'mkspellmem' 'msm' memory used before |:mkspell| compresses the tree 'modeline' 'ml' recognize modelines at start or end of file +'modelineexpr' 'mle' allow setting expression options from a modeline 'modelines' 'mls' number of lines checked for modelines 'modifiable' 'ma' changes to the text are not possible 'modified' 'mod' buffer has been modified diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt index d4eb3f0f6e..f8d6b75ccb 100644 --- a/runtime/doc/repeat.txt +++ b/runtime/doc/repeat.txt @@ -165,7 +165,7 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|. :so[urce] {file} Read Ex commands from {file}. These are commands that start with a ":". Triggers the |SourcePre| autocommand. - + *:source!* :so[urce]! {file} Read Vim commands from {file}. These are commands that are executed from Normal mode, like you type them. @@ -173,6 +173,7 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|. |:bufdo|, in a loop or when another command follows the display won't be updated while executing the commands. + Cannot be used in the |sandbox|. *:ru* *:runtime* :ru[ntime][!] [where] {file} .. diff --git a/runtime/doc/scroll.txt b/runtime/doc/scroll.txt index 7906214111..7d1da3b409 100644 --- a/runtime/doc/scroll.txt +++ b/runtime/doc/scroll.txt @@ -80,9 +80,6 @@ CTRL-U Scroll window Upwards in the buffer. The number of may be a difference). When the cursor is on the first line of the buffer nothing happens and a beep is produced. See also 'startofline' option. - {difference from vi: Vim scrolls 'scroll' screen - lines, instead of file lines; makes a difference when - lines wrap} <S-Up> or *<S-Up>* *<kPageUp>* <PageUp> or *<PageUp>* *CTRL-B* diff --git a/runtime/doc/usr_toc.txt b/runtime/doc/usr_toc.txt index 148dd161ac..69846f1bcf 100644 --- a/runtime/doc/usr_toc.txt +++ b/runtime/doc/usr_toc.txt @@ -99,12 +99,13 @@ Read this from start to end to learn the essential commands. |usr_05.txt| Set your settings |05.1| The vimrc file |05.2| The example vimrc file explained - |05.3| Simple mappings - |05.4| Adding a package - |05.5| Adding a plugin - |05.6| Adding a help file - |05.7| The option window - |05.8| Often used options + |05.3| The defaults.vim file explained + |05.4| Simple mappings + |05.5| Adding a package + |05.6| Adding a plugin + |05.7| Adding a help file + |05.8| The option window + |05.9| Often used options |usr_06.txt| Using syntax highlighting |06.1| Switching it on diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt index b93945a340..00ba462c7f 100644 --- a/runtime/doc/windows.txt +++ b/runtime/doc/windows.txt @@ -1154,7 +1154,6 @@ list of buffers. |unlisted-buffer| the way when you're browsing code/text buffers. The next three commands also work like this. - *:sbn* *:sbnext* :[N]sbn[ext] [+cmd] [N] Split window and go to [N]th next buffer in buffer list. diff --git a/runtime/optwin.vim b/runtime/optwin.vim index a590cf8bfc..e19b5173d9 100644 --- a/runtime/optwin.vim +++ b/runtime/optwin.vim @@ -1,7 +1,7 @@ " These commands create the option window. " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2019 Jan 27 +" Last Change: 2019 May 25 " If there already is an option window, jump to that one. let buf = bufnr('option-window') @@ -932,6 +932,8 @@ call <SID>Header("reading and writing files") call append("$", "modeline\tenable using settings from modelines when reading a file") call append("$", "\t(local to buffer)") call <SID>BinOptionL("ml") +call append("$", "modelineexpr\tallow setting expression options from a modeline") +call <SID>BinOptionG("mle", &mle) call append("$", "modelines\tnumber of lines to check for modelines") call append("$", " \tset mls=" . &mls) call append("$", "binary\tbinary file editing") diff --git a/runtime/syntax/help.vim b/runtime/syntax/help.vim index db5ad3728c..642d177cdd 100644 --- a/runtime/syntax/help.vim +++ b/runtime/syntax/help.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: Vim help file " Maintainer: Bram Moolenaar (Bram@vim.org) -" Last Change: 2017 Oct 19 +" Last Change: 2019 May 12 " Quit when a (custom) syntax file was already loaded if exists("b:current_syntax") @@ -11,7 +11,7 @@ endif let s:cpo_save = &cpo set cpo&vim -syn match helpHeadline "^[-A-Z .][-A-Z0-9 .()]*[ \t]\+\*"me=e-1 +syn match helpHeadline "^[-A-Z .][-A-Z0-9 .()_]*[ \t]\+\*"me=e-1 syn match helpSectionDelim "^===.*===$" syn match helpSectionDelim "^---.*--$" if has("conceal") diff --git a/runtime/syntax/tmux.vim b/runtime/syntax/tmux.vim index 62c0ce521a..d32016e566 100644 --- a/runtime/syntax/tmux.vim +++ b/runtime/syntax/tmux.vim @@ -1,5 +1,5 @@ " Language: tmux(1) configuration file -" Version: 2.7 (git-e4e060f2) +" Version: 2.9a (git-0d64531f) " URL: https://github.com/ericpruitt/tmux.vim/ " Maintainer: Eric Pruitt <eric.pruitt@gmail.com> " License: 2-Clause BSD (http://opensource.org/licenses/BSD-2-Clause) @@ -64,60 +64,51 @@ endfor syn keyword tmuxOptions \ buffer-limit command-alias default-terminal escape-time exit-empty \ activity-action assume-paste-time base-index bell-action default-command -\ default-shell destroy-unattached detach-on-destroy +\ default-shell default-size destroy-unattached detach-on-destroy \ display-panes-active-colour display-panes-colour display-panes-time \ display-time exit-unattached focus-events history-file history-limit -\ key-table lock-after-time lock-command message-attr message-bg -\ message-command-attr message-command-bg message-command-fg -\ message-command-style message-fg message-limit message-style mouse -\ aggressive-resize allow-rename alternate-screen automatic-rename -\ automatic-rename-format clock-mode-colour clock-mode-style force-height -\ force-width main-pane-height main-pane-width mode-attr mode-bg mode-fg -\ mode-keys mode-style monitor-activity monitor-bell monitor-silence -\ other-pane-height other-pane-width pane-active-border-bg -\ pane-active-border-fg pane-active-border-style pane-base-index -\ pane-border-bg pane-border-fg pane-border-format pane-border-status -\ pane-border-style prefix prefix2 remain-on-exit renumber-windows -\ repeat-time set-clipboard set-titles set-titles-string silence-action -\ status status-attr status-bg status-fg status-interval status-justify -\ status-keys status-left status-left-attr status-left-bg status-left-fg -\ status-left-length status-left-style status-position status-right -\ status-right-attr status-right-bg status-right-fg status-right-length +\ key-table lock-after-time lock-command message-command-style message-limit +\ message-style mouse aggressive-resize allow-rename alternate-screen +\ automatic-rename automatic-rename-format clock-mode-colour +\ clock-mode-style main-pane-height main-pane-width mode-keys mode-style +\ monitor-activity monitor-bell monitor-silence other-pane-height +\ other-pane-width pane-active-border-style pane-base-index +\ pane-border-format pane-border-status pane-border-style prefix prefix2 +\ remain-on-exit renumber-windows repeat-time set-clipboard set-titles +\ set-titles-string silence-action status status-bg status-fg status-format +\ status-interval status-justify status-keys status-left status-left-length +\ status-left-style status-position status-right status-right-length \ status-right-style status-style synchronize-panes terminal-overrides \ update-environment user-keys visual-activity visual-bell visual-silence -\ window-active-style window-status-activity-attr window-status-activity-bg -\ window-status-activity-fg window-status-activity-style window-status-attr -\ window-status-bell-attr window-status-bell-bg window-status-bell-fg -\ window-status-bell-style window-status-bg window-status-current-attr -\ window-status-current-bg window-status-current-fg -\ window-status-current-format window-status-current-style window-status-fg -\ window-status-format window-status-last-attr window-status-last-bg -\ window-status-last-fg window-status-last-style window-status-separator -\ window-status-style window-style word-separators wrap-search xterm-keys +\ window-active-style window-size window-status-activity-style +\ window-status-bell-style window-status-current-format +\ window-status-current-style window-status-format window-status-last-style +\ window-status-separator window-status-style window-style word-separators +\ wrap-search xterm-keys syn keyword tmuxCommands \ attach attach-session bind bind-key break-pane breakp capture-pane \ capturep choose-buffer choose-client choose-tree clear-history clearhist \ clock-mode command-prompt confirm confirm-before copy-mode detach -\ detach-client display display-message display-panes displayp find-window -\ findw if if-shell join-pane joinp kill-pane kill-server kill-session -\ kill-window killp has-session has killw link-window linkw list-buffers -\ list-clients list-commands list-keys list-panes list-sessions list-windows -\ load-buffer loadb lock lock-client lock-server lock-session last-pane -\ lastp lockc locks last-window last ls lsb delete-buffer deleteb lsc lscm -\ lsk lsp lsw move-pane move-window movep movew new new-session new-window -\ neww next next-layout next-window nextl paste-buffer pasteb pipe-pane -\ pipep prev previous-layout previous-window prevl refresh refresh-client -\ rename rename-session rename-window renamew resize-pane resizep -\ respawn-pane respawn-window respawnp respawnw rotate-window rotatew run -\ run-shell save-buffer saveb select-layout select-pane select-window -\ selectl selectp selectw send send-keys send-prefix set set-buffer -\ set-environment set-hook set-option set-window-option setb setenv setw -\ show show-buffer show-environment show-hooks show-messages show-options -\ show-window-options showb showenv showmsgs showw source source-file -\ split-window splitw start start-server suspend-client suspendc swap-pane -\ swap-window swapp swapw switch-client switchc unbind unbind-key -\ unlink-window unlinkw wait wait-for +\ detach-client display display-menu display-message display-panes displayp +\ find-window findw if if-shell join-pane joinp kill-pane kill-server +\ kill-session kill-window killp has-session has killw link-window linkw +\ list-buffers list-clients list-commands list-keys list-panes list-sessions +\ list-windows load-buffer loadb lock lock-client lock-server lock-session +\ lockc last-pane lastp locks ls last-window last lsb lsc delete-buffer +\ deleteb lscm lsk lsp lsw menu move-pane move-window movep movew new +\ new-session new-window neww next next-layout next-window nextl +\ paste-buffer pasteb pipe-pane pipep prev previous-layout previous-window +\ prevl refresh refresh-client rename rename-session rename-window renamew +\ resize-pane resize-window resizep resizew respawn-pane respawn-window +\ respawnp respawnw rotate-window rotatew run run-shell save-buffer saveb +\ select-layout select-pane select-window selectl selectp selectw send +\ send-keys send-prefix set set-buffer set-environment set-hook set-option +\ set-window-option setb setenv setw show show-buffer show-environment +\ show-hooks show-messages show-options show-window-options showb showenv +\ showmsgs showw source source-file split-window splitw start start-server +\ suspend-client suspendc swap-pane swap-window swapp swapw switch-client +\ switchc unbind unbind-key unlink-window unlinkw wait wait-for let &cpo = s:original_cpo unlet! s:original_cpo s:bg s:i diff --git a/runtime/tools/check_colors.vim b/runtime/tools/check_colors.vim index b1aefa1126..57b71b19db 100644 --- a/runtime/tools/check_colors.vim +++ b/runtime/tools/check_colors.vim @@ -1,11 +1,12 @@ -" This script tests a color scheme for some errors. Load the scheme and source -" this script. e.g. :e colors/desert.vim | :so check_colors.vim -" Will output possible errors. +" This script tests a color scheme for some errors and lists potential errors. +" Load the scheme and source this script, like this: +" :edit colors/desert.vim | :so colors/tools/check_colors.vim let s:save_cpo= &cpo set cpo&vim func! Test_check_colors() + let l:savedview = winsaveview() call cursor(1,1) let err={} @@ -17,11 +18,69 @@ func! Test_check_colors() endif " 2) Check for some well-defined highlighting groups - " Some items, check several groups, e.g. Diff, Spell - let hi_groups = ['ColorColumn', 'Diff', 'ErrorMsg', 'Folded', - \ 'FoldColumn', 'IncSearch', 'LineNr', 'ModeMsg', 'MoreMsg', 'NonText', - \ 'Normal', 'Pmenu', 'Todo', 'Search', 'Spell', 'StatusLine', 'TabLine', - \ 'Title', 'Visual', 'WarningMsg', 'WildMenu'] + let hi_groups = [ + \ 'ColorColumn', + \ 'Comment', + \ 'Conceal', + \ 'Constant', + \ 'Cursor', + \ 'CursorColumn', + \ 'CursorLine', + \ 'CursorLineNr', + \ 'DiffAdd', + \ 'DiffChange', + \ 'DiffDelete', + \ 'DiffText', + \ 'Directory', + \ 'EndOfBuffer', + \ 'Error', + \ 'ErrorMsg', + \ 'FoldColumn', + \ 'Folded', + \ 'Identifier', + \ 'Ignore', + \ 'IncSearch', + \ 'LineNr', + \ 'MatchParen', + \ 'ModeMsg', + \ 'MoreMsg', + \ 'NonText', + \ 'Normal', + \ 'Pmenu', + \ 'PmenuSbar', + \ 'PmenuSel', + \ 'PmenuThumb', + \ 'PreProc', + \ 'Question', + \ 'QuickFixLine', + \ 'Search', + \ 'SignColumn', + \ 'Special', + \ 'SpecialKey', + \ 'SpellBad', + \ 'SpellCap', + \ 'SpellLocal', + \ 'SpellRare', + \ 'Statement', + \ 'StatusLine', + \ 'StatusLineNC', + \ 'StatusLineTerm', + \ 'StatusLineTermNC', + \ 'TabLine', + \ 'TabLineFill', + \ 'TabLineSel', + \ 'Title', + \ 'Todo', + \ 'ToolbarButton', + \ 'ToolbarLine', + \ 'Type', + \ 'Underlined', + \ 'VertSplit', + \ 'Visual', + \ 'VisualNOS', + \ 'WarningMsg', + \ 'WildMenu', + \ ] let groups={} for group in hi_groups if search('\c@suppress\s\+'.group, 'cnW') @@ -30,6 +89,9 @@ func! Test_check_colors() let groups[group] = 'Ignoring '.group continue endif + if search('hi\%[ghlight]!\= \+link \+'.group, 'cnW') " Linked group + continue + endif if !search('hi\%[ghlight] \+'.group, 'cnW') let groups[group] = 'No highlight definition for '.group continue @@ -43,12 +105,15 @@ func! Test_check_colors() let groups[group] = 'Missing bg terminal color for '.group continue endif - call search('hi\%[ghlight] \+'.group, 'cW') - " only check in the current line - if !search('guifg', 'cnW', line('.')) || !search('ctermfg', 'cnW', line('.')) - " do not check for background colors, they could be intentionally left out - let groups[group] = 'Missing fg definition for '.group + if !search('hi\%[ghlight] \+'.group. '.*guifg=', 'cnW') + let groups[group] = 'Missing guifg definition for '.group + continue endif + if !search('hi\%[ghlight] \+'.group. '.*ctermfg=', 'cnW') + let groups[group] = 'Missing ctermfg definition for '.group + continue + endif + " do not check for background colors, they could be intentionally left out call cursor(1,1) endfor let err['highlight'] = groups @@ -91,15 +156,43 @@ func! Test_check_colors() endif " 7) Does not define filetype specific groups like vimCommand, htmlTag, - let hi_groups = ['vim', 'html', 'python', 'sh', 'ruby'] + let hi_groups = filter(getcompletion('', 'filetype'), { _,v -> v !~# '\%[no]syn\%(color\|load\|tax\)' }) + let ft_groups = [] + " let group = '\%('.join(hi_groups, '\|').'\)' " More efficient than a for loop, but less informative for group in hi_groups - let pat='\Chi\%[ghlight]\s*\zs'.group.'\w\+\>' + let pat='\Chi\%[ghlight]!\= *\%[link] \+\zs'.group.'\w\+\>\ze \+.' " Skips `hi clear` + if search(pat, 'cW') + call add(ft_groups, matchstr(getline('.'), pat)) + endif + call cursor(1,1) + endfor + if !empty(ft_groups) + let err['filetype'] = get(err, 'filetype', 'Should not define: ') . join(uniq(sort(ft_groups))) + endif + + " 8) Were debugPC and debugBreakpoint defined? + for group in ['debugPC', 'debugBreakpoint'] + let pat='\Chi\%[ghlight]!\= *\%[link] \+\zs'.group.'\>' if search(pat, 'cnW') let line = search(pat, 'cW') let err['filetype'] = get(err, 'filetype', 'Should not define: ') . matchstr(getline('.'), pat). ' ' endif call cursor(1,1) endfor + + " 9) Normal should be defined first, not use reverse, fg or bg + call cursor(1,1) + let pat = 'hi\%[light] \+\%(link\|clear\)\@!\w\+\>' + call search(pat, 'cW') " Look for the first hi def, skipping `hi link` and `hi clear` + if getline('.') !~# '\m\<Normal\>' + let err['highlight']['Normal'] = 'Should be defined first' + elseif getline('.') =~# '\m\%(=\%(fg\|bg\)\)' + let err['highlight']['Normal'] = "Should not use 'fg' or 'bg'" + elseif getline('.') =~# '\m=\%(inv\|rev\)erse' + let err['highlight']['Normal'] = 'Should not use reverse mode' + endif + + call winrestview(l:savedview) let g:err = err " print Result @@ -107,11 +200,11 @@ func! Test_check_colors() endfu fu! Result(err) - let do_roups = 0 + let do_groups = 0 echohl Title|echomsg "---------------"|echohl Normal for key in sort(keys(a:err)) if key is# 'highlight' - let do_groups = 1 + let do_groups = !empty(a:err[key]) continue else if a:err[key] !~ 'OK' |