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

Reply via email to