Author: adamg Date: Sat Mar 22 11:20:25 2008 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- updated to 0.7.5
---- Files affected:
SOURCES:
javascript.vim (1.3 -> 1.4)
---- Diffs:
================================================================
Index: SOURCES/javascript.vim
diff -u SOURCES/javascript.vim:1.3 SOURCES/javascript.vim:1.4
--- SOURCES/javascript.vim:1.3 Sun May 13 10:19:40 2007
+++ SOURCES/javascript.vim Sat Mar 22 12:20:19 2008
@@ -1,10 +1,17 @@
" Vim syntax file
" Language: JavaScript
" Maintainer: Yi Zhao (ZHAOYI) <zzlinux AT hotmail DOT com>
-" Last Change: 2007 Jan. 30th
-" Version: 0.7.3
-" Changes: Add the keywords for JavaScript 1.7: let, yield,
-"
+" Last Change: May 17, 2007
+" Version: 0.7.5
+" Changes: 1, Get the vimdiff problem fixed finally.
+" Matthew Gallant reported the problem and test the fix. ;)
+" 2, Follow the suggestioin from Ingo Karkat.
+" The 'foldtext' and 'foldlevel' settings should only be
+" changed if the file being edited is pure JavaScript,
+" not if JavaScript syntax is embedded inside other syntaxes.
+" 3, Remove function FT_JavaScriptDoc().
+" Since VIM do the better than me.
+"
" TODO:
" - Add the HTML syntax inside the JSDoc
@@ -18,10 +25,9 @@
endif
"" Drop fold if it set but VIM doesn't support it.
-if version < 600 && exists("javaScript_fold")
- unlet javaScript_fold
-else
- let javaScript_fold = 'false'
+let b:javascript_fold='true'
+if version < 600 " Don't support the old version
+ unlet! b:javascript_fold
endif
"" dollar sigh is permittd anywhere in an identifier
@@ -32,7 +38,7 @@
"" JavaScript comments
syntax keyword javaScriptCommentTodo TODO FIXME XXX TBD contained
-syntax region javaScriptLineComment start=+\/\/+ end=+$+ keepend
contains=javaScriptCommentTodo,@Spell
+syntax region javaScriptLineComment start=+\/\/+ end=+$+ keepend
contains=javaScriptCommentTodo,@Spell
syntax region javaScriptLineComment start=+^\s*\/\/+ skip=+\n\s*\/\/+
end=+$+ keepend contains=javaScriptCommentTodo,@Spell fold
syntax region javaScriptCvsTag start="\$\cid:" end="\$" oneline
contained
syntax region javaScriptComment start="/\*" end="\*/"
contains=javaScriptCommentTodo,javaScriptCvsTag,@Spell fold
@@ -43,11 +49,11 @@
"" syntax coloring for javadoc comments (HTML)
"syntax include @javaHtml <sfile>:p:h/html.vim
- "unlet b:current_syntax
-
+ "unlet b:current_syntax
+
syntax region javaScriptDocComment matchgroup=javaScriptComment
start="/\*\*\s*$" end="\*/"
contains=javaScriptDocTags,javaScriptCommentTodo,javaScriptCvsTag,@javaScriptHtml,@Spell
fold
- syntax match javaScriptDocTags contained
"@\(param\|argument\|requires\|exception\|throws\|type\|class\|extends\|see\|link\|member\|base\|file\)\>"
nextgroup=javaScriptDocParam,javaScriptDocSeeTag skipwhite
- syntax match javaScriptDocTags contained
"@\(deprecated\|fileoverview\|author\|license\|version\|returns\=\|constructor\|private\|final\|ignore\|addon\|exec\)\>"
+ syntax match javaScriptDocTags contained
"@\(param\|argument\|requires\|exception\|throws\|type\|class\|extends\|see\|link\|member\|module\|method\|title\|namespace\|optional\|default\|base\|file\)\>"
nextgroup=javaScriptDocParam,javaScriptDocSeeTag skipwhite
+ syntax match javaScriptDocTags contained
"@\(beta\|deprecated\|description\|fileoverview\|author\|license\|version\|returns\=\|constructor\|private\|protected\|final\|ignore\|addon\|exec\)\>"
syntax match javaScriptDocParam contained "\%(#\|\w\|\.\|:\|\/\)\+"
syntax region javaScriptDocSeeTag contained
matchgroup=javaScriptDocSeeTag start="{" end="}" contains=javaScriptDocTags
@@ -60,43 +66,43 @@
syntax match javaScriptSpecial "\\\d\d\d\|\\x\x\{2\}\|\\u\x\{4\}\|\\."
syntax region javaScriptStringD start=+"+ skip=+\\\\\|\\$"+ end=+"+
contains=javaScriptSpecial,@htmlPreproc
syntax region javaScriptStringS start=+'+ skip=+\\\\\|\\$'+ end=+'+
contains=javaScriptSpecial,@htmlPreproc
-syntax region javaScriptRegexpString start=+/\(\*\|/\)[EMAIL PROTECTED]
skip=+\\\\\|\\/+ end=+/[gim]\{-,3}\(\s*[),.;$]\)[EMAIL PROTECTED]
contains=javaScriptSpecial,@htmlPreproc oneline
+syntax region javaScriptRegexpString start=+/\(\*\|/\)[EMAIL PROTECTED]
skip=+\\\\\|\\/+ end=+/[gim]\{-,3}+ contains=javaScriptSpecial,@htmlPreproc
oneline
syntax match javaScriptNumber /\<-\=\d\+L\=\>\|\<0[xX]\x\+\>/
syntax match javaScriptFloat
/\<-\=\%(\d\+\.\d\+\|\d\+\.\|\.\d\+\)\%([eE][+-]\=\d\+\)\=\>/
syntax match javaScriptLabel /\(?\s*\)\@<!\<\w\+\(\s*:\)[EMAIL
PROTECTED]/
-"" JavaScript Prototype
-syntax keyword javaScriptPrototype prototype
+"" JavaScript Prototype
+syntax keyword javaScriptPrototype prototype
"" Programm Keywords
syntax keyword javaScriptSource import export
syntax keyword javaScriptType const this var void yield
-syntax keyword javaScriptOperator delete new in instanceof let typeof
+syntax keyword javaScriptOperator delete new in instanceof let typeof
syntax keyword javaScriptBoolean true false
syntax keyword javaScriptNull null
"" Statement Keywords
syntax keyword javaScriptConditional if else
syntax keyword javaScriptRepeat do while for
-syntax keyword javaScriptBranch break continue switch case default
return
-syntax keyword javaScriptStatement try catch throw with finally
+syntax keyword javaScriptBranch break continue switch case default
return
+syntax keyword javaScriptStatement try catch throw with finally
syntax keyword javaScriptGlobalObjects Array Boolean Date Function Infinity
JavaArray JavaClass JavaObject JavaPackage Math Number NaN Object Packages
RegExp String Undefined java netscape sun
syntax keyword javaScriptExceptions Error EvalError RangeError
ReferenceError SyntaxError TypeError URIError
-syntax keyword javaScriptFutureKeys abstract enum int short boolean export
interface static byte extends long super char final native synchronized class
float package throws const goto private transient debugger implements protected
volatile double import public
+syntax keyword javaScriptFutureKeys abstract enum int short boolean export
interface static byte extends long super char final native synchronized class
float package throws const goto private transient debugger implements protected
volatile double import public
"" DOM/HTML/CSS specified things
" DOM2 Objects
syntax keyword javaScriptGlobalObjects DOMImplementation DocumentFragment
Document Node NodeList NamedNodeMap CharacterData Attr Element Text Comment
CDATASection DocumentType Notation Entity EntityReference ProcessingInstruction
syntax keyword javaScriptExceptions DOMException
-
+
" DOM2 CONSTANT
syntax keyword javaScriptDomErrNo INDEX_SIZE_ERR DOMSTRING_SIZE_ERR
HIERARCHY_REQUEST_ERR WRONG_DOCUMENT_ERR INVALID_CHARACTER_ERR
NO_DATA_ALLOWED_ERR NO_MODIFICATION_ALLOWED_ERR NOT_FOUND_ERR NOT_SUPPORTED_ERR
INUSE_ATTRIBUTE_ERR INVALID_STATE_ERR SYNTAX_ERR INVALID_MODIFICATION_ERR
NAMESPACE_ERR INVALID_ACCESS_ERR
- syntax keyword javaScriptDomNodeConsts ELEMENT_NODE ATTRIBUTE_NODE
TEXT_NODE CDATA_SECTION_NODE ENTITY_REFERENCE_NODE ENTITY_NODE
PROCESSING_INSTRUCTION_NODE COMMENT_NODE DOCUMENT_NODE DOCUMENT_TYPE_NODE
DOCUMENT_FRAGMENT_NODE NOTATION_NODE
-
+ syntax keyword javaScriptDomNodeConsts ELEMENT_NODE ATTRIBUTE_NODE
TEXT_NODE CDATA_SECTION_NODE ENTITY_REFERENCE_NODE ENTITY_NODE
PROCESSING_INSTRUCTION_NODE COMMENT_NODE DOCUMENT_NODE DOCUMENT_TYPE_NODE
DOCUMENT_FRAGMENT_NODE NOTATION_NODE
+
" HTML events and internal variables
syntax case ignore
syntax keyword javaScriptHtmlEvents onblur onclick oncontextmenu
ondblclick onfocus onkeydown onkeypress onkeyup onmousedown onmousemove
onmouseout onmouseover onmouseup onresize
@@ -115,22 +121,22 @@
syntax match javaScriptHtmlElemFuncs contained
/\%(blur\|click\|focus\|scrollIntoView\|addEventListener\|dispatchEvent\|removeEventListener\|item\)\>/
nextgroup=javaScriptParen skipwhite
" CSS Styles in JavaScript
- syntax keyword javaScriptCssStyles contained color font fontFamily
fontSize fontSizeAdjust fontStretch fontStyle fontVariant fontWeight
letterSpacing lineBreak lineHeight quotes rubyAlign rubyOverhang rubyPosition
- syntax keyword javaScriptCssStyles contained textAlign textAlignLast
textAutospace textDecoration textIndent textJustify textJustifyTrim
textKashidaSpace textOverflowW6 textShadow textTransform textUnderlinePosition
+ syntax keyword javaScriptCssStyles contained color font fontFamily
fontSize fontSizeAdjust fontStretch fontStyle fontVariant fontWeight
letterSpacing lineBreak lineHeight quotes rubyAlign rubyOverhang rubyPosition
+ syntax keyword javaScriptCssStyles contained textAlign textAlignLast
textAutospace textDecoration textIndent textJustify textJustifyTrim
textKashidaSpace textOverflowW6 textShadow textTransform textUnderlinePosition
syntax keyword javaScriptCssStyles contained unicodeBidi whiteSpace
wordBreak wordSpacing wordWrap writingMode
- syntax keyword javaScriptCssStyles contained bottom height left
position right top width zIndex
+ syntax keyword javaScriptCssStyles contained bottom height left
position right top width zIndex
syntax keyword javaScriptCssStyles contained border borderBottom
borderLeft borderRight borderTop borderBottomColor borderLeftColor
borderTopColor borderBottomStyle borderLeftStyle borderRightStyle
borderTopStyle borderBottomWidth borderLeftWidth borderRightWidth
borderTopWidth borderColor borderStyle borderWidth borderCollapse borderSpacing
captionSide emptyCells tableLayout
- syntax keyword javaScriptCssStyles contained margin marginBottom
marginLeft marginRight marginTop outline outlineColor outlineStyle outlineWidth
padding paddingBottom paddingLeft paddingRight paddingTop
- syntax keyword javaScriptCssStyles contained listStyle listStyleImage
listStylePosition listStyleType
+ syntax keyword javaScriptCssStyles contained margin marginBottom
marginLeft marginRight marginTop outline outlineColor outlineStyle outlineWidth
padding paddingBottom paddingLeft paddingRight paddingTop
+ syntax keyword javaScriptCssStyles contained listStyle listStyleImage
listStylePosition listStyleType
syntax keyword javaScriptCssStyles contained background
backgroundAttachment backgroundColor backgroundImage gackgroundPosition
backgroundPositionX backgroundPositionY backgroundRepeat
- syntax keyword javaScriptCssStyles contained clear clip clipBottom
clipLeft clipRight clipTop content counterIncrement counterReset cssFloat
cursor direction display filter layoutGrid layoutGridChar layoutGridLine
layoutGridMode layoutGridType
- syntax keyword javaScriptCssStyles contained marks maxHeight maxWidth
minHeight minWidth opacity MozOpacity overflow overflowX overflowY
verticalAlign visibility zoom cssText
+ syntax keyword javaScriptCssStyles contained clear clip clipBottom
clipLeft clipRight clipTop content counterIncrement counterReset cssFloat
cursor direction display filter layoutGrid layoutGridChar layoutGridLine
layoutGridMode layoutGridType
+ syntax keyword javaScriptCssStyles contained marks maxHeight maxWidth
minHeight minWidth opacity MozOpacity overflow overflowX overflowY
verticalAlign visibility zoom cssText
syntax keyword javaScriptCssStyles contained scrollbar3dLightColor
scrollbarArrowColor scrollbarBaseColor scrollbarDarkShadowColor
scrollbarFaceColor scrollbarHighlightColor scrollbarShadowColor
scrollbarTrackColor
" Highlight ways
syntax match javaScriptDotNotation "\."
nextgroup=javaScriptPrototype,javaScriptDomElemAttrs,javaScriptDomElemFuncs,javaScriptHtmlElemAttrs,javaScriptHtmlElemFuncs
syntax match javaScriptDotNotation "\.style\."
nextgroup=javaScriptCssStyles
-
+
endif "DOM/HTML/CSS
"" end DOM/HTML/CSS specified things
@@ -140,7 +146,7 @@
syntax cluster javaScriptAll
contains=javaScriptComment,javaScriptLineComment,javaScriptDocComment,javaScriptStringD,javaScriptStringS,javaScriptRegexpString,javaScriptNumber,javaScriptFloat,javaScriptLabel,javaScriptSource,javaScriptType,javaScriptOperator,javaScriptBoolean,javaScriptNull,javaScriptFunction,javaScriptConditional,javaScriptRepeat,javaScriptBranch,javaScriptStatement,javaScriptGlobalObjects,javaScriptExceptions,javaScriptFutureKeys,javaScriptDomErrNo,javaScriptDomNodeConsts,javaScriptHtmlEvents,javaScriptDotNotation
syntax region javaScriptBracket matchgroup=javaScriptBracket transparent
start="\[" end="\]" [EMAIL
PROTECTED],javaScriptParensErrB,javaScriptParensErrC,javaScriptBracket,javaScriptParen,javaScriptBlock,@htmlPreproc
syntax region javaScriptParen matchgroup=javaScriptParen transparent
start="(" end=")" [EMAIL
PROTECTED],javaScriptParensErrA,javaScriptParensErrC,javaScriptParen,javaScriptBracket,javaScriptBlock,@htmlPreproc
-syntax region javaScriptBlock matchgroup=javaScriptBlock transparent
start="{" end="}" [EMAIL
PROTECTED],javaScriptParensErrA,javaScriptParensErrB,javaScriptParen,javaScriptBracket,javaScriptBlock,@htmlPreproc
+syntax region javaScriptBlock matchgroup=javaScriptBlock transparent
start="{" end="}" [EMAIL
PROTECTED],javaScriptParensErrA,javaScriptParensErrB,javaScriptParen,javaScriptBracket,javaScriptBlock,@htmlPreproc
"" catch errors caused by wrong parenthesis
syntax match javaScriptParensError ")\|}\|\]"
@@ -153,34 +159,24 @@
endif
"" Fold control
-if exists("javaScript_fold")
- syntax match javaScriptFunction /\<function\>/
nextgroup=javaScriptFuncName skipwhite
+if exists("b:javascript_fold")
+ syntax match javaScriptFunction /\<function\>/
nextgroup=javaScriptFuncName skipwhite
+ syntax match javaScriptOpAssign /=\@<!=/
nextgroup=javaScriptFuncBlock skipwhite skipempty
syntax region javaScriptFuncName contained
matchgroup=javaScriptFuncName start=/\%(\$\|\w\)*\s*(/ end=/)/
contains=javaScriptLineComment,javaScriptComment nextgroup=javaScriptFuncBlock
skipwhite skipempty
syntax region javaScriptFuncBlock contained
matchgroup=javaScriptFuncBlock start="{" end="}" [EMAIL
PROTECTED],javaScriptParensErrA,javaScriptParensErrB,javaScriptParen,javaScriptBracket,javaScriptBlock
fold
- "" Fold setting
- setlocal foldlevel=6
- setlocal foldmethod=syntax
-
- setlocal foldtext=FT_JavaScriptDoc()
-
- "" Default fold text for JavaScript JSDoc and Function
- function! FT_JavaScriptDoc()
- let i = 0
- while i < 3
- let line = getline(v:foldstart + i)
- "let line = substitute(line, '^\s\+', '', '')
- let line = substitute(line, '\s\+$', '', '')
- if match(line, '\w\+') >= 0
- break
- endif
- let i += 1
- endwhile
- return v:folddashes . line
- endfunction
-
+ if &l:filetype=='javascript' && !&diff
+ " Fold setting
+ " Redefine the foldtext (to show a JS function outline) and foldlevel
+ " only if the entire buffer is JavaScript, but not if JavaScript syntax
+ " is embedded in another syntax (e.g. HTML).
+ setlocal foldmethod=syntax
+ setlocal foldlevel=4
+ endif
else
syntax keyword javaScriptFunction function
+ setlocal foldmethod<
+ setlocal foldlevel<
endif
" Define the default highlighting.
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/javascript.vim?r1=1.3&r2=1.4&f=u
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit