Author: adamg Date: Tue Apr 25 10:21:37 2006 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- updated to 0.5
---- Files affected:
SOURCES:
javascript.vim (1.1 -> 1.2)
---- Diffs:
================================================================
Index: SOURCES/javascript.vim
diff -u SOURCES/javascript.vim:1.1 SOURCES/javascript.vim:1.2
--- SOURCES/javascript.vim:1.1 Tue Mar 14 22:30:17 2006
+++ SOURCES/javascript.vim Tue Apr 25 12:21:32 2006
@@ -1,14 +1,13 @@
" Vim syntax file
" Language: JavaScript
" Maintainer: Yi Zhao <zzlinux AT hotmail DOT com>
-" Last Change: 2006 March 10
-" Version: 0.3
+" Last Change: 2006 March 20
+" Version: 0.5
" Based On: javascript.vim from Claudio Fleiner <[EMAIL PROTECTED]>
-" Changes: Include all JavaScript Global Objects; and jsLabel support
+" Changes: export @htmlJavaScript to html.vim
"
" TODO
" - internal function hightlight
-" - code fold support
"
if !exists("main_syntax")
@@ -23,21 +22,23 @@
" Drop fold if it set but vim doesn't support it.
if version < 600 && exists("javaScript_fold")
unlet javaScript_fold
+"else
+" let javaScript_fold = 'true'
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 jsSpecial
"\\\d\d\d\|\\x[0-9a-fA-F]\{2\}\|\\u[0-9a-fA-F]\{4\}\|\\."
+syntax region jsStringD start=+"+ skip=+\\\\\|\\$"+ end=+"+
contains=jsSpecial,@htmlPreproc
+syntax region jsStringS start=+'+ skip=+\\\\\|\\$'+ end=+'+
contains=jsSpecial,@htmlPreproc
+syntax region jsRegexpString start=+/\(\*\|/\)[EMAIL PROTECTED]
skip=+\\\\\|\\/+ end=+/[gim]*\(\s*[),.;$]\)[EMAIL PROTECTED]
contains=jsSpecial,@htmlPreproc 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 region jsComment start="/\*" end="\*/"
contains=jsCommentTodo,jsLineComment fold
-syntax match jsLabel /\(?\s*\)\@<!\w\+\(\s*:\)[EMAIL PROTECTED]/
+syntax match jsLabel /\(?\s*\)\@<!\<\w\+\(\s*:\)[EMAIL PROTECTED]/
"" Programm Keywords
syntax keyword jsSource import export
@@ -48,30 +49,17 @@
"" Statement Keywords
syntax keyword jsConditional if else
-syntax keyword jsRepeat while for
+syntax keyword jsRepeat do 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 cluster jsAll
contains=jsComment,jsLineComment,jsSpecial,jsStringD,jsStringS,jsNumber,jsRegexpString,jsBoolean,jsFunction,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
@@ -83,6 +71,21 @@
syntax sync ccomment jsComment
endif
+if exists("javaScript_fold")
+ syntax match jsFunction /\<function\>/
+ syntax match jsFuncFoldStart
/\([=:^]\s*\)\@<=\<function\>\(\s*\w*\s*\)[EMAIL PROTECTED]/
nextgroup=jsFuncFoldParen skipwhite fold
+ syntax region jsFuncFoldParen start="(" end=")" contained
nextgroup=jsFuncBlock skipwhite [EMAIL PROTECTED],jsParen fold
+ syntax region jsFuncFoldBlock start="{" end="}\([\s;]*$\)[EMAIL
PROTECTED]" skipwhite contains=ALL contained fold
+
+ syntax sync match jsSync grouphere jsFuncFoldBlock "\<function\>"
+ syntax sync match jsSync grouphere NONE "^}"
+
+ setlocal foldmethod=syntax
+ setlocal foldtext=getline(v:foldstart)
+else
+ syntax keyword jsFunction function
+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
@@ -119,6 +122,11 @@
HiLink jsGlobalObjects Special
delcommand HiLink
endif
+
+" Define the htmlJavaScript for HTML syntax html.vim
+syntax cluster htmlJavaScript [EMAIL
PROTECTED],jsBracket,jsParen,jsBlock,jsParenError
+" Removing javaScriptExpression, while it didn't work because we are loaded
first.
+"syntax clear javaScriptExpression
let b:current_syntax = "javascript"
if main_syntax == 'javascript'
================================================================
---- CVS-web:
http://cvs.pld-linux.org/SOURCES/javascript.vim?r1=1.1&r2=1.2&f=u
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit