diff options
author | Bram Moolenaar <Bram@vim.org> | 2015-12-05 20:59:21 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2015-12-05 20:59:21 +0100 |
commit | 2c5e8e80eacf491d4f266983f534a77776c7ae83 (patch) | |
tree | 8d925c87b07440e5ca9e30371f1662bf4adc3f7f /runtime | |
parent | 3f12a2421bda43a4e48c822541b75f72ee11125a (diff) |
Updated runtime files.
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/doc/eval.txt | 7 | ||||
-rw-r--r-- | runtime/doc/filetype.txt | 4 | ||||
-rw-r--r-- | runtime/doc/if_ruby.txt | 52 | ||||
-rw-r--r-- | runtime/doc/tags | 7 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 54 | ||||
-rw-r--r-- | runtime/syntax/r.vim | 23 | ||||
-rw-r--r-- | runtime/syntax/vhdl.vim | 318 | ||||
-rw-r--r-- | runtime/syntax/vim.vim | 36 |
8 files changed, 270 insertions, 231 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 2e89098a66..f59c7f4ebe 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -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: > diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt index e1e70950a6..540ebb476b 100644 --- a/runtime/doc/filetype.txt +++ b/runtime/doc/filetype.txt @@ -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|. diff --git a/runtime/doc/if_ruby.txt b/runtime/doc/if_ruby.txt index 0d41d8fb2b..b0f8029985 100644 --- a/runtime/doc/if_ruby.txt +++ b/runtime/doc/if_ruby.txt @@ -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: diff --git a/runtime/doc/tags b/runtime/doc/tags index 6b76f9ac96..04fcd24979 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -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* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 2a98305931..f2650007cf 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -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 diff --git a/runtime/syntax/r.vim b/runtime/syntax/r.vim index 9677823fb1..e48b6686cb 100644 --- a/runtime/syntax/r.vim +++ b/runtime/syntax/r.vim @@ -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" diff --git a/runtime/syntax/vhdl.vim b/runtime/syntax/vhdl.vim index eeba10a41c..916bd9635d 100644 --- a/runtime/syntax/vhdl.vim +++ b/runtime/syntax/vhdl.vim @@ -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" diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim index c383f79686..5dd3bd4d8a 100644 --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -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[ |