]> granicus.if.org Git - vim/commitdiff
Updated runtime files.
authorBram Moolenaar <Bram@vim.org>
Sat, 5 Dec 2015 19:59:21 +0000 (20:59 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 5 Dec 2015 19:59:21 +0000 (20:59 +0100)
runtime/doc/eval.txt
runtime/doc/filetype.txt
runtime/doc/if_ruby.txt
runtime/doc/tags
runtime/doc/todo.txt
runtime/syntax/r.vim
runtime/syntax/vhdl.vim
runtime/syntax/vim.vim

index 2e89098a665987f1d761fea0b515e26fddf861be..f59c7f4ebe5622de70dde9120a71224eec3419fa 100644 (file)
@@ -1,4 +1,4 @@
-*eval.txt*     For Vim version 7.4.  Last change: 2015 Nov 30
+*eval.txt*     For Vim version 7.4.  Last change: 2015 Dec 03
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -5821,11 +5821,6 @@ sort({list} [, {func} [, {dict}]])                       *sort()* *E702*
                on numbers, text strings will sort next to each other, in the
                same order as they were originally.
 
-               The sort is stable, items which compare equal (as number or as
-               string) will keep their relative position. E.g., when sorting
-               on numbers, text strings will sort next to each other, in the
-               same order as they were originally.
-
                Also see |uniq()|.
 
                Example: >
index e1e70950a6a58f250e022087fb198ae02537e64a..540ebb476b227058acbe2be24230beb81532091b 100644 (file)
@@ -1,4 +1,4 @@
-*filetype.txt*  For Vim version 7.4.  Last change: 2015 Nov 24
+*filetype.txt*  For Vim version 7.4.  Last change: 2015 Nov 28
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -552,7 +552,7 @@ Local mappings:
        to the end of the file in Normal mode.  This means "> " is inserted in
        each line.
 
-MAN                                                    *ft-man-plugin* *:Man*
+MAN                                    *ft-man-plugin* *:Man* *man.vim*
 
 Displays a manual page in a nice way.  Also see the user manual
 |find-manpage|.
index 0d41d8fb2b653b7bbb4f80287c34bf38d6f02b05..b0f8029985e5e2cfc4d74c80538eaa14a44f7cd8 100644 (file)
@@ -1,4 +1,4 @@
-*if_ruby.txt*   For Vim version 7.4.  Last change: 2015 Oct 16
+*if_ruby.txt*   For Vim version 7.4.  Last change: 2015 Dec 03
 
 
                  VIM REFERENCE MANUAL    by Shugo Maeda
@@ -7,9 +7,9 @@ The Ruby Interface to Vim                               *ruby* *Ruby*
 
 
 1. Commands                    |ruby-commands|
-2. The VIM module              |ruby-vim|
-3. VIM::Buffer objects         |ruby-buffer|
-4. VIM::Window objects         |ruby-window|
+2. The Vim module              |ruby-vim|
+3. Vim::Buffer objects         |ruby-buffer|
+4. Vim::Window objects         |ruby-window|
 5. Global variables            |ruby-globals|
 6. Dynamic loading             |ruby-dynamic|
 
@@ -47,7 +47,7 @@ Example Vim script: >
        ruby << EOF
        class Garnet
                def initialize(s)
-                       @buffer = VIM::Buffer.current
+                       @buffer = Vim::Buffer.current
                        vimputs(s)
                end
                def vimputs(s)
@@ -74,19 +74,19 @@ Example Vim script: >
 Executing Ruby commands is not possible in the |sandbox|.
 
 ==============================================================================
-2. The VIM module                                      *ruby-vim*
+2. The Vim module                                      *ruby-vim*
 
-Ruby code gets all of its access to vim via the "VIM" module.
+Ruby code gets all of its access to vim via the "Vim" module.
 
-Overview >
+Overview: >
        print "Hello"                         # displays a message
-       VIM.command(cmd)                      # execute an Ex command
-       num = VIM::Window.count               # gets the number of windows
-       w = VIM::Window[n]                    # gets window "n"
-       cw = VIM::Window.current              # gets the current window
-       num = VIM::Buffer.count               # gets the number of buffers
-       b = VIM::Buffer[n]                    # gets buffer "n"
-       cb = VIM::Buffer.current              # gets the current buffer
+       Vim.command(cmd)                      # execute an Ex command
+       num = Vim::Window.count               # gets the number of windows
+       w = Vim::Window[n]                    # gets window "n"
+       cw = Vim::Window.current              # gets the current window
+       num = Vim::Buffer.count               # gets the number of buffers
+       b = Vim::Buffer[n]                    # gets buffer "n"
+       cb = Vim::Buffer.current              # gets the current buffer
        w.height = lines                      # sets the window height
        w.cursor = [row, col]                 # sets the window cursor position
        pos = w.cursor                        # gets an array [row, col]
@@ -96,29 +96,29 @@ Overview >
        b[n] = str                            # sets a line in the buffer
        b.delete(n)                           # deletes a line
        b.append(n, str)                      # appends a line after n
-       line = VIM::Buffer.current.line       # gets the current line
-       num = VIM::Buffer.current.line_number # gets the current line number
-       VIM::Buffer.current.line = "test"     # sets the current line number
+       line = Vim::Buffer.current.line       # gets the current line
+       num = Vim::Buffer.current.line_number # gets the current line number
+       Vim::Buffer.current.line = "test"     # sets the current line number
 <
 
 Module Functions:
 
                                                        *ruby-message*
-VIM::message({msg})
+Vim::message({msg})
        Displays the message {msg}.
 
                                                        *ruby-set_option*
-VIM::set_option({arg})
+Vim::set_option({arg})
        Sets a vim option.  {arg} can be any argument that the ":set" command
        accepts.  Note that this means that no spaces are allowed in the
        argument!  See |:set|.
 
                                                        *ruby-command*
-VIM::command({cmd})
+Vim::command({cmd})
        Executes Ex command {cmd}.
 
                                                        *ruby-evaluate*
-VIM::evaluate({expr})
+Vim::evaluate({expr})
        Evaluates {expr} using the vim internal expression evaluator (see
        |expression|).  Returns the expression result as:
        - a Integer if the Vim expression evaluates to a number
@@ -129,9 +129,9 @@ VIM::evaluate({expr})
        Dictionaries and lists are recursively expanded.
 
 ==============================================================================
-3. VIM::Buffer objects                                 *ruby-buffer*
+3. Vim::Buffer objects                                 *ruby-buffer*
 
-VIM::Buffer objects represent vim buffers.
+Vim::Buffer objects represent vim buffers.
 
 Class Methods:
 
@@ -159,9 +159,9 @@ line_number     Returns the number of the current line if the buffer is
                active.
 
 ==============================================================================
-4. VIM::Window objects                                 *ruby-window*
+4. Vim::Window objects                                 *ruby-window*
 
-VIM::Window objects represent vim windows.
+Vim::Window objects represent vim windows.
 
 Class Methods:
 
index 6b76f9ac96b680f899fd2a6cd2ce2637972fc8dd..04fcd24979e69acd9e18379e495f008b26231498 100644 (file)
@@ -4899,6 +4899,9 @@ asin()    eval.txt        /*asin()*
 asm.vim        syntax.txt      /*asm.vim*
 asm68k syntax.txt      /*asm68k*
 asmh8300.vim   syntax.txt      /*asmh8300.vim*
+assert_equal() eval.txt        /*assert_equal()*
+assert_false() eval.txt        /*assert_false()*
+assert_true()  eval.txt        /*assert_true()*
 at     motion.txt      /*at*
 atan() eval.txt        /*atan()*
 atan2()        eval.txt        /*atan2()*
@@ -5590,6 +5593,7 @@ errorformat-multi-line    quickfix.txt    /*errorformat-multi-line*
 errorformat-separate-filename  quickfix.txt    /*errorformat-separate-filename*
 errorformats   quickfix.txt    /*errorformats*
 errors message.txt     /*errors*
+errors-variable        eval.txt        /*errors-variable*
 escape intro.txt       /*escape*
 escape()       eval.txt        /*escape()*
 escape-bar     version4.txt    /*escape-bar*
@@ -6911,6 +6915,7 @@ mail.vim  syntax.txt      /*mail.vim*
 maillist       intro.txt       /*maillist*
 maillist-archive       intro.txt       /*maillist-archive*
 make.vim       syntax.txt      /*make.vim*
+man.vim        filetype.txt    /*man.vim*
 manual-copyright       usr_01.txt      /*manual-copyright*
 map()  eval.txt        /*map()*
 map-<SID>      map.txt /*map-<SID>*
@@ -8434,6 +8439,7 @@ terminal-info     term.txt        /*terminal-info*
 terminal-options       term.txt        /*terminal-options*
 terminfo       term.txt        /*terminfo*
 termresponse-variable  eval.txt        /*termresponse-variable*
+test-functions usr_41.txt      /*test-functions*
 tex-cchar      syntax.txt      /*tex-cchar*
 tex-cole       syntax.txt      /*tex-cole*
 tex-conceal    syntax.txt      /*tex-conceal*
@@ -8583,6 +8589,7 @@ v:count1  eval.txt        /*v:count1*
 v:ctype        eval.txt        /*v:ctype*
 v:dying        eval.txt        /*v:dying*
 v:errmsg       eval.txt        /*v:errmsg*
+v:errors       eval.txt        /*v:errors*
 v:exception    eval.txt        /*v:exception*
 v:fcs_choice   eval.txt        /*v:fcs_choice*
 v:fcs_reason   eval.txt        /*v:fcs_reason*
index 2a98305931b85c7f9176b4fca7ab51042990bf52..f2650007cfc6ae7394bb02684d4a11b1e3230a17 100644 (file)
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.4.  Last change: 2015 Nov 24
+*todo.txt*      For Vim version 7.4.  Last change: 2015 Dec 05
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -73,7 +73,13 @@ Regexp problems:
 - this doesn't work: "syntax match ErrorMsg /.\%9l\%>20c\&\%<28c/".  Leaving
   out the \& works.  Seems any column check after \& fails.
 - The pattern "\1" with the old engine gives E65, with the new engine it
-  matches the empty string. (Dominique Pelle, 2015 Oct 2)
+  matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24)
+
+English spell file has an encoding error in the affix file.
+Perhaps use the files from here:
+https://github.com/marcoagpinto/aoo-mozilla-en-dict
+
+Patch to enable clipboard with MSYS2. (Ken Takata, 2015 Nov 26)
 
 Still using freed memory after using setloclist(). (lcd, 2014 Jul 23)
 More info Jul 24.  Not clear why.
@@ -90,15 +96,33 @@ Should use /usr/local/share/applications or /usr/share/applications.
 Or use $XDG_DATA_DIRS.
 Also need to run update-desktop-database (Kuriyama Kazunobu, 2015 Nov 4)
 
+test107 fails when run in the GUI on Linux.
+
 Access to uninitialized memory in match_backref() regexp_nda.c:4882
 (Dominique Pelle, 2015 Nov 6)
 
+Patch to fix test_listchars for MingW. (Christian Brabandt, 2015 Nov 29)
+
+Patch to not set the python home if $PYTHONHOME is set. (Kazuki Sakamoto,
+2015 Nov 24)
+
 Patch to use local value of 'errorformat' in :cexpr. (Christian Brabandt,
 2015 Oct 16)  Only do this for :lexpr ?
 
 ":cd C:\Windows\System32\drivers\etc*" does not work, even though the
 directory exists. (Sergio Gallelli, 2013 Dec 29)
 
+Patch to make fnamemodify() work better with Cygwin. (Wily Wampa, 2015 Nov 28,
+issue 505)
+
+Patch to fix mc_FullName() on root directory. (Milly, 2015 Nov 24, Issue 501)
+
+Patch to make matchparen restore curswant properly. (Christian Brabandt, 2015
+Nov 26)
+
+Test 17 does not clean up the directory it creates. (Michael Soyka, 2015 Nov
+28)
+
 English spell checking has an error.  Updating doesn't work.
 (Dominique Pelle, 2015 Oct 15)
 Hint for new URL: Christian Brabandt, 2015 Oct 15.
@@ -116,6 +140,12 @@ Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
 Unexpected delay when using CTRL-O u.  It's not timeoutlen.
 (Gary Johnson, 2015 Aug 28)
 
+Patch for tee on Windows. (Yasuhiro Matsumoto, 2015 Nov 30)
+Update Dec 1.
+
+Patch to use 256 color setup for all terminals that have 256 colors or more.
+#504. (rdebath, 2015 Dec 1)
+
 Instead of separately uploading patches to the ftp site, can we get them from
 github?  This URL works:
    https://github.com/vim/vim/compare/v7.4.920%5E...v7.4.920.diff
@@ -123,18 +153,24 @@ github?  This URL works:
 Can src/GvimExt/Make_cyg.mak be removed?
 Same for src/xxd/Make_cyg.mak
 
+Patch to replace deprecated gdk_pixbuf_new_from_inline(). (Kazunobu Kuriyama,
+2015 Nov 30, PR #507)
+
+Updated Fortran files. (Ajit Thakkar, 2015 Nov 30, second one)
+
 Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
 
+Patch to add wordcount().  (Christian Brabandt, 2015 Nov 27)
+
 Plugin to use Vim in MANPAGER.  Konfekt, PR #491
 
 Using uninitialized memory. (Dominique Pelle, 2015 Nov 4)
 
 Patch to recognize string slice for variable followed by colon.
-(Hirohito Higashi, 2015 Nov 3)
-Patch to .ok file is missing.
+(Hirohito Higashi, 2015 Nov 24)
 
 Patch to add debug backtrace. (Alberto Fanjul, 2015 Sep 27)
-Needs fixes.
+Update Dec 2.
 
 MS-Windows: When editing a file with a leading space, writing it uses the
 wrong name. (Aram, 2014 Nov 7)  Vim 7.4.
@@ -150,6 +186,9 @@ inconsistent with the documentation.
 
 Patch to add window and tab arguments to getcwd(). (Thinca, 2015 Nov 15)
 
+Patch to build with Python using MSYS2. (Yasuhiro Matsumoto, 2015 Nov 26)
+Updated Nov 29.
+
 To support Thai (and other languages) word boundaries, include the ICU
 library:  http://userguide.icu-project.org/boundaryanalysis
 
@@ -167,6 +206,9 @@ MS-Windows: Crash opening very long file name starting with "\\".
 
 Patch to add ":syn iskeyword". (Christian Brabandt, 2015 Nov 10)
 
+Patch to use PLATFORM to determine target architecture. (Taro Muraoka, 2015
+Nov 29)
+
 If libiconv.dll is not found search for libiconv2.dll. (Yasuhiro Matsumoto,
 2015 Oct 7)
 
@@ -497,8 +539,6 @@ Remark on the docs.  Should not be a compile time feature.  But then what?
 Completion of ":e" is ":earlier", should be ":edit".  Complete to the matching
 command instead of doing this alphabetically. (Mikel Jorgensen)
 
-Patch to get MSVC version in a nicer way. (Ken Takata, 2014 Jul 24)
-
 Patch to define macros for hardcoded values. (Elias Diem, 2013 Dec 14)
 
 Several syntax file match "^\s*" which may get underlined if that's in the
index 9677823fb12510033c6c2b8d0ae5a1702a377535..e48b6686cbeeb8f45ec7a1fca586aa4dc2f0b822 100644 (file)
@@ -3,7 +3,9 @@
 " Maintainer:        Jakson Aquino <jalvesaq@gmail.com>
 " Former Maintainers: Vaidotas Zemlys <zemlys@gmail.com>
 "                    Tom Payne <tom@tompayne.org>
-" Last Change:       Wed Dec 31, 2014  12:36AM
+" Contributor:        Johannes Ranke <jranke@uni-bremen.de>
+" Homepage:           https://github.com/jalvesaq/R-Vim-runtime
+" Last Change:       Wed Oct 21, 2015  06:33AM
 " Filenames:         *.R *.r *.Rhistory *.Rt
 "
 " NOTE: The highlighting of R functions is defined in
@@ -30,16 +32,21 @@ syn case match
 
 " Comment
 syn match rCommentTodo contained "\(BUG\|FIXME\|NOTE\|TODO\):"
-syn match rComment contains=@Spell,rCommentTodo "#.*"
+syn match rComment contains=@Spell,rCommentTodo,rOBlock "#.*"
 
 " Roxygen
-syn match rOKeyword contained "@\(param\|return\|name\|rdname\|examples\|include\|docType\)"
+syn region rOBlock start="^\s*\n#\{1,2}' " start="\%^#\{1,2}' " end="^\(#\{1,2}'\)\@!" contains=rOTitle,rOKeyword,rOExamples,@Spell keepend
+syn region rOTitle start="^\s*\n#\{1,2}' " start="\%^#\{1,2}' " end="^\(#\{1,2}'\s*$\)\@=" contained contains=rOCommentKey
+syn match rOCommentKey "#\{1,2}'" containedin=rOTitle contained
+
+syn region rOExamples start="^#\{1,2}' @examples.*"rs=e+1,hs=e+1 end="^\(#\{1,2}' @.*\)\@=" end="^\(#\{1,2}'\)\@!" contained contains=rOKeyword
+
+syn match rOKeyword contained "@\(param\|return\|name\|rdname\|examples\|example\|include\|docType\)"
 syn match rOKeyword contained "@\(S3method\|TODO\|aliases\|alias\|assignee\|author\|callGraphDepth\|callGraph\)"
 syn match rOKeyword contained "@\(callGraphPrimitives\|concept\|exportClass\|exportMethod\|exportPattern\|export\|formals\)"
 syn match rOKeyword contained "@\(format\|importClassesFrom\|importFrom\|importMethodsFrom\|import\|keywords\|useDynLib\)"
 syn match rOKeyword contained "@\(method\|noRd\|note\|references\|seealso\|setClass\|slot\|source\|title\|usage\)"
-syn match rOKeyword contained "@\(family\|template\|templateVar\|description\|details\|inheritParams\)"
-syn match rOComment contains=@Spell,rOKeyword "#'.*"
+syn match rOKeyword contained "@\(family\|template\|templateVar\|description\|details\|inheritParams\|field\)"
 
 
 if &filetype == "rhelp"
@@ -202,7 +209,6 @@ hi def link rBoolean     Boolean
 hi def link rBraceError  Error
 hi def link rComment     Comment
 hi def link rCommentTodo Todo
-hi def link rOComment    Comment
 hi def link rComplex     Number
 hi def link rConditional Conditional
 hi def link rConstant    Constant
@@ -230,6 +236,11 @@ hi def link rString      String
 hi def link rStrError    Error
 hi def link rType        Type
 hi def link rOKeyword    Title
+hi def link rOBlock      Comment
+hi def link rOTitle      Title
+hi def link rOCommentKey Comment
+hi def link rOExamples   SpecialComment
+
 
 let b:current_syntax="r"
 
index eeba10a41c3baaff35a60f70386caf13f84c353d..916bd9635d4a4b963b832262eb9441ac165103c2 100644 (file)
@@ -3,7 +3,7 @@
 " Maintainer:  Daniel Kho <daniel.kho@tauhop.com>
 " Previous Maintainer: Czo <Olivier.Sirol@lip6.fr>
 " Credits:     Stephan Hegel <stephan.hegel@snc.siemens.com.cn>
-" Last Changed:        2015 Oct 13 by Daniel Kho
+" Last Changed:        2015 Dec 4 by Daniel Kho
 
 " VHSIC (Very High Speed Integrated Circuit) Hardware Description Language
 
@@ -18,145 +18,124 @@ endif
 let s:cpo_save = &cpo
 set cpo&vim
 
-" This is not VHDL. I use the C-Preprocessor cpp to generate different binaries
-" from one VHDL source file. Unfortunately there is no preprocessor for VHDL
-" available. If you don't like this, please remove the following lines.
-"syn match cDefine "^#ifdef[ ]\+[A-Za-z_]\+"
-"syn match cDefine "^#endif"
-
 " case is not significant
-syn case ignore
+syn case       ignore
 
 " VHDL keywords
-syn keyword vhdlStatement access after alias all assert
-syn keyword vhdlStatement architecture array attribute
-syn keyword vhdlStatement assume assume_guarantee
-syn keyword vhdlStatement begin block body buffer bus
-syn keyword vhdlStatement case component configuration constant
-syn keyword vhdlStatement context cover
-syn keyword vhdlStatement default disconnect downto
-syn keyword vhdlStatement elsif end entity exit
-syn keyword vhdlStatement file for function
-syn keyword vhdlStatement fairness force
-syn keyword vhdlStatement generate generic group guarded
-syn keyword vhdlStatement impure in inertial inout is
-syn keyword vhdlStatement label library linkage literal loop
-syn keyword vhdlStatement map
-syn keyword vhdlStatement new next null
-syn keyword vhdlStatement of on open others out
-syn keyword vhdlStatement package port postponed procedure process pure
-syn keyword vhdlStatement parameter property protected
-syn keyword vhdlStatement range record register reject report return
-syn keyword vhdlStatement release restrict restrict_guarantee
-syn keyword vhdlStatement select severity signal shared
-syn keyword vhdlStatement subtype
-syn keyword vhdlStatement sequence strong
-syn keyword vhdlStatement then to transport type
-syn keyword vhdlStatement unaffected units until use
-syn keyword vhdlStatement variable
-syn keyword vhdlStatement vmode vprop vunit
-syn keyword vhdlStatement wait when while with
-syn keyword vhdlStatement note warning error failure
-
-" Special match for "if" and "else" since "else if" shouldn't be highlighted.
-" The right keyword is "elsif"
-syn match   vhdlStatement "\<\(if\|else\)\>"
-syn match   vhdlNone      "\<else\s\+if\>$"
-syn match   vhdlNone      "\<else\s\+if\>\s"
+syn keyword    vhdlStatement   access after alias all assert
+syn keyword    vhdlStatement   architecture array attribute
+syn keyword    vhdlStatement   assume assume_guarantee
+syn keyword    vhdlStatement   begin block body buffer bus
+syn keyword    vhdlStatement   case component configuration constant
+syn keyword    vhdlStatement   context cover
+syn keyword    vhdlStatement   default disconnect downto
+syn keyword    vhdlStatement   elsif end entity exit
+syn keyword    vhdlStatement   file for function
+syn keyword    vhdlStatement   fairness force
+syn keyword    vhdlStatement   generate generic group guarded
+syn keyword    vhdlStatement   impure in inertial inout is
+syn keyword    vhdlStatement   label library linkage literal loop
+syn keyword    vhdlStatement   map
+syn keyword    vhdlStatement   new next null
+syn keyword    vhdlStatement   of on open others out
+syn keyword    vhdlStatement   package port postponed procedure process pure
+syn keyword    vhdlStatement   parameter property protected
+syn keyword    vhdlStatement   range record register reject report return
+syn keyword    vhdlStatement   release restrict restrict_guarantee
+syn keyword    vhdlStatement   select severity signal shared
+syn keyword    vhdlStatement   subtype
+syn keyword    vhdlStatement   sequence strong
+syn keyword    vhdlStatement   then to transport type
+syn keyword    vhdlStatement   unaffected units until use
+syn keyword    vhdlStatement   variable
+syn keyword    vhdlStatement   vmode vprop vunit
+syn keyword    vhdlStatement   wait when while with
+syn keyword    vhdlStatement   note warning error failure
+
+" Linting of conditionals.
+syn match      vhdlStatement   "\<\(if\|else\)\>"
+syn match      vhdlError       "\<else\s\+if\>"
 
 " Predefined VHDL types
-syn keyword vhdlType bit bit_vector
-syn keyword vhdlType character boolean integer real time
-syn keyword vhdlType boolean_vector integer_vector real_vector time_vector
-syn keyword vhdlType string severity_level
+syn keyword    vhdlType        bit bit_vector
+syn keyword    vhdlType        character boolean integer real time
+syn keyword    vhdlType        boolean_vector integer_vector real_vector time_vector
+syn keyword    vhdlType        string severity_level
 " Predefined standard ieee VHDL types
-syn keyword vhdlType positive natural signed unsigned
-syn keyword vhdlType unresolved_signed unresolved_unsigned u_signed u_unsigned 
-syn keyword vhdlType line text
-syn keyword vhdlType std_logic std_logic_vector
-syn keyword vhdlType std_ulogic std_ulogic_vector
-" Predefined non standard VHDL types for Mentor Graphics Sys1076/QuickHDL
-"syn keyword vhdlType qsim_state qsim_state_vector
-"syn keyword vhdlType qsim_12state qsim_12state_vector
-"syn keyword vhdlType qsim_strength
-" Predefined non standard VHDL types for Alliance VLSI CAD
-"syn keyword vhdlType mux_bit mux_vector reg_bit reg_vector wor_bit wor_vector
+syn keyword    vhdlType        positive natural signed unsigned
+syn keyword    vhdlType        unresolved_signed unresolved_unsigned u_signed u_unsigned
+syn keyword    vhdlType        line text
+syn keyword    vhdlType        std_logic std_logic_vector
+syn keyword    vhdlType        std_ulogic std_ulogic_vector
 
 " array attributes
-syn match vhdlAttribute "\'high"
-syn match vhdlAttribute "\'left"
-syn match vhdlAttribute "\'length"
-syn match vhdlAttribute "\'low"
-syn match vhdlAttribute "\'range"
-syn match vhdlAttribute "\'reverse_range"
-syn match vhdlAttribute "\'right"
-syn match vhdlAttribute "\'ascending"
+syn match      vhdlAttribute   "\'high"
+syn match      vhdlAttribute   "\'left"
+syn match      vhdlAttribute   "\'length"
+syn match      vhdlAttribute   "\'low"
+syn match      vhdlAttribute   "\'range"
+syn match      vhdlAttribute   "\'reverse_range"
+syn match      vhdlAttribute   "\'right"
+syn match      vhdlAttribute   "\'ascending"
 " block attributes
-"syn match vhdlAttribute "\'behaviour"     " Non-standard VHDL
-"syn match vhdlAttribute "\'structure"     " Non-standard VHDL
-syn match vhdlAttribute "\'simple_name"
-syn match vhdlAttribute "\'instance_name"
-syn match vhdlAttribute "\'path_name"
-syn match vhdlAttribute "\'foreign"        " VHPI
+syn match      vhdlAttribute   "\'simple_name"
+syn match      vhdlAttribute   "\'instance_name"
+syn match      vhdlAttribute   "\'path_name"
+syn match      vhdlAttribute   "\'foreign"         " VHPI
 " signal attribute
-syn match vhdlAttribute "\'active"
-syn match vhdlAttribute "\'delayed"
-syn match vhdlAttribute "\'event"
-syn match vhdlAttribute "\'last_active"
-syn match vhdlAttribute "\'last_event"
-syn match vhdlAttribute "\'last_value"
-syn match vhdlAttribute "\'quiet"
-syn match vhdlAttribute "\'stable"
-syn match vhdlAttribute "\'transaction"
-syn match vhdlAttribute "\'driving"
-syn match vhdlAttribute "\'driving_value"
+syn match      vhdlAttribute   "\'active"
+syn match      vhdlAttribute   "\'delayed"
+syn match      vhdlAttribute   "\'event"
+syn match      vhdlAttribute   "\'last_active"
+syn match      vhdlAttribute   "\'last_event"
+syn match      vhdlAttribute   "\'last_value"
+syn match      vhdlAttribute   "\'quiet"
+syn match      vhdlAttribute   "\'stable"
+syn match      vhdlAttribute   "\'transaction"
+syn match      vhdlAttribute   "\'driving"
+syn match      vhdlAttribute   "\'driving_value"
 " type attributes
-syn match vhdlAttribute "\'base"
-syn match vhdlAttribute "\'subtype"
-syn match vhdlAttribute "\'element"
-syn match vhdlAttribute "\'leftof"
-syn match vhdlAttribute "\'pos"
-syn match vhdlAttribute "\'pred"
-syn match vhdlAttribute "\'rightof"
-syn match vhdlAttribute "\'succ"
-syn match vhdlAttribute "\'val"
-syn match vhdlAttribute "\'image"
-syn match vhdlAttribute "\'value"
-
-syn keyword vhdlBoolean true false
+syn match      vhdlAttribute   "\'base"
+syn match      vhdlAttribute   "\'subtype"
+syn match      vhdlAttribute   "\'element"
+syn match      vhdlAttribute   "\'leftof"
+syn match      vhdlAttribute   "\'pos"
+syn match      vhdlAttribute   "\'pred"
+syn match      vhdlAttribute   "\'rightof"
+syn match      vhdlAttribute   "\'succ"
+syn match      vhdlAttribute   "\'val"
+syn match      vhdlAttribute   "\'image"
+syn match      vhdlAttribute   "\'value"
+
+syn keyword    vhdlBoolean     true false
 
 " for this vector values case is significant
-syn case match
+syn case       match
 " Values for standard VHDL types
-syn match vhdlVector "\'[0L1HXWZU\-\?]\'"
-" Values for non standard VHDL types qsim_12state for Mentor Graphics Sys1076/QuickHDL
-"syn keyword vhdlVector S0S S1S SXS S0R S1R SXR S0Z S1Z SXZ S0I S1I SXI
-syn case ignore
+syn match      vhdlVector      "\'[0L1HXWZU\-\?]\'"
+syn case       ignore
 
-syn match  vhdlVector "B\"[01_]\+\""
-syn match  vhdlVector "O\"[0-7_]\+\""
-syn match  vhdlVector "X\"[0-9a-f_]\+\""
-syn match  vhdlCharacter "'.'"
-syn region vhdlString start=+"+  end=+"+
+syn match      vhdlVector      "B\"[01_]\+\""
+syn match      vhdlVector      "O\"[0-7_]\+\""
+syn match      vhdlVector      "X\"[0-9a-f_]\+\""
+syn match      vhdlCharacter   "'.'"
+syn region     vhdlString      start=+"+  end=+"+
 
 " floating numbers
-syn match vhdlNumber "-\=\<\d\+\.\d\+\(E[+\-]\=\d\+\)\>"
-syn match vhdlNumber "-\=\<\d\+\.\d\+\>"
-syn match vhdlNumber "0*2#[01_]\+\.[01_]\+#\(E[+\-]\=\d\+\)\="
-syn match vhdlNumber "0*16#[0-9a-f_]\+\.[0-9a-f_]\+#\(E[+\-]\=\d\+\)\="
+syn match      vhdlNumber      "-\=\<\d\+\.\d\+\(E[+\-]\=\d\+\)\>"
+syn match      vhdlNumber      "-\=\<\d\+\.\d\+\>"
+syn match      vhdlNumber      "0*2#[01_]\+\.[01_]\+#\(E[+\-]\=\d\+\)\="
+syn match      vhdlNumber      "0*16#[0-9a-f_]\+\.[0-9a-f_]\+#\(E[+\-]\=\d\+\)\="
 " integer numbers
-syn match vhdlNumber "-\=\<\d\+\(E[+\-]\=\d\+\)\>"
-syn match vhdlNumber "-\=\<\d\+\>"
-syn match vhdlNumber "0*2#[01_]\+#\(E[+\-]\=\d\+\)\="
-syn match vhdlNumber "0*16#[0-9a-f_]\+#\(E[+\-]\=\d\+\)\="
+syn match      vhdlNumber      "-\=\<\d\+\(E[+\-]\=\d\+\)\>"
+syn match      vhdlNumber      "-\=\<\d\+\>"
+syn match      vhdlNumber      "0*2#[01_]\+#\(E[+\-]\=\d\+\)\="
+syn match      vhdlNumber      "0*16#[0-9a-f_]\+#\(E[+\-]\=\d\+\)\="
 
 " operators
 syn keyword    vhdlOperator    and nand or nor xor xnor
 syn keyword    vhdlOperator    rol ror sla sll sra srl
 syn keyword    vhdlOperator    mod rem abs not
-" TODO remove the following line. You can't have a sequence of */=+ as an operator for example.
-"syn match     vhdlOperator    "[&><=:+\-*\/|]"
-" The following lines match valid and invalid operators.
 
 " Concatenation and math operators
 syn match      vhdlOperator    "&\|+\|-\|\*\|\/"
@@ -171,19 +150,25 @@ syn match vhdlOperator    "=>"
 " VHDL-2008 conversion, matching equality/non-equality operators
 syn match      vhdlOperator    "??\|?=\|?\/=\|?<\|?<=\|?>\|?>="
 
+" VHDL-2008 external names
+syn match      vhdlOperator    "<<\|>>"
+
 " Linting for illegal operators
 " '='
 syn match      vhdlError       "\(=\)[<=&+\-\*\/\\]\+"
 syn match      vhdlError       "[=&+\-\*\\]\+\(=\)"
 " '>', '<'
-syn match      vhdlError       "\(>\)[<>&+\-\/\\]\+"
-syn match      vhdlError       "[>&+\-\/\\]\+\(>\)"
-syn match      vhdlError       "\(<\)[<&+\-\/\\]\+"
-syn match      vhdlError       "[<>=&+\-\/\\]\+\(<\)"
+" Allow external names: '<< ... >>'
+syn match      vhdlError       "\(>\)[<&+\-\/\\]\+"
+syn match      vhdlError       "[&+\-\/\\]\+\(>\)"
+syn match      vhdlError       "\(<\)[&+\-\/\\]\+"
+syn match      vhdlError       "[>=&+\-\/\\]\+\(<\)"
 " Covers most operators
-syn match      vhdlError       "\(&\|+\|\-\|\*\*\|\/=\|??\|?=\|?\/=\|?<=\|?>=\|>=\|<=\|:=\|=>\)[<>=&+\-\*\\?:]\+"
-syn match      vhdlError       "[<>=&+\-\*\\:]\+\(&\|+\|\-\|\*\*\|\/=\|??\|?=\|?\/=\|?<\|?<=\|?>\|?>=\|>=\|<=\|:=\|=>\)"
-syn match      vhdlError       "\(?<\|?>\)[<>&+\-\*\/\\?:]\+"
+" support negative sign after operators. E.g. q<=-b;
+syn match      vhdlError       "\(&\|+\|\-\|\*\*\|\/=\|??\|?=\|?\/=\|?<=\|?>=\|>=\|<=\|:=\|=>\)[<>=&+\*\\?:]\+"
+syn match      vhdlError       "[<>=&+\-\*\\:]\+\(&\|+\|\*\*\|\/=\|??\|?=\|?\/=\|?<\|?<=\|?>\|?>=\|>=\|<=\|:=\|=>\)"
+syn match      vhdlError       "\(?<\|?>\)[<>&+\*\/\\?:]\+"
+syn match      vhdlError       "\(<<\|>>\)[<>&+\*\/\\?:]\+"
 
 "syn match     vhdlError       "[?]\+\(&\|+\|\-\|\*\*\|??\|?=\|?\/=\|?<\|?<=\|?>\|?>=\|:=\|=>\)"
 " '/'
@@ -195,60 +180,61 @@ syn match vhdlSpecial     "[().,;]"
 
 
 " time
-syn match vhdlTime "\<\d\+\s\+\(\([fpnum]s\)\|\(sec\)\|\(min\)\|\(hr\)\)\>"
-syn match vhdlTime "\<\d\+\.\d\+\s\+\(\([fpnum]s\)\|\(sec\)\|\(min\)\|\(hr\)\)\>"
+syn match      vhdlTime        "\<\d\+\s\+\(\([fpnum]s\)\|\(sec\)\|\(min\)\|\(hr\)\)\>"
+syn match      vhdlTime        "\<\d\+\.\d\+\s\+\(\([fpnum]s\)\|\(sec\)\|\(min\)\|\(hr\)\)\>"
 
-syn case match
-syn keyword vhdlTodo   contained TODO NOTE
-syn keyword vhdlFixme  contained FIXME
-syn case ignore
+syn case       match
+syn keyword    vhdlTodo        contained TODO NOTE
+syn keyword    vhdlFixme       contained FIXME
+syn case       ignore
 
-syn region  vhdlComment start="/\*" end="\*/"  contains=vhdlTodo,vhdlFixme,@Spell
-syn match   vhdlComment "\(^\|\s\)--.*"                contains=vhdlTodo,vhdlFixme,@Spell
+syn region     vhdlComment     start="/\*" end="\*/"   contains=vhdlTodo,vhdlFixme,@Spell
+syn match      vhdlComment     "\(^\|\s\)--.*"         contains=vhdlTodo,vhdlFixme,@Spell
 
 " Industry-standard directives. These are not standard VHDL, but are commonly
 " used in the industry.
-syn match vhdlPreProc "/\* synthesis .* \*/"
-"syn match vhdlPreProc "/\* simulation .* \*/"
-syn match vhdlPreProc "/\* pragma .* \*/"
-syn match vhdlPreProc "/\* synopsys .* \*/"
-syn match vhdlPreProc "--\s*synthesis .*"
-"syn match vhdlPreProc "--\s*simulation .*"
-syn match vhdlPreProc "--\s*pragma .*"
-syn match vhdlPreProc "--\s*synopsys .*"
+syn match      vhdlPreProc     "/\*\s*synthesis\s\+translate_\(on\|off\)\s*\*/"
+"syn match     vhdlPreProc     "/\*\s*simulation\s\+translate_\(on\|off\)\s*\*/"
+syn match      vhdlPreProc     "/\*\s*pragma\s\+synthesis_\(on\|off\)\s*\*/"
+syn match      vhdlPreProc     "/\*\s*synopsys\s\+translate_\(on\|off\)\s*\*/"
+
+syn match      vhdlPreProc     "\(^\|\s\)--\s*synthesis\s\+translate_\(on\|off\)\s*"
+"syn match     vhdlPreProc     "\(^\|\s\)--\s*simulation\s\+translate_\(on\|off\)\s*"
+syn match      vhdlPreProc     "\(^\|\s\)--\s*pragma\s\+synthesis_\(on\|off\)\s*"
+syn match      vhdlPreProc     "\(^\|\s\)--\s*synopsys\s\+translate_\(on\|off\)\s*"
 
 "Modify the following as needed.  The trade-off is performance versus functionality.
-syn sync minlines=600
+syn sync       minlines=600
 
 " Define the default highlighting.
 " For version 5.7 and earlier: only when not done already
 " For version 5.8 and later: only when an item doesn't have highlighting yet
 if version >= 508 || !exists("did_vhdl_syntax_inits")
-  if version < 508
-    let did_vhdl_syntax_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
-
-  HiLink vhdlSpecial   Special
-  HiLink vhdlStatement Statement
-  HiLink vhdlCharacter Character
-  HiLink vhdlString    String
-  HiLink vhdlVector    Number
-  HiLink vhdlBoolean   Number
-  HiLink vhdlTodo      Todo
-  HiLink vhdlFixme     Fixme
-  HiLink vhdlComment   Comment
-  HiLink vhdlNumber    Number
-  HiLink vhdlTime      Number
-  HiLink vhdlType      Type
-  HiLink vhdlOperator  Operator
-  HiLink vhdlError     Error
-  HiLink vhdlAttribute Special
-  HiLink vhdlPreProc   PreProc
-
-  delcommand HiLink
+    if version < 508
+       let did_vhdl_syntax_inits = 1
+       command -nargs=+ HiLink hi link <args>
+    else
+       command -nargs=+ HiLink hi def link <args>
+    endif
+
+    HiLink  vhdlSpecial            Special
+    HiLink  vhdlStatement   Statement
+    HiLink  vhdlCharacter   Character
+    HiLink  vhdlString     String
+    HiLink  vhdlVector     Number
+    HiLink  vhdlBoolean            Number
+    HiLink  vhdlTodo       Todo
+    HiLink  vhdlFixme      Fixme
+    HiLink  vhdlComment            Comment
+    HiLink  vhdlNumber     Number
+    HiLink  vhdlTime       Number
+    HiLink  vhdlType       Type
+    HiLink  vhdlOperator    Operator
+    HiLink  vhdlError      Error
+    HiLink  vhdlAttribute   Special
+    HiLink  vhdlPreProc            PreProc
+
+    delcommand HiLink
 endif
 
 let b:current_syntax = "vhdl"
index c383f79686398469353f70daa1a52cefec864ce4..5dd3bd4d8accfe46c4b6fe9f87858268491d6064 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    Vim 7.4 script
 " Maintainer:  Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change: November 11, 2015
-" Version:     7.4-37
+" Last Change: November 30, 2015
+" Version:     7.4-38
 " Automatically generated keyword lists: {{{1
 
 " Quit when a syntax file was already loaded {{{2
@@ -18,24 +18,24 @@ syn keyword vimTodo contained       COMBAK  FIXME   TODO    XXX
 syn cluster vimCommentGroup    contains=vimTodo,@Spell
 
 " regular vim commands {{{2
-syn keyword vimCommand contained       a arga[dd] argl[ocal] ba[ll] bn[ext] breakd[el] bufdo cabc[lear] cat[ch] ce[nter] cgetb[uffer] che[ckpath] cmapc[lear] cnf com cope[n] cs de delep delf di difft[his] dj[ump] dr[op] ec elsei[f] endf[unction] exi[t] filetype fix[del] for gr[ep] h[elp] hid[e] ij[ump] isp[lit] keepalt lad la[st] lcl[ose] lex[pr] lgete[xpr] ll lne lnf[ile] loc[kmarks] lr[ewind] lv[imgrep] marks mk mkv[imrc] mz[scheme] new noswap[file] o[pen] ped[it] pp[op] profd[el] ptf[irst] ptN[ext] py python3 re redr[aw] rew[ind] rubyf[ile] sa[rgument] sbn[ext] scripte[ncoding] setf[iletype] sh[ell] sim[alt] sm[ap] sni[ff] sor[t] spelli[nfo] spr[evious] start st[op] sunmenu syn ta tabf[ind] tabnew tabr[ewind] tcld[o] tj[ump] tN tr tu[nmenu] undoj[oin] uns[ilent] ve[rsion] vimgrepa[dd] vs[plit] winc[md] wN[ext] ws[verb] x[it] xnoremenu
-syn keyword vimCommand contained       ab argd ar[gs] bd[elete] bN[ext] breakl[ist] b[uffer] cad cb[uffer] cex[pr] cgete[xpr] checkt[ime] cn cNf comc[lear] co[py] cscope debug d[elete] delf[unction] diffg[et] diffu[pdate] dl ds[earch] echoe[rr] em[enu] en[dif] exu[sage] fin fo[ld] fu grepa[dd] helpc[lose] his[tory] il[ist] iuna[bbrev] keepj[umps] laddb[uffer] lat lcs lf lg[etfile] lla[st] lnew[er] lNf[ile] lockv[ar] ls lvimgrepa[dd] mat[ch] mk[exrc] mo n n[ext] nu[mber] opt[ions] pe[rl] pr prof[ile] ptj[ump] ptp[revious] py3 q r[ead] redraws[tatus] ri[ght] rundo sav[eas] sbN[ext] scrip[tnames] setg[lobal] si sl sme sno[magic] so[urce] spellr[epall] sre[wind] startg[replace] stopi[nsert] sus[pend] sync tab tabfir[st] tabn[ext] tabs tclf[ile] tl[ast] tn[ext] tr[ewind] u undol[ist] up[date] vert[ical] vi[sual] w windo wp[revious] wundo xmapc[lear] xunme
-syn keyword vimCommand contained       abc[lear] argd[elete] argu[ment] bel[owright] bo[tright] br[ewind] buffers caddb[uffer] cc cf cg[etfile] cl cN cnf[ile] comp[iler] cpf[ile] cstag debugg[reedy] deletel dell diffo[ff] dig dli[st] dsp[lit] echom[sg] en endt[ry] f fina[lly] foldc[lose] fun gui helpf[ind] i imapc[lear] j[oin] kee[pmarks] lad[dexpr] later lcscope lfdo lgr[ep] lli[st] lne[xt] lo lol[der] lt[ag] lw[indow] menut mks[ession] mod[e] nbc[lose] nmapc[lear] o ownsyntax perld[o] pre[serve] promptf[ind] ptl[ast] ptr[ewind] py3do qa[ll] rec[over] reg[isters] rightb[elow] ru[ntime] sba[ll] sbp[revious] scs setl[ocal] sig sla[st] smenu snoreme spe spellu[ndo] st star[tinsert] sts[elect] sv[iew] syncbind tabc[lose] tabl[ast] tabN[ext] ta[g] te[aroff] tm tN[ext] try un unh[ide] v vi viu[sage] wa[ll] winp[os] wq wv[iminfo] xme xunmenu
-syn keyword vimCommand contained       abo[veleft] argdo as[cii] bf[irst] bp[revious] bro[wse] bun[load] cad[dexpr] ccl[ose] cfdo c[hange] cla[st] cnew[er] cNf[ile] con cp[revious] cuna[bbrev] del deletep delm[arks] diffp[atch] dig[raphs] do e echon endf endw[hile] f[ile] fin[d] folddoc[losed] fu[nction] gvim helpg[rep] ia in ju[mps] keepp[atterns] laddf[ile] lb[uffer] ld[o] lf[ile] lgrepa[dd] lmak[e] lN[ext] loadk lop[en] lua ma menut[ranslate] mksp[ell] m[ove] nb[key] noa ol[dfiles] p po[p] prev[ious] promptr[epl] ptn pts[elect] pydo q[uit] red res[ize] ru rv[iminfo] sbf[irst] sbr[ewind] scscope sf[ind] sign sl[eep] sn[ext] snoremenu spelld[ump] spellw[rong] sta[g] startr[eplace] sun[hide] sw[apname] syntime tabd[o] tabm[ove] tabo[nly] tags tf[irst] tm[enu] to[pleft] ts[elect] una[bbreviate] unl ve vie[w] vmapc[lear] wh[ile] win[size] wqa[ll] x xmenu xwininfo
-syn keyword vimCommand contained       al[l] arge[dit] au bl[ast] brea[k] bu bw[ipeout] caddf[ile] cd cf[ile] changes cl[ist] cn[ext] col[der] conf[irm] cq[uit] cw[indow] delc[ommand] deletl delp diffpu[t] dir doau ea e[dit] endfo[r] ene[w] files fini[sh] foldd[oopen] g h helpt[ags] iabc[lear] intro k l lan lc[d] le[ft] lfir[st] lh[elpgrep] lmapc[lear] lnf loadkeymap lpf[ile] luado mak[e] mes mkv mz nbs[tart] noautocmd omapc[lear] pc[lose] popu p[rint] ps[earch] ptN pu[t] pyf[ile] quita[ll] redi[r] ret[ab] rub[y] sal[l] sbl[ast] sb[uffer] se[t] sfir[st] sil[ent] sm[agic] sN[ext] so spe[llgood] sp[lit] star stj[ump] sunme sy t tabe[dit] tabN tabp[revious] tc[l] th[row] tn tp[revious] tu u[ndo] unlo[ckvar] verb[ose] vim[grep] vne[w] win wn[ext] w[rite] xa[ll] xnoreme y[ank]
-syn keyword vimCommand contained       ar argg[lobal] bad[d] bm[odified] breaka[dd] buf c cal[l] cdo cfir[st] chd[ir] clo[se] cN[ext] colo[rscheme] con[tinue] cr[ewind] d delel deletp dep diffs[plit] di[splay] dp earlier el[se] endfun ex filet fir[st] foldo[pen] go[to] ha[rdcopy] hi if is[earch] keepa la lan[guage] lch[dir] lefta[bove] lgetb[uffer] l[ist] lN lNf lo[adview] lp[revious] luafile ma[rk] messages mkvie[w] mzf[ile] ne noh[lsearch] on[ly] pe popu[p] pro pta[g] ptn[ext] pw[d] py[thon] r red[o] retu[rn] rubyd[o] san[dbox] sbm[odified] scrip 
+syn keyword vimCommand contained       a arga[dd] argl[ocal] ba[ll] bn[ext] breakd[el] bufdo cabc[lear] cb[uffer] cf[ile] changes cl[ist] cn[ext] col[der] conf[irm] cq[uit] cw[indow] delc[ommand] deletl delp diffpu[t] dir doau ea e[dit] endfo[r] ene[w] files fini[sh] foldd[oopen] g h helpt[ags] iabc[lear] intro k l lan lc[d] lefta[bove] lg[etfile] lla[st] lnew[er] lNf[ile] lockv[ar] ls lvimgrepa[dd] mat[ch] mk[exrc] mo n n[ext] nore on[ly] pe popu[p] pro pta[g] ptn[ext] pw[d] py[thon] r red[o] retu[rn] rub[y] rv[iminfo] sba[ll] sbN[ext] scripte[ncoding] setf[iletype] sh[ell] sl sme sno[magic] so[urce] spellr[epall] sre[wind] startg[replace] stopi[nsert] sus[pend] sync tab tabfir[st] tabn[ext] tabs tclf[ile] tl[ast] tn[ext] tr[ewind] u undol[ist] up[date] vert[ical] vi[sual] w windo wp[revious] wundo xmapc[lear] xprop
+syn keyword vimCommand contained       ab argd ar[gs] bd[elete] bN[ext] breakl[ist] b[uffer] cad[dbuffer] cc cfir[st] chd[ir] clo[se] cN[ext] colo[rscheme] con[tinue] cr[ewind] d delel deletp dep diffs[plit] di[splay] dp earlier el[se] endfun ex filet fir[st] foldo[pen] go[to] ha[rdcopy] hi if is[earch] keepa la lan[guage] lch[dir] lex[pr] lgr[ep] lli[st] lne[xt] lo lol[der] lt[ag] lw[indow] menut mks[ession] mod[e] nbc[lose] nmapc[lear] nos[wapfile] o[pen] ped[it] pp[op] profd[el] ptf[irst] ptN[ext] py python3 re redr[aw] rew[ind] rubyd[o] sal[l] sbf[irst] sbp[revious] scr[iptnames] setg[lobal] sig sla[st] smenu snoreme spe spellu[ndo] st star[tinsert] sts[elect] sv[iew] syncbind tabc[lose] tabl[ast] tabN[ext] ta[g] te[aroff] tm tN[ext] try un unh[ide] v vi viu[sage] wa[ll] winp[os] wq wv[iminfo] xme xunme
+syn keyword vimCommand contained       abc[lear] argd[elete] argu[ment] bel[owright] bo[tright] br[ewind] buffers cadde[xpr] ccl[ose] cgetb[uffer] che[ckpath] cmapc[lear] cnf com cope[n] cs de delep delf di difft[his] dj[ump] dr[op] ec elsei[f] endf[unction] exi[t] filetype fix[del] for gr[ep] h[elp] hid[e] ij[ump] isp[lit] keepalt lad la[st] lcl[ose] lf[ile] lgrepa[dd] lmak[e] lN[ext] loadk lop[en] lua ma menut[ranslate] mksp[ell] m[ove] nb[key] noa nu[mber] opt[ions] pe[rl] pr prof[ile] ptj[ump] ptp[revious] py3 q r[ead] redraws[tatus] ri[ght] rubyf[ile] san[dbox] sbl[ast] sbr[ewind] scs setl[ocal] sign sl[eep] sn[ext] snoremenu spelld[ump] spellw[rong] sta[g] startr[eplace] sun[hide] sw[apname] syntime tabd[o] tabm[ove] tabo[nly] tags tf[irst] tm[enu] to[pleft] ts[elect] una[bbreviate] unl ve vie[w] vmapc[lear] wh[ile] win[size] wqa[ll] x xmenu xunmenu
+syn keyword vimCommand contained       abo[veleft] argdo as[cii] bf[irst] bp[revious] bro[wse] bun[load] caddf[ile] cd cgete[xpr] checkt[ime] cn cNf comc[lear] co[py] cscope debug d[elete] delf[unction] diffg[et] diffu[pdate] dl ds[earch] echoe[rr] em[enu] en[dif] exu[sage] fin fo[ld] fu grepa[dd] helpc[lose] his[tory] il[ist] iuna[bbrev] keepj[umps] laddb[uffer] lat lcs lfir[st] lh[elpgrep] lmapc[lear] lnf loadkeymap lpf[ile] luado mak[e] mes mkv mz nbs[tart] noautocmd o ownsyntax perld[o] pre[serve] promptf[ind] ptl[ast] ptr[ewind] py3do qa[ll] rec[over] reg[isters] rightb[elow] rundo sa[rgument] sbm[odified] sb[uffer] scscope sf[ind] sil[ent] sm[agic] sN[ext] so spe[llgood] sp[lit] star stj[ump] sunme sy t tabe[dit] tabN tabp[revious] tc[l] th[row] tn tp[revious] tu u[ndo] unlo[ckvar] verb[ose] vim[grep] vne[w] win wn[ext] w[rite] xa[ll] xnoreme xwininfo
+syn keyword vimCommand contained       al[l] arge[dit] au bl[ast] brea[k] bu bw[ipeout] cal[l] ce[nter] cg[etfile] cl cN cnf[ile] comp[iler] cpf[ile] cstag debugg[reedy] deletel dell diffo[ff] dig dli[st] dsp[lit] echom[sg] en endt[ry] f fina[lly] foldc[lose] fun gui helpf[ind] i imapc[lear] j[oin] kee[pmarks] lad[dexpr] later lcscope lgetb[uffer] l[ist] lN lNf lo[adview] lp[revious] luafile ma[rk] messages mkvie[w] mzf[ile] ne noh[lsearch] ol[dfiles] p po[p] prev[ious] promptr[epl] ptn pts[elect] pydo q[uit] red res[ize] ru ru[ntime] sav[eas] sbn[ext] scr se[t] sfir[st] sim[alt] sm[ap] sni[ff] sor[t] spelli[nfo] spr[evious] start st[op] sunmenu syn ta tabf[ind] tabnew tabr[ewind] tcld[o] tj[ump] tN tr tu[nmenu] undoj[oin] uns[ilent] ve[rsion] vimgrepa[dd] vs[plit] winc[md] wN[ext] ws[verb] x[it] xnoremenu y[ank]
+syn keyword vimCommand contained       ar argg[lobal] bad[d] bm[odified] breaka[dd] buf c cat[ch] cex[pr] c[hange] cla[st] cnew[er] cNf[ile] con cp[revious] cuna[bbrev] del deletep delm[arks] diffp[atch] dig[raphs] do e echon endf endw[hile] f[ile] fin[d] folddoc[losed] fu[nction] gvim helpg[rep] ia in ju[mps] keepp[atterns] laddf[ile] lb[uffer] le[ft] lgete[xpr] ll lne lnf[ile] loc[kmarks] lr[ewind] lv[imgrep] marks mk mkv[imrc] mz[scheme] new nor omapc[lear] pc[lose] popu p[rint] ps[earch] ptN pu[t] pyf[ile] quita[ll] redi[r] ret[ab] 
 syn match   vimCommand contained       "\<z[-+^.=]\=\>"
 syn keyword vimStdPlugin contained     DiffOrig Man N[ext] P[rint] S TOhtml XMLent XMLns 
 
 " vimOptions are caught only when contained in a vimSet {{{2
-syn keyword vimOption contained        acd ambw arshape background ballooneval bexpr bk breakindentopt bsk cc ch cino cmp com concealcursor cp cscopeprg csprg cul def diff display edcompatible endofline errorformat fcl fdm fex fileformats fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imcmdline imsf indentexpr is isp keywordprg laststatus lisp loadplugins macatsui maxcombine mef mls modelines mousehide mp nu omnifunc paragraphs penc pm printdevice printoptions quoteescape remap rightleftcmd rtp sbo scrolljump sel shell shelltype shortname shq sm so spellfile spr st sts swapsync syn tag tb termbidi tgst titleold top ttimeoutlen ttyscroll ul ur verbosefile visualbell wcm wi wildmenu winfixwidth wm wrapscan
-syn keyword vimOption contained        ai anti autochdir backspace balloonexpr bg bkc bri bt ccv charconvert cinoptions cms comments conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fileignorecase flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imd imstatusfunc indentkeys isf isprint km lazyredraw lispwords lpl magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paste pex pmbcs printencoding prompt rdt renderoptions rl ru sbr scrolloff selection shellcmdflag shellxescape showbreak si smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tbi termencoding thesaurus titlestring tpm ttm ttytype undodir ut vfile vop wd wic wildmode winheight wmh write
-syn keyword vimOption contained        akm antialias autoindent backup bdir bh bl briopt bufhidden cd ci cinw co commentstring confirm cpoptions cscoperelative csre cursorcolumn delcombine diffopt ea efm ep et fdc fdo ffs filetype fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatefunc imdisable inc indk isfname joinspaces kmp lbr list ls makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc pastetoggle pexpr pmbfn printexpr pt re report rlc ruf sc scrollopt selectmode shellpipe shellxquote showcmd sidescroll smartindent sol spellsuggest sr stal sua swf syntax taglength tbidi terse tildeop tl tr tty tw undofile vb vi wa weirdinvert wig wildoptions winminheight wmnu writeany
-syn keyword vimOption contained        al ar autoread backupcopy bdlay bin bo brk buflisted cdpath cin cinwords cocu compatible consk cpt cscopetag cst cursorline dex digraph ead ei equalalways eventignore fde fdt fic fillchars fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imactivatekey imi include inex isi js kp lcs listchars lsp makeprg maxmem mh mmp more mouses mzq nuw opfunc patchexpr pfn popt printfont pumheight readonly restorescreen rnu ruler scb scs sessionoptions shellquote shiftround showfulltag sidescrolloff smarttab sp spf srr startofline suffixes switchbuf ta tagrelative tbis textauto timeout tm ts ttybuiltin tx undolevels vbs viewdir wak wfh wildchar wim winminwidth wmw writebackup
-syn keyword vimOption contained        aleph arab autowrite backupdir belloff binary bomb browsedir buftype cedit cindent clipboard cole complete conskey crb cscopetagorder csto cwh dg dip eadirection ek equalprg ex fdi fen fileencoding fixendofline fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imaf iminsert includeexpr inf isident key langmap linebreak lm lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode ph preserveindent printheader pvh redrawtime revins ro rulerformat scr sect sft shellredir shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws tabline tags tbs textmode timeoutlen to tsl ttyfast uc undoreload vdir viewoptions warn wfw wildcharm winaltkeys winwidth wop writedelay
-syn keyword vimOption contained        allowrevins arabic autowriteall backupext beval biosk breakat bs casemap cf cink cmdheight colorcolumn completefunc copyindent cryptmethod cscopeverbose csverb debug dict dir eb enc errorbells expandtab fdl fenc fileencodings fixeol foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imak ims incsearch infercase isk keymap langmenu lines lmap lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path pheader previewheight printmbcharset pvw regexpengine ri rop runtimepath scroll sections sh shellslash shm showmode sj smd spell splitbelow ssl stl sw sxe tabpagemax tagstack tenc textwidth title toolbar tsr ttym udf updatecount ve viminfo wb wh wildignore window wiv wrap ws
-syn keyword vimOption contained        altkeymap arabicshape aw backupskip bex bioskey breakindent bsdir cb cfu cinkeys cmdwinheight columns completeopt cot cscopepathcomp cspc cuc deco dictionary directory ed encoding errorfile exrc fdls fencs fileformat fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imc imsearch inde insertmode iskeyword keymodel langnoremap linespace lnr ma matchtime mco ml modeline mousefocus mousetime nrformats ofu para pdev pi previewwindow printmbfont qe relativenumber rightleft rs sb scrollbind secure shcf shelltemp shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tal term tf titlelen toolbariconsize ttimeout ttymouse udir updatetime verbose virtualedit wc whichwrap wildignorecase winfixheight wiw wrapmargin ww
-syn keyword vimOption contained        ambiwidth ari awa balloondelay 
+syn keyword vimOption contained        acd ambw arshape background ballooneval bg bl brk buftype cf cinkeys cmdwinheight com concealcursor cp cscopeprg csprg cul def diff display edcompatible endofline errorformat fcl fdm fex fileformats fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imcmdline imsf indentexpr is isp keywordprg laststatus lisp loadplugins ma matchtime mco ml modeline mousefocus mousetime nrformats ofu para pdev pheader previewheight printmbcharset pvw readonly restorescreen rnu ruf sc scrollopt selectmode shellpipe shellxquote showcmd sidescroll smartindent sol spellsuggest sr stal sua swf syntax tagcase tbi termbidi tgst titleold top ttimeoutlen ttyscroll ul ur verbosefile visualbell wcm wi wildmenu winfixwidth wm wrapscan
+syn keyword vimOption contained        ai anti autochdir backspace balloonexpr bh bo browsedir casemap cfu cino cmp comments conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fileignorecase flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imd imstatusfunc indentkeys isf isprint km lazyredraw lispwords lpl macatsui maxcombine mef mls modelines mousehide mp nu omnifunc paragraphs penc pi previewwindow printmbfont pythondll redrawtime revins ro ruler scb scs sessionoptions shellquote shiftround showfulltag sidescrolloff smarttab sp spf srr startofline suffixes switchbuf ta taglength tbidi termencoding thesaurus titlestring tpm ttm ttytype undodir ut vfile vop wd wic wildmode winheight wmh write
+syn keyword vimOption contained        akm antialias autoindent backup bdir bin bomb bs cb ch cinoptions cms commentstring confirm cpoptions cscoperelative csre cursorcolumn delcombine diffopt ea efm ep et fdc fdo ffs filetype fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatefunc imdisable inc indk isfname joinspaces kmp lbr list ls magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paste perldll pm printdevice printoptions pythonthreedll regexpengine ri rop rulerformat scr sect sft shellredir shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws tabline tagrelative tbis terse tildeop tl tr tty tw undofile vb vi wa weirdinvert wig wildoptions winminheight wmnu writeany
+syn keyword vimOption contained        al ar autoread backupcopy bdlay binary breakat bsdir cc charconvert cinw co compatible consk cpt cscopetag cst cursorline dex digraph ead ei equalalways eventignore fde fdt fic fillchars fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imactivatekey imi include inex isi js kp lcs listchars lsp makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc pastetoggle pex pmbcs printencoding prompt qe relativenumber rightleft rs runtimepath scroll sections sh shellslash shm showmode sj smd spell splitbelow ssl stl sw sxe tabpagemax tags tbs textauto timeout tm ts ttybuiltin tx undolevels vbs viewdir wak wfh wildchar wim winminwidth wmw writebackup
+syn keyword vimOption contained        aleph arab autowrite backupdir belloff biosk breakindent bsk ccv ci cinwords cocu complete conskey crb cscopetagorder csto cwh dg dip eadirection ek equalprg ex fdi fen fileencoding fixendofline fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imaf iminsert includeexpr inf isident key langmap linebreak lm luadll makeprg maxmem mh mmp more mouses mzq nuw opfunc patchexpr pexpr pmbfn printexpr pt quoteescape remap rightleftcmd rtp sb scrollbind secure shcf shelltemp shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tagstack tc textmode timeoutlen to tsl ttyfast uc undoreload vdir viewoptions warn wfw wildcharm winaltkeys winwidth wop writedelay
+syn keyword vimOption contained        allowrevins arabic autowriteall backupext beval bioskey breakindentopt bt cd cin clipboard cole completefunc copyindent cryptmethod cscopeverbose csverb debug dict dir eb enc errorbells expandtab fdl fenc fileencodings fixeol foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imak ims incsearch infercase isk keymap langmenu lines lmap lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode pfn popt printfont pumheight rdt renderoptions rl ru sbo scrolljump sel shell shelltype shortname shq sm so spellfile spr st sts swapsync syn tag tal tenc textwidth title toolbar tsr ttym udf updatecount ve viminfo wb wh wildignore window wiv wrap ws
+syn keyword vimOption contained        altkeymap arabicshape aw backupskip bex bk bri bufhidden cdpath cindent cm colorcolumn completeopt cot cscopepathcomp cspc cuc deco dictionary directory ed encoding errorfile exrc fdls fencs fileformat fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imc imsearch inde insertmode iskeyword keymodel langnoremap linespace lnr lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path ph preserveindent printheader pvh re report rlc rubydll sbr scrolloff selection shellcmdflag shellxescape showbreak si smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tb term tf titlelen toolbariconsize ttimeout ttymouse udir updatetime verbose virtualedit wc whichwrap wildignorecase winfixheight wiw wrapmargin ww
+syn keyword vimOption contained        ambiwidth ari awa balloondelay bexpr bkc briopt buflisted cedit cink cmdheight columns 
 
 " vimOptions: These are the turn-off setting variants {{{2
 syn keyword vimOption contained        noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobk nobuflisted nocin noconfirm nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noendofline noerrorbells noex nofen nofixendofline nofkmap nogdefault nohidden nohkmapp nohlsearch noicon noim noimcmdline noimdisable noinf noinsertmode nojoinspaces nolazyredraw nolinebreak nolist nolpl noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup
@@ -48,8 +48,8 @@ syn keyword vimOption contained       invai invaltkeymap invar invarabicshape invautoc
 syn keyword vimOption contained        invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbioskey invbomb invci invcompatible invconskey invcrb invcscopeverbose invcsverb invcursorbind invdeco invdiff inveb invek invequalalways invet invexrc invfileignorecase invfk invgd invhid invhkmap invhls 
 
 " termcap codes (which can also be set) {{{2
-syn keyword vimOption contained        t_AB t_al t_bc t_ce t_cl t_Co t_Cs t_CV t_db t_dl t_DL t_EI t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_fs t_IE t_IS t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_ke t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_RI t_RV t_Sb t_se t_Sf t_SI t_so t_sr t_SR t_te t_ti t_ts t_u7 t_ue t_us t_ut t_vb t_ve t_vi t_vs t_WP t_WS t_xn t_xs t_ZH t_ZR
-syn keyword vimOption contained        t_AF t_AL t_cd t_Ce t_cm t_cs t_CS t_da 
+syn keyword vimOption contained        t_AB t_al t_bc t_ce t_cl t_Co t_Cs t_CV t_db t_DL t_EI t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_fs t_IE t_IS t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_ke t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_RB t_RI t_RV t_Sb t_se t_Sf t_SI t_so t_sr t_SR t_te t_ti t_ts t_u7 t_ue t_us t_ut t_vb t_ve t_vi t_vs t_WP t_WS t_xn t_xs t_ZH t_ZR
+syn keyword vimOption contained        t_AF t_AL t_cd t_Ce t_cm t_cs t_CS t_da t_dl 
 syn match   vimOption contained        "t_%1"
 syn match   vimOption contained        "t_#2"
 syn match   vimOption contained        "t_#4"