updated for version 7.0009

This commit is contained in:
Bram Moolenaar
2004-07-16 20:18:37 +00:00
parent 2df6dcc596
commit 21cf823a90
17 changed files with 889 additions and 629 deletions

View File

@ -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 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| 'path' as in |gf|
CTRL-W the Word under the cursor CTRL-W the Word under the cursor
CTRL-A the WORD under the cursor; see |WORD| 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} {not in Vi}
CTRL-F and CTRL-P: {only when +file_in_path feature is CTRL-F and CTRL-P: {only when +file_in_path feature is
included} included}

View File

@ -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 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 nofile buffer which is not related to a file and will not be
written written
nowrite buffer which 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| quickfix quickfix buffer, contains list of errors |:cwindow|
help help buffer (you are not supposed to set this help help buffer (you are not supposed to set this
manually) 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 nofile only: The buffer name is fixed, it is not handled like a
file name. It is not modified in response to a |:cd| file name. It is not modified in response to a |:cd|
command. 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'*
'casemap' 'cmp' string (default: "internal,keepascii") '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 in Vi}
{not available when compiled without the {not available when compiled without the
|+extra_search| feature} |+extra_search| feature}
While typing a search command, show immediately where the so far While typing a search command, show where the pattern, as it was typed
typed pattern matches. The matched string is highlighted. If the so far, matches. The matched string is highlighted. If the pattern
pattern is invalid or not found, nothing is shown. The screen will is invalid or not found, nothing is shown. The screen will be updated
be updated often, this is only useful on fast terminals. Note that often, this is only useful on fast terminals.
the match will be shown, but the cursor is not actually positioned Note that the match will be shown, but the cursor will return to its
there. You still need to finish the search command with <CR> to move original position when no match is found and when pressing <Esc>. You
the cursor. The highlighting can be set with the 'i' flag in still need to finish the search command with <Enter> to move the
'highlight'. See also: 'hlsearch'. 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. NOTE: This option is reset when 'compatible' is set.
*'indentexpr'* *'inde'* *'indentexpr'* *'inde'*

View File

@ -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 VIM REFERENCE MANUAL by Bram Moolenaar
@ -746,7 +746,7 @@ accordingly. Vim proceeds in this order:
"home:.vimrc" (for Amiga) (*) "home:.vimrc" (for Amiga) (*)
"$VIM/.vimrc" (for OS/2 and Amiga) (*) "$VIM/.vimrc" (for OS/2 and Amiga) (*)
"$HOME/_vimrc" (for MS-DOS and Win32) (*) "$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, Note: For Unix, OS/2 and Amiga, when ".vimrc" does not exist,
"_vimrc" is also tried, in case an MS-DOS compatible file "_vimrc" is also tried, in case an MS-DOS compatible file
system is used. For MS-DOS and Win32 ".vimrc" is checked system is used. For MS-DOS and Win32 ".vimrc" is checked

View File

@ -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 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". "$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* SDL *sdl.vim* *sdl-syntax*
The SDL highlighting probably misses a few keywords, but SDL has so many The SDL highlighting probably misses a few keywords, but SDL has so many

View File

@ -1813,6 +1813,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:di change.txt /*:di* :di change.txt /*:di*
:diffg diff.txt /*:diffg* :diffg diff.txt /*:diffg*
:diffget diff.txt /*:diffget* :diffget diff.txt /*:diffget*
:diffo diff.txt /*:diffo*
:diffoff diff.txt /*:diffoff*
:diffp diff.txt /*:diffp* :diffp diff.txt /*:diffp*
:diffpatch diff.txt /*:diffpatch* :diffpatch diff.txt /*:diffpatch*
:diffpu diff.txt /*:diffpu* :diffpu diff.txt /*:diffpu*
@ -3527,6 +3529,7 @@ E672 starting.txt /*E672*
E673 print.txt /*E673* E673 print.txt /*E673*
E674 print.txt /*E674* E674 print.txt /*E674*
E675 print.txt /*E675* E675 print.txt /*E675*
E676 options.txt /*E676*
E68 pattern.txt /*E68* E68 pattern.txt /*E68*
E69 pattern.txt /*E69* E69 pattern.txt /*E69*
E70 pattern.txt /*E70* 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-- pi_netrw.txt /*netrw--* netrw-- pi_netrw.txt /*netrw--*
netrw-D pi_netrw.txt /*netrw-D* 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-activate pi_netrw.txt /*netrw-activate*
netrw-browse pi_netrw.txt /*netrw-browse* 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-browse-var pi_netrw.txt /*netrw-browse-var*
netrw-c-l pi_netrw.txt /*netrw-c-l* netrw-c-l pi_netrw.txt /*netrw-c-l*
netrw-cadaver pi_netrw.txt /*netrw-cadaver* 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-file pi_netrw.txt /*netrw-file*
netrw-fixup pi_netrw.txt /*netrw-fixup* netrw-fixup pi_netrw.txt /*netrw-fixup*
netrw-ftp pi_netrw.txt /*netrw-ftp* netrw-ftp pi_netrw.txt /*netrw-ftp*
netrw-h pi_netrw.txt /*netrw-h*
netrw-help pi_netrw.txt /*netrw-help* netrw-help pi_netrw.txt /*netrw-help*
netrw-history pi_netrw.txt /*netrw-history* netrw-history pi_netrw.txt /*netrw-history*
netrw-i pi_netrw.txt /*netrw-i*
netrw-list pi_netrw.txt /*netrw-list* netrw-list pi_netrw.txt /*netrw-list*
netrw-list-hack pi_netrw.txt /*netrw-list-hack* netrw-list-hack pi_netrw.txt /*netrw-list-hack*
netrw-move pi_netrw.txt /*netrw-move* netrw-move pi_netrw.txt /*netrw-move*

View File

@ -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 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*
-------------------- Known bugs and current work ----------------------- -------------------- 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 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: For version 7.0:
- Include many PATCHES: - Include many PATCHES:
@ -282,6 +284,9 @@ For version 7.0:
line. line.
7 Make ":startinsert" command work directly for functions and scripts? 7 Make ":startinsert" command work directly for functions and scripts?
Also make it possible to append (it's difficult at end of line). 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: Vi incompatibility:
8 With undo/redo only marks in the changed lines should be changed. Other 8 With undo/redo only marks in the changed lines should be changed. Other
@ -1995,6 +2000,8 @@ Autocommands:
CmdEnter - Entering Cmdline mode CmdEnter - Entering Cmdline mode
VisualEnter - Entering Visual mode VisualEnter - Entering Visual mode
*Leave - Leaving a mode (in pair with the above *Enter) *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. CmdUndefined - Like FuncUndefined but for user commands.
SearchPost - After doing a search command (e.g. to do "M") SearchPost - After doing a search command (e.g. to do "M")
PreDirChanged/PostDirChanged PreDirChanged/PostDirChanged

View File

@ -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 VIM REFERENCE MANUAL by Bram Moolenaar
@ -170,6 +170,10 @@ it. (Johannes Zellner)
Added "nbsp" in 'listchars'. (David Blanchet) 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) For lisp indenting and matching parenthesis: (Sergey Khorev)
- square brackets are recognized properly - square brackets are recognized properly
- #\(, #\), #\[ and #\] are recognized as character literals - #\(, #\), #\[ 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 Using "@:" to repeat a command line didn't work when it contains control
characters. 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: vim:tw=78:ts=8:ft=help:norl:

View File

@ -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 " Language: D
" Maintainer: Jason Mills<jmills@cs.mun.ca> " Maintainer: Jason Mills<jmills@cs.mun.ca>
" URL: " Last Change: 2004 Jul 15
" Last Change: 2004 May 21 " Version: 0.10
" Version: 0.8
" "
" Options: " Options:
" d_comment_strings - set to highlight strings and numbers in comments " d_comment_strings - set to highlight strings and numbers in comments
@ -30,39 +29,40 @@ endif
" Keyword definitions " Keyword definitions
" "
syn keyword dExternal import module extern syn keyword dExternal import package module extern
syn keyword dConditional if else switch syn keyword dConditional if else switch
syn keyword dBranch goto break continue syn keyword dBranch goto break continue
syn keyword dRepeat while for do foreach syn keyword dRepeat while for do foreach
syn keyword dBoolean true false syn keyword dBoolean true false
syn keyword dConstant null syn keyword dConstant null
syn keyword dTypedef alias typedef syn keyword dTypedef alias typedef
syn keyword dStructure template interface class enum struct union syn keyword dStructure template interface class enum struct union
syn keyword dOperator new delete typeof cast align is syn keyword dOperator new delete typeof typeid cast align is
syn keyword dOperator this super syn keyword dOperator this super
if exists("d_hl_operator_overload") if exists("d_hl_operator_overload")
syn keyword dOpOverload opNeg opCom opPostInc opPostDec opAdd opSub opSub_r 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 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 opShl opShl_r opShr opShr_r opUShr opUShr_r opCat
syn keyword dOpOverload opCat_r opEquals opEquals opCmp opCmp opCmp opCmp syn keyword dOpOverload opCat_r opEquals opEquals opCmp opCmp opCmp opCmp
syn keyword dOpOverload opAddAssign opSubAssign opMulAssign opDivAssign syn keyword dOpOverload opAddAssign opSubAssign opMulAssign opDivAssign
syn keyword dOpOverload opModAssign opAndAssign opOrAssign opXorAssign syn keyword dOpOverload opModAssign opAndAssign opOrAssign opXorAssign
syn keyword dOpOverload opShlAssign opShrAssign opUShrAssign opCatAssign syn keyword dOpOverload opShlAssign opShrAssign opUShrAssign opCatAssign
syn keyword dOpOverload opIndex opCall opSlice syn keyword dOpOverload opIndex opIndexAssign opCall opSlice
syn keyword dOpOverload opAdd_r opMul_r opAnd_r opOr_r opXor_r
endif endif
syn keyword dType ushort int uint long ulong float syn keyword dType ushort int uint long ulong float
syn keyword dType void byte ubyte double bit char wchar ucent cent syn keyword dType void byte ubyte double bit char wchar ucent cent
syn keyword dType short bool dchar syn keyword dType short bool dchar
syn keyword dType real ireal ifloat idouble creal cfloat cdouble syn keyword dType real ireal ifloat idouble creal cfloat cdouble
syn keyword dDebug deprecated unittest syn keyword dDebug deprecated unittest
syn keyword dExceptions throw try catch finally syn keyword dExceptions throw try catch finally
syn keyword dScopeDecl public protected private export syn keyword dScopeDecl public protected private export
syn keyword dStatement version debug return with invariant body syn keyword dStatement version debug return with invariant body
syn keyword dStatement in out inout asm mixin syn keyword dStatement in out inout asm mixin
syn keyword dStatement function delegate syn keyword dStatement function delegate
syn keyword dStorageClass auto static override final const abstract volatile syn keyword dStorageClass auto static override final const abstract volatile
syn keyword dStorageClass synchronized syn keyword dStorageClass synchronized
syn keyword dPragma pragma syn keyword dPragma pragma
" Assert is a statement and a module name. " Assert is a statement and a module name.
@ -81,34 +81,34 @@ syn match dAssert "[^.]\s*\<assert\>"ms=s+1
" Labels " Labels
" "
" We contain dScopeDecl so public: private: etc. are not highlighted like 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 match dUserLabel "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=dLabel,dScopeDecl
syn keyword dLabel case default syn keyword dLabel case default
" Comments " Comments
" "
syn keyword dTodo contained TODO FIXME TEMP XXX syn keyword dTodo contained TODO FIXME TEMP XXX
syn match dCommentStar contained "^\s*\*[^/]"me=e-1 syn match dCommentStar contained "^\s*\*[^/]"me=e-1
syn match dCommentStar contained "^\s*\*$" syn match dCommentStar contained "^\s*\*$"
syn match dCommentPlus contained "^\s*+[^/]"me=e-1 syn match dCommentPlus contained "^\s*+[^/]"me=e-1
syn match dCommentPlus contained "^\s*+$" syn match dCommentPlus contained "^\s*+$"
if exists("d_comment_strings") 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 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 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 dLineCommentString contained start=+"+ end=+$\|"+ contains=dUnicode,dEscSequence,@Spell
syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell
syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell
syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell
else else
syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell
syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell
syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell
endif endif
hi link dLineCommentString dBlockCommentString hi link dLineCommentString dBlockCommentString
hi link dBlockCommentString dString hi link dBlockCommentString dString
hi link dNestedCommentString dString hi link dNestedCommentString dString
hi link dCommentStar dBlockComment hi link dCommentStar dBlockComment
hi link dCommentPlus dNestedComment hi link dCommentPlus dNestedComment
syn sync minlines=25 syn sync minlines=25
@ -118,54 +118,54 @@ syn match dSpecialCharError contained "[^']"
" Escape sequences (oct,specal char,hex,wchar). These are not contained " Escape sequences (oct,specal char,hex,wchar). These are not contained
" because they are considered string litterals " because they are considered string litterals
syn match dEscSequence "\\\(\o\{1,3}\|[\"\\'\\?ntbrfva]\|u\x\{4}\|U\x\{8}\|x\x\x\)" 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,dSpecialCharError
syn match dCharacter "'\\''" contains=dEscSequence syn match dCharacter "'\\''" contains=dEscSequence
syn match dCharacter "'[^\\]'" syn match dCharacter "'[^\\]'"
" Unicode characters " Unicode characters
" "
syn match dUnicode "\\u\d\{4\}" syn match dUnicode "\\u\d\{4\}"
" String. " String.
" "
syn region dString start=+"+ end=+"+ contains=dEscSequence,@Spell syn region dString start=+"+ end=+"+ contains=dEscSequence,@Spell
syn region dRawString start=+`+ skip=+\\`+ end=+`+ contains=@Spell syn region dRawString start=+`+ skip=+\\`+ end=+`+ contains=@Spell
syn region dRawString start=+r"+ skip=+\\"+ end=+"+ contains=@Spell syn region dRawString start=+r"+ skip=+\\"+ end=+"+ contains=@Spell
syn region dHexString start=+x"+ skip=+\\"+ end=+"+ syn region dHexString start=+x"+ skip=+\\"+ end=+"+
" Numbers " Numbers
" "
syn case ignore 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 " Hex number
syn match dHex display "\<0x[0-9a-f_]\+\(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\=\)\>" syn match dHex display "\<\x[0-9a-f_]*h\(u\=l\=\|l\=u\=\)\>"
" Flag the first zero of an octal number as something special " 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 dOctal display "\<0[0-7_]\+\(u\=l\=\|l\=u\=\)\>" contains=cOctalZero
syn match dOctalZero display contained "\<0" syn match dOctalZero display contained "\<0"
"floating point without the dot "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 "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 "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 "floating point number, without dot, with exponent
"syn match dFloat display "\<\d\+e[-+]\=\d\+[fl]\=\>" "syn match dFloat display "\<\d\+e[-+]\=\d\+[fl]\=\>"
syn match dFloat display "\<\d[0-9_]*e[-+]\=[0-9_]\+[fl]\=\>" syn match dFloat display "\<\d[0-9_]*e[-+]\=[0-9_]\+[fl]\=\>"
"floating point without the dot "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 "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 "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 " binary numbers
syn match dBinary display "\<0b[01_]\+\>" syn match dBinary display "\<0b[01_]\+\>"
" flag an octal number with wrong digits " 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 syn case match
" Pragma (preprocessor) support " Pragma (preprocessor) support

View File

@ -1,7 +1,8 @@
" Vim syntax file " Vim syntax file
" Language: Inno Setup File (iss file) and My InnoSetup extension " Language: Inno Setup File (iss file) and My InnoSetup extension
" Maintainer: Dominique St<53>phan (dominique@mggen.com) " Maintainer: Jason Mills (jmills@cs.mun.ca)
" Last change: 2004 July 5 " Previous Maintainer: Dominique St<53>phan (dominique@mggen.com)
" Last Change: 2004 Jul 13
" For version 5.x: Clear all syntax items " For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded " For version 6.x: Quit when a syntax file was already loaded
@ -14,37 +15,40 @@ endif
" shut case off " shut case off
syn case ignore syn case ignore
" Preprocessor
syn region issPreProc start="^\s*#" end="$"
" Section " Section
syn region issHeader start="\[" end="\]" syn region issHeader start="\[" end="\]"
" Label in the [Setup] Section " Label in the [Setup] Section
syn match issLabel "^[^=]\+=" syn match issLabel "^[^=]\+="
" URL " URL
syn match issURL "http[s]\=:\/\/.*$" syn match issURL "http[s]\=:\/\/.*$"
" syn match issName "[^: ]\+:" " syn match issName "[^: ]\+:"
syn match issName "Name:" syn match issName "Name:"
syn match issName "MinVersion:\|OnlyBelowVersion:\|Languages:" syn match issName "MinVersion:\|OnlyBelowVersion:\|Languages:"
syn match issName "Source:\|DestDir:\|DestName:\|CopyMode:" syn match issName "Source:\|DestDir:\|DestName:\|CopyMode:"
syn match issName "Attribs:\|Permissions:\|FontInstall:\|Flags:" syn match issName "Attribs:\|Permissions:\|FontInstall:\|Flags:"
syn match issName "FileName:\|Parameters:\|WorkingDir:\|HotKey:\|Comment:" syn match issName "FileName:\|Parameters:\|WorkingDir:\|HotKey:\|Comment:"
syn match issName "IconFilename:\|IconIndex:" syn match issName "IconFilename:\|IconIndex:"
syn match issName "Section:\|Key:\|String:" syn match issName "Section:\|Key:\|String:"
syn match issName "Root:\|SubKey:\|ValueType:\|ValueName:\|ValueData:" syn match issName "Root:\|SubKey:\|ValueType:\|ValueName:\|ValueData:"
syn match issName "RunOnceId:" syn match issName "RunOnceId:"
syn match issName "Type:" syn match issName "Type:"
syn match issName "Components:\|Description:\|GroupDescription:\|Types:\|ExtraDiskSpaceRequired:" syn match issName "Components:\|Description:\|GroupDescription:\|Types:\|ExtraDiskSpaceRequired:"
syn match issName "StatusMsg:\|RunOnceId:\|Tasks:" syn match issName "StatusMsg:\|RunOnceId:\|Tasks:"
syn match issName "MessagesFile:\|LicenseFile:\|InfoBeforeFile:\|InfoAfterFile:" syn match issName "MessagesFile:\|LicenseFile:\|InfoBeforeFile:\|InfoAfterFile:"
syn match issComment "^;.*$" syn match issComment "^;.*$"
" folder constant " folder constant
syn match issFolder "{[^{]*}" syn match issFolder "{[^{]*}"
" string " string
syn region issString start=+"+ end=+"+ contains=issFolder syn region issString start=+"+ end=+"+ contains=issFolder
" [Dirs] " [Dirs]
syn keyword issDirsFlags deleteafterinstall uninsalwaysuninstall uninsneveruninstall syn keyword issDirsFlags deleteafterinstall uninsalwaysuninstall uninsneveruninstall
@ -104,31 +108,30 @@ if version >= 508 || !exists("did_iss_syntax_inits")
endif endif
" The default methods for highlighting. Can be overridden later " The default methods for highlighting. Can be overridden later
HiLink issHeader Special HiLink issHeader Special
HiLink issComment Comment HiLink issComment Comment
HiLink issLabel Type HiLink issLabel Type
HiLink issName Type HiLink issName Type
HiLink issFolder Special HiLink issFolder Special
HiLink issString String HiLink issString String
HiLink issValue String HiLink issValue String
HiLink issURL Include HiLink issURL Include
HiLink issPreProc PreProc
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 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 delcommand HiLink
endif endif

View File

@ -1,11 +1,14 @@
" Vim syntax file " Vim syntax file
" Language: Scheme (R5RS) " Language: Scheme (R5RS)
" Maintainer: Dirk van Deun <dirk@igwe.vub.ac.be> " Last Change: July 14, 2004
" Last Change: April 30, 1998 " 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: " This script incorrectly recognizes some junk input as numerals:
" parsing the complete system of Scheme numerals using the pattern " parsing the complete system of Scheme numerals using the pattern
" language is practically impossible: I did a lax approximation. " 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. " 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... " 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 ")" syn match schemeError oneline ")"
" Quoted and backquoted stuff " 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
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 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 " Popular Scheme extension:
syn region schemeUnquote matchgroup=Delimiter start=",@" end=![ \t()";]!me=e-1 contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc " 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=![ \t\[\]()";]!me=e-1 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=")" 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=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: " R5RS Scheme Functions and Syntax:
if version < 600 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 scheme-report-environment null-environment
syn keyword schemeFunc interaction-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 " ... so that a single + or -, inside a quoted context, would not be
" interpreted as a number (outside such contexts, it's a schemeFunc) " 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 !\.$! syn match schemeDelimiter oneline !\.$!
" ... and a single dot is not a number but a delimiter " ... 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>: " This keeps all other stuff unhighlighted, except *stuff* and <stuff>:
syn match schemeOther oneline ,[a-z!$%&*/:<=>?^_~][-a-z!$%&*/:<=>?^_~0-9+.@]*, 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 schemeError oneline ,[a-z!$%&*/:<=>?^_~+@#%-][-a-z!$%&*/:<=>?^_~0-9+.@#%]*[^-a-z!$%&*/:<=>?^_~0-9+.@ \t\[\]()";]\+[^ \t\[\]()";]*,
syn match schemeOther oneline "\.\.\." syn match schemeOther oneline "\.\.\."
syn match schemeError oneline !\.\.\.[^ \t()";]\+! syn match schemeError oneline !\.\.\.[^ \t\[\]()";]\+!
" ... a special identifier " ... 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 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 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: " 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
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=+"+ syn region schemeString start=+"+ skip=+\\[\\"]+ end=+"+
" Comments: " Comments:
syn match schemeComment ";.*$" 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=/|#/
" #%xxx are the special MzScheme identifiers
syn match schemeOther oneline "#%[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
" anything limited by |'s is identifier
syn match schemeOther oneline "|[^|]\+|"
syn match schemeChar oneline "#\\return"
" Modules require stmt
syn keyword schemeExtSyntax module require dynamic-require lib prefix all-except prefix-all-except rename
" modules provide stmt
syn keyword schemeExtSyntax provide struct all-from all-from-except all-defined all-defined-except
" Other from MzScheme
syn keyword schemeExtSyntax with-handlers when unless instantiate define-struct case-lambda syntax-case
syn keyword schemeExtSyntax free-identifier=? bound-identifier=? module-identifier=? syntax-object->datum
syn keyword schemeExtSyntax datum->syntax-object
syn keyword schemeExtSyntax let-values let*-values letrec-values set!-values fluid-let parameterize begin0
syn keyword schemeExtSyntax error raise opt-lambda define-values unit unit/sig define-signature
syn keyword schemeExtSyntax invoke-unit/sig define-values/invoke-unit/sig compound-unit/sig import export
syn keyword schemeExtSyntax link syntax quasisyntax unsyntax with-syntax
hi def link schemeExtSyntax Type
syn keyword schemeExtFunc format system-type current-extension-compiler current-extension-linker
syn keyword schemeExtFunc use-standard-linker use-standard-compiler
syn keyword schemeExtFunc find-executable-path append-object-suffix append-extension-suffix
syn keyword schemeExtFunc current-library-collection-paths current-extension-compiler-flags make-parameter
syn keyword schemeExtFunc current-directory build-path normalize-path current-extension-linker-flags
syn keyword schemeExtFunc file-exists? directory-exists? delete-directory/files delete-directory delete-file
syn keyword schemeExtFunc system compile-file system-library-subpath getenv putenv current-standard-link-libraries
syn keyword schemeExtFunc remove* file-size find-files fold-files directory-list shell-execute split-path
syn keyword schemeExtFunc current-error-port process/ports process printf fprintf open-input-string open-output-string
syn keyword schemeExtFunc get-output-string
" exceptions
syn keyword schemeExtFunc exn exn:application:arity exn:application:continuation exn:application:fprintf:mismatch
syn keyword schemeExtFunc exn:application:mismatch exn:application:type exn:application:mismatch exn:break exn:i/o:filesystem exn:i/o:port
syn keyword schemeExtFunc exn:i/o:port:closed exn:i/o:tcp exn:i/o:udp exn:misc exn:misc:application exn:misc:unsupported exn:module exn:read
syn keyword schemeExtFunc exn:read:non-char exn:special-comment exn:syntax exn:thread exn:user exn:variable exn:application:mismatch
syn keyword schemeExtFunc exn? exn:application:arity? exn:application:continuation? exn:application:fprintf:mismatch? exn:application:mismatch?
syn keyword schemeExtFunc exn:application:type? exn:application:mismatch? exn:break? exn:i/o:filesystem? exn:i/o:port? exn:i/o:port:closed?
syn keyword schemeExtFunc exn:i/o:tcp? exn:i/o:udp? exn:misc? exn:misc:application? exn:misc:unsupported? exn:module? exn:read? exn:read:non-char?
syn keyword schemeExtFunc exn:special-comment? exn:syntax? exn:thread? exn:user? exn:variable? exn:application:mismatch?
" Command-line parsing
syn keyword schemeExtFunc command-line current-command-line-arguments once-any help-labels multi once-each
hi def link schemeExtFunc PreProc
" syntax quoting, unquoting and quasiquotation
syn region schemeUnquote matchgroup=Delimiter start="#," end=![ \t\[\]()";]!me=e-1 contains=ALL
syn region schemeUnquote matchgroup=Delimiter start="#,@" end=![ \t\[\]()";]!me=e-1 contains=ALL
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=ALL
syn region schemeUnquote matchgroup=Delimiter start="#,@\[" end="\]" contains=ALL
syn region schemeQuoted matchgroup=Delimiter start="#['`]" end=![ \t()\[\]";]!me=e-1 contains=ALL
syn region schemeQuoted matchgroup=Delimiter start="#['`](" matchgroup=Delimiter end=")" contains=ALL
endif
" Synchronization and the wrapping up... " Synchronization and the wrapping up...
syn sync match matchPlace grouphere NONE "^[^ \t]" syn sync match matchPlace grouphere NONE "^[^ \t]"
@ -181,6 +258,7 @@ if version >= 508 || !exists("did_scheme_syntax_inits")
HiLink schemeConstant Constant HiLink schemeConstant Constant
HiLink schemeComment Comment HiLink schemeComment Comment
HiLink schemeMultilineComment Comment
HiLink schemeError Error HiLink schemeError Error
delcommand HiLink delcommand HiLink

863
src/auto/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -364,6 +364,9 @@ if test "$enable_mzschemeinterp" = "yes"; then
dnl Make Vim remember the path to the library. For when it's not in dnl Make Vim remember the path to the library. For when it's not in
dnl $LD_LIBRARY_PATH. dnl $LD_LIBRARY_PATH.
MZSCHEME_LIBS="$MZSCHEME_LIBS -Wl,-rpath -Wl,${vi_cv_path_mzscheme_pfx}/lib" MZSCHEME_LIBS="$MZSCHEME_LIBS -Wl,-rpath -Wl,${vi_cv_path_mzscheme_pfx}/lib"
elif test "`(uname) 2>/dev/null`" = SunOS &&
uname -r | grep '^5' >/dev/null; then
MZSCHEME_LIBS="$MZSCHEME_LIBS -R ${vi_cv_path_mzscheme_pfx}/lib"
fi fi
fi fi
MZSCHEME_CFLAGS="-I${vi_cv_path_mzscheme_pfx}/include \ MZSCHEME_CFLAGS="-I${vi_cv_path_mzscheme_pfx}/include \

View File

@ -3205,6 +3205,11 @@ set_one_cmd_context(xp, buff)
{ {
xp->xp_context = EXPAND_ENV_VARS; xp->xp_context = EXPAND_ENV_VARS;
++xp->xp_pattern; ++xp->xp_pattern;
#if defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)
/* Avoid that the assignment uses EXPAND_FILES again. */
if (compl != EXPAND_USER_DEFINED)
compl = EXPAND_ENV_VARS;
#endif
} }
} }
} }

View File

@ -2720,6 +2720,7 @@ buf_write(buf, fname, sfname, start, end, eap, append, forceit,
int buf_fname_f = FALSE; int buf_fname_f = FALSE;
int buf_fname_s = FALSE; int buf_fname_s = FALSE;
int did_cmd = FALSE; int did_cmd = FALSE;
int nofile_err = FALSE;
/* /*
* Apply PRE aucocommands. * Apply PRE aucocommands.
@ -2742,8 +2743,13 @@ buf_write(buf, fname, sfname, start, end, eap, append, forceit,
{ {
if (!(did_cmd = apply_autocmds_exarg(EVENT_FILEAPPENDCMD, if (!(did_cmd = apply_autocmds_exarg(EVENT_FILEAPPENDCMD,
sfname, sfname, FALSE, curbuf, eap))) sfname, sfname, FALSE, curbuf, eap)))
apply_autocmds_exarg(EVENT_FILEAPPENDPRE, {
if (bt_nofile(curbuf))
nofile_err = TRUE;
else
apply_autocmds_exarg(EVENT_FILEAPPENDPRE,
sfname, sfname, FALSE, curbuf, eap); sfname, sfname, FALSE, curbuf, eap);
}
} }
else if (filtering) else if (filtering)
{ {
@ -2754,15 +2760,25 @@ buf_write(buf, fname, sfname, start, end, eap, append, forceit,
{ {
if (!(did_cmd = apply_autocmds_exarg(EVENT_BUFWRITECMD, if (!(did_cmd = apply_autocmds_exarg(EVENT_BUFWRITECMD,
sfname, sfname, FALSE, curbuf, eap))) sfname, sfname, FALSE, curbuf, eap)))
apply_autocmds_exarg(EVENT_BUFWRITEPRE, {
if (bt_nofile(curbuf))
nofile_err = TRUE;
else
apply_autocmds_exarg(EVENT_BUFWRITEPRE,
sfname, sfname, FALSE, curbuf, eap); sfname, sfname, FALSE, curbuf, eap);
}
} }
else else
{ {
if (!(did_cmd = apply_autocmds_exarg(EVENT_FILEWRITECMD, if (!(did_cmd = apply_autocmds_exarg(EVENT_FILEWRITECMD,
sfname, sfname, FALSE, curbuf, eap))) sfname, sfname, FALSE, curbuf, eap)))
apply_autocmds_exarg(EVENT_FILEWRITEPRE, {
if (bt_nofile(curbuf))
nofile_err = TRUE;
else
apply_autocmds_exarg(EVENT_FILEWRITEPRE,
sfname, sfname, FALSE, curbuf, eap); sfname, sfname, FALSE, curbuf, eap);
}
} }
/* restore curwin/curbuf and a few other things */ /* restore curwin/curbuf and a few other things */
@ -2776,11 +2792,15 @@ buf_write(buf, fname, sfname, start, end, eap, append, forceit,
*/ */
if (!buf_valid(buf)) if (!buf_valid(buf))
buf = NULL; buf = NULL;
if (buf == NULL || buf->b_ml.ml_mfp == NULL || did_cmd || aborting()) if (buf == NULL || buf->b_ml.ml_mfp == NULL
|| did_cmd || nofile_err || aborting())
{ {
--no_wait_return; --no_wait_return;
msg_scroll = msg_save; msg_scroll = msg_save;
if (aborting()) if (nofile_err)
EMSG(_("E676: No matching autocommands for acwrite buffer"));
if (aborting() || nofile_err)
/* An aborting error, interrupt or exception in the /* An aborting error, interrupt or exception in the
* autocommands. */ * autocommands. */
return FAIL; return FAIL;

View File

@ -992,24 +992,92 @@ open_line(dir, flags, old_indent)
for (p = leader + lead_len - 1; p > leader for (p = leader + lead_len - 1; p > leader
&& vim_iswhite(*p); --p) && vim_iswhite(*p); --p)
; ;
++p; ++p;
#ifdef FEAT_MBYTE
/* Compute the length of the replaced characters in
* screen characters, not bytes. */
{
int repl_size = vim_strnsize(lead_repl,
lead_repl_len);
int old_size = 0;
char_u *endp = p;
int l;
while (old_size < repl_size && p > leader)
{
--p;
p -= mb_head_off(leader, p);
old_size += ptr2cells(p);
}
l = lead_repl_len - (endp - p);
if (l != 0)
mch_memmove(endp + l, endp,
(size_t)((leader + lead_len) - endp));
lead_len += l;
}
#else
if (p < leader + lead_repl_len) if (p < leader + lead_repl_len)
p = leader; p = leader;
else else
p -= lead_repl_len; p -= lead_repl_len;
#endif
mch_memmove(p, lead_repl, (size_t)lead_repl_len); mch_memmove(p, lead_repl, (size_t)lead_repl_len);
if (p + lead_repl_len > leader + lead_len) if (p + lead_repl_len > leader + lead_len)
p[lead_repl_len] = NUL; p[lead_repl_len] = NUL;
/* blank-out any other chars from the old leader. */ /* blank-out any other chars from the old leader. */
while (--p >= leader) while (--p >= leader)
{
#ifdef FEAT_MBYTE
int l = mb_head_off(leader, p);
if (l > 1)
{
p -= l;
if (ptr2cells(p) > 1)
{
p[1] = ' ';
--l;
}
mch_memmove(p + 1, p + l + 1,
(size_t)((leader + lead_len) - (p + l + 1)));
lead_len -= l;
*p = ' ';
}
else
#endif
if (!vim_iswhite(*p)) if (!vim_iswhite(*p))
*p = ' '; *p = ' ';
}
} }
else /* left adjusted leader */ else /* left adjusted leader */
{ {
p = skipwhite(leader); p = skipwhite(leader);
#ifdef FEAT_MBYTE
/* Compute the length of the replaced characters in
* screen characters, not bytes. Move the part that is
* not to be overwritten. */
{
int repl_size = vim_strnsize(lead_repl,
lead_repl_len);
int i;
int l;
for (i = 0; p[i] != NUL && i < lead_len; i += l)
{
l = mb_ptr2len_check(p + i);
if (vim_strnsize(p, i + l) > repl_size)
break;
}
if (i != lead_repl_len)
{
mch_memmove(p + lead_repl_len, p + i,
(size_t)(lead_len - i - (leader - p)));
lead_len += lead_repl_len - i;
}
}
#endif
mch_memmove(p, lead_repl, (size_t)lead_repl_len); mch_memmove(p, lead_repl, (size_t)lead_repl_len);
/* Replace any remaining non-white chars in the old /* Replace any remaining non-white chars in the old
@ -1026,7 +1094,26 @@ open_line(dir, flags, old_indent)
(leader + lead_len) - p); (leader + lead_len) - p);
} }
else else
{
#ifdef FEAT_MBYTE
int l = mb_ptr2len_check(p);
if (l > 1)
{
if (ptr2cells(p) > 1)
{
/* Replace a double-wide char with
* two spaces */
--l;
*p++ = ' ';
}
mch_memmove(p + 1, p + l,
(leader + lead_len) - p);
lead_len -= l - 1;
}
#endif
*p = ' '; *p = ' ';
}
} }
*p = NUL; *p = NUL;
} }
@ -3789,7 +3876,8 @@ get_env_name(xp, idx)
/* Borland C++ 5.2 has this in a header file. */ /* Borland C++ 5.2 has this in a header file. */
extern char **environ; extern char **environ;
# endif # endif
static char_u name[100]; # define ENVNAMELEN 100
static char_u name[ENVNAMELEN];
char_u *str; char_u *str;
int n; int n;
@ -3797,7 +3885,7 @@ get_env_name(xp, idx)
if (str == NULL) if (str == NULL)
return NULL; return NULL;
for (n = 0; n < 99; ++n) for (n = 0; n < ENVNAMELEN - 1; ++n)
{ {
if (str[n] == '=' || str[n] == NUL) if (str[n] == '=' || str[n] == NUL)
break; break;
@ -5064,7 +5152,10 @@ cin_is_cpp_baseclass(line, col)
*col = 0; *col = 0;
s = cin_skipcomment(line); s = skipwhite(line);
if (*s == '#') /* skip #define FOO x ? (x) : x */
return FALSE;
s = cin_skipcomment(s);
if (*s == NUL) if (*s == NUL)
return FALSE; return FALSE;
@ -5737,7 +5828,8 @@ get_c_indent()
if (start_off != 0) if (start_off != 0)
amount += start_off; amount += start_off;
else if (start_align == COM_RIGHT) else if (start_align == COM_RIGHT)
amount += lead_start_len - lead_middle_len; amount += vim_strsize(lead_start)
- vim_strsize(lead_middle);
break; break;
} }
@ -5751,7 +5843,8 @@ get_c_indent()
if (off != 0) if (off != 0)
amount += off; amount += off;
else if (align == COM_RIGHT) else if (align == COM_RIGHT)
amount += lead_start_len - lead_middle_len; amount += vim_strsize(lead_start)
- vim_strsize(lead_middle);
done = TRUE; done = TRUE;
break; break;
} }

View File

@ -2475,7 +2475,11 @@ static char *(p_debug_values[]) = {"msg", NULL};
static char *(p_ead_values[]) = {"both", "ver", "hor", NULL}; static char *(p_ead_values[]) = {"both", "ver", "hor", NULL};
#endif #endif
#if defined(FEAT_QUICKFIX) #if defined(FEAT_QUICKFIX)
# ifdef FEAT_AUTOCMD
static char *(p_buftype_values[]) = {"nofile", "nowrite", "quickfix", "help", "acwrite", NULL};
# else
static char *(p_buftype_values[]) = {"nofile", "nowrite", "quickfix", "help", NULL}; static char *(p_buftype_values[]) = {"nofile", "nowrite", "quickfix", "help", NULL};
# endif
static char *(p_bufhidden_values[]) = {"hide", "unload", "delete", "wipe", NULL}; static char *(p_bufhidden_values[]) = {"hide", "unload", "delete", "wipe", NULL};
#endif #endif
static char *(p_bs_values[]) = {"indent", "eol", "start", NULL}; static char *(p_bs_values[]) = {"indent", "eol", "start", NULL};

View File

@ -1972,13 +1972,15 @@ bt_quickfix(buf)
} }
/* /*
* Return TRUE if "buf" is a "nofile" buffer. * Return TRUE if "buf" is a "nofile" or "acwrite" buffer.
* This means the buffer name is not a file name.
*/ */
int int
bt_nofile(buf) bt_nofile(buf)
buf_T *buf; buf_T *buf;
{ {
return (buf->b_p_bt[0] == 'n' && buf->b_p_bt[2] == 'f'); return (buf->b_p_bt[0] == 'n' && buf->b_p_bt[2] == 'f')
|| buf->b_p_bt[0] == 'a';
} }
/* /*