SOURCES: javascript.vim - updated to 0.5
adamg
adamg at pld-linux.org
Tue Apr 25 12:21:37 CEST 2006
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 <claudio at fleiner.com>
-" 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, at htmlPreproc
-syntax region jsStringS start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=jsSpecial, at htmlPreproc
-syntax region jsRegexpString start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gi]\?\s*$+ end=+/[gi]\?\s*[;.,)]+me=e-1 contains=@htmlPreproc 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, at htmlPreproc
+syntax region jsStringS start=+'+ skip=+\\\\\|\\$'+ end=+'+ contains=jsSpecial, at htmlPreproc
+syntax region jsRegexpString start=+/\(\*\|/\)\@!+ skip=+\\\\\|\\/+ end=+/[gim]*\(\s*[),.;$]\)\@=+ contains=jsSpecial, at 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*:\)\@=/
+syntax match jsLabel /\(?\s*\)\@<!\<\w\+\(\s*:\)\@=/
"" 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="\]" contains=@jsAll,jsBracket,jsParen,jsBlock
syntax region jsParen matchgroup=jsParen transparent start="(" end=")" contains=@jsAll,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*\)\@=/ nextgroup=jsFuncFoldParen skipwhite fold
+ syntax region jsFuncFoldParen start="(" end=")" contained nextgroup=jsFuncBlock skipwhite contains=@jsAll,jsParen fold
+ syntax region jsFuncFoldBlock start="{" end="}\([\s;]*$\)\@=" 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 contains=@jsAll,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
More information about the pld-cvs-commit
mailing list