Author: baggins Date: Tue Mar 14 21:30:22 2006 GMT Module: SOURCES Tag: HEAD ---- Log message: - javascript syntax replacement (one that's useful)
---- Files affected: SOURCES: javascript.vim (NONE -> 1.1) (NEW) ---- Diffs: ================================================================ Index: SOURCES/javascript.vim diff -u /dev/null SOURCES/javascript.vim:1.1 --- /dev/null Tue Mar 14 22:30:22 2006 +++ SOURCES/javascript.vim Tue Mar 14 22:30:17 2006 @@ -0,0 +1,128 @@ +" Vim syntax file +" Language: JavaScript +" Maintainer: Yi Zhao <zzlinux AT hotmail DOT com> +" Last Change: 2006 March 10 +" Version: 0.3 +" Based On: javascript.vim from Claudio Fleiner <[EMAIL PROTECTED]> +" Changes: Include all JavaScript Global Objects; and jsLabel support +" +" TODO +" - internal function hightlight +" - code fold support +" + +if !exists("main_syntax") + if version < 600 + syntax clear + elseif exists("b:current_syntax") + finish + endif + let main_syntax = 'javascript' +endif + +" Drop fold if it set but vim doesn't support it. +if version < 600 && exists("javaScript_fold") + unlet javaScript_fold +endif + +syntax case match + +syntax match jsSpecial "\\\d\d\d\|\\." +syntax region jsStringD start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=jsSpecial,@htmlPreproc +syntax region jsStringS start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=jsSpecial,@htmlPreproc +syntax region jsRegexpString start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gi]\?\s*$+ end=+/[gi]\?\s*[;.,)]+me=e-1 [EMAIL PROTECTED] oneline +syntax match jsNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>" + +syntax keyword jsCommentTodo TODO FIXME XXX TBD contained +syntax region jsLineComment start=+\/\/+ end=/$/ contains=jsCommentTodo oneline +syntax region jsComment start="/\*" end="\*/" contains=jsCommentTodo,jsLineComment + +syntax match jsLabel /\(?\s*\)\@<!\w\+\(\s*:\)[EMAIL PROTECTED]/ + +"" Programm Keywords +syntax keyword jsSource import export +syntax keyword jsType this var const void +syntax keyword jsOperator delete new in instanceof typeof +syntax keyword jsBoolean true false +syntax keyword jsNull null + +"" Statement Keywords +syntax keyword jsConditional if else +syntax keyword jsRepeat while for +syntax keyword jsBranch break continue switch case default return +syntax keyword jsStatement try catch throw with + +syntax keyword jsGlobalObjects Array Boolean Date Error Function java JavaArray JavaClass JavaObject JavaPackage Math netscape Number Object Packages RegExp String sun + +if exists("javaScript_fold") + syntax match jsFunction "\<function\>" + syntax region jsFunctionFold start="\<function\>.*[^};]$" end="^\z1}.*$" transparent fold keepend + + syntax sync match jsSync grouphere jsFunctionFold "\<function\>" + syntax sync match jsSync grouphere NONE "^}" + + setlocal foldmethod=syntax + setlocal foldtext=getline(v:foldstart) +else + syntax keyword jsFunction function +endif + +syntax sync fromstart +syntax sync maxlines=100 + +" Code blocks +syntax cluster jsAll contains=jsComment,jsSpecial,jsStringD,jsStringS,jsNumber,jsRegexpString,jsBoolean,jsFunction,jsFunctionFold,jsConditional,jsRepeat,jsBranch,jsOperator,jsType,jsStatement,jsBoolean,jsGlobalObjects +syntax region jsBracket matchgroup=jsBracket transparent start="\[" end="\]" [EMAIL PROTECTED],jsBracket,jsParen,jsBlock +syntax region jsParen matchgroup=jsParen transparent start="(" end=")" [EMAIL PROTECTED],jsParen,jsBracket,jsBlock +syntax region jsBlock matchgroup=jsBlcok transparent start="{" end="}" contains=ALL + +" catch errors caused by wrong parenthesis +syntax match jsParenError ")\|}\|\]" + +if main_syntax == "javascript" + syntax sync ccomment jsComment +endif + +" 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_javascript_syn_inits") + if version < 508 + let did_javascript_syn_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + HiLink jsComment Comment + HiLink jsLineComment Comment + HiLink jsCommentTodo Todo + HiLink jsStringS String + HiLink jsStringD String + HiLink jsRegexpString String + HiLink jsCharacter Character + HiLink jsConditional Conditional + HiLink jsBranch Conditional + HiLink jsRepeat Repeat + HiLink jsStatement Statement + HiLink jsFunction Function + HiLink jsBlock Function + HiLink jsError Error + HiLink jsParenError Error + HiLink jsOperator Operator + HiLink jsType Type + HiLink jsNull Type + HiLink jsNumber Number + HiLink jsBoolean Boolean + HiLink jsLabel Label + HiLink jsSpecial Special + HiLink jsSource Special + HiLink jsGlobalObjects Special + delcommand HiLink +endif + +let b:current_syntax = "javascript" +if main_syntax == 'javascript' + unlet main_syntax +endif + +" vim: ts=4 ================================================================ _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit