diff options
-rw-r--r-- | runtime/doc/cmdline.txt | 4 | ||||
-rw-r--r-- | runtime/doc/options.txt | 29 | ||||
-rw-r--r-- | runtime/doc/starting.txt | 4 | ||||
-rw-r--r-- | runtime/doc/syntax.txt | 10 | ||||
-rw-r--r-- | runtime/doc/tags | 9 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 15 | ||||
-rw-r--r-- | runtime/doc/version7.txt | 16 | ||||
-rw-r--r-- | runtime/syntax/d.vim | 164 | ||||
-rw-r--r-- | runtime/syntax/iss.vim | 103 | ||||
-rw-r--r-- | runtime/syntax/scheme.vim | 154 | ||||
-rwxr-xr-x | src/auto/configure | 863 | ||||
-rw-r--r-- | src/configure.in | 3 | ||||
-rw-r--r-- | src/ex_docmd.c | 5 | ||||
-rw-r--r-- | src/fileio.c | 30 | ||||
-rw-r--r-- | src/misc1.c | 105 | ||||
-rw-r--r-- | src/option.c | 4 | ||||
-rw-r--r-- | src/quickfix.c | 6 |
17 files changed, 892 insertions, 632 deletions
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt index 4d4a88c633..6f46033534 100644 --- a/runtime/doc/cmdline.txt +++ b/runtime/doc/cmdline.txt @@ -1,4 +1,4 @@ -*cmdline.txt* For Vim version 7.0aa. Last change: 2004 Jul 01 +*cmdline.txt* For Vim version 7.0aa. Last change: 2004 Jul 14 VIM REFERENCE MANUAL by Bram Moolenaar @@ -164,6 +164,8 @@ CTRL-R CTRL-A *c_CTRL-R_CTRL-A* *c_<C-R>_<C-A>* 'path' as in |gf| CTRL-W the Word under the cursor CTRL-A the WORD under the cursor; see |WORD| + When 'incsearch' is set the cursor position of the currently + displayed match is used. {not in Vi} CTRL-F and CTRL-P: {only when +file_in_path feature is included} diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 1a28bf1794..be83ae181a 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.0aa. Last change: 2004 Jul 05 +*options.txt* For Vim version 7.0aa. Last change: 2004 Jul 15 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1104,6 +1104,9 @@ A jump table for the options with a short description can be found at |Q_op|. nofile buffer which is not related to a file and will not be written nowrite buffer which will not be written + acwrite buffer which will always be written with BufWriteCmd + autocommands. {not available when compiled without the + |+autocmd| feature} quickfix quickfix buffer, contains list of errors |:cwindow| help help buffer (you are not supposed to set this manually) @@ -1128,6 +1131,12 @@ A jump table for the options with a short description can be found at |Q_op|. nofile only: The buffer name is fixed, it is not handled like a file name. It is not modified in response to a |:cd| command. + *E676* + "acwrite" implies that the buffer name is not related to a file, like + "nofile", but it will be written. Thus, in contrast to "nofile" and + "nowrite", ":w" does work and a modified buffer can't be abandoned + without saving. For writing there must be matching |BufWriteCmd|, + |FileWriteCmd| or |FileAppendCmd| autocommands. *'casemap'* *'cmp'* 'casemap' 'cmp' string (default: "internal,keepascii") @@ -3422,14 +3431,16 @@ A jump table for the options with a short description can be found at |Q_op|. {not in Vi} {not available when compiled without the |+extra_search| feature} - While typing a search command, show immediately where the so far - typed pattern matches. The matched string is highlighted. If the - pattern is invalid or not found, nothing is shown. The screen will - be updated often, this is only useful on fast terminals. Note that - the match will be shown, but the cursor is not actually positioned - there. You still need to finish the search command with <CR> to move - the cursor. The highlighting can be set with the 'i' flag in - 'highlight'. See also: 'hlsearch'. + While typing a search command, show where the pattern, as it was typed + so far, matches. The matched string is highlighted. If the pattern + is invalid or not found, nothing is shown. The screen will be updated + often, this is only useful on fast terminals. + Note that the match will be shown, but the cursor will return to its + original position when no match is found and when pressing <Esc>. You + still need to finish the search command with <Enter> to move the + cursor to the match. + The highlighting can be set with the 'i' flag in 'highlight'. + See also: 'hlsearch'. NOTE: This option is reset when 'compatible' is set. *'indentexpr'* *'inde'* diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt index c73d17e4be..5f3f9e97d3 100644 --- a/runtime/doc/starting.txt +++ b/runtime/doc/starting.txt @@ -1,4 +1,4 @@ -*starting.txt* For Vim version 7.0aa. Last change: 2004 Jun 18 +*starting.txt* For Vim version 7.0aa. Last change: 2004 Jul 13 VIM REFERENCE MANUAL by Bram Moolenaar @@ -746,7 +746,7 @@ accordingly. Vim proceeds in this order: "home:.vimrc" (for Amiga) (*) "$VIM/.vimrc" (for OS/2 and Amiga) (*) "$HOME/_vimrc" (for MS-DOS and Win32) (*) - "$VIM\_vimrc" (for MS-DOS and Win32) (*) + "$VIM/_vimrc" (for MS-DOS and Win32) (*) Note: For Unix, OS/2 and Amiga, when ".vimrc" does not exist, "_vimrc" is also tried, in case an MS-DOS compatible file system is used. For MS-DOS and Win32 ".vimrc" is checked diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index c1e7de7076..d31122b917 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1,4 +1,4 @@ -*syntax.txt* For Vim version 7.0aa. Last change: 2004 Jul 06 +*syntax.txt* For Vim version 7.0aa. Last change: 2004 Jul 15 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2089,6 +2089,14 @@ This will prevent highlighting of special identifiers like "ConstantName", "$global_var", "@instance_var", "| iterator |", and ":symbol". +SCHEME *scheme.vim* *scheme-syntax* + +By default only R5RS keywords are highlighted and properly indented. + +MzScheme-specific stuff will be used if b:is_mzscheme or g:is_mzscheme +variables are defined. + + SDL *sdl.vim* *sdl-syntax* The SDL highlighting probably misses a few keywords, but SDL has so many diff --git a/runtime/doc/tags b/runtime/doc/tags index 597e307fcf..fe79d84d1d 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -1813,6 +1813,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME* :di change.txt /*:di* :diffg diff.txt /*:diffg* :diffget diff.txt /*:diffget* +:diffo diff.txt /*:diffo* +:diffoff diff.txt /*:diffoff* :diffp diff.txt /*:diffp* :diffpatch diff.txt /*:diffpatch* :diffpu diff.txt /*:diffpu* @@ -3527,6 +3529,7 @@ E672 starting.txt /*E672* E673 print.txt /*E673* E674 print.txt /*E674* E675 print.txt /*E675* +E676 options.txt /*E676* E68 pattern.txt /*E68* E69 pattern.txt /*E69* E70 pattern.txt /*E70* @@ -5424,8 +5427,12 @@ netbeans.txt netbeans.txt /*netbeans.txt* netrw pi_netrw.txt /*netrw* netrw-- pi_netrw.txt /*netrw--* netrw-D pi_netrw.txt /*netrw-D* +netrw-H pi_netrw.txt /*netrw-H* +netrw-M pi_netrw.txt /*netrw-M* +netrw-R pi_netrw.txt /*netrw-R* netrw-activate pi_netrw.txt /*netrw-activate* netrw-browse pi_netrw.txt /*netrw-browse* +netrw-browse-cmds pi_netrw.txt /*netrw-browse-cmds* netrw-browse-var pi_netrw.txt /*netrw-browse-var* netrw-c-l pi_netrw.txt /*netrw-c-l* netrw-cadaver pi_netrw.txt /*netrw-cadaver* @@ -5439,9 +5446,9 @@ netrw-ex pi_netrw.txt /*netrw-ex* netrw-file pi_netrw.txt /*netrw-file* netrw-fixup pi_netrw.txt /*netrw-fixup* netrw-ftp pi_netrw.txt /*netrw-ftp* -netrw-h pi_netrw.txt /*netrw-h* netrw-help pi_netrw.txt /*netrw-help* netrw-history pi_netrw.txt /*netrw-history* +netrw-i pi_netrw.txt /*netrw-i* netrw-list pi_netrw.txt /*netrw-list* netrw-list-hack pi_netrw.txt /*netrw-list-hack* netrw-move pi_netrw.txt /*netrw-move* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index e19f86c506..fa1ddffd2c 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.0aa. Last change: 2004 Jul 12 +*todo.txt* For Vim version 7.0aa. Last change: 2004 Jul 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -30,13 +30,15 @@ be worked on, but only if you sponsor Vim development. See |sponsor|. *known-bugs* -------------------- Known bugs and current work ----------------------- -Make aap build script work again. Also with mzscheme +When switching between Aap script and make Vim won't always run. Mac: Compiling --enable-gui=athena doesn't work. Try to fix without disabling -Carbon. Otherwise adjust configure to disable darwin. (raf) +Carbon. Otherwise adjust configure to disable Darwin. (raf) -Mac: "make install" doesn't install. +Mac: "make install" doesn't install. Patch from RAF. +UTF-8 in 'comments' causes wrong indent. Counting bytes instead of char +width? (Nikolai Weibull) For version 7.0: - Include many PATCHES: @@ -282,6 +284,9 @@ For version 7.0: line. 7 Make ":startinsert" command work directly for functions and scripts? Also make it possible to append (it's difficult at end of line). +- When using 'incsearch" CTRL-R CTRL-W gets the word under the cursor, but + the part that already matched is doubled then. Remove the part of the + word that would be doubled. Make it work line CTRL-N in Insert mode. Vi incompatibility: 8 With undo/redo only marks in the changed lines should be changed. Other @@ -1995,6 +2000,8 @@ Autocommands: CmdEnter - Entering Cmdline mode VisualEnter - Entering Visual mode *Leave - Leaving a mode (in pair with the above *Enter) + VimLeaveCheck - Before Vim decides to exit, so that it can be cancelled + when exiting isn't a good idea. CmdUndefined - Like FuncUndefined but for user commands. SearchPost - After doing a search command (e.g. to do "M") PreDirChanged/PostDirChanged diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt index fd9335f9b7..a1c902cf2c 100644 --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -1,4 +1,4 @@ -*version7.txt* For Vim version 7.0aa. Last change: 2004 Jul 11 +*version7.txt* For Vim version 7.0aa. Last change: 2004 Jul 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -170,6 +170,10 @@ it. (Johannes Zellner) Added "nbsp" in 'listchars'. (David Blanchet) +Added the "acwrite" value for the 'buftype' option. This is for a buffer that +doesn not have a name that refers to a file and is written with BufWriteCmd +autocommands. + For lisp indenting and matching parenthesis: (Sergey Khorev) - square brackets are recognized properly - #\(, #\), #\[ and #\] are recognized as character literals @@ -241,4 +245,14 @@ ignored. ":echo '-05' + 0" resulted in 5 instead of -5. Using "@:" to repeat a command line didn't work when it contains control characters. +When using file completion for a user command, it would not expand environment +variables like for a regular command with a file argument. + +'cindent': When the argument of a #define looks like a C++ class the next line +is indented too much. + +When 'comments' includes multi-byte characters inserting the middle part and +alignment may go wrong. 'cindent' also suffers from this for right-aligned +items. + vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/syntax/d.vim b/runtime/syntax/d.vim index 51ecc43ae9..bfb6a03443 100644 --- a/runtime/syntax/d.vim +++ b/runtime/syntax/d.vim @@ -1,10 +1,9 @@ -" Vim syntax file for the D programming language (version 0.90). +" Vim syntax file for the D programming language (version 0.95). " -" Language: D -" Maintainer: Jason Mills<jmills@cs.mun.ca> -" URL: -" Last Change: 2004 May 21 -" Version: 0.8 +" Language: D +" Maintainer: Jason Mills<jmills@cs.mun.ca> +" Last Change: 2004 Jul 15 +" Version: 0.10 " " Options: " d_comment_strings - set to highlight strings and numbers in comments @@ -30,39 +29,40 @@ endif " Keyword definitions " -syn keyword dExternal import module extern -syn keyword dConditional if else switch -syn keyword dBranch goto break continue -syn keyword dRepeat while for do foreach -syn keyword dBoolean true false -syn keyword dConstant null -syn keyword dTypedef alias typedef -syn keyword dStructure template interface class enum struct union -syn keyword dOperator new delete typeof cast align is -syn keyword dOperator this super +syn keyword dExternal import package module extern +syn keyword dConditional if else switch +syn keyword dBranch goto break continue +syn keyword dRepeat while for do foreach +syn keyword dBoolean true false +syn keyword dConstant null +syn keyword dTypedef alias typedef +syn keyword dStructure template interface class enum struct union +syn keyword dOperator new delete typeof typeid cast align is +syn keyword dOperator this super if exists("d_hl_operator_overload") - syn keyword dOpOverload opNeg opCom opPostInc opPostDec opAdd opSub opSub_r - syn keyword dOpOverload opMul opDiv opDiv_r opMod opMod_r opAnd opOr opXor - syn keyword dOpOverload opShl opShl_r opShr opShr_r opUShr opUShr_r opCat - syn keyword dOpOverload opCat_r opEquals opEquals opCmp opCmp opCmp opCmp - syn keyword dOpOverload opAddAssign opSubAssign opMulAssign opDivAssign - syn keyword dOpOverload opModAssign opAndAssign opOrAssign opXorAssign - syn keyword dOpOverload opShlAssign opShrAssign opUShrAssign opCatAssign - syn keyword dOpOverload opIndex opCall opSlice + syn keyword dOpOverload opNeg opCom opPostInc opPostDec opAdd opSub opSub_r + syn keyword dOpOverload opMul opDiv opDiv_r opMod opMod_r opAnd opOr opXor + syn keyword dOpOverload opShl opShl_r opShr opShr_r opUShr opUShr_r opCat + syn keyword dOpOverload opCat_r opEquals opEquals opCmp opCmp opCmp opCmp + syn keyword dOpOverload opAddAssign opSubAssign opMulAssign opDivAssign + syn keyword dOpOverload opModAssign opAndAssign opOrAssign opXorAssign + syn keyword dOpOverload opShlAssign opShrAssign opUShrAssign opCatAssign + syn keyword dOpOverload opIndex opIndexAssign opCall opSlice + syn keyword dOpOverload opAdd_r opMul_r opAnd_r opOr_r opXor_r endif -syn keyword dType ushort int uint long ulong float -syn keyword dType void byte ubyte double bit char wchar ucent cent -syn keyword dType short bool dchar -syn keyword dType real ireal ifloat idouble creal cfloat cdouble -syn keyword dDebug deprecated unittest -syn keyword dExceptions throw try catch finally -syn keyword dScopeDecl public protected private export -syn keyword dStatement version debug return with invariant body -syn keyword dStatement in out inout asm mixin -syn keyword dStatement function delegate -syn keyword dStorageClass auto static override final const abstract volatile -syn keyword dStorageClass synchronized -syn keyword dPragma pragma +syn keyword dType ushort int uint long ulong float +syn keyword dType void byte ubyte double bit char wchar ucent cent +syn keyword dType short bool dchar +syn keyword dType real ireal ifloat idouble creal cfloat cdouble +syn keyword dDebug deprecated unittest +syn keyword dExceptions throw try catch finally +syn keyword dScopeDecl public protected private export +syn keyword dStatement version debug return with invariant body +syn keyword dStatement in out inout asm mixin +syn keyword dStatement function delegate +syn keyword dStorageClass auto static override final const abstract volatile +syn keyword dStorageClass synchronized +syn keyword dPragma pragma " Assert is a statement and a module name. @@ -81,34 +81,34 @@ syn match dAssert "[^.]\s*\<assert\>"ms=s+1 " Labels " " We contain dScopeDecl so public: private: etc. are not highlighted like labels -syn match dUserLabel "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=dLabel,dScopeDecl -syn keyword dLabel case default +syn match dUserLabel "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=dLabel,dScopeDecl +syn keyword dLabel case default " Comments " -syn keyword dTodo contained TODO FIXME TEMP XXX -syn match dCommentStar contained "^\s*\*[^/]"me=e-1 -syn match dCommentStar contained "^\s*\*$" -syn match dCommentPlus contained "^\s*+[^/]"me=e-1 -syn match dCommentPlus contained "^\s*+$" +syn keyword dTodo contained TODO FIXME TEMP XXX +syn match dCommentStar contained "^\s*\*[^/]"me=e-1 +syn match dCommentStar contained "^\s*\*$" +syn match dCommentPlus contained "^\s*+[^/]"me=e-1 +syn match dCommentPlus contained "^\s*+$" if exists("d_comment_strings") - syn region dBlockCommentString contained start=+"+ end=+"+ end=+\*/+me=s-1,he=s-1 contains=dCommentStar,dUnicode,dEscSequence,@Spell - syn region dNestedCommentString contained start=+"+ end=+"+ end="+"me=s-1,he=s-1 contains=dCommentPlus,dUnicode,dEscSequence,@Spell - syn region dLineCommentString contained start=+"+ end=+$\|"+ contains=dUnicode,dEscSequence,@Spell - syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell - syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell - syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell + syn region dBlockCommentString contained start=+"+ end=+"+ end=+\*/+me=s-1,he=s-1 contains=dCommentStar,dUnicode,dEscSequence,@Spell + syn region dNestedCommentString contained start=+"+ end=+"+ end="+"me=s-1,he=s-1 contains=dCommentPlus,dUnicode,dEscSequence,@Spell + syn region dLineCommentString contained start=+"+ end=+$\|"+ contains=dUnicode,dEscSequence,@Spell + syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell + syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell + syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell else - syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell - syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell - syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell + syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell + syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell + syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell endif -hi link dLineCommentString dBlockCommentString -hi link dBlockCommentString dString -hi link dNestedCommentString dString -hi link dCommentStar dBlockComment -hi link dCommentPlus dNestedComment +hi link dLineCommentString dBlockCommentString +hi link dBlockCommentString dString +hi link dNestedCommentString dString +hi link dCommentStar dBlockComment +hi link dCommentPlus dNestedComment syn sync minlines=25 @@ -118,54 +118,54 @@ syn match dSpecialCharError contained "[^']" " Escape sequences (oct,specal char,hex,wchar). These are not contained " because they are considered string litterals -syn match dEscSequence "\\\(\o\{1,3}\|[\"\\'\\?ntbrfva]\|u\x\{4}\|U\x\{8}\|x\x\x\)" -syn match dCharacter "'[^']*'" contains=dEscSequence,dSpecialCharError -syn match dCharacter "'\\''" contains=dEscSequence -syn match dCharacter "'[^\\]'" +syn match dEscSequence "\\\(\o\{1,3}\|[\"\\'\\?ntbrfva]\|u\x\{4}\|U\x\{8}\|x\x\x\)" +syn match dCharacter "'[^']*'" contains=dEscSequence,dSpecialCharError +syn match dCharacter "'\\''" contains=dEscSequence +syn match dCharacter "'[^\\]'" " Unicode characters " -syn match dUnicode "\\u\d\{4\}" +syn match dUnicode "\\u\d\{4\}" " String. " -syn region dString start=+"+ end=+"+ contains=dEscSequence,@Spell -syn region dRawString start=+`+ skip=+\\`+ end=+`+ contains=@Spell -syn region dRawString start=+r"+ skip=+\\"+ end=+"+ contains=@Spell -syn region dHexString start=+x"+ skip=+\\"+ end=+"+ +syn region dString start=+"+ end=+"+ contains=dEscSequence,@Spell +syn region dRawString start=+`+ skip=+\\`+ end=+`+ contains=@Spell +syn region dRawString start=+r"+ skip=+\\"+ end=+"+ contains=@Spell +syn region dHexString start=+x"+ skip=+\\"+ end=+"+ " Numbers " syn case ignore -syn match dInt display "\<\d[0-9_]*\(u\=l\=\|l\=u\=\)\>" +syn match dInt display "\<\d[0-9_]*\(u\=l\=\|l\=u\=\)\>" " Hex number -syn match dHex display "\<0x[0-9a-f_]\+\(u\=l\=\|l\=u\=\)\>" -syn match dHex display "\<\x[0-9a-f_]*h\(u\=l\=\|l\=u\=\)\>" +syn match dHex display "\<0x[0-9a-f_]\+\(u\=l\=\|l\=u\=\)\>" +syn match dHex display "\<\x[0-9a-f_]*h\(u\=l\=\|l\=u\=\)\>" " Flag the first zero of an octal number as something special -syn match dOctal display "\<0[0-7_]\+\(u\=l\=\|l\=u\=\)\>" contains=cOctalZero -syn match dOctalZero display contained "\<0" +syn match dOctal display "\<0[0-7_]\+\(u\=l\=\|l\=u\=\)\>" contains=cOctalZero +syn match dOctalZero display contained "\<0" "floating point without the dot -syn match dFloat display "\<\d[0-9_]*\(fi\=\|l\=i\)\>" +syn match dFloat display "\<\d[0-9_]*\(fi\=\|l\=i\)\>" "floating point number, with dot, optional exponent -syn match dFloat display "\<\d[0-9_]*\.[0-9_]*\(e[-+]\=[0-9_]\+\)\=[fl]\=i\=" +syn match dFloat display "\<\d[0-9_]*\.[0-9_]*\(e[-+]\=[0-9_]\+\)\=[fl]\=i\=" "floating point number, starting with a dot, optional exponent -syn match dFloat display "\(\.[0-9_]\+\)\(e[-+]\=[0-9_]\+\)\=[fl]\=i\=\>" +syn match dFloat display "\(\.[0-9_]\+\)\(e[-+]\=[0-9_]\+\)\=[fl]\=i\=\>" "floating point number, without dot, with exponent -"syn match dFloat display "\<\d\+e[-+]\=\d\+[fl]\=\>" -syn match dFloat display "\<\d[0-9_]*e[-+]\=[0-9_]\+[fl]\=\>" +"syn match dFloat display "\<\d\+e[-+]\=\d\+[fl]\=\>" +syn match dFloat display "\<\d[0-9_]*e[-+]\=[0-9_]\+[fl]\=\>" "floating point without the dot -syn match dHexFloat display "\<0x\x\+\(fi\=\|l\=i\)\>" +syn match dHexFloat display "\<0x\x\+\(fi\=\|l\=i\)\>" "floating point number, with dot, optional exponent -syn match dHexFloat display "\<0x\x\+\.\x*\(p[-+]\=\x\+\)\=[fl]\=i\=" +syn match dHexFloat display "\<0x\x\+\.\x*\(p[-+]\=\x\+\)\=[fl]\=i\=" "floating point number, without dot, with exponent -syn match dHexFloat display "\<0x\x\+p[-+]\=\x\+[fl]\=\>" +syn match dHexFloat display "\<0x\x\+p[-+]\=\x\+[fl]\=\>" " binary numbers -syn match dBinary display "\<0b[01_]\+\>" +syn match dBinary display "\<0b[01_]\+\>" " flag an octal number with wrong digits -syn match dOctalError display "0\o*[89]\d*" +syn match dOctalError display "0\o*[89]\d*" syn case match " Pragma (preprocessor) support diff --git a/runtime/syntax/iss.vim b/runtime/syntax/iss.vim index 557cd0a5c9..f94c7cdf02 100644 --- a/runtime/syntax/iss.vim +++ b/runtime/syntax/iss.vim @@ -1,7 +1,8 @@ " Vim syntax file -" Language: Inno Setup File (iss file) and My InnoSetup extension -" Maintainer: Dominique Stéphan (dominique@mggen.com) -" Last change: 2004 July 5 +" Language: Inno Setup File (iss file) and My InnoSetup extension +" Maintainer: Jason Mills (jmills@cs.mun.ca) +" Previous Maintainer: Dominique Stéphan (dominique@mggen.com) +" Last Change: 2004 Jul 13 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded @@ -14,37 +15,40 @@ endif " shut case off syn case ignore +" Preprocessor +syn region issPreProc start="^\s*#" end="$" + " Section -syn region issHeader start="\[" end="\]" +syn region issHeader start="\[" end="\]" " Label in the [Setup] Section -syn match issLabel "^[^=]\+=" +syn match issLabel "^[^=]\+=" " URL -syn match issURL "http[s]\=:\/\/.*$" - -" syn match issName "[^: ]\+:" -syn match issName "Name:" -syn match issName "MinVersion:\|OnlyBelowVersion:\|Languages:" -syn match issName "Source:\|DestDir:\|DestName:\|CopyMode:" -syn match issName "Attribs:\|Permissions:\|FontInstall:\|Flags:" -syn match issName "FileName:\|Parameters:\|WorkingDir:\|HotKey:\|Comment:" -syn match issName "IconFilename:\|IconIndex:" -syn match issName "Section:\|Key:\|String:" -syn match issName "Root:\|SubKey:\|ValueType:\|ValueName:\|ValueData:" -syn match issName "RunOnceId:" -syn match issName "Type:" -syn match issName "Components:\|Description:\|GroupDescription:\|Types:\|ExtraDiskSpaceRequired:" -syn match issName "StatusMsg:\|RunOnceId:\|Tasks:" -syn match issName "MessagesFile:\|LicenseFile:\|InfoBeforeFile:\|InfoAfterFile:" - -syn match issComment "^;.*$" +syn match issURL "http[s]\=:\/\/.*$" + +" syn match issName "[^: ]\+:" +syn match issName "Name:" +syn match issName "MinVersion:\|OnlyBelowVersion:\|Languages:" +syn match issName "Source:\|DestDir:\|DestName:\|CopyMode:" +syn match issName "Attribs:\|Permissions:\|FontInstall:\|Flags:" +syn match issName "FileName:\|Parameters:\|WorkingDir:\|HotKey:\|Comment:" +syn match issName "IconFilename:\|IconIndex:" +syn match issName "Section:\|Key:\|String:" +syn match issName "Root:\|SubKey:\|ValueType:\|ValueName:\|ValueData:" +syn match issName "RunOnceId:" +syn match issName "Type:" +syn match issName "Components:\|Description:\|GroupDescription:\|Types:\|ExtraDiskSpaceRequired:" +syn match issName "StatusMsg:\|RunOnceId:\|Tasks:" +syn match issName "MessagesFile:\|LicenseFile:\|InfoBeforeFile:\|InfoAfterFile:" + +syn match issComment "^;.*$" " folder constant -syn match issFolder "{[^{]*}" +syn match issFolder "{[^{]*}" " string -syn region issString start=+"+ end=+"+ contains=issFolder +syn region issString start=+"+ end=+"+ contains=issFolder " [Dirs] syn keyword issDirsFlags deleteafterinstall uninsalwaysuninstall uninsneveruninstall @@ -104,31 +108,30 @@ if version >= 508 || !exists("did_iss_syntax_inits") endif " The default methods for highlighting. Can be overridden later - HiLink issHeader Special - HiLink issComment Comment - HiLink issLabel Type - HiLink issName Type - HiLink issFolder Special - HiLink issString String - HiLink issValue String - HiLink issURL Include - - HiLink issDirsFlags Keyword - HiLink issFilesCopyMode Keyword - HiLink issFilesAttribs Keyword - HiLink issFilesPermissions Keyword - HiLink issFilesFlags Keyword - HiLink issIconsFlags Keyword - HiLink issINIFlags Keyword - HiLink issRegRootKey Keyword - HiLink issRegValueType Keyword - HiLink issRegFlags Keyword - HiLink issRunFlags Keyword - HiLink issTypesFlags Keyword - HiLink issComponentsFlags Keyword - HiLink issInstallDeleteType Keyword - HiLink issTasksFlags Keyword - + HiLink issHeader Special + HiLink issComment Comment + HiLink issLabel Type + HiLink issName Type + HiLink issFolder Special + HiLink issString String + HiLink issValue String + HiLink issURL Include + HiLink issPreProc PreProc + + HiLink issDirsFlags Keyword + HiLink issFilesCopyMode Keyword + HiLink issFilesAttribs Keyword + HiLink issFilesFlags Keyword + HiLink issIconsFlags Keyword + HiLink issINIFlags Keyword + HiLink issRegRootKey Keyword + HiLink issRegValueType Keyword + HiLink issRegFlags Keyword + HiLink issRunFlags Keyword + HiLink issTypesFlags Keyword + HiLink issComponentsFlags Keyword + HiLink issInstallDeleteType Keyword + HiLink issTasksFlags Keyword delcommand HiLink endif diff --git a/runtime/syntax/scheme.vim b/runtime/syntax/scheme.vim index d3de35b6b4..1d4f55ddc1 100644 --- a/runtime/syntax/scheme.vim +++ b/runtime/syntax/scheme.vim @@ -1,11 +1,14 @@ " Vim syntax file " Language: Scheme (R5RS) -" Maintainer: Dirk van Deun <dirk@igwe.vub.ac.be> -" Last Change: April 30, 1998 +" Last Change: July 14, 2004 +" Maintainer: Sergey Khorev <iamphet@nm.ru> +" Original author: Dirk van Deun <dirk@igwe.vub.ac.be> " This script incorrectly recognizes some junk input as numerals: " parsing the complete system of Scheme numerals using the pattern " language is practically impossible: I did a lax approximation. + +" MzScheme extensions can be activated with setting is_mzscheme variable " Suggestions and bug reports are solicited by the author. @@ -23,12 +26,12 @@ syn case ignore " Fascist highlighting: everything that doesn't fit the rules is an error... -syn match schemeError oneline ![^ \t()";]*! +syn match schemeError oneline ![^ \t()\[\]";]*! syn match schemeError oneline ")" " Quoted and backquoted stuff -syn region schemeQuoted matchgroup=Delimiter start="['`]" end=![ \t()";]!me=e-1 contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc +syn region schemeQuoted matchgroup=Delimiter start="['`]" end=![ \t()\[\]";]!me=e-1 contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc syn region schemeQuoted matchgroup=Delimiter start="['`](" matchgroup=Delimiter end=")" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc syn region schemeQuoted matchgroup=Delimiter start="['`]#(" matchgroup=Delimiter end=")" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc @@ -36,15 +39,26 @@ syn region schemeQuoted matchgroup=Delimiter start="['`]#(" matchgroup=Delimiter syn region schemeStrucRestricted matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc syn region schemeStrucRestricted matchgroup=Delimiter start="#(" matchgroup=Delimiter end=")" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc -syn region schemeUnquote matchgroup=Delimiter start="," end=![ \t()";]!me=e-1 contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc -syn region schemeUnquote matchgroup=Delimiter start=",@" end=![ \t()";]!me=e-1 contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc +" Popular Scheme extension: +" using [] as well as () +syn region schemeStrucRestricted matchgroup=Delimiter start="\[" matchgroup=Delimiter end="\]" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc +syn region schemeStrucRestricted matchgroup=Delimiter start="#\[" matchgroup=Delimiter end="\]" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc -syn region schemeUnquote matchgroup=Delimiter start=",(" end=")" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc -syn region schemeUnquote matchgroup=Delimiter start=",@(" end=")" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc +syn region schemeUnquote matchgroup=Delimiter start="," end=![ \t\[\]()";]!me=e-1 contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc +syn region schemeUnquote matchgroup=Delimiter start=",@" end=![ \t\[\]()";]!me=e-1 contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc + +syn region schemeUnquote matchgroup=Delimiter start=",(" end=")" contains=ALL +syn region schemeUnquote matchgroup=Delimiter start=",@(" end=")" contains=ALL syn region schemeUnquote matchgroup=Delimiter start=",#(" end=")" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc syn region schemeUnquote matchgroup=Delimiter start=",@#(" end=")" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc +syn region schemeUnquote matchgroup=Delimiter start=",\[" end="\]" contains=ALL +syn region schemeUnquote matchgroup=Delimiter start=",@\[" end="\]" contains=ALL + +syn region schemeUnquote matchgroup=Delimiter start=",#\[" end="\]" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc +syn region schemeUnquote matchgroup=Delimiter start=",@#\[" end="\]" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc + " R5RS Scheme Functions and Syntax: if version < 600 @@ -96,63 +110,126 @@ syn keyword schemeFunc dynamic-wind port? values call-with-values syn keyword schemeFunc scheme-report-environment null-environment syn keyword schemeFunc interaction-environment -" Writing out the complete description of Scheme numerals without -" using variables is a day's work for a trained secretary... -" This is a useful lax approximation: - -syn match schemeNumber oneline "[-#+0-9.][-#+/0-9a-f@i.boxesfdl]*" -syn match schemeError oneline ![-#+0-9.][-#+/0-9a-f@i.boxesfdl]*[^-#+/0-9a-f@i.boxesfdl \t()";][^ \t()";]*! - -syn match schemeOther oneline ![+-][ \t()";]!me=e-1 -syn match schemeOther oneline ![+-]$! " ... so that a single + or -, inside a quoted context, would not be " interpreted as a number (outside such contexts, it's a schemeFunc) -syn match schemeDelimiter oneline !\.[ \t()";]!me=e-1 +syn match schemeDelimiter oneline !\.[ \t\[\]()";]!me=e-1 syn match schemeDelimiter oneline !\.$! " ... and a single dot is not a number but a delimiter -" Simple literals: - -syn match schemeBoolean oneline "#[tf]" -syn match schemeError oneline !#[tf][^ \t()";]\+! - -syn match schemeChar oneline "#\\" -syn match schemeChar oneline "#\\." -syn match schemeError oneline !#\\.[^ \t()";]\+! -syn match schemeChar oneline "#\\space" -syn match schemeError oneline !#\\space[^ \t()";]\+! -syn match schemeChar oneline "#\\newline" -syn match schemeError oneline !#\\newline[^ \t()";]\+! - " This keeps all other stuff unhighlighted, except *stuff* and <stuff>: -syn match schemeOther oneline ,[a-z!$%&*/:<=>?^_~][-a-z!$%&*/:<=>?^_~0-9+.@]*, -syn match schemeError oneline ,[a-z!$%&*/:<=>?^_~][-a-z!$%&*/:<=>?^_~0-9+.@]*[^-a-z!$%&*/:<=>?^_~0-9+.@ \t()";]\+[^ \t()";]*, +syn match schemeOther oneline ,[a-z!$%&*/:<=>?^_~+@#%-][-a-z!$%&*/:<=>?^_~0-9+.@#%]*, +syn match schemeError oneline ,[a-z!$%&*/:<=>?^_~+@#%-][-a-z!$%&*/:<=>?^_~0-9+.@#%]*[^-a-z!$%&*/:<=>?^_~0-9+.@ \t\[\]()";]\+[^ \t\[\]()";]*, syn match schemeOther oneline "\.\.\." -syn match schemeError oneline !\.\.\.[^ \t()";]\+! +syn match schemeError oneline !\.\.\.[^ \t\[\]()";]\+! " ... a special identifier -syn match schemeConstant oneline ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*[ \t()";],me=e-1 +syn match schemeConstant oneline ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*[ \t\[\]()";],me=e-1 syn match schemeConstant oneline ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*$, -syn match schemeError oneline ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*[^-a-z!$%&*/:<=>?^_~0-9+.@ \t()";]\+[^ \t()";]*, +syn match schemeError oneline ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*[^-a-z!$%&*/:<=>?^_~0-9+.@ \t\[\]()";]\+[^ \t\[\]()";]*, -syn match schemeConstant oneline ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>[ \t()";],me=e-1 +syn match schemeConstant oneline ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>[ \t\[\]()";],me=e-1 syn match schemeConstant oneline ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>$, -syn match schemeError oneline ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>[^-a-z!$%&*/:<=>?^_~0-9+.@ \t()";]\+[^ \t()";]*, +syn match schemeError oneline ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>[^-a-z!$%&*/:<=>?^_~0-9+.@ \t\[\]()";]\+[^ \t\[\]()";]*, " Non-quoted lists, and strings: syn region schemeStruc matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" contains=ALL syn region schemeStruc matchgroup=Delimiter start="#(" matchgroup=Delimiter end=")" contains=ALL +syn region schemeStruc matchgroup=Delimiter start="\[" matchgroup=Delimiter end="\]" contains=ALL +syn region schemeStruc matchgroup=Delimiter start="#\[" matchgroup=Delimiter end="\]" contains=ALL + +" Simple literals: syn region schemeString start=+"+ skip=+\\[\\"]+ end=+"+ " Comments: syn match schemeComment ";.*$" + +" Writing out the complete description of Scheme numerals without +" using variables is a day's work for a trained secretary... + +syn match schemeOther oneline ![+-][ \t\[\]()";]!me=e-1 +syn match schemeOther oneline ![+-]$! +" +" This is a useful lax approximation: +syn match schemeNumber oneline "[-#+0-9.][-#+/0-9a-f@i.boxesfdl]*" +syn match schemeError oneline ![-#+0-9.][-#+/0-9a-f@i.boxesfdl]*[^-#+/0-9a-f@i.boxesfdl \t\[\]()";][^ \t\[\]()";]*! + +syn match schemeBoolean oneline "#[tf]" +syn match schemeError oneline !#[tf][^ \t\[\]()";]\+! + +syn match schemeChar oneline "#\\" +syn match schemeChar oneline "#\\." +syn match schemeError oneline !#\\.[^ \t\[\]()";]\+! +syn match schemeChar oneline "#\\space" +syn match schemeError oneline !#\\space[^ \t\[\]()";]\+! +syn match schemeChar oneline "#\\newline" +syn match schemeError oneline !#\\newline[^ \t\[\]()";]\+! + +if exists("b:is_mzscheme") || exists("is_mzscheme") + " MzScheme extensions added by Sergey Khorev + " multiline comment + syntax region schemeMultilineComment start=/#|/ end=/|#/ + |