📄 kix.vim
字号:
" Vim syntax file" Language: KixTart 95, Kix2001 Windows script language http://kixtart.org/" Maintainer: Richard Howarth <rhowarth@sgb.co.uk>" Last Change: 2001 May 10" URL: http://www.howsoft.demon.co.uk/" KixTart files identified by *.kix extension." Amendment History:" 26 April 2001: RMH" Removed development comments from distro version" Renamed "Kix*" to "kix*" for consistancy" Changes made in preperation for VIM version 5.8/6.00" TODO:" Handle arrays highlighting" Handle object highlighting" The next two may not be possible:" Work out how to error too many "(", i.e. (() should be an error." Similarly, "if" without "endif" and similar constructs should error." Clear legacy syntax rules for version 5.x, exit if already processed for version 6+if version < 600 syn clearelseif exists("b:current_syntax") finishendifsyn case matchsyn keyword kixTODO TODO FIX XXX contained" Case insensitive language.syn case ignore" Kix statementssyn match kixStatement "?"syn keyword kixStatement beep big breaksyn keyword kixStatement call cd cls color cookie1 copysyn keyword kixStatement del dim displaysyn keyword kixStatement exitsyn keyword kixStatement flushkbsyn keyword kixStatement get gets global go gosub gotosyn keyword kixStatement mdsyn keyword kixStatement password playsyn keyword kixStatement quitsyn keyword kixStatement rd return runsyn keyword kixStatement set setl setm settime shell sleep smallsyn keyword kixStatement use" Kix2001syn keyword kixStatement debug function endfunction redim" Simple variablessyn match kixNotVar "\$\$\|@@\|%%" transparent contains=NONEsyn match kixLocalVar "\$\w\+"syn match kixMacro "@\w\+"syn match kixEnvVar "%\w\+"" Destination labelssyn match kixLabel ":\w\+\>"" Identify strings, trap unterminated stringssyn match kixStringError +".*\|'.*+syn region kixDoubleString oneline start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=kixLocalVar,kixMacro,kixEnvVar,kixNotVarsyn region kixSingleString oneline start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=kixLocalVar,kixMacro,kixEnvVar,kixNotVar" Operatorssyn match kixOperator "+\|-\|\*\|/\|=\|&\||"syn keyword kixOperator and or" Kix2001syn match kixOperator "=="syn keyword kixOperator not" Numeric constantssyn match kixInteger "-\=\<\d\+\>" contains=NONEsyn match kixFloat "-\=\.\d\+\>\|-\=\<\d\+\.\d\+\>" contains=NONE" Hex numeric constantssyn match kixHex "\&\x\+\>" contains=NONE" Other contants" Kix2001syn keyword kixConstant on off" Commentssyn match kixComment ";.*$" contains=kixTODO" Trap unmatched parenthesissyn match kixParenCloseError ")"syn region kixParen oneline transparent start="(" end=")" contains=ALLBUT,kixParenCloseError" Functions (Builtin + UDF)syn match kixFunction "\w\+("he=e-1,me=e-1 contains=ALL" Trap unmatched bracketssyn match kixBrackCloseError "\]"syn region kixBrack transparent start="\[" end="\]" contains=ALLBUT,kixBrackCloseError" Clusters for ALLBUT shorthandsyn cluster kixIfBut contains=kixIfError,kixSelectOK,kixDoOK,kixWhileOK,kixForEachOK,kixForNextOKsyn cluster kixSelectBut contains=kixSelectError,kixIfOK,kixDoOK,kixWhileOK,kixForEachOK,kixForNextOKsyn cluster kixDoBut contains=kixDoError,kixSelectOK,kixIfOK,kixWhileOK,kixForEachOK,kixForNextOKsyn cluster kixWhileBut contains=kixWhileError,kixSelectOK,kixIfOK,kixDoOK,kixForEachOK,kixForNextOKsyn cluster kixForEachBut contains=kixForEachError,kixSelectOK,kixIfOK,kixDoOK,kixForNextOK,kixWhileOKsyn cluster kixForNextBut contains=kixForNextError,kixSelectOK,kixIfOK,kixDoOK,kixForEachOK,kixWhileOK" Condtional construct errors.syn match kixIfError "\<if\>\|\<else\>\|\<endif\>"syn match kixIfOK contained "\<if\>\|\<else\>\|\<endif\>"syn region kixIf transparent matchgroup=kixIfOK start="\<if\>" end="\<endif\>" contains=ALLBUT,@kixIfButsyn match kixSelectError "\<select\>\|\<case\>\|\<endselect\>"syn match kixSelectOK contained "\<select\>\|\<case\>\|\<endselect\>"syn region kixSelect transparent matchgroup=kixSelectOK start="\<select\>" end="\<endselect\>" contains=ALLBUT,@kixSelectBut" Program control constructs.syn match kixDoError "\<do\>\|\<until\>"syn match kixDoOK contained "\<do\>\|\<until\>"syn region kixDo transparent matchgroup=kixDoOK start="\<do\>" end="\<until\>" contains=ALLBUT,@kixDoButsyn match kixWhileError "\<while\>\|\<loop\>"syn match kixWhileOK contained "\<while\>\|\<loop\>"syn region kixWhile transparent matchgroup=kixWhileOK start="\<while\>" end="\<loop\>" contains=ALLBUT,@kixWhileButsyn match kixForNextError "\<for\>\|\<to\>\|\<step\>\|\<next\>"syn match kixForNextOK contained "\<for\>\|\<to\>\|\<step\>\|\<next\>"syn region kixForNext transparent matchgroup=kixForNextOK start="\<for\>" end="\<next\>" contains=ALLBUT,@kixForButsyn match kixForEachError "\<for each\>\|\<in\>\|\<next\>"syn match kixForEachOK contained "\<for each\>\|\<in\>\|\<next\>"syn region kixForEach transparent matchgroup=kixForEachOK start="\<for each\>" end="\<next\>" contains=ALLBUT,@kixForEachBut" Expressionssyn match kixExpression "<\|>\|<=\|>=\|<>"" Default highlighting." Version < 5.8 set default highlight if file not already processed." Version >= 5.8 set default highlight only if it doesn't already have a value.if version > 508 || !exists("did_kix_syn_inits") if version < 508 let did_kix_syn_inits=1 command -nargs=+ HiLink hi link <args> else command -nargs=+ HiLink hi def link <args> endif HiLink kixDoubleString String HiLink kixSingleString String HiLink kixStatement Statement HiLink kixRepeat Repeat HiLink kixComment Comment HiLink kixBuiltin Function HiLink kixLocalVar Special HiLink kixMacro Special HiLink kixEnvVar Special HiLink kixLabel Type HiLink kixFunction Function HiLink kixInteger Number HiLink kixHex Number HiLink kixFloat Number HiLink kixOperator Operator HiLink kixExpression Operator HiLink kixParenCloseError Error HiLink kixBrackCloseError Error HiLink kixStringError Error HiLink kixWhileError Error HiLink kixWhileOK Conditional HiLink kixDoError Error HiLink kixDoOK Conditional HiLink kixIfError Error HiLink kixIfOK Conditional HiLink kixSelectError Error HiLink kixSelectOK Conditional HiLink kixForNextError Error HiLink kixForNextOK Conditional HiLink kixForEachError Error HiLink kixForEachOK Conditional delcommand HiLinkendiflet b:current_syntax = "kix"" vim: ts=8 sw=2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -