To: vim-dev@vim.org Subject: Patch 6.2.202 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit ------------ Patch 6.2.202 Problem: Filetype names of CHILL and ch script are confusing. Solution: Rename "ch" to "chill" and "chscript" to "ch". Files: runtime/filetype.vim, runtime/makemenu.vim, runtime/synmenu.vim, runtime/syntax/ch.vim, runtime/syntax/chill.vim *** ../vim-6.2.201/runtime/filetype.vim Tue Sep 9 22:18:18 2003 --- runtime/filetype.vim Sat Jan 24 20:54:12 2004 *************** *** 1,7 **** " Vim support file to detect file types " " Maintainer: Bram Moolenaar ! " Last Change: 2003 Aug 17 " Listen very carefully, I will say this only once if exists("did_load_filetypes") --- 1,7 ---- " Vim support file to detect file types " " Maintainer: Bram Moolenaar ! " Last Change: 2004 Jan 24 " Listen very carefully, I will say this only once if exists("did_load_filetypes") *************** *** 260,268 **** au BufNewFile,BufRead *.cxx,*.c++,*.hh,*.hxx,*.hpp,*.moc,*.tcc,*.inl setf cpp endif ! " .h files can be C or C++, set c_syntax_for_h if you want C au BufNewFile,BufRead *.h ! \ if exists("c_syntax_for_h") | setf c | else | setf cpp | endif " TLH files are C++ headers generated by Visual C++'s #import from typelibs au BufNewFile,BufRead *.tlh setf cpp --- 263,277 ---- au BufNewFile,BufRead *.cxx,*.c++,*.hh,*.hxx,*.hpp,*.moc,*.tcc,*.inl setf cpp endif ! " .h files can be C, Ch or C++, set c_syntax_for_h if you want C, ! " ch_syntax_for_h if you want Ch. au BufNewFile,BufRead *.h ! \ if exists("c_syntax_for_h") | setf c | ! \ elseif exists("ch_syntax_for_h") | setf ch | ! \ else | setf cpp | endif ! ! " Ch (CHscript) ! au BufNewFile,BufRead *.chf setf ch " TLH files are C++ headers generated by Visual C++'s #import from typelibs au BufNewFile,BufRead *.tlh setf cpp *************** *** 279,291 **** \| setf debchangelog | else | setf changelog | endif " CHILL ! au BufNewFile,BufRead *..ch setf ch " Changes for WEB and CWEB or CHILL au BufNewFile,BufRead *.ch call FTchange() " This function checks if one of the first ten lines start with a '@'. In ! " that case it is probably a change file, otherwise CHILL is assumed. fun! FTchange() let lnum = 1 while lnum <= 10 --- 288,303 ---- \| setf debchangelog | else | setf changelog | endif " CHILL ! au BufNewFile,BufRead *..ch setf chill " Changes for WEB and CWEB or CHILL au BufNewFile,BufRead *.ch call FTchange() " This function checks if one of the first ten lines start with a '@'. In ! " that case it is probably a change file. ! " If the first line starts with # or ! it's probably a ch file. ! " If a line has "main", "include", "//" ir "/*" it's probably ch. ! " Otherwise CHILL is assumed. fun! FTchange() let lnum = 1 while lnum <= 10 *************** *** 293,301 **** setf change return endif let lnum = lnum + 1 endwhile ! setf ch endfun " Clean --- 305,325 ---- setf change return endif + if lnum == 1 && (getline(1)[0] == '#' || getline(1)[0] == '!' + setf ch + return + endif + if getline(lnum) =~ "MODULE" + setf chill + return + endif + if getline(lnum) =~ 'main\s*(\|#\s*include\|//' + setf ch + return + endif let lnum = lnum + 1 endwhile ! setf chill endfun " Clean *** ../vim-6.2.201/runtime/makemenu.vim Wed May 14 19:49:47 2003 --- runtime/makemenu.vim Sun Jan 25 20:03:46 2004 *************** *** 1,6 **** " Script to define the syntax menu in synmenu.vim " Maintainer: Bram Moolenaar ! " Last Change: 2003 May 14 " This is used by "make menu" in the src directory. edit :p:h/synmenu.vim --- 1,6 ---- " Script to define the syntax menu in synmenu.vim " Maintainer: Bram Moolenaar ! " Last Change: 2004 Jan 25 " This is used by "make menu" in the src directory. edit :p:h/synmenu.vim *************** *** 99,107 **** SynMenu CD.Cynlib:cynlib SynMenu CD.Cascading\ Style\ Sheets:css SynMenu CD.Century\ Term:cterm ! SynMenu CD.CHILL:ch SynMenu CD.ChangeLog:changelog SynMenu CD.Cheetah\ template:cheetah SynMenu CD.Clean:clean SynMenu CD.Clever:cl SynMenu CD.Clipper:clipper --- 100,109 ---- SynMenu CD.Cynlib:cynlib SynMenu CD.Cascading\ Style\ Sheets:css SynMenu CD.Century\ Term:cterm ! SynMenu CD.CH\ script:ch SynMenu CD.ChangeLog:changelog SynMenu CD.Cheetah\ template:cheetah + SynMenu CD.CHILL:chill SynMenu CD.Clean:clean SynMenu CD.Clever:cl SynMenu CD.Clipper:clipper *** ../vim-6.2.201/runtime/synmenu.vim Sat Jul 5 19:14:04 2003 --- runtime/synmenu.vim Sun Jan 25 20:03:50 2004 *************** *** 81,117 **** an 50.20.160 &Syntax.CD.Cynlib :cal SetSyn("cynlib") an 50.20.170 &Syntax.CD.Cascading\ Style\ Sheets :cal SetSyn("css") an 50.20.180 &Syntax.CD.Century\ Term :cal SetSyn("cterm") ! an 50.20.190 &Syntax.CD.CHILL :cal SetSyn("ch") an 50.20.200 &Syntax.CD.ChangeLog :cal SetSyn("changelog") an 50.20.210 &Syntax.CD.Cheetah\ template :cal SetSyn("cheetah") ! an 50.20.220 &Syntax.CD.Clean :cal SetSyn("clean") ! an 50.20.230 &Syntax.CD.Clever :cal SetSyn("cl") ! an 50.20.240 &Syntax.CD.Clipper :cal SetSyn("clipper") ! an 50.20.250 &Syntax.CD.Cold\ Fusion :cal SetSyn("cf") ! an 50.20.260 &Syntax.CD.Config.Cfg\ Config\ file :cal SetSyn("cfg") ! an 50.20.270 &Syntax.CD.Config.Generic\ Config\ file :cal SetSyn("conf") ! an 50.20.280 &Syntax.CD.Config.Configure\.in :cal SetSyn("config") ! an 50.20.290 &Syntax.CD.Ctrl-H :cal SetSyn("ctrlh") ! an 50.20.300 &Syntax.CD.Cobol :cal SetSyn("cobol") ! an 50.20.310 &Syntax.CD.CSP :cal SetSyn("csp") ! an 50.20.320 &Syntax.CD.CUPL.CUPL :cal SetSyn("cupl") ! an 50.20.330 &Syntax.CD.CUPL.Simulation :cal SetSyn("cuplsim") ! an 50.20.340 &Syntax.CD.CVS.commit\ file :cal SetSyn("cvs") ! an 50.20.350 &Syntax.CD.CVS.cvsrc :cal SetSyn("cvsrc") ! an 50.20.370 &Syntax.CD.Debian.Debian\ ChangeLog :cal SetSyn("debchangelog") ! an 50.20.380 &Syntax.CD.Debian.Debian\ Control :cal SetSyn("debcontrol") ! an 50.20.390 &Syntax.CD.Diff :cal SetSyn("diff") ! an 50.20.400 &Syntax.CD.Digital\ Command\ Lang :cal SetSyn("dcl") ! an 50.20.410 &Syntax.CD.DNS/BIND\ zone :cal SetSyn("dns") ! an 50.20.420 &Syntax.CD.DocBook :cal SetSyn("docbk") ! an 50.20.430 &Syntax.CD.Dot :cal SetSyn("dot") ! an 50.20.440 &Syntax.CD.Dracula :cal SetSyn("dracula") ! an 50.20.450 &Syntax.CD.DSSSL :cal SetSyn("dsl") ! an 50.20.460 &Syntax.CD.DTD :cal SetSyn("dtd") ! an 50.20.470 &Syntax.CD.DTML\ (Zope) :cal SetSyn("dtml") ! an 50.20.480 &Syntax.CD.Dylan.Dylan :cal SetSyn("dylan") ! an 50.20.490 &Syntax.CD.Dylan.Dylan\ interface :cal SetSyn("dylanintr") ! an 50.20.500 &Syntax.CD.Dylan.Dylan\ lid :cal SetSyn("dylanlid") an 50.30.100 &Syntax.EFG.EDIF :cal SetSyn("edif") an 50.30.110 &Syntax.EFG.Eiffel :cal SetSyn("eiffel") an 50.30.120 &Syntax.EFG.Elm\ filter\ rules :cal SetSyn("elmfilt") --- 82,120 ---- an 50.20.160 &Syntax.CD.Cynlib :cal SetSyn("cynlib") an 50.20.170 &Syntax.CD.Cascading\ Style\ Sheets :cal SetSyn("css") an 50.20.180 &Syntax.CD.Century\ Term :cal SetSyn("cterm") ! an 50.20.190 &Syntax.CD.CH\ script :cal SetSyn("ch") an 50.20.200 &Syntax.CD.ChangeLog :cal SetSyn("changelog") an 50.20.210 &Syntax.CD.Cheetah\ template :cal SetSyn("cheetah") ! an 50.20.220 &Syntax.CD.CHILL :cal SetSyn("chill") ! an 50.20.230 &Syntax.CD.Clean :cal SetSyn("clean") ! an 50.20.240 &Syntax.CD.Clever :cal SetSyn("cl") ! an 50.20.250 &Syntax.CD.Clipper :cal SetSyn("clipper") ! an 50.20.260 &Syntax.CD.Cold\ Fusion :cal SetSyn("cf") ! an 50.20.270 &Syntax.CD.Config.Cfg\ Config\ file :cal SetSyn("cfg") ! an 50.20.280 &Syntax.CD.Config.Generic\ Config\ file :cal SetSyn("conf") ! an 50.20.290 &Syntax.CD.Config.Configure\.in :cal SetSyn("config") ! an 50.20.300 &Syntax.CD.Ctrl-H :cal SetSyn("ctrlh") ! an 50.20.310 &Syntax.CD.Cobol :cal SetSyn("cobol") ! an 50.20.320 &Syntax.CD.CSP :cal SetSyn("csp") ! an 50.20.330 &Syntax.CD.CUPL.CUPL :cal SetSyn("cupl") ! an 50.20.340 &Syntax.CD.CUPL.Simulation :cal SetSyn("cuplsim") ! an 50.20.350 &Syntax.CD.CVS.commit\ file :cal SetSyn("cvs") ! an 50.20.360 &Syntax.CD.CVS.cvsrc :cal SetSyn("cvsrc") ! an 50.20.380 &Syntax.CD.Debian.Debian\ ChangeLog :cal SetSyn("debchangelog") ! an 50.20.390 &Syntax.CD.Debian.Debian\ Control :cal SetSyn("debcontrol") ! an 50.20.400 &Syntax.CD.Diff :cal SetSyn("diff") ! an 50.20.410 &Syntax.CD.Digital\ Command\ Lang :cal SetSyn("dcl") ! an 50.20.420 &Syntax.CD.Dircolors :cal SetSyn("dircolors") ! an 50.20.430 &Syntax.CD.DNS/BIND\ zone :cal SetSyn("dns") ! an 50.20.440 &Syntax.CD.DocBook :cal SetSyn("docbk") ! an 50.20.450 &Syntax.CD.Dot :cal SetSyn("dot") ! an 50.20.460 &Syntax.CD.Dracula :cal SetSyn("dracula") ! an 50.20.470 &Syntax.CD.DSSSL :cal SetSyn("dsl") ! an 50.20.480 &Syntax.CD.DTD :cal SetSyn("dtd") ! an 50.20.490 &Syntax.CD.DTML\ (Zope) :cal SetSyn("dtml") ! an 50.20.500 &Syntax.CD.Dylan.Dylan :cal SetSyn("dylan") ! an 50.20.510 &Syntax.CD.Dylan.Dylan\ interface :cal SetSyn("dylanintr") ! an 50.20.520 &Syntax.CD.Dylan.Dylan\ lid :cal SetSyn("dylanlid") an 50.30.100 &Syntax.EFG.EDIF :cal SetSyn("edif") an 50.30.110 &Syntax.EFG.Eiffel :cal SetSyn("eiffel") an 50.30.120 &Syntax.EFG.Elm\ filter\ rules :cal SetSyn("elmfilt") *** ../vim-6.2.201/runtime/syntax/ch.vim Thu May 10 21:49:39 2001 --- runtime/syntax/ch.vim Tue Aug 12 22:56:32 2003 *************** *** 1,16 **** " Vim syntax file ! " Language: CHILL ! " Maintainer: YoungSang Yoon ! " Last change: 2001 May 10 " - " first created by image@lgic.co.kr & modified by paris@lgic.co.kr - - " CHILL (CCITT High Level Programming Language) is used for - " developing software of ATM switch at LGIC (LG Information - " & Communications LTd.) - - " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded if version < 600 --- 1,13 ---- " Vim syntax file ! " Language: Ch ! " Maintainer: SoftIntegration, Inc. ! " URL: http://www.softintegration.com/download/vim/syntax/ch.vim ! " Last change: 2003 Aug 05 ! " Created based on cpp.vim ! " ! " Ch is a C/C++ interpreter with many high level extensions " " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded if version < 600 *************** *** 19,131 **** finish endif ! " A bunch of useful CHILL keywords ! syn keyword chStatement goto GOTO return RETURN returns RETURNS ! syn keyword chLabel CASE case ESAC esac ! syn keyword chConditional if IF else ELSE elsif ELSIF switch SWITCH THEN then FI fi ! syn keyword chLogical NOT not ! syn keyword chRepeat while WHILE for FOR do DO od OD TO to ! syn keyword chProcess START start STACKSIZE stacksize PRIORITY priority THIS this STOP stop ! syn keyword chBlock PROC proc PROCESS process ! syn keyword chSignal RECEIVE receive SEND send NONPERSISTENT nonpersistent PERSISTENT peristent SET set EVER ever ! ! syn keyword chTodo contained TODO FIXME XXX ! ! " String and Character constants ! " Highlight special characters (those which have a backslash) differently ! syn match chSpecial contained "\\x\x\+\|\\\o\{1,3\}\|\\.\|\\$" ! syn region chString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=chSpecial ! syn match chCharacter "'[^\\]'" ! syn match chSpecialCharacter "'\\.'" ! syn match chSpecialCharacter "'\\\o\{1,3\}'" ! ! "when wanted, highlight trailing white space ! if exists("ch_space_errors") ! syn match chSpaceError "\s*$" ! syn match chSpaceError " \+\t"me=e-1 ! endif ! ! "catch errors caused by wrong parenthesis ! syn cluster chParenGroup contains=chParenError,chIncluded,chSpecial,chTodo,chUserCont,chUserLabel,chBitField ! syn region chParen transparent start='(' end=')' contains=ALLBUT,@chParenGroup ! syn match chParenError ")" ! syn match chInParen contained "[{}]" ! ! "integer number, or floating point number without a dot and with "f". ! syn case ignore ! syn match chNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" ! "floating point number, with dot, optional exponent ! syn match chFloat "\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>" ! "floating point number, starting with a dot, optional exponent ! syn match chFloat "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" ! "floating point number, without dot, with exponent ! syn match chFloat "\<\d\+e[-+]\=\d\+[fl]\=\>" ! "hex number ! syn match chNumber "\<0x\x\+\(u\=l\=\|lu\)\>" ! "syn match chIdentifier "\<[a-z_][a-z0-9_]*\>" ! syn case match ! " flag an octal number with wrong digits ! syn match chOctalError "\<0\o*[89]" ! ! if exists("ch_comment_strings") ! " A comment can contain chString, chCharacter and chNumber. ! " But a "*/" inside a chString in a chComment DOES end the comment! So we ! " need to use a special type of chString: chCommentString, which also ends on ! " "*/", and sees a "*" at the start of the line as comment again. ! " Unfortunately this doesn't very well work for // type of comments :-( ! syntax match chCommentSkip contained "^\s*\*\($\|\s\+\)" ! syntax region chCommentString contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=chSpecial,chCommentSkip ! syntax region chComment2String contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=chSpecial ! syntax region chComment start="/\*" end="\*/" contains=chTodo,chCommentString,chCharacter,chNumber,chFloat,chSpaceError ! syntax match chComment "//.*" contains=chTodo,chComment2String,chCharacter,chNumber,chSpaceError else ! syn region chComment start="/\*" end="\*/" contains=chTodo,chSpaceError ! syn match chComment "//.*" contains=chTodo,chSpaceError endif - syntax match chCommentError "\*/" - - syn keyword chOperator SIZE size - syn keyword chType dcl DCL int INT char CHAR bool BOOL REF ref LOC loc INSTANCE instance - syn keyword chStructure struct STRUCT enum ENUM newmode NEWMODE synmode SYNMODE - "syn keyword chStorageClass - syn keyword chBlock PROC proc END end - syn keyword chScope GRANT grant SEIZE seize - syn keyword chEDML select SELECT delete DELETE update UPDATE in IN seq SEQ WHERE where INSERT insert include INCLUDE exclude EXCLUDE - syn keyword chBoolConst true TRUE false FALSE - - syn region chPreCondit start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=chComment,chString,chCharacter,chNumber,chCommentError,chSpaceError - syn region chIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+ - syn match chIncluded contained "<[^>]*>" - syn match chInclude "^\s*#\s*include\>\s*["<]" contains=chIncluded - "syn match chLineSkip "\\$" - syn cluster chPreProcGroup contains=chPreCondit,chIncluded,chInclude,chDefine,chInParen,chUserLabel - syn region chDefine start="^\s*#\s*\(define\>\|undef\>\)" skip="\\$" end="$" contains=ALLBUT,@chPreProcGroup - syn region chPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" contains=ALLBUT,@chPreProcGroup ! " Highlight User Labels ! syn cluster chMultiGroup contains=chIncluded,chSpecial,chTodo,chUserCont,chUserLabel,chBitField ! syn region chMulti transparent start='?' end=':' contains=ALLBUT,@chMultiGroup ! " Avoid matching foo::bar() in C++ by requiring that the next char is not ':' ! syn match chUserCont "^\s*\I\i*\s*:$" contains=chUserLabel ! syn match chUserCont ";\s*\I\i*\s*:$" contains=chUserLabel ! syn match chUserCont "^\s*\I\i*\s*:[^:]"me=e-1 contains=chUserLabel ! syn match chUserCont ";\s*\I\i*\s*:[^:]"me=e-1 contains=chUserLabel ! syn match chUserLabel "\I\i*" contained ! " Avoid recognizing most bitfields as labels ! syn match chBitField "^\s*\I\i*\s*:\s*[1-9]"me=e-1 ! syn match chBitField ";\s*\I\i*\s*:\s*[1-9]"me=e-1 ! ! syn match chBracket contained "[<>]" ! if !exists("ch_minlines") ! let ch_minlines = 15 ! endif ! exec "syn sync ccomment chComment minlines=" . ch_minlines ! ! " Define the default highlighting. ! " For version 5.7 and earlier: only when not done already ! " For version 5.8 and later: only when an item doesn't have highlighting yet if version >= 508 || !exists("did_ch_syntax_inits") if version < 508 let did_ch_syntax_inits = 1 --- 16,38 ---- finish endif ! " Read the C syntax to start with ! if version < 600 ! so :p:h/c.vim else ! runtime! syntax/c.vim ! unlet b:current_syntax endif ! " Ch extentions ! syn keyword chStatement new delete this ! syn keyword chAccess public private ! syn keyword chStorageClass __declspec(global) __declspec(local) ! syn keyword chStructure class ! syn keyword chType string_t array ! " Default highlighting if version >= 508 || !exists("did_ch_syntax_inits") if version < 508 let did_ch_syntax_inits = 1 *************** *** 133,188 **** else command -nargs=+ HiLink hi def link endif ! ! HiLink chLabel Label ! HiLink chUserLabel Label ! HiLink chConditional Conditional ! " hi chConditional term=bold ctermfg=red guifg=red gui=bold ! ! HiLink chRepeat Repeat ! HiLink chProcess Repeat ! HiLink chSignal Repeat ! HiLink chCharacter Character ! HiLink chSpecialCharacter chSpecial ! HiLink chNumber Number ! HiLink chFloat Float ! HiLink chOctalError chError ! HiLink chParenError chError ! HiLink chInParen chError ! HiLink chCommentError chError ! HiLink chSpaceError chError ! HiLink chOperator Operator ! HiLink chStructure Structure ! HiLink chBlock Operator ! HiLink chScope Operator ! "hi chEDML term=underline ctermfg=DarkRed guifg=Red ! HiLink chEDML PreProc ! "hi chBoolConst term=bold ctermfg=brown guifg=brown ! HiLink chBoolConst Constant ! "hi chLogical term=bold ctermfg=brown guifg=brown ! HiLink chLogical Constant ! HiLink chStorageClass StorageClass ! HiLink chInclude Include ! HiLink chPreProc PreProc ! HiLink chDefine Macro ! HiLink chIncluded chString ! HiLink chError Error ! HiLink chStatement Statement ! HiLink chPreCondit PreCondit ! HiLink chType Type ! HiLink chCommentError chError ! HiLink chCommentString chString ! HiLink chComment2String chString ! HiLink chCommentSkip chComment ! HiLink chString String ! HiLink chComment Comment ! " hi chComment term=None ctermfg=lightblue guifg=lightblue ! HiLink chSpecial SpecialChar ! HiLink chTodo Todo ! HiLink chBlock Statement ! "HiLink chIdentifier Identifier ! HiLink chBracket Delimiter ! delcommand HiLink endif --- 40,50 ---- else command -nargs=+ HiLink hi def link endif ! HiLink chAccess chStatement ! HiLink chExceptions Exception ! HiLink chStatement Statement ! HiLink chType Type ! HiLink chStructure Structure delcommand HiLink endif *** ../vim-6.2.201/runtime/syntax/chill.vim Sun Jan 25 20:08:47 2004 --- runtime/syntax/chill.vim Wed Jan 21 17:52:15 2004 *************** *** 0 **** --- 1,191 ---- + " Vim syntax file + " Language: CHILL + " Maintainer: YoungSang Yoon + " Last change: 2004 Jan 21 + " + + " first created by image@lgic.co.kr & modified by paris@lgic.co.kr + + " CHILL (CCITT High Level Programming Language) is used for + " developing software of ATM switch at LGIC (LG Information + " & Communications LTd.) + + + " For version 5.x: Clear all syntax items + " For version 6.x: Quit when a syntax file was already loaded + if version < 600 + syntax clear + elseif exists("b:current_syntax") + finish + endif + + " A bunch of useful CHILL keywords + syn keyword chillStatement goto GOTO return RETURN returns RETURNS + syn keyword chillLabel CASE case ESAC esac + syn keyword chillConditional if IF else ELSE elsif ELSIF switch SWITCH THEN then FI fi + syn keyword chillLogical NOT not + syn keyword chillRepeat while WHILE for FOR do DO od OD TO to + syn keyword chillProcess START start STACKSIZE stacksize PRIORITY priority THIS this STOP stop + syn keyword chillBlock PROC proc PROCESS process + syn keyword chillSignal RECEIVE receive SEND send NONPERSISTENT nonpersistent PERSISTENT peristent SET set EVER ever + + syn keyword chillTodo contained TODO FIXME XXX + + " String and Character constants + " Highlight special characters (those which have a backslash) differently + syn match chillSpecial contained "\\x\x\+\|\\\o\{1,3\}\|\\.\|\\$" + syn region chillString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=chillSpecial + syn match chillCharacter "'[^\\]'" + syn match chillSpecialCharacter "'\\.'" + syn match chillSpecialCharacter "'\\\o\{1,3\}'" + + "when wanted, highlight trailing white space + if exists("chill_space_errors") + syn match chillSpaceError "\s*$" + syn match chillSpaceError " \+\t"me=e-1 + endif + + "catch errors caused by wrong parenthesis + syn cluster chillParenGroup contains=chillParenError,chillIncluded,chillSpecial,chillTodo,chillUserCont,chillUserLabel,chillBitField + syn region chillParen transparent start='(' end=')' contains=ALLBUT,@chillParenGroup + syn match chillParenError ")" + syn match chillInParen contained "[{}]" + + "integer number, or floating point number without a dot and with "f". + syn case ignore + syn match chillNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" + "floating point number, with dot, optional exponent + syn match chillFloat "\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>" + "floating point number, starting with a dot, optional exponent + syn match chillFloat "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" + "floating point number, without dot, with exponent + syn match chillFloat "\<\d\+e[-+]\=\d\+[fl]\=\>" + "hex number + syn match chillNumber "\<0x\x\+\(u\=l\=\|lu\)\>" + "syn match chillIdentifier "\<[a-z_][a-z0-9_]*\>" + syn case match + " flag an octal number with wrong digits + syn match chillOctalError "\<0\o*[89]" + + if exists("chill_comment_strings") + " A comment can contain chillString, chillCharacter and chillNumber. + " But a "*/" inside a chillString in a chillComment DOES end the comment! So we + " need to use a special type of chillString: chillCommentString, which also ends on + " "*/", and sees a "*" at the start of the line as comment again. + " Unfortunately this doesn't very well work for // type of comments :-( + syntax match chillCommentSkip contained "^\s*\*\($\|\s\+\)" + syntax region chillCommentString contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=chillSpecial,chillCommentSkip + syntax region chillComment2String contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=chillSpecial + syntax region chillComment start="/\*" end="\*/" contains=chillTodo,chillCommentString,chillCharacter,chillNumber,chillFloat,chillSpaceError + syntax match chillComment "//.*" contains=chillTodo,chillComment2String,chillCharacter,chillNumber,chillSpaceError + else + syn region chillComment start="/\*" end="\*/" contains=chillTodo,chillSpaceError + syn match chillComment "//.*" contains=chillTodo,chillSpaceError + endif + syntax match chillCommentError "\*/" + + syn keyword chillOperator SIZE size + syn keyword chillType dcl DCL int INT char CHAR bool BOOL REF ref LOC loc INSTANCE instance + syn keyword chillStructure struct STRUCT enum ENUM newmode NEWMODE synmode SYNMODE + "syn keyword chillStorageClass + syn keyword chillBlock PROC proc END end + syn keyword chillScope GRANT grant SEIZE seize + syn keyword chillEDML select SELECT delete DELETE update UPDATE in IN seq SEQ WHERE where INSERT insert include INCLUDE exclude EXCLUDE + syn keyword chillBoolConst true TRUE false FALSE + + syn region chillPreCondit start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=chillComment,chillString,chillCharacter,chillNumber,chillCommentError,chillSpaceError + syn region chillIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+ + syn match chillIncluded contained "<[^>]*>" + syn match chillInclude "^\s*#\s*include\>\s*["<]" contains=chillIncluded + "syn match chillLineSkip "\\$" + syn cluster chillPreProcGroup contains=chillPreCondit,chillIncluded,chillInclude,chillDefine,chillInParen,chillUserLabel + syn region chillDefine start="^\s*#\s*\(define\>\|undef\>\)" skip="\\$" end="$" contains=ALLBUT,@chillPreProcGroup + syn region chillPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" contains=ALLBUT,@chillPreProcGroup + + " Highlight User Labels + syn cluster chillMultiGroup contains=chillIncluded,chillSpecial,chillTodo,chillUserCont,chillUserLabel,chillBitField + syn region chillMulti transparent start='?' end=':' contains=ALLBUT,@chillMultiGroup + " Avoid matching foo::bar() in C++ by requiring that the next char is not ':' + syn match chillUserCont "^\s*\I\i*\s*:$" contains=chillUserLabel + syn match chillUserCont ";\s*\I\i*\s*:$" contains=chillUserLabel + syn match chillUserCont "^\s*\I\i*\s*:[^:]"me=e-1 contains=chillUserLabel + syn match chillUserCont ";\s*\I\i*\s*:[^:]"me=e-1 contains=chillUserLabel + + syn match chillUserLabel "\I\i*" contained + + " Avoid recognizing most bitfields as labels + syn match chillBitField "^\s*\I\i*\s*:\s*[1-9]"me=e-1 + syn match chillBitField ";\s*\I\i*\s*:\s*[1-9]"me=e-1 + + syn match chillBracket contained "[<>]" + if !exists("chill_minlines") + let chill_minlines = 15 + endif + exec "syn sync ccomment chillComment minlines=" . chill_minlines + + " Define the default highlighting. + " For version 5.7 and earlier: only when not done already + " For version 5.8 and later: only when an item doesn't have highlighting yet + if version >= 508 || !exists("did_ch_syntax_inits") + if version < 508 + let did_ch_syntax_inits = 1 + command -nargs=+ HiLink hi link + else + command -nargs=+ HiLink hi def link + endif + + HiLink chillLabel Label + HiLink chillUserLabel Label + HiLink chillConditional Conditional + " hi chillConditional term=bold ctermfg=red guifg=red gui=bold + + HiLink chillRepeat Repeat + HiLink chillProcess Repeat + HiLink chillSignal Repeat + HiLink chillCharacter Character + HiLink chillSpecialCharacter chillSpecial + HiLink chillNumber Number + HiLink chillFloat Float + HiLink chillOctalError chillError + HiLink chillParenError chillError + HiLink chillInParen chillError + HiLink chillCommentError chillError + HiLink chillSpaceError chillError + HiLink chillOperator Operator + HiLink chillStructure Structure + HiLink chillBlock Operator + HiLink chillScope Operator + "hi chillEDML term=underline ctermfg=DarkRed guifg=Red + HiLink chillEDML PreProc + "hi chillBoolConst term=bold ctermfg=brown guifg=brown + HiLink chillBoolConst Constant + "hi chillLogical term=bold ctermfg=brown guifg=brown + HiLink chillLogical Constant + HiLink chillStorageClass StorageClass + HiLink chillInclude Include + HiLink chillPreProc PreProc + HiLink chillDefine Macro + HiLink chillIncluded chillString + HiLink chillError Error + HiLink chillStatement Statement + HiLink chillPreCondit PreCondit + HiLink chillType Type + HiLink chillCommentError chillError + HiLink chillCommentString chillString + HiLink chillComment2String chillString + HiLink chillCommentSkip chillComment + HiLink chillString String + HiLink chillComment Comment + " hi chillComment term=None ctermfg=lightblue guifg=lightblue + HiLink chillSpecial SpecialChar + HiLink chillTodo Todo + HiLink chillBlock Statement + "HiLink chillIdentifier Identifier + HiLink chillBracket Delimiter + + delcommand HiLink + endif + + let b:current_syntax = "chill" + + " vim: ts=8 *** ../vim-6.2.201/src/version.c Sun Jan 25 19:56:12 2004 --- src/version.c Sun Jan 25 19:57:47 2004 *************** *** 639,640 **** --- 639,642 ---- { /* Add new patch number below this line */ + /**/ + 202, /**/ -- BEDEVERE: Stand by for attack!! [CUT TO enormous army forming up. Trebuchets, rows of PIKEMEN, siege towers, pennants flying, shouts of "Stand by for attack!" Traditional army build-up shots. The shouts echo across the ranks of the army. We see various groups reacting, and stirring themselves in readiness.] ARTHUR: Who are they? BEDEVERE: Oh, just some friends! "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ Project leader for A-A-P -- http://www.A-A-P.org /// \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///