annotate runtime/syntax/javascript.vim @ 7:3fc0f57ecb91 v7.0001

updated for version 7.0001
author vimboss
date Sun, 13 Jun 2004 20:20:40 +0000
parents
children 125e80798a85
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 " Vim syntax file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 " Language: JavaScript
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 " Maintainer: Claudio Fleiner <claudio@fleiner.com>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 " URL: http://www.fleiner.com/vim/syntax/javascript.vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5 " Last Change: 2004 May 16
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 " For version 5.x: Clear all syntax items
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 " For version 6.x: Quit when a syntax file was already loaded
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 " tuning parameters:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 " unlet javaScript_fold
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12 if !exists("main_syntax")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 if version < 600
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 syntax clear
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 elseif exists("b:current_syntax")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 let main_syntax = 'javascript'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 " Drop fold if it set but vim doesn't support it.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 if version < 600 && exists("javaScript_fold")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 unlet javaScript_fold
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 syn case ignore
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 syn keyword javaScriptCommentTodo TODO FIXME XXX TBD contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 syn match javaScriptLineComment "\/\/.*$" contains=javaScriptCommentTodo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 syn match javaScriptCommentSkip "^[ \t]*\*\($\|[ \t]\+\)"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 syn region javaScriptComment start="/\*" end="\*/" contains=javaScriptCommentTodo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 syn match javaScriptSpecial "\\\d\d\d\|\\."
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 syn region javaScriptStringD start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=javaScriptSpecial,@htmlPreproc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35 syn region javaScriptStringS start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=javaScriptSpecial,@htmlPreproc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36 syn match javaScriptSpecialCharacter "'\\.'"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37 syn match javaScriptNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38 syn region javaScriptRegexpString start=+/+ skip=+\\\\\|\\/+ end=+/[gi]\?\s*$+ end=+/[gi]\?\s*[;,)]+me=e-1 contains=@htmlPreproc oneline
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39 syn keyword javaScriptConditional if else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 syn keyword javaScriptRepeat while for
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41 syn keyword javaScriptBranch break continue switch case default
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 syn keyword javaScriptOperator new in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43 syn keyword javaScriptType this var const
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 syn keyword javaScriptStatement return with
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45 syn keyword javaScriptBoolean true false
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47 if exists("javaScript_fold")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 syn match javaScriptFunction "\<function\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 syn region javaScriptFunctionFold start="\<function\>.*[^};]$" end="^\z1}.*$" transparent fold keepend
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51 syn sync match javaScriptSync grouphere javaScriptFunctionFold "\<function\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 syn sync match javaScriptSync grouphere NONE "^}"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54 setlocal foldmethod=syntax
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55 setlocal foldtext=getline(v:foldstart)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57 syn keyword javaScriptFunction function
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58 syn match javaScriptBraces "[{}]"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61 syn sync fromstart
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62 syn sync maxlines=100
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 " catch errors caused by wrong parenthesis
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 syn region javaScriptParen transparent start="(" end=")" contains=javaScriptParen,javaScriptComment,javaScriptSpecial,javaScriptStringD,javaScriptStringS,javaScriptSpecialCharacter,javaScriptNumber,javaScriptRegexpString,javaScriptBoolean,javaScriptBraces
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66 syn match javaScrParenError ")"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68 if main_syntax == "javascript"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69 syn sync ccomment javaScriptComment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72 " Define the default highlighting.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73 " For version 5.7 and earlier: only when not done already
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74 " For version 5.8 and later: only when an item doesn't have highlighting yet
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75 if version >= 508 || !exists("did_javascript_syn_inits")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76 if version < 508
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77 let did_javascript_syn_inits = 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 command -nargs=+ HiLink hi link <args>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80 command -nargs=+ HiLink hi def link <args>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
81 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
82 HiLink javaScriptComment Comment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83 HiLink javaScriptLineComment Comment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 HiLink javaScriptCommentTodo Todo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85 HiLink javaScriptSpecial Special
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
86 HiLink javaScriptStringS String
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87 HiLink javaScriptStringD String
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88 HiLink javaScriptCharacter Character
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89 HiLink javaScriptSpecialCharacter javaScriptSpecial
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90 HiLink javaScriptNumber javaScriptValue
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91 HiLink javaScriptConditional Conditional
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92 HiLink javaScriptRepeat Repeat
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 HiLink javaScriptBranch Conditional
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94 HiLink javaScriptOperator Operator
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95 HiLink javaScriptType Type
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96 HiLink javaScriptStatement Statement
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97 HiLink javaScriptFunction Function
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98 HiLink javaScriptBraces Function
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99 HiLink javaScriptError Error
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100 HiLink javaScrParenError javaScriptError
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101 HiLink javaScriptBoolean Boolean
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102 HiLink javaScriptRegexpString String
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103 delcommand HiLink
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
104 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
105
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106 let b:current_syntax = "javascript"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107 if main_syntax == 'javascript'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108 unlet main_syntax
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111 " vim: ts=8