<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>plugin/gist.vim</filename>
    </added>
    <added>
      <filename>plugin/scratch.vim</filename>
    </added>
    <added>
      <filename>plugin/visSum.vim</filename>
    </added>
    <added>
      <filename>syntax/mkd.vim</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,7 +1,5 @@
 &quot; camron flanders // macvim
-&quot; last edit: 09/29/08:CBF
-&quot; last upload: 10/27/2008
-&quot; automatically uploaded from my macbookpro each monday at noon.
+&quot; last update: 05/21/09:CBF
 
 &quot; this is my primary, day-to-day, preferred .vimrc tuned for macvim.
 &quot; I do not publish any of my other .vimrcs which I use for windows gvim
@@ -30,8 +28,8 @@ source macros/matchit.vim
 silent execute '!rm -f ~/temp/vim_backups/*'
 
 set bk                                                              &quot;backup, just incase
-set backupdir=/Users/camflan/temp/vim_backups/                      &quot;where to put those backups
-set directory=/Users/camflan/temp/vim_backups/                      &quot;this is for swp files
+set backupdir=$HOME/temp/vim_backups/                      &quot;where to put those backups
+set directory=$HOME/temp/vim_backups/                      &quot;this is for swp files
 
 &quot;}}}
 &quot;file type settings, on {{{ 
@@ -60,12 +58,12 @@ set tags=./tags,tags;
 
 &quot;set tags for filetype {{{
 autocmd FileType python
-  \ set tags+=/Users/camflan/.vim/tags/python.ctags;
+  \ set tags+=$HOME/.vim/tags/python.ctags;
 
 autocmd FileType javascript
-  \ set tags+=/Users/camflan/work/scripts/generic_functions/common/tags; |
-  \ set tags+=/Users/camflan/work/scripts/generic_functions/6.x/tags; |
-  \ set tags+=/Users/camflan/work/scripts/generic_functions/5.x/tags;
+  \ set tags+=$HOME/work/scripts/generic_functions/common/tags; |
+  \ set tags+=$HOME/work/scripts/generic_functions/6.x/tags; |
+  \ set tags+=$HOME/work/scripts/generic_functions/5.x/tags;
 
 au FileType javascript setl foldtext=FoldText()
 &quot;}}}
@@ -79,7 +77,7 @@ set showmatch                                                       &quot;show me whe
 set ruler                                                           &quot;show me the ruler!
 set rulerformat=%35(%5l,%-6(%c%V%)\ %5L\ %P%)                       &quot;my ruler shows: line/vColumn/total/pos
 &quot; set guifont=Consolas:h11                                            &quot;the best thing to come out of Redmond
-set guifont=Espresso\ Mono:h11
+&quot; set guifont=Espresso\ Mono:h11                                      &quot;for that change of pace.
 set history=100                                                     &quot;keep last 100 commands
 set sc                                                              &quot;show commands as I type
 set anti                                                            &quot;make text pretty
@@ -117,9 +115,9 @@ endif
 &quot;}}}
 &quot;cursor options {{{ 
 
-set gcr=a:blinkwait500-blinkon1300-blinkoff150                      &quot;tune the blinking of the cursor, short on, long off.
-set gcr=i:hor10                                                     &quot;underline cursor. not too thick not too thin. goldielocks style
-set gcr=v:block                                                     &quot;selecting should cover the text
+&quot;set gcr=a:blinkwait500-blinkon1300-blinkoff150                      &quot;tune the blinking of the cursor, short on, long off.
+&quot;set gcr=i:hor10                                                     &quot;underline cursor. not too thick not too thin. goldielocks style
+&quot;set gcr=v:block                                                     &quot;selecting should cover the text
 
 &quot;}}}
 &quot;tab stuff {{{ 
@@ -166,6 +164,15 @@ let Tlist_Ctags_Cmd = &quot;/usr/local/bin/ctags&quot;                        &quot;gotta tell
 &quot;let g:TabIndentStyle = 3
 
 &quot;}}}
+&quot;Gist options {{{
+let g:gist_clip_command = 'pbcopy'
+let g:gist_detect_filetype = 1
+let g:gist_open_browser_after_post = 1
+
+let g:github_user = &quot;camflan&quot;
+let g:github_token = &quot;897b6a6109e0de41cdb13f391ba62ea2&quot;
+
+&quot;}}}
 
 &quot;}}}
 &quot;omnicomplete setup {{{
@@ -281,8 +288,8 @@ map EE  :NERDTreeToggle&lt;CR&gt;
 &quot;.vimrc editing maps {{{ 
 
 &quot;makes it easy to edit/reload vimrc for tweaks. I like to tweak.
-:nmap ,s :source /Users/camflan/.vimrc&lt;CR&gt;
-:nmap ,v :tabe /Users/camflan/.vimrc&lt;CR&gt;
+:nmap &lt;leader&gt;s :!source $HOME/.vimrc&lt;CR&gt;
+:nmap ,v :tabe $HOME/.vimrc&lt;CR&gt;
 
 &quot;}}}
 &quot;iScript imaps {{{ 
@@ -372,6 +379,9 @@ map! ii &lt;C-[&gt;
 &quot; easily, temporarily disable search highlighting&quot;
 nmap &lt;silent&gt; &lt;leader&gt;n :silent :nohlsearch&lt;CR&gt;
 
+&quot; toggle a scratch buffer, in a split
+map ,s :call ToggleScratch()&lt;CR&gt;
+
 &quot;}}}
 &quot;expansions {{{ 
 
@@ -379,8 +389,6 @@ nmap &lt;silent&gt; &lt;leader&gt;n :silent :nohlsearch&lt;CR&gt;
 imap &lt;leader&gt;fd    &lt;C-R&gt;=expand(&quot;%:p:h&quot;)&lt;CR&gt;
 &quot; present working dir
 imap &lt;leader&gt;pwd   &lt;C-R&gt;=getcwd()&lt;CR&gt;
-&quot; date and name   ie  05/11/07:CBF
-imap &lt;leader&gt;ts    &lt;C-R&gt;=strftime(&quot;%m/%d/%y:CBF&quot;)&lt;CR&gt;
 
 &quot;}}}
 &quot;django mappings {{{ 
@@ -413,7 +421,7 @@ function SetToJS()
 &quot;}}}
 &quot;simply writes the script to my VM so I can run it {{{ 
 function Write_script()
-   let fname = '/Users/camflan/Documents/Parallels/Windows\ XP\ Professional/Windows\ Disks/C/inserver6/script/vim.js'
+   let fname = '$HOME/Documents/Parallels/Windows\ XP\ Professional/Windows\ Disks/C/inserver6/script/vim.js'
    exec &quot;:w! &quot; . fname
 :endfunction
 &quot;}}}
@@ -468,6 +476,15 @@ function! FoldText()
     return substitute(getline(v:foldstart), '{.*', ' {...} ', '')
 endfunction
 &quot;}}}
+&quot;Toggle Scratch Buffer {{{ 
+function! ToggleScratch()
+  if expand('%') == g:ScratchBufferName
+    quit
+  else
+    Sscratch
+  endif
+endfunction
+&quot;}}}
 
 &quot;}}}
 </diff>
      <filename>dotvimrc</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,8 @@
 &quot; JavaScript, ECMAScript
 au BufNewFile,BufRead *.js,*.javascript,*.jsh,*.es	setf javascript
+
+&quot; iScript log files
 au BufNewFile,BufRead *.log                         setf log
+
+&quot; markdown
+au BufNewFile,BufRead *.mkd,*.markdown              setf mkd</diff>
      <filename>filetype.vim</filename>
    </modified>
    <modified>
      <diff>@@ -1,14 +1,13 @@
 &quot; Vim syntax file
-&quot; Language:	JavaScript/iScript
-&quot; Maintainer:	Camron Flanders
-&quot; Last Change:	03/27/08:CBF
-&quot; based on javascript syntax, modified for iScript
-&quot; $Revision: 2270 $
-
-&quot; For version 5.x: Clear all syntax items
-&quot; For version 6.x: Quit when a syntax file was already loaded
-&quot; tuning parameters:
-&quot; unlet javaScript_fold
+&quot; Language:     JavaScript
+&quot; Maintainer:   Yi Zhao (ZHAOYI) &lt;zzlinux AT hotmail DOT com&gt;
+&quot; Last Change:  Nov 17, 2007
+&quot; Version:      0.7.6
+&quot; Changes:      Update the 'syntax sync' method to improve the performance
+&quot;               with larget Javascript files. 
+&quot;
+&quot; TODO:
+&quot;  - Add the HTML syntax inside the JSDoc
 
 if !exists(&quot;main_syntax&quot;)
   if version &lt; 600
@@ -19,74 +18,180 @@ if !exists(&quot;main_syntax&quot;)
   let main_syntax = 'javascript'
 endif
 
-&quot; Drop fold if it set but vim doesn't support it.
-if version &lt; 600 &amp;&amp; exists(&quot;javaScript_fold&quot;)
-  unlet javaScript_fold
+&quot;&quot; Drop fold if it set but VIM doesn't support it.
+let b:javascript_fold='true'
+if version &lt; 600    &quot; Don't support the old version
+  unlet! b:javascript_fold
 endif
 
-syn case ignore
-
-
-syn keyword javaScriptCommentTodo      TODO FIXME XXX TBD contained
-syn match   javaScriptLineComment      &quot;\/\/.*&quot; contains=@Spell,javaScriptCommentTodo
-syn match   javaScriptCommentSkip      &quot;^[ \t]*\*\($\|[ \t]\+\)&quot;
-syn region  javaScriptComment	       start=&quot;/\*&quot;  end=&quot;\*/&quot; contains=@Spell,javaScriptCommentTodo
-syn match   javaScriptSpecial	       &quot;\\\d\d\d\|\\.&quot;
-syn region  javaScriptStringD	       start=+&quot;+  skip=+\\\\\|\\&quot;+  end=+&quot;\|$+  contains=javaScriptSpecial,@htmlPreproc
-syn region  javaScriptStringS	       start=+'+  skip=+\\\\\|\\'+  end=+'\|$+  contains=javaScriptSpecial,@htmlPreproc
-
-syn match   javaScriptSpecialCharacter &quot;'\\.'&quot;
-syn match   javaScriptNumber	       &quot;-\=\&lt;\d\+L\=\&gt;\|0[xX][0-9a-fA-F]\+\&gt;&quot;
-syn region  javaScriptRegexpString     start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gi]\{0,2\}\s*$+ end=+/[gi]\{0,2\}\s*[;.,)\]}]+me=e-1 contains=@htmlPreproc oneline
-
-syn keyword iScriptObjects	        INDocument INWfItem INWfQueue INLogicalObject INClassProp INDocManager INDocPriv INDocType INDocTypeList INDrawer INFont INInstanceProp INKeys INLogicalObject INMail INPriv INPrivEnum INProperty INSubObject INSubobPriv INSubobTemplate INUser INVersion INWfAdmin INWfQueuePriv INWorksheet INWsDataDef INWsPresentation
-
-syn keyword iScriptObjProps	        id drawer folder tab f3 f4 f5 docTypeName name objectId logobCount 
-syn match   iScriptMethods	        &quot;\..\{-}\&gt;&quot;
-syn match   iScriptSyms		        &quot;[\&amp;\|\^\%\$\#\@\!\*\+\=\_\-&lt;&gt;]&quot;
-syn match   iScriptArray                &quot;\&lt;\w\{-}\[.\{-}\]&quot;
-
-syn keyword ToDo			define link
-syn keyword javaScriptConditional	if else switch
-syn keyword javaScriptRepeat		while for do in
-syn keyword javaScriptBranch		break continue
-syn keyword javaScriptOperator		new delete instanceof typeof
-syn keyword javaScriptType		Array Boolean Date Function Number Object String RegExp
-syn keyword javaScriptStatement		return with
-&quot;syn keyword javaScriptBoolean		true false
-syn keyword javaScriptNull		null undefined
-syn keyword javaScriptIdentifier	arguments this var
-syn keyword javaScriptLabel		case default
-syn keyword javaScriptException		try catch finally throw
-syn keyword javaScriptMessage		alert confirm prompt status
-syn keyword javaScriptGlobal		self window top parent
-syn keyword javaScriptMember		document event location 
-syn keyword javaScriptDeprecated	escape unescape
-syn keyword javaScriptReserved		abstract boolean byte char class const debugger double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile 
-
-syn keyword True			true True
-syn keyword False			false False
-
-if exists(&quot;javaScript_fold&quot;)
-    syn match	javaScriptFunction      &quot;\&lt;function\&gt;&quot;
-    syn region	javaScriptFunctionFold	start=&quot;\&lt;function\&gt;.*[^};]$&quot; end=&quot;^\z1}.*$&quot; transparent fold keepend
-
-    syn sync match javaScriptSync	grouphere javaScriptFunctionFold &quot;\&lt;function\&gt;&quot;
-    syn sync match javaScriptSync	grouphere NONE &quot;^}&quot;
-
-    setlocal foldmethod=syntax
-    setlocal foldtext=getline(v:foldstart)
-else
-    syn keyword	javaScriptFunction	   function
-    syn match	javaScriptBraces	   &quot;[{}\[\]]&quot;
-    syn match	javaScriptParens	   &quot;[()]&quot;
-endif
+&quot;&quot; dollar sigh is permittd anywhere in an identifier
+setlocal iskeyword+=$
+
+syntax sync fromstart
+
+&quot;&quot;syn case ignore
+
+&quot;&quot; JavaScript comment
+syntax keyword  javaScriptCommentTodo   TODO FIXME XXX TBD contained
+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=&quot;\$\cid:&quot; end=&quot;\$&quot; oneline contained
+syntax region   javaScriptComment       start=&quot;/\*&quot;  end=&quot;\*/&quot; contains=javaScriptCommentTodo,javaScriptCvsTag,@Spell fold
+
+&quot;&quot; JSDoc support start
+if !exists(&quot;javascript_ignore_javaScriptdoc&quot;)
+  syntax case ignore
+
+  &quot;&quot; syntax coloring for javadoc comments (HTML)
+  &quot;syntax include @javaHtml &lt;sfile&gt;:p:h/html.vim
+  &quot;unlet b:current_syntax
+
+  syntax region javaScriptDocComment    matchgroup=javaScriptComment start=&quot;/\*\*\s*$&quot;  end=&quot;\*/&quot; contains=javaScriptDocTags,javaScriptCommentTodo,javaScriptCvsTag,@javaScriptHtml,@Spell fold
+  syntax match  javaScriptDocTags       contained &quot;@\(param\|argument\|requires\|exception\|throws\|type\|class\|extends\|see\|link\|member\|module\|method\|title\|namespace\|optional\|default\|base\|file\)\&gt;&quot; nextgroup=javaScriptDocParam,javaScriptDocSeeTag skipwhite
+  syntax match  javaScriptDocTags       contained &quot;@\(beta\|deprecated\|description\|fileoverview\|author\|license\|version\|returns\=\|constructor\|private\|protected\|final\|ignore\|addon\|exec\)\&gt;&quot;
+  syntax match  javaScriptDocParam      contained &quot;\%(#\|\w\|\.\|:\|\/\)\+&quot;
+  syntax region javaScriptDocSeeTag     contained matchgroup=javaScriptDocSeeTag start=&quot;{&quot; end=&quot;}&quot; contains=javaScriptDocTags
+
+  syntax case match
+endif   &quot;&quot; JSDoc end
+
+syntax case match
+
+&quot;&quot; Syntax in the JavaScript code
+syntax match   javaScriptSpecial        &quot;\\\d\d\d\|\\x\x\{2\}\|\\u\x\{4\}\|\\.&quot;
+syntax region  javaScriptStringD        start=+&quot;+  skip=+\\\\\|\\$&quot;+  end=+&quot;+  contains=javaScriptSpecial,@htmlPreproc
+syntax region  javaScriptStringS        start=+'+  skip=+\\\\\|\\$'+  end=+'+  contains=javaScriptSpecial,@htmlPreproc
+syntax region  javaScriptRegexpString   start=+/\(\*\|/\)\@!+ skip=+\\\\\|\\/+ end=+/[gim]\{,3}+ contains=javaScriptSpecial,@htmlPreproc oneline
+syntax match   javaScriptNumber         /\&lt;-\=\d\+L\=\&gt;\|\&lt;0[xX]\x\+\&gt;/
+syntax match   javaScriptFloat          /\&lt;-\=\%(\d\+\.\d\+\|\d\+\.\|\.\d\+\)\%([eE][+-]\=\d\+\)\=\&gt;/
+syntax match   javaScriptLabel          /\(?\s*\)\@&lt;!\&lt;\w\+\(\s*:\)\@=/
+
+&quot;&quot; JavaScript Prototype
+syntax keyword javaScriptPrototype      prototype
+
+&quot;&quot; Programm Keywords
+syntax keyword javaScriptSource         import export
+syntax keyword javaScriptType           const this var void yield
+syntax keyword javaScriptOperator       delete new in instanceof let typeof
+&quot;syntax keyword javaScriptBoolean       true false
+syntax keyword javaScriptNull           null
+
+&quot;&quot; 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 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  iScriptObjects          INDocument INWfItem INWfQueue INLogicalObject INClassProp INDocManager INDocPriv INDocType INDocTypeList INDrawer INFont INInstanceProp INKeys INLogicalObject INMail INPriv INPrivEnum INProperty INSubObject INSubobPriv INSubobTemplate INUser INVersion INWfAdmin INWfQueuePriv INWorksheet INWsDataDef INWsPresentation
+syntax keyword  iScriptObjProps         id drawer folder tab f3 f4 f5 docTypeName name objectId logobCount 
+
+syntax keyword ToDo			define link
+syntax keyword True			true True
+syntax keyword False		false False
 
-syn sync fromstart
-syn sync maxlines=100
+syntax match       iScriptMethods	    &quot;\..\{-}\&gt;&quot;
+syntax match       iScriptSyms		    &quot;[\&amp;\|\^\%\$\#\@\!\*\+\=\_\-&lt;&gt;]&quot;
+syntax match       iScriptArray         &quot;\&lt;\w\{-}\[.\{-}\]&quot;
+
+&quot;&quot; DOM/HTML/CSS specified things
+
+  &quot; 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
+
+  &quot; 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
+
+  &quot; 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
+  syntax case match
+
+&quot; Follow stuff should be highligh within a special context
+&quot; While it can't be handled with context depended with Regex based highlight
+&quot; So, turn it off by default
+if exists(&quot;javascript_enable_domhtmlcss&quot;)
+
+    &quot; DOM2 things
+    syntax match javaScriptDomElemAttrs     contained /\%(nodeName\|nodeValue\|nodeType\|parentNode\|childNodes\|firstChild\|lastChild\|previousSibling\|nextSibling\|attributes\|ownerDocument\|namespaceURI\|prefix\|localName\|tagName\)\&gt;/
+    syntax match javaScriptDomElemFuncs     contained /\%(insertBefore\|replaceChild\|removeChild\|appendChild\|hasChildNodes\|cloneNode\|normalize\|isSupported\|hasAttributes\|getAttribute\|setAttribute\|removeAttribute\|getAttributeNode\|setAttributeNode\|removeAttributeNode\|getElementsByTagName\|getAttributeNS\|setAttributeNS\|removeAttributeNS\|getAttributeNodeNS\|setAttributeNodeNS\|getElementsByTagNameNS\|hasAttribute\|hasAttributeNS\)\&gt;/ nextgroup=javaScriptParen skipwhite
+    &quot; HTML things
+    syntax match javaScriptHtmlElemAttrs    contained /\%(className\|clientHeight\|clientLeft\|clientTop\|clientWidth\|dir\|id\|innerHTML\|lang\|length\|offsetHeight\|offsetLeft\|offsetParent\|offsetTop\|offsetWidth\|scrollHeight\|scrollLeft\|scrollTop\|scrollWidth\|style\|tabIndex\|title\)\&gt;/
+    syntax match javaScriptHtmlElemFuncs    contained /\%(blur\|click\|focus\|scrollIntoView\|addEventListener\|dispatchEvent\|removeEventListener\|item\)\&gt;/ nextgroup=javaScriptParen skipwhite
+
+    &quot; 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 unicodeBidi whiteSpace wordBreak wordSpacing wordWrap writingMode
+    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 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 scrollbar3dLightColor scrollbarArrowColor scrollbarBaseColor scrollbarDarkShadowColor scrollbarFaceColor scrollbarHighlightColor scrollbarShadowColor scrollbarTrackColor
+
+    &quot; Highlight ways
+    syntax match javaScriptDotNotation      &quot;\.&quot; nextgroup=javaScriptPrototype,javaScriptDomElemAttrs,javaScriptDomElemFuncs,javaScriptHtmlElemAttrs,javaScriptHtmlElemFuncs
+    syntax match javaScriptDotNotation      &quot;\.style\.&quot; nextgroup=javaScriptCssStyles
+
+endif &quot;DOM/HTML/CSS
+
+&quot;&quot; end DOM/HTML/CSS specified things
+
+
+&quot;&quot; Code blocks
+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=&quot;\[&quot; end=&quot;\]&quot; contains=@javaScriptAll,javaScriptParensErrB,javaScriptParensErrC,javaScriptBracket,javaScriptParen,javaScriptBlock,@htmlPreproc
+syntax region  javaScriptParen     matchgroup=javaScriptParen   transparent start=&quot;(&quot;  end=&quot;)&quot;  contains=@javaScriptAll,javaScriptParensErrA,javaScriptParensErrC,javaScriptParen,javaScriptBracket,javaScriptBlock,@htmlPreproc
+syntax region  javaScriptBlock     matchgroup=javaScriptBlock   transparent start=&quot;{&quot;  end=&quot;}&quot;  contains=@javaScriptAll,javaScriptParensErrA,javaScriptParensErrB,javaScriptParen,javaScriptBracket,javaScriptBlock,@htmlPreproc 
+
+&quot;&quot; catch errors caused by wrong parenthesis
+syntax match   javaScriptParensError    &quot;)\|}\|\]&quot;
+syntax match   javaScriptParensErrA     contained &quot;\]&quot;
+syntax match   javaScriptParensErrB     contained &quot;)&quot;
+syntax match   javaScriptParensErrC     contained &quot;}&quot;
 
 if main_syntax == &quot;javascript&quot;
-  syn sync ccomment javaScriptComment
+  syntax sync clear
+  syntax sync ccomment javaScriptComment minlines=200
+  syntax sync match javaScriptHighlight grouphere javaScriptBlock /{/
+endif
+
+&quot;&quot; Fold control
+if exists(&quot;b:javascript_fold&quot;)
+    syn region myFold start=&quot;{&quot; end=&quot;}&quot; transparent fold
+    syn sync fromstart
+    set foldmethod=syntax
+    set foldtext=getline(v:foldstart)
+    syn sync maxlines=100
+
+    &quot;&quot;
+    &quot;&quot;    syntax match   javaScriptFunction       /\&lt;function\&gt;/ nextgroup=javaScriptFuncName skipwhite
+    &quot;&quot;    syntax match   javaScriptOpAssign       /=\@&lt;!=/ nextgroup=javaScriptFuncBlock skipwhite skipempty
+    &quot;&quot;    syntax region  javaScriptFuncName       contained matchgroup=javaScriptFuncName start=/\%(\$\|\w\)*\s*(/ end=/)/ contains=javaScriptLineComment,javaScriptComment nextgroup=javaScriptFuncBlock skipwhite skipempty
+    &quot;&quot;    syntax region  javaScriptFuncBlock      contained matchgroup=javaScriptFuncBlock start=&quot;{&quot; end=&quot;}&quot; contains=@javaScriptAll,javaScriptParensErrA,javaScriptParensErrB,javaScriptParen,javaScriptBracket,javaScriptBlock fold
+    &quot;&quot;
+    &quot;&quot;    if &amp;l:filetype=='javascript' &amp;&amp; !&amp;diff
+    &quot;&quot;      &quot; Fold setting
+    &quot;&quot;      &quot; Redefine the foldtext (to show a JS function outline) and foldlevel
+    &quot;&quot;      &quot; only if the entire buffer is JavaScript, but not if JavaScript syntax
+    &quot;&quot;      &quot; is embedded in another syntax (e.g. HTML).
+    &quot;&quot;      setlocal foldmethod=syntax
+    &quot;&quot;      setlocal foldlevel=4
+    &quot;&quot;    endif
+    &quot;&quot;else
+    &quot;&quot;    syntax keyword javaScriptFunction       function
+    &quot;&quot;    setlocal foldmethod&lt;
+    &quot;&quot;    setlocal foldlevel&lt;
 endif
 
 &quot; Define the default highlighting.
@@ -99,52 +204,68 @@ if version &gt;= 508 || !exists(&quot;did_javascript_syn_inits&quot;)
   else
     command -nargs=+ HiLink hi def link &lt;args&gt;
   endif
-  HiLink iScriptObjProps	        LineNr
-  HiLink iScriptSyms		        LineNr
-  HiLink javaScrParenError		javaScriptError
-  HiLink javaScriptBoolean		Boolean
-  HiLink javaScriptBraces		LineNr
-  HiLink javaScriptBranch		Conditional
-  HiLink javaScriptCharacter		Character
-  HiLink javaScriptComment		Comment
-  HiLink javaScriptCommentTodo		Todo
-  HiLink javaScriptConditional		Conditional
-  HiLink javaScriptError		Error
-  HiLink javaScriptFunction		Function
-  HiLink javaScriptLineComment		Comment
-  HiLink javaScriptNull			Keyword
-  HiLink javaScriptNumber		Number
-  HiLink javaScriptOperator		Operator
-  HiLink javaScriptParens	        LineNr
-  HiLink javaScriptRegexpString		String
-  HiLink javaScriptRepeat		Repeat
-  HiLink javaScriptSpecial		Special
-  HiLink javaScriptSpecialCharacter	javaScriptSpecial
-  HiLink javaScriptStatement		Statement
-  HiLink javaScriptStringD		String
-  HiLink javaScriptStringS		Identifier
-  HiLink javaScriptType			Type
+
+  HiLink iScriptObjProps	            LineNr
+  HiLink iScriptSyms		            LineNr
   HiLink iScriptArray                   javaScriptArray
+  HiLink iScriptMethods		            Delimiter
+  HiLink iScriptObjects		            pythonExClass
 
-  HiLink iScriptMethods		        Delimiter
-  HiLink iScriptObjects		        pythonExClass
-  HiLink javaScriptConstant		Label
-  HiLink javaScriptDebug		Debug
-  HiLink javaScriptDeprecated		Exception 
-  HiLink javaScriptException		Exception
-  HiLink javaScriptGlobal		Keyword
-  HiLink javaScriptIdentifier		Identifier
-  HiLink javaScriptLabel		Label
-  HiLink javaScriptMember		Keyword
-  HiLink javaScriptMessage		Keyword
-  HiLink javaScriptReserved		Keyword
+  HiLink javaScriptBoolean              Boolean
+  HiLink javaScriptBranch               Conditional
+  HiLink javaScriptCharacter            Character
+  HiLink javaScriptComment              Comment
+  HiLink javaScriptCommentTodo          Todo
+  HiLink javaScriptConditional          Conditional
+  HiLink javaScriptCssStyles            Label
+  HiLink javaScriptCvsTag               Function
+  HiLink javaScriptDocComment           Comment
+  HiLink javaScriptDocParam             Function
+  HiLink javaScriptDocSeeTag            Function
+  HiLink javaScriptDocTags              Special
+  HiLink javaScriptDomElemAttrs         Label
+  HiLink javaScriptDomElemFuncs         PreProc
+  HiLink javaScriptDomErrNo             Constant
+  HiLink javaScriptDomNodeConsts        Constant
+  HiLink javaScriptError                Error
+  HiLink javaScriptExceptions           Special
+  HiLink javaScriptFloat                Number
+  HiLink javaScriptFunction             Function
+  HiLink javaScriptGlobalObjects        Special
+  HiLink javaScriptHtmlElemAttrs        Label
+  HiLink javaScriptHtmlElemFuncs        PreProc
+  HiLink javaScriptHtmlEvents           Special
+  HiLink javaScriptLabel                Label
+  HiLink javaScriptLineComment          Comment
+  HiLink javaScriptNull                 Type
+  HiLink javaScriptNumber               Number
+  HiLink javaScriptOperator             Operator
+  HiLink javaScriptParensErrA           Error
+  HiLink javaScriptParensErrB           Error
+  HiLink javaScriptParensErrC           Error
+  HiLink javaScriptParensError          Error
+  HiLink javaScriptPrototype            Type
+  HiLink javaScriptRegexpString         String
+  HiLink javaScriptRepeat               Repeat
+  HiLink javaScriptSource               Special
+  HiLink javaScriptSpecial              Special
+  HiLink javaScriptStatement            Statement
+  HiLink javaScriptStringD              String
+  HiLink javaScriptStringS              String
+  HiLink javaScriptType                 Type
 
   delcommand HiLink
 endif
 
+&quot; Define the htmlJavaScript for HTML syntax html.vim
+&quot;syntax clear htmlJavaScript
+&quot;syntax clear javaScriptExpression
+syntax cluster  htmlJavaScript contains=@javaScriptAll,javaScriptBracket,javaScriptParen,javaScriptBlock,javaScriptParenError
+syntax cluster  javaScriptExpression contains=@javaScriptAll,javaScriptBracket,javaScriptParen,javaScriptBlock,javaScriptParenError,@htmlPreproc
+
 let b:current_syntax = &quot;javascript&quot;
 if main_syntax == 'javascript'
   unlet main_syntax
 endif
 
-&quot; vim: ts=8
+&quot; vim: ts=4</diff>
      <filename>syntax/javascript.vim</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>cc622dd12973b92272259002c0eb4c6cbd84a398</id>
    </parent>
  </parents>
  <author>
    <name>Camron Flanders</name>
    <email>camron.flanders@gmail.com</email>
  </author>
  <url>http://github.com/camflan/dotvim/commit/ade9bcf45d58b82b9f9eb7d549c0d8d797f6ad38</url>
  <id>ade9bcf45d58b82b9f9eb7d549c0d8d797f6ad38</id>
  <committed-date>2009-06-25T08:23:03-07:00</committed-date>
  <authored-date>2009-06-25T08:23:03-07:00</authored-date>
  <message>pushing mods</message>
  <tree>a6bb5c71f03b09b9ce2a5199a5d93b7a9e472ef8</tree>
  <committer>
    <name>Camron Flanders</name>
    <email>camron.flanders@gmail.com</email>
  </committer>
</commit>
