diff options
author | Bram Moolenaar <Bram@vim.org> | 2004-06-13 20:20:40 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2004-06-13 20:20:40 +0000 |
commit | 071d4279d6ab81b7187b48f3a0fc61e587b6db6c (patch) | |
tree | 221cbe3c40e043163c06f61c52a7ba2eb41e12ce /runtime/syntax/javascript.vim | |
parent | b4210b3bc14e2918f153a7307530fbe6eba659e1 (diff) | |
download | vim-071d4279d6ab81b7187b48f3a0fc61e587b6db6c.zip |
updated for version 7.0001
Diffstat (limited to 'runtime/syntax/javascript.vim')
-rw-r--r-- | runtime/syntax/javascript.vim | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/runtime/syntax/javascript.vim b/runtime/syntax/javascript.vim new file mode 100644 index 000000000..a037496bb --- /dev/null +++ b/runtime/syntax/javascript.vim @@ -0,0 +1,111 @@ +" Vim syntax file +" Language: JavaScript +" Maintainer: Claudio Fleiner <claudio@fleiner.com> +" URL: http://www.fleiner.com/vim/syntax/javascript.vim +" Last Change: 2004 May 16 + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +" tuning parameters: +" unlet javaScript_fold + +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 + +syn case ignore + + +syn keyword javaScriptCommentTodo TODO FIXME XXX TBD contained +syn match javaScriptLineComment "\/\/.*$" contains=javaScriptCommentTodo +syn match javaScriptCommentSkip "^[ \t]*\*\($\|[ \t]\+\)" +syn region javaScriptComment start="/\*" end="\*/" contains=javaScriptCommentTodo +syn match javaScriptSpecial "\\\d\d\d\|\\." +syn region javaScriptStringD start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=javaScriptSpecial,@htmlPreproc +syn region javaScriptStringS start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=javaScriptSpecial,@htmlPreproc +syn match javaScriptSpecialCharacter "'\\.'" +syn match javaScriptNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>" +syn region javaScriptRegexpString start=+/+ skip=+\\\\\|\\/+ end=+/[gi]\?\s*$+ end=+/[gi]\?\s*[;,)]+me=e-1 contains=@htmlPreproc oneline +syn keyword javaScriptConditional if else +syn keyword javaScriptRepeat while for +syn keyword javaScriptBranch break continue switch case default +syn keyword javaScriptOperator new in +syn keyword javaScriptType this var const +syn keyword javaScriptStatement return with +syn keyword javaScriptBoolean true false + +if exists("javaScript_fold") + syn match javaScriptFunction "\<function\>" + syn region javaScriptFunctionFold start="\<function\>.*[^};]$" end="^\z1}.*$" transparent fold keepend + + syn sync match javaScriptSync grouphere javaScriptFunctionFold "\<function\>" + syn sync match javaScriptSync grouphere NONE "^}" + + setlocal foldmethod=syntax + setlocal foldtext=getline(v:foldstart) +else + syn keyword javaScriptFunction function + syn match javaScriptBraces "[{}]" +endif + +syn sync fromstart +syn sync maxlines=100 + +" catch errors caused by wrong parenthesis +syn region javaScriptParen transparent start="(" end=")" contains=javaScriptParen,javaScriptComment,javaScriptSpecial,javaScriptStringD,javaScriptStringS,javaScriptSpecialCharacter,javaScriptNumber,javaScriptRegexpString,javaScriptBoolean,javaScriptBraces +syn match javaScrParenError ")" + +if main_syntax == "javascript" + syn sync ccomment javaScriptComment +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 javaScriptComment Comment + HiLink javaScriptLineComment Comment + HiLink javaScriptCommentTodo Todo + HiLink javaScriptSpecial Special + HiLink javaScriptStringS String + HiLink javaScriptStringD String + HiLink javaScriptCharacter Character + HiLink javaScriptSpecialCharacter javaScriptSpecial + HiLink javaScriptNumber javaScriptValue + HiLink javaScriptConditional Conditional + HiLink javaScriptRepeat Repeat + HiLink javaScriptBranch Conditional + HiLink javaScriptOperator Operator + HiLink javaScriptType Type + HiLink javaScriptStatement Statement + HiLink javaScriptFunction Function + HiLink javaScriptBraces Function + HiLink javaScriptError Error + HiLink javaScrParenError javaScriptError + HiLink javaScriptBoolean Boolean + HiLink javaScriptRegexpString String + delcommand HiLink +endif + +let b:current_syntax = "javascript" +if main_syntax == 'javascript' + unlet main_syntax +endif + +" vim: ts=8 |