diff options
30 files changed, 287 insertions, 233 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index d88e77373..caf44b56e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -38,6 +38,7 @@ runtime/compiler/jest.vim @dkearns runtime/compiler/jjs.vim @dkearns runtime/compiler/jshint.vim @dkearns runtime/compiler/jsonlint.vim @dkearns +runtime/compiler/lazbuild.vim @dkearns runtime/compiler/php.vim @dkearns runtime/compiler/rake.vim @tpope @dkearns runtime/compiler/rhino.vim @dkearns @@ -47,6 +48,7 @@ runtime/compiler/ruby.vim @tpope @dkearns runtime/compiler/rubyunit.vim @dkearns runtime/compiler/sass.vim @tpope runtime/compiler/se.vim @dkearns +runtime/compiler/shellcheck.vim @dkearns runtime/compiler/stylelint.vim @dkearns runtime/compiler/tcl.vim @dkearns runtime/compiler/tidy.vim @dkearns diff --git a/README_VIM9.md b/README_VIM9.md index 1d2963545..6c2ee307c 100644 --- a/README_VIM9.md +++ b/README_VIM9.md @@ -80,7 +80,7 @@ e.g. each stack item is a typeval_T. And one of the instructions is "execute Ex command", for commands that are not compiled. -## 2. PHASING OUT INTERFACES +## 2. DEPRIORITIZE INTERFACES Attempts have been made to implement functionality with built-in script languages such as Python, Perl, Lua, Tcl and Ruby. This never gained much diff --git a/runtime/autoload/python3complete.vim b/runtime/autoload/python3complete.vim index f0f3aaddb..6894bd63e 100644 --- a/runtime/autoload/python3complete.vim +++ b/runtime/autoload/python3complete.vim @@ -1,7 +1,8 @@ "python3complete.vim - Omni Completion for python -" Maintainer: Aaron Griffin <aaronmgriffin@gmail.com> +" Maintainer: <vacancy> +" Previous Maintainer: Aaron Griffin <aaronmgriffin@gmail.com> " Version: 0.9 -" Last Updated: 18 Jun 2009 (small fix 2015 Sep 14 from Debian) +" Last Updated: 2020 Oct 9 " " Roland Puntaier: this file contains adaptations for python3 and is parallel to pythoncomplete.vim " @@ -83,7 +84,7 @@ function! python3complete#Complete(findstart, base) break endif endwhile - execute "py3 vimpy3complete('" . cword . "', '" . a:base . "')" + execute "py3 vimpy3complete('" . escape(cword, "'") . "', '" . escape(a:base, "'") . "')" return g:python3complete_completions endif endfunction diff --git a/runtime/autoload/pythoncomplete.vim b/runtime/autoload/pythoncomplete.vim index ecc36646d..5f6fee58c 100644 --- a/runtime/autoload/pythoncomplete.vim +++ b/runtime/autoload/pythoncomplete.vim @@ -1,7 +1,8 @@ "pythoncomplete.vim - Omni Completion for python -" Maintainer: Aaron Griffin <aaronmgriffin@gmail.com> +" Maintainer: <vacancy> +" Previous Maintainer: Aaron Griffin <aaronmgriffin@gmail.com> " Version: 0.9 -" Last Updated: 18 Jun 2009 +" Last Updated: 2020 Oct 9 " " Changes " TODO: @@ -81,7 +82,7 @@ function! pythoncomplete#Complete(findstart, base) break endif endwhile - execute "python vimcomplete('" . cword . "', '" . a:base . "')" + execute "python vimcomplete('" . escape(cword, "'") . "', '" . escape(a:base, "'") . "')" return g:pythoncomplete_completions endif endfunction diff --git a/runtime/colors/README.txt b/runtime/colors/README.txt index 057bbec51..89501e051 100644 --- a/runtime/colors/README.txt +++ b/runtime/colors/README.txt @@ -67,7 +67,7 @@ You can use ":highlight" to find out the current colors. Exception: the ctermfg and ctermbg values are numbers, which are only valid for the current terminal. Use the color names instead. See ":help cterm-colors". -The default color settings can be found in the source file src/syntax.c. +The default color settings can be found in the source file src/highlight.c. Search for "highlight_init". If you think you have a color scheme that is good enough to be used by others, diff --git a/runtime/defaults.vim b/runtime/defaults.vim index c15d743c0..f3c639bc7 100644 --- a/runtime/defaults.vim +++ b/runtime/defaults.vim @@ -1,7 +1,7 @@ " The default vimrc file. " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last change: 2019 Oct 27 +" Last change: 2020 Sep 30 " " This is loaded if no vimrc file was found. " Except when Vim is run with "-u NONE" or "-C". diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index b2b16007e..5a4376d1d 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 8.2. Last change: 2020 Sep 25 +*eval.txt* For Vim version 8.2. Last change: 2020 Oct 05 VIM REFERENCE MANUAL by Bram Moolenaar @@ -897,7 +897,7 @@ Example: > All expressions within one level are parsed from left to right. -expr1 *expr1* *trinary* *falsy-operator* *E109* +expr1 *expr1* *trinary* *falsy-operator* *??* *E109* ----- The trinary operator: expr2 ? expr1 : expr1 @@ -3503,7 +3503,7 @@ byteidxcomp({expr}, {nr}) *byteidxcomp()* < The first and third echo result in 3 ('e' plus composing character is 3 bytes), the second echo results in 1 ('e' is one byte). - Only works different from byteidx() when 'encoding' is set to + Only works differently from byteidx() when 'encoding' is set to a Unicode encoding. Can also be used as a |method|: > diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt index ed6916f62..91d22de74 100644 --- a/runtime/doc/index.txt +++ b/runtime/doc/index.txt @@ -1,4 +1,4 @@ -*index.txt* For Vim version 8.2. Last change: 2020 May 31 +*index.txt* For Vim version 8.2. Last change: 2020 Oct 05 VIM REFERENCE MANUAL by Bram Moolenaar @@ -784,10 +784,10 @@ tag char note action in Normal mode ~ lines down |gk| gk 1 like "k", but when 'wrap' on go N screen lines up -|gn| gn 1,2 find the next match with the last used - search pattern and Visually select it |gm| gm 1 go to character at middle of the screenline |gM| gM 1 go to character at middle of the text line +|gn| gn 1,2 find the next match with the last used + search pattern and Visually select it |go| go 1 cursor to byte N in the buffer |gp| ["x]gp 2 put the text [from register x] after the cursor N times, leave the cursor after it @@ -1317,6 +1317,7 @@ tag command action ~ |:filetype| :filet[ype] switch file type detection on/off |:filter| :filt[er] filter output of following command |:find| :fin[d] find file in 'path' and edit it +|:final| :final declare an immutable variable in Vim9 |:finally| :fina[lly] part of a :try command |:finish| :fini[sh] quit sourcing a Vim script |:first| :fir[st] go to the first file in the argument list @@ -1691,6 +1692,7 @@ tag command action ~ |:unsilent| :uns[ilent] run a command not silently |:update| :up[date] write buffer if modified |:vglobal| :v[global] execute commands for not matching lines +|:var| :var variable declaration in Vim9 |:version| :ve[rsion] print version number and other info |:verbose| :verb[ose] execute command with 'verbose' set |:vertical| :vert[ical] make following command split vertically diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt index cfd48b5a7..276ab5050 100644 --- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -1,4 +1,4 @@ -*map.txt* For Vim version 8.2. Last change: 2020 Sep 09 +*map.txt* For Vim version 8.2. Last change: 2020 Oct 07 VIM REFERENCE MANUAL by Bram Moolenaar @@ -252,6 +252,17 @@ For abbreviations |v:char| is set to the character that was typed to trigger the abbreviation. You can use this to decide how to expand the {lhs}. You should not either insert or change the v:char. +In case you want the mapping to not do anything, you can have the expression +evaluate to an empty string. If something changed that requires Vim to +go through the main loop (e.g. to update the display), return "\<Ignore>". +This is similar to "nothing" but makes Vim return from the loop that waits for +input. Example: > + func s:OpenPopup() + call popup_create(... arguments ...) + return "\<Ignore>" + endfunc + nnoremap <expr> <F3> <Sid>OpenPopup() + Be very careful about side effects! The expression is evaluated while obtaining characters, you may very well make the command dysfunctional. For this reason the following is blocked: diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 713f3ba3e..88b3d2b23 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 8.2. Last change: 2020 Sep 15 +*options.txt* For Vim version 8.2. Last change: 2020 Oct 10 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2554,7 +2554,7 @@ A jump table for the options with a short description can be found at |Q_op|. "x" delete each combining character on its own. When it is off (the default) the character along with its combining characters are deleted. - Note: When 'delcombine' is set "xx" may work different from "2x"! + Note: When 'delcombine' is set "xx" may work differently from "2x"! This is useful for Arabic, Hebrew and many other languages where one may have combining characters overtop of base characters, and want @@ -4682,7 +4682,7 @@ A jump table for the options with a short description can be found at |Q_op|. characters. Example: "abc;ABC" Example: "aA,fgh;FGH,cCdDeE" Special characters need to be preceded with a backslash. These are - ";", ',' and backslash itself. + ";", ',', '"', '|' and backslash itself. This will allow you to activate vim actions without having to switch back and forth between the languages. Your language characters will diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt index 46ff76a56..f6c96d027 100644 --- a/runtime/doc/repeat.txt +++ b/runtime/doc/repeat.txt @@ -1,4 +1,4 @@ -*repeat.txt* For Vim version 8.2. Last change: 2020 Aug 15 +*repeat.txt* For Vim version 8.2. Last change: 2020 Oct 09 VIM REFERENCE MANUAL by Bram Moolenaar @@ -271,6 +271,9 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|. directories are added to 'runtimepath'. This is useful in your .vimrc. The plugins will then be loaded during initialization, see |load-plugins|. + Note that for ftdetect scripts to be loaded + you will need to write `filetype plugin indent on` + AFTER all `packadd!` commands. Also see |pack-add|. {only available when compiled with |+eval|} diff --git a/runtime/doc/tags b/runtime/doc/tags index 49baae69d..5fd41c5d9 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -2447,6 +2447,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX* :filter various.txt /*:filter* :fin editing.txt /*:fin* :fina eval.txt /*:fina* +:final vim9.txt /*:final* :finally eval.txt /*:finally* :find editing.txt /*:find* :fini repeat.txt /*:fini* @@ -3371,6 +3372,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX* :up editing.txt /*:up* :update editing.txt /*:update* :v repeat.txt /*:v* +:var vim9.txt /*:var* :ve various.txt /*:ve* :ver various.txt /*:ver* :verb various.txt /*:verb* @@ -3689,6 +3691,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX* >where repeat.txt /*>where* ? pattern.txt /*?* ?<CR> pattern.txt /*?<CR>* +?? eval.txt /*??* @ repeat.txt /*@* @/ change.txt /*@\/* @: repeat.txt /*@:* @@ -6328,6 +6331,8 @@ extensions-improvements todo.txt /*extensions-improvements* f motion.txt /*f* false vim9.txt /*false* false-variable eval.txt /*false-variable* +falsy eval.txt /*falsy* +falsy-operator eval.txt /*falsy-operator* faq intro.txt /*faq* farsi farsi.txt /*farsi* farsi.txt farsi.txt /*farsi.txt* @@ -9656,6 +9661,7 @@ trojan-horse starting.txt /*trojan-horse* true vim9.txt /*true* true-variable eval.txt /*true-variable* trunc() eval.txt /*trunc()* +truthy eval.txt /*truthy* try-conditionals eval.txt /*try-conditionals* try-echoerr eval.txt /*try-echoerr* try-finally eval.txt /*try-finally* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index d47eccabe..9795a0fa5 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 8.2. Last change: 2020 Sep 28 +*todo.txt* For Vim version 8.2. Last change: 2020 Oct 10 VIM REFERENCE MANUAL by Bram Moolenaar @@ -38,26 +38,13 @@ browser use: https://github.com/vim/vim/issues/1234 *known-bugs* -------------------- Known bugs and current work ----------------------- -Popup windows: don't send any keys from ":normal" to popup filter? - Can drop ex_normal_busy_done then. - -Move Test_let_* from test_vim9_script to test_vim9_assign - -Modifiers in GTK: issue #6457. CTRL-6 should work, like CTRL-@ and CTRL-_. - -3 October: remove using :let in Vim9 script. - -Go back to not using string/list/dict as falsy/thruthy boolean? - or only make "||" and "&&" result in a boolean? Making everything work: +- If a function is defined in a block it may need to keep the block-locals, + like a compiled closure. - Fix memory leaks in test_vim9_assign, remove "if 0" - Fix memory leaks in test_vim9_script -- At the Vim9 script level, keep script variables local to the block they are - declared in, like in Javascript (using :let). - -> Need to remember what variables were declared and delete them when - leaving the block. - -> if a function is defined it may need to keep the block-locals - Then Implement { } block at the script level. +- Closure arguments should be more strict, like any function call? +- Remove v:disallow_let - Recognize call to assert_fails() and execute it in the function context? Won't work if the command itself fails, not an expression failure: assert_fails("unknown", "E99:") @@ -70,10 +57,15 @@ Making everything work: did_catch = true endtry assert_true('did_catch') - Add a new command, + Add a new command perhaps: assertfail unknown endassertfail E99:.*unknown +- Make map() give an error if the resulting type is wrong. + Add mapnew() or mapcopy() to create a new List/Dict for the result, which + can have a different value type. +- Error message for "'yes && 0" is "using String as a Number", should be "using + String as a Bool". - Run the same tests in :def and Vim9 script, like in Test_expr7_not() - In autocmd: use legacy syntax, not whatever the current script uses? - need to check type when a declaration specifies a type: #6507 @@ -86,9 +78,6 @@ Making everything work: Also "list[0] += value". test in Test_assign_dict_unknown_type(). - ":put" with ISN_PUT does not handle range correctly, e.g. ":$-2put". Add command to parse range at runtime? -- Make map() give an error if the resulting type is wrong. - Add mapnew() to create a new List/Dict for the result, which can have a - different value type. - When defining an :autocmd or :command, how to specify using Vim9 syntax? - always do this when defined in a Vim9 script - add some command modifier. @@ -183,6 +172,11 @@ Further improvements: - compile "expr" and "call" expression of a channel in channel_exe_cmd()? Popup windows: +- Add a flag to make a popup window focusable? + CTRL-W P cycle over any preview window or focusable popup, end up back in + current window. + ? - switch between current window and all popup windows + Esc in popup window goes back to previous current window - Cursor not updated before a redraw, making it jump. (#5943) - Add a termcap entry for changing the cursor when it goes under the popup and back. like t_SI and t_EI (t_SU and t_EU, where "U" means under?) @@ -291,6 +285,11 @@ Terminal emulator window: Error numbers available: E653 +Mapping with partial match not executed properly in GTK. (Ingo Karkat, #7082) + +Patch for Template string: #4634 +Have another look at the implementation. + Patch to implement the vimtutor with a plugin: #6414 Was originally written by Felipe Morales. @@ -303,6 +302,16 @@ with 'termguicolors'. #1740 Patch for blockwise paste reporting changes: #6660. +Add an option to not fetch terminal codes in xterm, to avoid flicker when t_Co +changes. + +Add an option to start_timer() to return from the input loop with K_IGNORE. +This is useful e.g. when a popup was created that disables mappings, we need +to return from vgetc() to make this happen. #7011 + +Making breakat support multibyte characters (Yasuhiro Matsumoto, #6598) +Scroll doesn't work correctly, why? + Expanding <mods> should put the tab number from cmdmod.tab before "tab". Any way to convert "$" back by using a special value? (#6901) @@ -331,15 +340,16 @@ autocommands for the buffer lifecycle: BufIsRenamed (after buffer ID gets another name) The buffer list and windows are locked, no changes possible -Make it possible to map (console and GUI): #6457 - <C-[> 0x27 or is this <Esc> ? - <C-\> 0x28 - <C-]> 0x29 - <C-^> 0x30 - <C-_> 0x31 +Matchparen doesn't remove highlight after undo. (#7054) +Is OK when syntax HL is active. -Patch for Template string: #4634 -Have another look at the implementation. +Currently Del can be used to delete the last character of a typed count. +Can it also be used to delete an incomplete Normal mode command? (#7096) +After an operator: should work. After "a" or "i" for text objects: should +work. + +Using "au!" after "filetype on" is a bit slow. Can the matching of +autocommands be made faster? (#7056) Valgrind warns for uninitialized values in f_term_dumpwrite(). @@ -538,6 +548,7 @@ Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May 13, #2910) Can't reproduce? Display messed up with matchparen, wrapping and scrolling. (#5638) +Screen update bug related to matchparen. (Chris Heath, 2017 Mar 4, #1532) When getting a focus event halfway a mapping this aborts the mapping. E.g. when "qq" is mapped and after the first "q" the mouse is moved outside of the @@ -1263,8 +1274,6 @@ GTK: When adding a timer from 'balloonexpr' it won't fire, because g_main_context_iteration() doesn't return. Need to trigger an event when the timer expires. -Screen update bug related to matchparen. (Chris Heath, 2017 Mar 4, #1532) - Rule to use "^" for statusline does not work if a space is defined with highlighting for both stl and stlnc. Patch by Ken Hamada (itchyny, 2016 Dec 11) @@ -1497,8 +1506,6 @@ Have a way to get the call stack, in a function and from an exception. Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5) -Filetype plugin for awk. (Doug Kearns, 2016 Sep 5) - Patch to improve map documentation. Issue #799. We can use '. to go to the last change in the current buffer, but how about @@ -1718,8 +1725,6 @@ Extended file attributes lost on write (backupcopy=no). Issue 306. Patch to add :lockjumps. (Carlo Baldassi, 2015 May 25) OK to not block marks? -Mixup of highlighting when there is a match and SpellBad. (ZyX, 2015 Jan 1) - Patch on Issue 72: 'autochdir' causes problems for :vimgrep. When two SIGWINCH arrive very quickly, the second one may be lost. @@ -1786,14 +1791,6 @@ arguments. Problem with transparent and matchgroup. Issue #475 -Spell files use a latin single quote. Unicode also has another single quote: -0x2019. (Ron Aaron, 2014 Apr 4) -New OpenOffice spell files support this with ICONV. But they are not -compatible with Vim spell files. The old files can no longer be downloaded. - -Spell checking: Add a feature to only consider two spaces after a dot to start -a new sentence. Don't give the capitalization error when there is one space. - Idea: For a window in the middle (has window above and below it), use right-mouse-drag on the status line to move a window up/down without changing its height? It's like dragging the status bar above it at the same time. @@ -2468,9 +2465,6 @@ Don't load macmap.vim on startup, turn it into a plugin. (Ron Aaron, Add "no_hlsearch" to winsaveview(). -Cursorline highlighting combines with Search ('hlsearch') but not with -SpellBad. (Jim Karsten, 2009 Mar 18) - When 'foldmethod' is "indent", adding an empty line below a fold and then indented text, creates a new fold instead of joining it with the previous one. (Evan Laforge, 2009 Oct 17) @@ -2977,12 +2971,6 @@ the Visual area. Can this be fixed? (James Vega, 2006 Sept 15) GUI: When combining fg en bg make sure they are not equal. -Spell checking: Add a way to specify punctuation characters. Add the -superscript numbers by default: 0x2070, 0xb9, 0xb2, 0xb3, 0x2074 - 0x2079. - -Spell checking in popup menu: If the only problem is the case of the first -character, don't offer "ignore" and "add to word list". - Use different pt_br dictionary for spell checking. (Jackson A. Aquino, 2006 Jun 5) @@ -2996,10 +2984,6 @@ Jul 22) There should be something about spell checking in the user manual. -Spell menu: When using the Popup menu to select a replacement word, -":spellrepeat" doesn't work. SpellReplace() uses setline(). Can it use "z=" -somehow? Or use a new function. - Mac: Using gvim: netrw window disappears. (Nick Lo, 2006 Jun 21) Add an option to specify the character to use when a double-width character is @@ -3283,6 +3267,29 @@ Better 'rightleft' or BIDI support: - Minimal Vi with bidi support: https://github.com/aligrudi/neatvi By Ali Gholami Rudi, also worked on arabic.c + +Spell checking: +- When 'cursorline' is set and the first word should have SpellCap + highlighting, redrawing the line removes it when moving the cursor away + from the line. (#7085) Would need to inspect the end of the previous line + and update "capcol_lnum" and "cap_col". +- Mixup of highlighting when there is a match and SpellBad. (ZyX, 2015 Jan 1) +- Spell files use a latin single quote. Unicode also has another single + quote: 0x2019. (Ron Aaron, 2014 Apr 4) + New OpenOffice spell files support this with ICONV. But they are not + compatible with Vim spell files. The old files can no longer be + downloaded. +- Add a feature to only consider two spaces after a dot to start a new + sentence. Don't give the capitalization error when there is one space. +- Add a way to specify punctuation characters. Add the superscript numbers + by default: 0x2070, 0xb9, 0xb2, 0xb3, 0x2074 - 0x2079. +- In popup menu: If the only problem is the case of the first character, + don't offer "ignore" and "add to word list". +- Spell menu: When using the Popup menu to select a replacement word, + ":spellrepeat" doesn't work. SpellReplace() uses setline(). Can it use + "z=" somehow? Or use a new function. + + Quickfix/Location List: - Window size is wrong when using quickfix window. (Lifepillar, 2018 Aug 24, #2999) diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt index 6192c237e..431b9cd47 100644 --- a/runtime/doc/version8.txt +++ b/runtime/doc/version8.txt @@ -48515,7 +48515,7 @@ Solution: Recognize true and false. Files: src/eval.c, src/testdir/test_vim9_expr.vim Patch 8.2.1205 -Problem: Vim9: && and || work different when not compiled. +Problem: Vim9: && and || work differently when not compiled. Solution: Keep the value. Files: src/eval.c, src/testdir/test_vim9_expr.vim diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt index feb889dad..fdbcefcd9 100644 --- a/runtime/doc/vim9.txt +++ b/runtime/doc/vim9.txt @@ -1,4 +1,4 @@ -*vim9.txt* For Vim version 8.2. Last change: 2020 Sep 26 +*vim9.txt* For Vim version 8.2. Last change: 2020 Oct 05 VIM REFERENCE MANUAL by Bram Moolenaar @@ -164,12 +164,12 @@ the "name#" prefix is sufficient. > When using `:function` or `:def` to specify a nested function inside a `:def` function, this nested function is local to the code block it is defined in. -In a `:def` function it is not possible to define a script-local function. it +In a `:def` function it is not possible to define a script-local function. It is possible to define a global function by using the "g:" prefix. When referring to a function and no "s:" or "g:" prefix is used, Vim will search for the function: -- in the function scope +- in the function scope, in block scopes - in the script scope, possibly imported - in the list of global functions However, it is recommended to always use "g:" to refer to a global function @@ -1140,7 +1140,7 @@ Two alternatives were considered: def Func(arg1 number, arg2 string) bool The first is more familiar for anyone used to C or Java. The second one -doesn't really has an advantage over the first, so let's discard the second. +doesn't really have an advantage over the first, so let's discard the second. Since we use type inference the type can be left out when it can be inferred from the value. This means that after `var` we don't know if a type or a name @@ -1155,19 +1155,35 @@ declaration. Expressions ~ -Expression evaluation was already close to what JavaScript and other languages -are doing. Some details are unexpected and can be fixed. For example how the -|| and && operators work. Legacy Vim script: > - var value = 44 - ... - var result = value || 0 # result == 1 - -Vim9 script works like JavaScript/TypeScript, keep the value: > - var value = 44 - ... - var result = value || 0 # result == 44 - -TODO: the semantics of || and && need to be reconsidered. +Expression evaluation was already close to what other languages are doing. +Some details are unexpected and can be improved. For example a boolean +condition would accept a string, convert it to a number and check if the +number is non-zero. This is unexpected and often leads to mistakes, since +text not starting with a number would be converted to zero, which is +considered false. Thus a string would not give an error and be considered +false if it doesn't start with a number. That is confusing. + +In Vim9 type checking is more strict to avoid mistakes. Where a condition is +used, e.g. with the `:if` command and the `||` operator, only boolean-like +values are accepted: + true: `true`, `v:true`, `1`, `0 < 9` + false: `false`, `v:false`, `0`, `0 > 9` +Note that the number zero is false and the number one is true. This is more +persmissive than most other languages. It was done because many builtin +functions return these values. + +If you have any type of value and want to use it as a boolean, use the `!!` +operator: + true: !`!'text'`, `!![99]`, `!!{'x': 1}`, `!!99` + false: `!!''`, `!![]`, `!!{}` + +From a language like JavaScript we have this handy construct: > + GetName() || 'unknown' +However, this conflicts with only allowing a boolean for a condition. +Therefore the "??" operator was added: > + GetName() ?? 'unknown' +Here you can explicitly express your intention to use the value as-is and not +result in a boolean. This is called the |falsy-operator|. Import and Export ~ diff --git a/runtime/filetype.vim b/runtime/filetype.vim index b647e25a4..c3fb19e74 100644 --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2020 Sep 28 +" Last Change: 2020 Sep 30 " Listen very carefully, I will say this only once if exists("did_load_filetypes") diff --git a/runtime/ftplugin/falcon.vim b/runtime/ftplugin/falcon.vim index 4fc135b4a..affca3848 100644 --- a/runtime/ftplugin/falcon.vim +++ b/runtime/ftplugin/falcon.vim @@ -3,6 +3,7 @@ " Author: Steven Oliver <oliver.steven@gmail.com> " Copyright: Copyright (c) 2009-2013 Steven Oliver " License: You may redistribute this under the same terms as Vim itself +" Last Update: 2020 Oct 10 " -------------------------------------------------------------------------- " Only do this when not done yet for this buffer @@ -14,7 +15,7 @@ let b:did_ftplugin = 1 let s:cpo_save = &cpo set cpo&vim -setlocal softtabstop=4 shiftwidth=4 fileencoding=utf-8 +setlocal softtabstop=4 shiftwidth=4 setlocal suffixesadd=.fal,.ftd " Matchit support diff --git a/runtime/ftplugin/fortran.vim b/runtime/ftplugin/fortran.vim index 385f1557d..b9ba3c472 100644 --- a/runtime/ftplugin/fortran.vim +++ b/runtime/ftplugin/fortran.vim @@ -1,13 +1,13 @@ " Vim settings file " Language: Fortran 2008 (and older: Fortran 2003, 95, 90, 77, 66) -" Version: 0.50 -" Last Change: 2020 Apr 20 -" Patched By: Eisuke Kawashima +" Version: (v52) 2020 October 07 " Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/> " Usage: For instructions, do :help fortran-plugin from Vim " Credits: -" Useful suggestions were made by Stefano Zacchiroli, Hendrik Merx, Ben -" Fritz, and David Barnett. +" Version 0.1 was created in September 2000 by Ajit Thakkar. +" Since then, useful suggestions and contributions have been made, in order, by: +" Stefano Zacchiroli, Hendrik Merx, Ben Fritz, David Barnett, Eisuke Kawashima, +" and Doug Kearns. " Only do these settings when not done yet for this buffer if exists("b:did_ftplugin") @@ -119,7 +119,7 @@ if !exists("b:match_words") endif " File filters for :browse e -if has("gui_win32") && !exists("b:browsefilter") +if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") let b:browsefilter = "Fortran Files (*.f;*.for;*.f77;*.f90;*.f95;*.f03;*.f08;*.fpp;*.ftn)\t*.f;*.for;*.f77;*.f90;*.f95;*.f03;*.f08;*.fpp;*.ftn\n" . \ "All Files (*.*)\t*.*\n" endif diff --git a/runtime/ftplugin/python.vim b/runtime/ftplugin/python.vim index 64c1a87a6..000ddf52a 100644 --- a/runtime/ftplugin/python.vim +++ b/runtime/ftplugin/python.vim @@ -3,7 +3,7 @@ " Maintainer: Tom Picton <tom@tompicton.co.uk> " Previous Maintainer: James Sully <sullyj3@gmail.com> " Previous Maintainer: Johannes Zellner <johannes@zellner.org> -" Last Change: Sun 17 Mar 2019 +" Last Change: Mon, 5 October 2020 " https://github.com/tpict/vim-ftplugin-python if exists("b:did_ftplugin") | finish | endif @@ -14,6 +14,7 @@ set cpo&vim setlocal cinkeys-=0# setlocal indentkeys-=0# setlocal include=^\\s*\\(from\\\|import\\) +setlocal define=^\\s*\\(def\\\|class\\) " For imports with leading .., append / and replace additional .s with ../ let b:grandparent_match = '^\(.\.\)\(\.*\)' @@ -38,7 +39,7 @@ setlocal comments=b:#,fb:- setlocal commentstring=#\ %s if has('python3') - setlocal omnifunc=python3complete#Complete + setlocal omnifunc=python3complete#Complete elseif has('python') setlocal omnifunc=pythoncomplete#Complete endif @@ -115,35 +116,18 @@ endif if !exists("g:python_recommended_style") || g:python_recommended_style != 0 " As suggested by PEP8. - setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8 + setlocal expandtab tabstop=4 softtabstop=4 shiftwidth=4 endif -" First time: try finding "pydoc". -if !exists('g:pydoc_executable') - if executable('pydoc') - let g:pydoc_executable = 1 - else - let g:pydoc_executable = 0 - endif -endif - -" Windows-specific pydoc setup -if has('win32') || has('win64') - if executable('python') - " available as Tools\scripts\pydoc.py - let g:pydoc_executable = 1 - else - let g:pydoc_executable = 0 - endif -endif - -" If "pydoc" was found use it for keywordprg. -if g:pydoc_executable - if has('win32') || has('win64') - setlocal keywordprg=python\ -m\ pydoc\ - else - setlocal keywordprg=pydoc - endif +" Use pydoc for keywordprg. +" Unix users preferentially get pydoc3, then pydoc2. +" Windows doesn't have a standalone pydoc executable in $PATH by default, nor +" does it have separate python2/3 executables, so Windows users just get +" whichever version corresponds to their installed Python version. +if executable('python3') + setlocal keywordprg=python3\ -m\ pydoc +elseif executable('python') + setlocal keywordprg=python\ -m\ pydoc endif " Script for filetype switching to undo the local stuff we may have changed diff --git a/runtime/indent/fortran.vim b/runtime/indent/fortran.vim index df55569f8..696320288 100644 --- a/runtime/indent/fortran.vim +++ b/runtime/indent/fortran.vim @@ -1,13 +1,13 @@ " Vim indent file " Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77) -" Version: 47 -" Last Change: 2020 Apr 20 -" Patched By: Eisuke Kawashima +" Version: (v48) 2020 October 07 " Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/> " Usage: For instructions, do :help fortran-indent from Vim " Credits: -" Useful suggestions were made, in chronological order, by: -" Albert Oliver Serra, Takuya Fujiwara and Philipp Edelmann. +" Version 0.1 was created in September 2000 by Ajit Thakkar. +" Since then, useful suggestions and contributions have been made, in order, by: +" Albert Oliver Serra, Takuya Fujiwara, Philipp Edelmann, Eisuke Kawashima, +" and Louis Cochen. " Only load this indent file when no other was loaded. if exists("b:did_indent") @@ -146,7 +146,7 @@ function FortranGetIndent(lnum) \. 'type\|forall\|associate\|enum\|block\)\)\>' let ind = ind - shiftwidth() " Fix indent for case statement immediately after select - if prevstat =~? '\<select\s\+\(case\|type\)\>' + if prevstat =~? '\<select\s*\(case\|type\)\>' let ind = ind + shiftwidth() endif endif diff --git a/runtime/syntax/apache.vim b/runtime/syntax/apache.vim index 71babfba3..dd18aa657 100644 --- a/runtime/syntax/apache.vim +++ b/runtime/syntax/apache.vim @@ -3,7 +3,7 @@ " Maintainer: David Necas (Yeti) <yeti@physics.muni.cz> " License: This file can be redistribued and/or modified under the same terms " as Vim itself. -" Last Change: 2018-12-06 +" Last Change: 2020 Oct 07 " Notes: Last synced with apache-2.2.3, version 1.x is no longer supported " TODO: see particular FIXME's scattered through the file " make it really linewise? @@ -42,6 +42,8 @@ syn keyword apacheOption user group syn match apacheOption "\<valid-user\>" syn case match syn keyword apacheMethodOption GET POST PUT DELETE CONNECT OPTIONS TRACE PATCH PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK contained +" Added as suggested by Mikko Koivunalho +syn keyword apacheMethodOption BASELINE-CONTROL CHECKIN CHECKOUT LABEL MERGE MKACTIVITY MKWORKSPACE REPORT UNCHECKOUT UPDATE VERSION-CONTROL contained syn case ignore syn match apacheSection "<\/\=\(Directory\|DirectoryMatch\|Files\|FilesMatch\|IfModule\|IfDefine\|Location\|LocationMatch\|VirtualHost\)[^>]*>" contains=apacheAnything syn match apacheLimitSection "<\/\=\(Limit\|LimitExcept\)[^>]*>" contains=apacheLimitSectionKeyword,apacheMethodOption,apacheError diff --git a/runtime/syntax/asterisk.vim b/runtime/syntax/asterisk.vim index 4a922d3f1..4b3d246e3 100644 --- a/runtime/syntax/asterisk.vim +++ b/runtime/syntax/asterisk.vim @@ -19,7 +19,7 @@ syn match asteriskComment ";.*" contains=asteriskTodo syn match asteriskContext "\[.\{-}\]" syn match asteriskExten "^\s*\zsexten\s*=>\?\s*[^,]\+\ze," contains=asteriskPattern nextgroup=asteriskPriority syn match asteriskExten "^\s*\zssame\s*=>\?\s*\ze" nextgroup=asteriskPriority -syn match asteriskExten "^\s*\(register\|channel\|ignorepat\|include\|\(no\)\?load\)\s*=>\?" +syn match asteriskExten "^\s*\(register\|channel\|ignorepat\|include\|l\?e\?switch\|\(no\)\?load\)\s*=>\?" syn match asteriskPattern "_\(\[[[:alnum:]#*\-]\+\]\|[[:alnum:]#*]\)*\.\?" contained syn match asteriskPattern "[^A-Za-z0-9,]\zs[[:alnum:]#*]\+\ze" contained syn match asteriskApp ",\zs[a-zA-Z]\+\ze$" @@ -39,7 +39,7 @@ syn match asteriskVarLen "\${_\{0,2}[[:alpha:]][[:alnum:]_]*(.*)} syn match asteriskVarLen "(\zs[[:alpha:]][[:alnum:]_]*(.\{-})\ze=" contains=asteriskVar,asteriskVarLen,asteriskExp syn match asteriskExp "\$\[.\{-}\]" contains=asteriskVar,asteriskVarLen,asteriskExp syn match asteriskCodecsPermit "^\s*\(allow\|disallow\)\s*=\s*.*$" contains=asteriskCodecs -syn match asteriskCodecs "\(g723\|gsm\|ulaw\|alaw\|g726\|adpcm\|slin\|lpc10\|g729\|speex\|ilbc\|all\s*$\)" +syn match asteriskCodecs "\(vp9\|vp8\|h264\|h263p\|h263\|h261\|jpeg\|opus\|g722\|g723\|gsm\|ulaw\|alaw\|g719\|g726\|g726aal2\|siren7\|siren14\|adpcm\|slin\|lpc10\|g729\|speex\|ilbc\|wav\|all\s*$\)" syn match asteriskError "^\(type\|auth\|permit\|deny\|bindaddr\|host\)\s*=.*$" syn match asteriskType "^\zstype=\ze\<\(peer\|user\|friend\)\>$" contains=asteriskTypeType syn match asteriskTypeType "\<\(peer\|user\|friend\)\>" contained diff --git a/runtime/syntax/cabal.vim b/runtime/syntax/cabal.vim index 8af47d404..73c7186a8 100644 --- a/runtime/syntax/cabal.vim +++ b/runtime/syntax/cabal.vim @@ -4,7 +4,7 @@ " Maintainer: Marcin Szamotulski <profunctor@pm.me> " Previous Maintainer: Vincent Berthoux <twinside@gmail.com> " File Types: .cabal -" Last Change: 15 May 2018 +" Last Change: 3 Oct 2020 " v1.5: Incorporated changes from " https://github.com/sdiehl/haskell-vim-proto/blob/master/vim/syntax/cabal.vim " Use `syn keyword` instead of `syn match`. @@ -62,11 +62,12 @@ syn keyword cabalCategory contained \ source-repository \ flag \ custom-setup + \ common syn match cabalCategoryTitle contained /[^{]*\ze{\?/ syn match cabalCategoryRegion \ contains=cabalCategory,cabalCategoryTitle \ nextgroup=cabalCategory skipwhite - \ /^\c\s*\(contained\|executable\|library\|benchmark\|test-suite\|source-repository\|flag\|custom-setup\)\+\s*\%(.*$\|$\)/ + \ /^\c\s*\(contained\|executable\|library\|benchmark\|test-suite\|source-repository\|flag\|custom-setup\|common\)\+\s*\%(.*$\|$\)/ syn keyword cabalTruth true false " cabalStatementRegion which limits the scope of cabalStatement keywords, this @@ -76,6 +77,7 @@ syn keyword cabalStatement contained containedin=cabalStatementRegion \ default-language \ default-extensions \ author + \ autogen-modules \ branch \ bug-reports \ build-depends @@ -110,6 +112,7 @@ syn keyword cabalStatement contained containedin=cabalStatementRegion \ homepage \ hs-source-dirs \ hugs-options + \ import \ include-dirs \ includes \ install-includes diff --git a/runtime/syntax/css.vim b/runtime/syntax/css.vim index f915b4d37..19326d01e 100644 --- a/runtime/syntax/css.vim +++ b/runtime/syntax/css.vim @@ -61,7 +61,7 @@ syn match cssClassName "\.-\=[A-Za-z_][A-Za-z0-9_-]*" contains=cssClassNameDot syn match cssClassNameDot contained '\.' try -syn match cssIdentifier "#[A-Za-zÀ-ÿ_@][A-Za-zÀ-ÿ0-9_@-]*" +syn match cssIdentifier "#[A-Za-zÀ-ÿ_@][A-Za-zÀ-ÿ0-9_@-]*" catch /^.*/ syn match cssIdentifier "#[A-Za-z_@][A-Za-z0-9_@-]*" endtry @@ -649,5 +649,5 @@ endif let &cpo = s:cpo_save unlet s:cpo_save -" vim: ts=8 +" vim: ts=8 diff --git a/runtime/syntax/fortran.vim b/runtime/syntax/fortran.vim index 2b62226ed..7ff80c11a 100644 --- a/runtime/syntax/fortran.vim +++ b/runtime/syntax/fortran.vim @@ -1,18 +1,17 @@ " Vim syntax file " Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77) -" Version: 102 -" Last Change: 2020 Apr 20 -" Patched By: Eisuke Kawashima +" Version: (v103) 2020 October 07 " Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/> " Usage: For instructions, do :help fortran-syntax from Vim " Credits: -" Version 0.1 for Fortran 95 was created (April 2000) by Ajit Thakkar from the -" Fortran 77 syntax file by Mario Eusebio and Preben Guldberg. +" Version 0.1 for Fortran 95 was created in April 2000 by Ajit Thakkar from an +" older Fortran 77 syntax file by Mario Eusebio and Preben Guldberg. " Since then, useful suggestions and contributions have been made, in order, by: " Andrej Panjkov, Bram Moolenaar, Thomas Olsen, Michael Sternberg, Christian Reile, " Walter Dieudonné, Alexander Wagner, Roman Bertle, Charles Rendleman, " Andrew Griffiths, Joe Krahn, Hendrik Merx, Matt Thompson, Jan Hermann, -" Stefano Zaghi, Vishnu V. Krishnan, Judicaël Grasset, and Takuma Yoshida +" Stefano Zaghi, Vishnu V. Krishnan, Judicaël Grasset, Takuma Yoshida, +" Eisuke Kawashima, and André Chalella.` if exists("b:current_syntax") finish @@ -102,6 +101,8 @@ syn match fortranUnitHeader "\<end\>" syn match fortranType "\<character\>" syn match fortranType "\<complex\>" syn match fortranType "\<integer\>" +syn match fortranType "\<real\>" +syn match fortranType "\<logical\>" syn keyword fortranType intrinsic syn match fortranType "\<implicit\>" syn keyword fortranStructure dimension @@ -149,11 +150,9 @@ syn keyword fortranExtraIntrinsic algama cdabs cdcos cdexp cdlog cdsin cdsqrt cq syn keyword fortranIntrinsic abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh syn match fortranIntrinsic "\<len\s*[(,]"me=s+3 syn match fortranIntrinsic "\<real\s*("me=s+4 -syn match fortranType "\<implicit\s\+real" -syn match fortranType "^\s*real\>" syn match fortranIntrinsic "\<logical\s*("me=s+7 -syn match fortranType "\<implicit\s\+logical" -syn match fortranType "^\s*logical\>" +syn match fortranType "\<implicit\s\+real\>" +syn match fortranType "\<implicit\s\+logical\>" "Numbers of various sorts " Integers @@ -168,6 +167,12 @@ syn match fortranFloatIll display "\<\d\+\.\([deq][-+]\=\d\+\)\=\(_\a\w*\)\=\>" syn match fortranFloatIll display "\<\d\+\.\d\+\([dq][-+]\=\d\+\)\=\(_\a\w*\)\=\>" " floating point number syn match fortranFloat display "\<\d\+\.\d\+\(e[-+]\=\d\+\)\=\(_\a\w*\)\=\>" +" binary number +syn match fortranBinary display "b["'][01]\+["']" +" octal number +syn match fortranOctal display "o["'][0-7]\+["']" +" hexadecimal number +syn match fortranHex display "z["'][0-9A-F]\+["']" " Numbers in formats syn match fortranFormatSpec display "\d*f\d\+\.\d\+" syn match fortranFormatSpec display "\d*e[sn]\=\d\+\.\d\+\(e\d+\>\)\=" @@ -215,7 +220,6 @@ syn match fortranUnitHeader "\<submodule\>" syn keyword fortranUnitHeader use only contains syn keyword fortranUnitHeader result operator assignment syn match fortranUnitHeader "\<interface\>" -syn match fortranUnitHeader "\<recursive\>" syn keyword fortranKeyword allocate deallocate nullify cycle exit syn match fortranConditional "\<select\>" syn keyword fortranConditional case default where elsewhere @@ -274,6 +278,7 @@ syn keyword fortranIntrinsic null cpu_time syn match fortranType "\<elemental\>" syn match fortranType "\<pure\>" syn match fortranType "\<impure\>" +syn match fortranType "\<recursive\>" if exists("fortran_more_precise") syn match fortranConstructName "\(\<end\s*forall\s\+\)\@15<=\a\w*\>" endif @@ -453,6 +458,9 @@ hi def link fortranTodo Todo hi def link fortranContinueMark Special hi def link fortranString String hi def link fortranNumber Number +hi def link fortranBinary Number +hi def link fortranOctal Number +hi def link fortranHex Number hi def link fortranOperator Operator hi def link fortranBoolean Boolean hi def link fortranLabelError Error diff --git a/runtime/syntax/haskell.vim b/runtime/syntax/haskell.vim index e5128a12a..1b70b9344 100644 --- a/runtime/syntax/haskell.vim +++ b/runtime/syntax/haskell.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: Haskell " Maintainer: Haskell Cafe mailinglist <haskell-cafe@haskell.org> -" Last Change: 2018 Mar 29 by Marcin Szamotulski +" Last Change: 2020 Oct 4 by Marcin Szamotulski <profunctor@pm.me> " Original Author: John Williams <jrw@pobox.com> " " Thanks to Ryan Crumley for suggestions and John Meacham for @@ -38,8 +38,8 @@ if exists("b:current_syntax") endif " (Qualified) identifiers (no default highlighting) -syn match ConId "\(\<[A-Z][a-zA-Z0-9_']*\.\)\=\<[A-Z][a-zA-Z0-9_']*\>" contains=@NoSpell -syn match VarId "\(\<[A-Z][a-zA-Z0-9_']*\.\)\=\<[a-z][a-zA-Z0-9_']*\>" contains=@NoSpell +syn match ConId "\(\<[A-Z][a-zA-Z0-9_']*\.\)*\<[A-Z][a-zA-Z0-9_']*\>" contains=@NoSpell +syn match VarId "\(\<[A-Z][a-zA-Z0-9_']*\.\)*\<[a-z][a-zA-Z0-9_']*\>" contains=@NoSpell " Infix operators--most punctuation characters and any (qualified) identifier " enclosed in `backquotes`. An operator starting with : is a constructor, @@ -49,8 +49,11 @@ syn match hsConSym "\(\<[A-Z][a-zA-Z0-9_']*\.\)\=:[-!#$%&\*\+./<=>\?@\\^|~:]*" syn match hsVarSym "`\(\<[A-Z][a-zA-Z0-9_']*\.\)\=[a-z][a-zA-Z0-9_']*`" syn match hsConSym "`\(\<[A-Z][a-zA-Z0-9_']*\.\)\=[A-Z][a-zA-Z0-9_']*`" +" (Non-qualified) identifiers which start with # are labels +syn match hsLabel "#[a-z][a-zA-Z0-9_']*\>" + " Reserved symbols--cannot be overloaded. -syn match hsDelimiter "(\|)\|\[\|\]\|,\|;\|_\|{\|}" +syn match hsDelimiter "(\|)\|\[\|\]\|,\|;\|{\|}" " Strings and constants syn match hsSpecialChar contained "\\\([0-9]\+\|o[0-7]\+\|x[0-9a-fA-F]\+\|[\"\\'&\\abfnrtv]\|^[A-Z^_\[\\\]]\)" @@ -62,37 +65,41 @@ syn match hsCharacter "^'\([^\\]\|\\[^']\+\|\\'\)'" contains=hsSpecialChar,hs syn match hsNumber "\v<[0-9]%(_*[0-9])*>|<0[xX]_*[0-9a-fA-F]%(_*[0-9a-fA-F])*>|<0[oO]_*%(_*[0-7])*>|<0[bB]_*[01]%(_*[01])*>" syn match hsFloat "\v<[0-9]%(_*[0-9])*\.[0-9]%(_*[0-9])*%(_*[eE][-+]?[0-9]%(_*[0-9])*)?>|<[0-9]%(_*[0-9])*_*[eE][-+]?[0-9]%(_*[0-9])*>|<0[xX]_*[0-9a-fA-F]%(_*[0-9a-fA-F])*\.[0-9a-fA-F]%(_*[0-9a-fA-F])*%(_*[pP][-+]?[0-9]%(_*[0-9])*)?>|<0[xX]_*[0-9a-fA-F]%(_*[0-9a-fA-F])*_*[pP][-+]?[0-9]%(_*[0-9])*>" -" Keyword definitions. These must be patterns instead of keywords -" because otherwise they would match as keywords at the start of a -" "literate" comment (see lhs.vim). -syn match hsModule "\<module\>" -syn match hsImport "\<import\>.*"he=s+6 contains=hsImportMod,hsLineComment,hsBlockComment,@NoSpell -syn match hsImportMod contained "\<\(as\|qualified\|hiding\)\>" contains=@NoSpell -syn match hsInfix "\<\(infix\|infixl\|infixr\)\>" -syn match hsStructure "\<\(class\|data\|deriving\|instance\|default\|where\)\>" -syn match hsTypedef "\<\(type\|newtype\)\>" -syn match hsStatement "\<\(do\|case\|of\|let\|in\)\>" -syn match hsConditional "\<\(if\|then\|else\)\>" +" Keyword definitions. +syn keyword hsModule module +syn match hsImportGroup "\<import\>.*" contains=hsImport,hsImportModuleName,hsImportMod,hsLineComment,hsBlockComment,hsImportList,@NoSpell nextgroup=hsImport +syn keyword hsImport import contained nextgroup=hsImportModuleName +syn match hsImportModuleName '\<[A-Z][A-Za-z.]*' contained +syn region hsImportList start='(' skip='([^)]\{-})' end=')' keepend contained contains=ConId,VarId,hsDelimiter,hsBlockComment,hsTypedef,@NoSpell + +syn keyword hsImportMod contained as qualified hiding +syn keyword hsInfix infix infixl infixr +syn keyword hsStructure class data deriving instance default where +syn keyword hsTypedef type +syn keyword hsNewtypedef newtype +syn keyword hsTypeFam family +syn keyword hsStatement mdo do case of let in +syn keyword hsConditional if then else " Not real keywords, but close. if exists("hs_highlight_boolean") " Boolean constants from the standard prelude. - syn match hsBoolean "\<\(True\|False\)\>" + syn keyword hsBoolean True False endif if exists("hs_highlight_types") " Primitive types from the standard prelude and libraries. - syn match hsType "\<\(Int\|Integer\|Char\|Bool\|Float\|Double\|IO\|Void\|Addr\|Array\|String\)\>" + syn keyword hsType Int Integer Char Bool Float Double IO Void Addr Array String endif if exists("hs_highlight_more_types") " Types from the standard prelude libraries. - syn match hsType "\<\(Maybe\|Either\|Ratio\|Complex\|Ordering\|IOError\|IOResult\|ExitCode\)\>" - syn match hsMaybe "\<Nothing\>" - syn match hsExitCode "\<\(ExitSuccess\)\>" - syn match hsOrdering "\<\(GT\|LT\|EQ\)\>" + syn keyword hsType Maybe Either Ratio Complex Ordering IOError IOResult ExitCode + syn keyword hsMaybe Nothing + syn keyword hsExitCode ExitSuccess + syn keyword hsOrdering GT LT EQ endif if exists("hs_highlight_debug") " Debugging functions from the standard prelude. - syn match hsDebug "\<\(undefined\|error\|trace\)\>" + syn keyword hsDebug undefined error trace endif @@ -133,12 +140,14 @@ hi def link hsImportMod hsImport hi def link hsInfix PreProc hi def link hsStructure Structure hi def link hsStatement Statement -hi def link hsConditional Conditional -hi def link hsSpecialChar SpecialChar +hi def link hsConditional Conditional +hi def link hsSpecialChar SpecialChar hi def link hsTypedef Typedef +hi def link hsNewtypedef Typedef hi def link hsVarSym hsOperator hi def link hsConSym hsOperator hi def link hsOperator Operator +hi def link hsTypeFam Structure if exists("hs_highlight_delimiters") " Some people find this highlighting distracting. hi def link hsDelimiter Delimiter @@ -160,22 +169,22 @@ hi def link hsMaybe hsEnumConst hi def link hsOrdering hsEnumConst hi def link hsEnumConst Constant hi def link hsDebug Debug - -hi def link cCppString hsString -hi def link cCommentStart hsComment -hi def link cCommentError hsError -hi def link cCommentStartError hsError -hi def link cInclude Include -hi def link cPreProc PreProc -hi def link cDefine Macro -hi def link cIncluded hsString -hi def link cError Error -hi def link cPreCondit PreCondit -hi def link cComment Comment -hi def link cCppSkip cCppOut -hi def link cCppOut2 cCppOut -hi def link cCppOut Comment - +hi def link hsLabel Special + +hi def link cCppString hsString +hi def link cCommentStart hsComment +hi def link cCommentError hsError +hi def link cCommentStartError hsError +hi def link cInclude Include +hi def link cPreProc PreProc +hi def link cDefine Macro +hi def link cIncluded hsString +hi def link cError Error +hi def link cPreCondit PreCondit +hi def link cComment Comment +hi def link cCppSkip cCppOut +hi def link cCppOut2 cCppOut +hi def link cCppOut Comment let b:current_syntax = "haskell" diff --git a/runtime/syntax/ia64.vim b/runtime/syntax/ia64.vim index 22ce4623d..2ff460688 100644 --- a/runtime/syntax/ia64.vim +++ b/runtime/syntax/ia64.vim @@ -1,10 +1,9 @@ " Vim syntax file -" Language: IA-64 (Itanium) assembly language -" Maintainer: Parth Malwankar <pmalwankar@yahoo.com> -" URL: http://www.geocities.com/pmalwankar (Home Page with link to my Vim page) -" http://www.geocities.com/pmalwankar/vim.htm (for VIM) -" File Version: 0.7 -" Last Change: 2006 Sep 08 +" Language: IA-64 (Itanium) assembly language +" Maintainer: Doug Kearns <dougkearns@gmail.com> +" Previous Maintainer: Parth Malwankar <pmalwankar@yahoo.com> +" File Version: 0.8 +" Last Change: 2020 Sep 25 " quit when a syntax file was already loaded if exists("b:current_syntax") @@ -15,16 +14,16 @@ endif "ignore case for assembly syn case ignore -" Identifier Keyword characters (defines \k) -setlocal iskeyword=@,48-57,#,$,.,:,?,@-@,_,~ - syn sync minlines=5 " Read the MASM syntax to start with " This is needed as both IA-64 as well as IA-32 instructions are supported source <sfile>:p:h/masm.vim -syn region ia64Comment start="//" end="$" contains=ia64Todo +" Identifier Keyword characters (defines \k) +syn iskeyword @,48-57,#,$,.,:,?,@-@,_,~ + +syn region ia64Comment start="//" end="$" contains=ia64Todo syn region ia64Comment start="/\*" end="\*/" contains=ia64Todo syn match ia64Identifier "[a-zA-Z_$][a-zA-Z0-9_$]*" @@ -266,22 +265,22 @@ syn match ia64data "stringz\=\(\(\(\.ua\)\=\(\.msb\|\.lsb\)\=\)\|\(\(\.msb\|\.ls "put masm groups with our groups hi def link masmOperator ia64operator hi def link masmDirective ia64Directive -hi def link masmOpcode ia64Opcode +hi def link masmOpcode ia64Opcode hi def link masmIdentifier ia64Identifier -hi def link masmFloat ia64Float +hi def link masmFloat ia64Float "ia64 specific stuff -hi def link ia64Label Define -hi def link ia64Comment Comment +hi def link ia64Label Define +hi def link ia64Comment Comment hi def link ia64Directive Type -hi def link ia64opcode Statement +hi def link ia64opcode Statement hi def link ia64registers Operator -hi def link ia64string String +hi def link ia64string String hi def link ia64Hex Number -hi def link ia64Binary Number -hi def link ia64Octal Number -hi def link ia64Float Float -hi def link ia64Decimal Number +hi def link ia64Binary Number +hi def link ia64Octal Number +hi def link ia64Float Float +hi def link ia64Decimal Number hi def link ia64Identifier Identifier hi def link ia64data Type hi def link ia64delimiter Delimiter diff --git a/runtime/syntax/less.vim b/runtime/syntax/less.vim index 5cc8c6d7b..c44f0775f 100644 --- a/runtime/syntax/less.vim +++ b/runtime/syntax/less.vim @@ -2,14 +2,13 @@ " Language: less " Maintainer: Alessandro Vioni <jenoma@gmail.com> " URL: https://github.com/genoma/vim-less -" Last Change: 2014 November 24 +" Last Change: 2020 Sep 29 if exists("b:current_syntax") finish endif runtime! syntax/css.vim -runtime! after/syntax/css.vim syn case ignore diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim index d4dab09d4..675c79503 100644 --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: Vim 8.0 script -" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz> -" Last Change: Aug 30, 2020 -" Version: 8.0-43 +" Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM> +" Last Change: October 06, 2020 +" Version: 8.0-45 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM " Automatically generated keyword lists: {{{1 @@ -19,12 +19,12 @@ syn keyword vimTodo contained COMBAK FIXME TODO XXX syn cluster vimCommentGroup contains=vimTodo,@Spell " regular vim commands {{{2 -syn keyword vimCommand contained a ar[gs] argl[ocal] ba[ll] bm[odified] breaka[dd] bun[load] cabc[lear] cal[l] cc cf[ile] changes cla[st] cnew[er] com cope[n] cscope debug delep dell diffg[et] dig[raphs] do dsp[lit] echom[sg] enddef eval f[ile] fina[lly] foldd[oopen] go[to] ha[rdcopy] hid[e] ij[ump] inor j[oin] keepj[umps] lab[ove] lat lc[d] le[ft] lg[etfile] lhi[story] lmapc[lear] loadkeymap lpf[ile] luafile mak[e] mk[exrc] mz[scheme] new nore on[ly] pc[lose] pp[op] promptf[ind] ptj[ump] pu[t] py[thon] pyxdo rec[over] reg[isters] rightb[elow] rv[iminfo] sIn san[dbox] sbl[ast] scI scr[iptnames] setf[iletype] sgI sgp sig sir smenu so[urce] spellr[are] sr srl startg[replace] sun[hide] sy tN[ext] tabe[dit] tabnew tc[l] ter[minal] tlmenu tma[p] tr[ewind] u[ndo] unl ve[rsion] vim9 vmapc[lear] wa[ll] winp[os] wundo xme xr[estore] -syn keyword vimCommand contained ab arga[dd] argu[ment] bad[d] bn[ext] breakd[el] bw[ipeout] cabo[ve] cat[ch] ccl[ose] cfdo chd[ir] class cnf[ile] comc[lear] cp[revious] cstag debugg[reedy] deletel delm[arks] diffo[ff] dir doau e[dit] echon endf[unction] ex files fini[sh] folddoc[losed] gr[ep] helpc[lose] his[tory] il[ist] interface ju[mps] keepp[atterns] lad[dexpr] later lch[dir] lefta[bove] lgetb[uffer] ll lne[xt] loc[kmarks] lr[ewind] lv[imgrep] marks mks[ession] mzf[ile] nmapc[lear] nos[wapfile] opt[ions] pe[rl] pre[serve] promptr[epl] ptl[ast] pw[d] pydo pyxfile red[o] res[ize] ru[ntime] sI sIp sav[eas] sbm[odified] sce scripte[ncoding] setg[lobal] sgc sgr sign sl[eep] smile sor[t] spellr[epall] srI srn startr[eplace] sunme syn ta[g] tabf[ind] tabo[nly] tcd tf[irst] tln tmapc[lear] try una[bbreviate] unlo[ckvar] verb[ose] vim9script vne[w] wh[ile] wn[ext] wv[iminfo] xmenu xunme -syn keyword vimCommand contained abc[lear] argd[elete] as[cii] bd[elete] bo[tright] breakl[ist] cN[ext] cad[dbuffer] cb[uffer] cd cfir[st] che[ckpath] cle[arjumps] cnor comp[iler] cpf[ile] cun def deletep delp diffp[atch] disa[ssemble] doaut ea el[se] endfo[r] exi[t] filet fir[st] foldo[pen] grepa[dd] helpf[ind] i imapc[lear] intro k lN[ext] laddb[uffer] lb[uffer] lcl[ose] lex[pr] lgete[xpr] lla[st] lnew[er] lockv[ar] ls lvimgrepa[dd] mat[ch] mksp[ell] n[ext] noa nu[mber] ownsyntax ped[it] prev[ious] ps[earch] ptn[ext] py3 pyf[ile] q[uit] redi[r] ret[ab] rub[y] sIc sIr sbN[ext] sbn[ext] scg scriptv[ersion] setl[ocal] sge sh[ell] sil[ent] sla[st] sn[ext] sp[lit] spellr[rare] src srp stj[ump] sunmenu sync tab tabfir[st] tabp[revious] tch[dir] th[row] tlnoremenu tn[ext] ts[elect] undoj[oin] uns[ilent] vert[ical] vim[grep] vs[plit] win[size] wp[revious] x[it] xnoreme xunmenu -syn keyword vimCommand contained abo[veleft] argdo au bel[owright] bp[revious] bro[wse] cNf[ile] cadde[xpr] cbe[fore] cdo cg[etfile] checkt[ime] clo[se] co[py] con[tinue] cq[uit] cuna[bbrev] defc[ompile] deletl dep diffpu[t] dj[ump] dp earlier elsei[f] endt[ry] exp filetype fix[del] for gui helpg[rep] ia imp is[earch] kee[pmarks] lNf[ile] laddf[ile] lbe[fore] lcs lf[ile] lgr[ep] lli[st] lnf[ile] lol[der] lt[ag] lw[indow] menut[ranslate] mkv[imrc] nb[key] noautocmd o[pen] p[rint] perld[o] pro ptN[ext] ptp[revious] py3do python3 qa[ll] redr[aw] retu[rn] rubyd[o] sIe sN[ext] sb[uffer] sbp[revious] sci scs sf[ind] sgi si sim[alt] sm[agic] sno[magic] spe[llgood] spellu[ndo] sre[wind] st[op] stopi[nsert] sus[pend] syncbind tabN[ext] tabl[ast] tabr[ewind] tcld[o] tj[ump] tlu tno[remap] tu[nmenu] undol[ist] up[date] vi[sual] vimgrepa[dd] wN[ext] winc[md] wq xa[ll] xnoremenu xwininfo -syn keyword vimCommand contained addd arge[dit] bN[ext] bf[irst] br[ewind] bufdo c[hange] caddf[ile] cbel[ow] ce[nter] cgetb[uffer] chi[story] cmapc[lear] col[der] conf[irm] cr[ewind] cw[indow] delc[ommand] deletp di[splay] diffs[plit] dl dr[op] ec em[enu] endw[hile] export filt[er] fo[ld] fu[nction] gvim helpt[ags] iabc[lear] import isp[lit] keepa l[ist] laf[ter] lbel[ow] lcscope lfdo lgrepa[dd] lma lo[adview] lop[en] lua m[ove] mes mkvie[w] nbc[lose] noh[lsearch] ol[dfiles] pa[ckadd] po[p] prof[ile] pta[g] ptr[ewind] py3f[ile] pythonx quita[ll] redraws[tatus] rew[ind] rubyf[ile] sIg sa[rgument] sba[ll] sbr[ewind] scl scscope sfir[st] sgl sic sin sm[ap] snoreme spelld[ump] spellw[rong] srg sta[g] sts[elect] sv[iew] syntime tabc[lose] tabm[ove] tabs tclf[ile] tl[ast] tlunmenu to[pleft] tunma[p] unh[ide] v vie[w] viu[sage] w[rite] windo wqa[ll] xmapc[lear] xprop y[ank] -syn keyword vimCommand contained al[l] argg[lobal] b[uffer] bl[ast] brea[k] buffers ca caf[ter] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cn[ext] colo[rscheme] cons[t] cs d[elete] delel delf[unction] dif[fupdate] difft[his] dli[st] ds[earch] echoe[rr] en[dif] ene[w] exu[sage] fin[d] foldc[lose] g h[elp] hi if in iuna[bbrev] keepalt la[st] lan[guage] lbo[ttom] ld[o] lfir[st] lh[elpgrep] lmak[e] loadk lp[revious] luado ma[rk] messages mod[e] nbs[tart] nor omapc[lear] packl[oadall] popu[p] profd[el] ptf[irst] pts[elect] py3f[ile] pyx r[ead] redrawt[abline] ri[ght] rundo sIl sal[l] sbf[irst] sc scp se[t] sg sgn sie sip sme snoremenu spelli[nfo] spr[evious] sri star[tinsert] substitutepattern sw[apname] t tabd[o] tabn[ext] tags te[aroff] tlm tm[enu] tp[revious] type +syn keyword vimCommand contained a ar[gs] argl[ocal] ba[ll] bm[odified] breaka[dd] bun[load] cabc[lear] cal[l] cc cf[ile] changes cla[st] cnew[er] com cope[n] cscope debug delep dell diffg[et] dig[raphs] do dsp[lit] echom[sg] enddef eval f[ile] fina[lly] foldd[oopen] go[to] ha[rdcopy] hid[e] ij[ump] inor j[oin] keepj[umps] lab[ove] lat lc[d] le[ft] lg[etfile] lhi[story] lmapc[lear] loadkeymap lpf[ile] luafile mak[e] mks[ession] mzf[ile] nmapc[lear] nos[wapfile] opt[ions] pe[rl] pre[serve] promptr[epl] ptl[ast] pw[d] pydo pyxfile red[o] res[ize] ru[ntime] sI sIp sav[eas] sbm[odified] sce scripte[ncoding] setg[lobal] sgc sgr sign sl[eep] smile sor[t] spellr[epall] srI srn startr[eplace] sunme syn ta[g] tabf[ind] tabo[nly] tcd tf[irst] tln tmapc[lear] try una[bbreviate] unlo[ckvar] ve[rsion] vim9 vmapc[lear] wa[ll] winp[os] wundo xme xr[estore] +syn keyword vimCommand contained ab arga[dd] argu[ment] bad[d] bn[ext] breakd[el] bw[ipeout] cabo[ve] cat[ch] ccl[ose] cfdo chd[ir] class cnf[ile] comc[lear] cp[revious] cstag debugg[reedy] deletel delm[arks] diffo[ff] dir doau e[dit] echon endf[unction] ex files fini[sh] folddoc[losed] gr[ep] helpc[lose] his[tory] il[ist] interface ju[mps] keepp[atterns] lad[dexpr] later lch[dir] lefta[bove] lgetb[uffer] ll lne[xt] loc[kmarks] lr[ewind] lv[imgrep] marks mksp[ell] n[ext] noa nu[mber] ownsyntax ped[it] prev[ious] ps[earch] ptn[ext] py3 pyf[ile] q[uit] redi[r] ret[ab] rub[y] sIc sIr sbN[ext] sbn[ext] scg scriptv[ersion] setl[ocal] sge sh[ell] sil[ent] sla[st] sn[ext] sp[lit] spellr[rare] src srp stj[ump] sunmenu sync tab tabfir[st] tabp[revious] tch[dir] th[row] tlnoremenu tn[ext] ts[elect] undoj[oin] uns[ilent] verb[ose] vim9script vne[w] wh[ile] wn[ext] wv[iminfo] xmenu xunme +syn keyword vimCommand contained abc[lear] argd[elete] as[cii] bd[elete] bo[tright] breakl[ist] cN[ext] cad[dbuffer] cb[uffer] cd cfir[st] che[ckpath] cle[arjumps] cnor comp[iler] cpf[ile] cun def deletep delp diffp[atch] disa[ssemble] doaut ea el[se] endfo[r] exi[t] filet fir[st] foldo[pen] grepa[dd] helpf[ind] i imapc[lear] intro k lN[ext] laddb[uffer] lb[uffer] lcl[ose] lex[pr] lgete[xpr] lla[st] lnew[er] lockv[ar] ls lvimgrepa[dd] mat[ch] mkv[imrc] nb[key] noautocmd o[pen] p[rint] perld[o] pro ptN[ext] ptp[revious] py3do python3 qa[ll] redr[aw] retu[rn] rubyd[o] sIe sN[ext] sb[uffer] sbp[revious] sci scs sf[ind] sgi si sim[alt] sm[agic] sno[magic] spe[llgood] spellu[ndo] sre[wind] st[op] stopi[nsert] sus[pend] syncbind tabN[ext] tabl[ast] tabr[ewind] tcld[o] tj[ump] tlu tno[remap] tu[nmenu] undol[ist] up[date] vert[ical] vim[grep] vs[plit] win[size] wp[revious] x[it] xnoreme xunmenu +syn keyword vimCommand contained abo[veleft] argdo au bel[owright] bp[revious] bro[wse] cNf[ile] cadde[xpr] cbe[fore] cdo cg[etfile] checkt[ime] clo[se] co[py] con[tinue] cq[uit] cuna[bbrev] defc[ompile] deletl dep diffpu[t] dj[ump] dp earlier elsei[f] endt[ry] exp filetype fix[del] for gui helpg[rep] ia imp is[earch] kee[pmarks] lNf[ile] laddf[ile] lbe[fore] lcs lf[ile] lgr[ep] lli[st] lnf[ile] lol[der] lt[ag] lw[indow] menut[ranslate] mkvie[w] nbc[lose] noh[lsearch] ol[dfiles] pa[ckadd] po[p] prof[ile] pta[g] ptr[ewind] py3f[ile] pythonx quita[ll] redraws[tatus] rew[ind] rubyf[ile] sIg sa[rgument] sba[ll] sbr[ewind] scl scscope sfir[st] sgl sic sin sm[ap] snoreme spelld[ump] spellw[rong] srg sta[g] sts[elect] sv[iew] syntime tabc[lose] tabm[ove] tabs tclf[ile] tl[ast] tlunmenu to[pleft] tunma[p] unh[ide] v vi[sual] vimgrepa[dd] wN[ext] winc[md] wq xa[ll] xnoremenu xwininfo +syn keyword vimCommand contained addd arge[dit] bN[ext] bf[irst] br[ewind] bufdo c[hange] caddf[ile] cbel[ow] ce[nter] cgetb[uffer] chi[story] cmapc[lear] col[der] conf[irm] cr[ewind] cw[indow] delc[ommand] deletp di[splay] diffs[plit] dl dr[op] ec em[enu] endw[hile] export filt[er] fo[ld] fu[nction] gvim helpt[ags] iabc[lear] import isp[lit] keepa l[ist] laf[ter] lbel[ow] lcscope lfdo lgrepa[dd] lma lo[adview] lop[en] lua m[ove] mes[sages] mod[e] nbs[tart] nor omapc[lear] packl[oadall] popu[p] profd[el] ptf[irst] pts[elect] py3f[ile] pyx r[ead] redrawt[abline] ri[ght] rundo sIl sal[l] sbf[irst] sc scp se[t] sg sgn sie sip sme snoremenu spelli[nfo] spr[evious] sri star[tinsert] substitutepattern sw[apname] t tabd[o] tabn[ext] tags te[aroff] tlm tm[enu] tp[revious] type unl var vie[w] viu[sage] w[rite] windo wqa[ll] xmapc[lear] xprop y[ank] +syn keyword vimCommand contained al[l] argg[lobal] b[uffer] bl[ast] brea[k] buffers ca caf[ter] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cn[ext] colo[rscheme] cons[t] cs d[elete] delel delf[unction] dif[fupdate] difft[his] dli[st] ds[earch] echoe[rr] en[dif] ene[w] exu[sage] fin[d] foldc[lose] g h[elp] hi if in iuna[bbrev] keepalt la[st] lan[guage] lbo[ttom] ld[o] lfir[st] lh[elpgrep] lmak[e] loadk lp[revious] luado ma[rk] mk[exrc] mz[scheme] new nore on[ly] pc[lose] pp[op] promptf[ind] ptj[ump] pu[t] py[thon] pyxdo rec[over] reg[isters] rightb[elow] rv[iminfo] sIn san[dbox] sbl[ast] scI scr[iptnames] setf[iletype] sgI sgp sig sir smenu so[urce] spellr[are] sr srl startg[replace] sun[hide] sy tN[ext] tabe[dit] tabnew tc[l] ter[minal] tlmenu tma[p] tr[ewind] u[ndo] syn match vimCommand contained "\<z[-+^.=]\=\>" syn keyword vimStdPlugin contained Arguments Break Cfilter Clear Continue DiffOrig Evaluate Finish Gdb Lfilter Man N[ext] Over P[rint] Program Run S Source Step Stop Termdebug TermdebugCommand TOhtml Winbar XMLent XMLns @@ -78,11 +78,11 @@ syn match vimHLGroup contained "Conceal" syn case match " Function Names {{{2 -syn keyword vimFuncName contained abs appendbufline asin assert_fails assert_notmatch balloon_gettext bufadd bufname byteidx char2nr ch_evalexpr ch_log ch_readraw cindent complete_check cosh deepcopy diff_hlID eval exists feedkeys findfile fnameescape foldtext garbagecollect getchangelist getcmdpos getcwd getftime getloclist getpos gettabinfo getwinpos glob2regpat hasmapto hlexists index inputsave isdirectory job_getchannel job_stop json_encode line listener_flush luaeval match matchend menu_info nextnonblank popup_atcursor popup_dialog popup_getoptions popup_menu popup_show prompt_setinterrupt prop_list prop_type_get pyeval readdirex reltime remote_peek rename rubyeval screenpos searchdecl serverlist setenv setpos settagstack sign_define sign_placelist sin sound_playevent split str2list strftime strpart submatch synID systemlist taglist term_dumpload term_getcursor term_getstatus term_scrape term_setrestore test_autochdir test_ignore_error test_null_job test_override test_srand_seed timer_start tr undotree wildmenumode win_execute win_gotoid winlayout winrestview winwidth -syn keyword vimFuncName contained acos argc assert_beeps assert_false assert_report balloon_show bufexists bufnr byteidxcomp ch_canread ch_evalraw ch_logfile ch_sendexpr clearmatches complete_info count delete echoraw eventhandler exp filereadable flatten fnamemodify foldtextresult get getchar getcmdtype getenv getftype getmarklist getqflist gettabvar getwinposx globpath histadd hlID input inputsecret isinf job_info join keys line2byte listener_remove map matchadd matchlist min nr2char popup_beval popup_filter_menu popup_getpos popup_move pow prompt_setprompt prop_remove prop_type_list pyxeval readfile reltimefloat remote_read repeat screenattr screenrow searchpair setbufline setfperm setqflist setwinvar sign_getdefined sign_undefine sinh sound_playfile sqrt str2nr strgetchar strptime substitute synIDattr tabpagebuflist tan term_dumpwrite term_getjob term_gettitle term_sendkeys term_setsize test_feedinput test_null_blob test_null_list test_refcount test_unknown timer_stop trim uniq winbufnr win_findbuf winheight winline winsaveview wordcount -syn keyword vimFuncName contained add argidx assert_equal assert_inrange assert_true balloon_split buflisted bufwinid call ch_close ch_getbufnr ch_open ch_sendraw col confirm cscope_connection deletebufline empty executable expand filewritable float2nr foldclosed foreground getbufinfo getcharmod getcmdwintype getfontname getimstatus getmatches getreg gettabwinvar getwinposy has histdel hostname inputdialog insert islocked job_setoptions js_decode len lispindent localtime maparg matchaddpos matchstr mkdir or popup_clear popup_filter_yesno popup_hide popup_notification prevnonblank prop_add prop_type_add pum_getpos rand reduce reltimestr remote_send resolve screenchar screenstring searchpairpos setbufvar setline setreg sha256 sign_getplaced sign_unplace sort sound_stop srand strcharpart stridx strridx swapinfo synIDtrans tabpagenr tanh term_getaltscreen term_getline term_gettty term_setansicolors term_start test_garbagecollect_now test_null_channel test_null_partial test_scrollbar test_void timer_stopall trunc values wincol win_getid win_id2tabwin winnr win_screenpos writefile -syn keyword vimFuncName contained and arglistid assert_equalfile assert_match atan browse bufload bufwinnr ceil ch_close_in ch_getjob ch_read ch_setoptions complete copy cursor did_filetype environ execute expandcmd filter floor foldclosedend funcref getbufline getcharsearch getcompletion getfperm getjumplist getmousepos getreginfo gettagstack getwinvar has_key histget iconv inputlist interrupt isnan job_start js_encode libcall list2str log mapcheck matcharg matchstrpos mode pathshorten popup_close popup_findinfo popup_list popup_setoptions printf prop_clear prop_type_change pumvisible range reg_executing remote_expr remote_startserver reverse screenchars search searchpos setcharsearch setloclist settabvar shellescape sign_jump sign_unplacelist sound_clear spellbadword state strchars string strtrans swapname synstack tabpagewinnr tempname term_getansicolors term_getscrolled terminalprops term_setapi term_wait test_garbagecollect_soon test_null_dict test_null_string test_setmouse timer_info tolower type virtcol windowsversion win_gettype win_id2win winrestcmd win_splitmove xor -syn keyword vimFuncName contained append argv assert_exception assert_notequal atan2 browsedir bufloaded byte2line changenr chdir ch_info ch_readblob ch_status complete_add cos debugbreak diff_filler escape exepath extend finddir fmod foldlevel function getbufvar getcmdline getcurpos getfsize getline getpid getregtype getwininfo glob haslocaldir histnr indent inputrestore invert items job_status json_decode libcallnr listener_add log10 mapset matchdelete max mzeval perleval popup_create popup_findpreview popup_locate popup_settext prompt_setcallback prop_find prop_type_delete py3eval readdir reg_recording remote_foreground remove round screencol searchcount server2client setcmdpos setmatches settabwinvar shiftwidth sign_place simplify soundfold spellsuggest str2float strdisplaywidth strlen strwidth synconcealed system tagfiles term_dumpdiff term_getattr term_getsize term_list term_setkill test_alloc_fail test_getvalue test_null_function test_option_not_set test_settime timer_pause toupper undofile visualmode +syn keyword vimFuncName contained abs appendbufline asin assert_fails assert_notmatch balloon_gettext bufadd bufname byteidx char2nr chdir ch_info ch_readblob ch_status complete_add cos debugbreak diff_filler escape exepath extend finddir fmod foldlevel function getbufvar getcmdline getcurpos getfsize getline getpid getregtype gettext getwinvar has_key histget iconv inputlist interrupt isnan job_start js_encode libcall list2str log mapcheck matcharg matchlist min nr2char popup_beval popup_filter_menu popup_getpos popup_move pow prompt_setinterrupt prop_list prop_type_get pyeval readdirex reltime remote_peek rename rubyeval screenpos searchdecl serverlist setcmdpos setmatches settabwinvar shiftwidth sign_place simplify soundfold spellsuggest str2float strdisplaywidth strlen strwidth synconcealed system tagfiles term_dumpdiff term_getattr term_getsize term_list term_setkill test_alloc_fail test_getvalue test_null_function test_option_not_set test_settime timer_pause toupper undofile visualmode win_execute winheight winnr win_splitmove +syn keyword vimFuncName contained acos argc assert_beeps assert_false assert_report balloon_show bufexists bufnr byteidxcomp charclass ch_evalexpr ch_log ch_readraw cindent complete_check cosh deepcopy diff_hlID eval exists feedkeys findfile fnameescape foldtext garbagecollect getchangelist getcmdpos getcwd getftime getloclist getpos gettabinfo getwininfo glob haslocaldir histnr indent inputrestore invert items job_status json_decode libcallnr listener_add log10 mapset matchdelete matchstr mkdir or popup_clear popup_filter_yesno popup_hide popup_notification prevnonblank prompt_setprompt prop_remove prop_type_list pyxeval readfile reltimefloat remote_read repeat screenattr screenrow searchpair setbufline setenv setpos settagstack sign_define sign_placelist sin sound_playevent split str2list strftime strpart submatch synID systemlist taglist term_dumpload term_getcursor term_getstatus term_scrape term_setrestore test_autochdir test_ignore_error test_null_job test_override test_srand_seed timer_start tr undotree wildmenumode win_findbuf win_id2tabwin winrestcmd winwidth +syn keyword vimFuncName contained add argidx assert_equal assert_inrange assert_true balloon_split buflisted bufwinid call ch_canread ch_evalraw ch_logfile ch_sendexpr clearmatches complete_info count delete echoraw eventhandler exp filereadable flatten fnamemodify foldtextresult get getchar getcmdtype getenv getftype getmarklist getqflist gettabvar getwinpos glob2regpat hasmapto hlexists index inputsave isdirectory job_getchannel job_stop json_encode line listener_flush luaeval match matchend matchstrpos mode pathshorten popup_close popup_findinfo popup_list popup_setoptions printf prop_add prop_type_add pum_getpos rand reduce reltimestr remote_send resolve screenchar screenstring searchpairpos setbufvar setfperm setqflist setwinvar sign_getdefined sign_undefine sinh sound_playfile sqrt str2nr strgetchar strptime substitute synIDattr tabpagebuflist tan term_dumpwrite term_getjob term_gettitle term_sendkeys term_setsize test_feedinput test_null_blob test_null_list test_refcount test_unknown timer_stop trim uniq winbufnr win_getid win_id2win winrestview wordcount +syn keyword vimFuncName contained and arglistid assert_equalfile assert_match atan browse bufload bufwinnr ceil ch_close ch_getbufnr ch_open ch_sendraw col confirm cscope_connection deletebufline empty executable expand filewritable float2nr foldclosed foreground getbufinfo getcharmod getcmdwintype getfontname getimstatus getmatches getreg gettabwinvar getwinposx globpath histadd hlID input inputsecret isinf job_info join keys line2byte listener_remove map matchadd matchfuzzy max mzeval perleval popup_create popup_findpreview popup_locate popup_settext prompt_getprompt prop_clear prop_type_change pumvisible range reg_executing remote_expr remote_startserver reverse screenchars search searchpos setcellwidths setline setreg sha256 sign_getplaced sign_unplace sort sound_stop srand strcharpart stridx strridx swapinfo synIDtrans tabpagenr tanh term_getaltscreen term_getline term_gettty term_setansicolors term_start test_garbagecollect_now test_null_channel test_null_partial test_scrollbar test_void timer_stopall trunc values wincol win_gettype winlayout winsaveview writefile +syn keyword vimFuncName contained append argv assert_exception assert_notequal atan2 browsedir bufloaded byte2line changenr ch_close_in ch_getjob ch_read ch_setoptions complete copy cursor did_filetype environ execute expandcmd filter floor foldclosedend funcref getbufline getcharsearch getcompletion getfperm getjumplist getmousepos getreginfo gettagstack getwinposy has histdel hostname inputdialog insert islocked job_setoptions js_decode len lispindent localtime maparg matchaddpos matchfuzzypos menu_info nextnonblank popup_atcursor popup_dialog popup_getoptions popup_menu popup_show prompt_setcallback prop_find prop_type_delete py3eval readdir reg_recording remote_foreground remove round screencol searchcount server2client setcharsearch setloclist settabvar shellescape sign_jump sign_unplacelist sound_clear spellbadword state strchars string strtrans swapname synstack tabpagewinnr tempname term_getansicolors term_getscrolled terminalprops term_setapi term_wait test_garbagecollect_soon test_null_dict test_null_string test_setmouse timer_info tolower type virtcol windowsversion win_gotoid winline win_screenpos xor "--- syntax here and above generated by mkvimvim --- " Special Vim Highlighting (not automatic) {{{1 diff --git a/runtime/syntax/xkb.vim b/runtime/syntax/xkb.vim index 59fc497e6..d70ed63f7 100644 --- a/runtime/syntax/xkb.vim +++ b/runtime/syntax/xkb.vim @@ -2,7 +2,7 @@ " This is a GENERATED FILE. Please always refer to source file at the URI below. " Language: XKB (X Keyboard Extension) components " Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz> -" Last Change: 2003-04-13 +" Last Change: 2020 Oct 06 " URL: http://trific.ath.cx/Ftp/vim/syntax/xkb.vim " Setup |