" Vimball Archiver by Charles E. Campbell, Jr., Ph.D.
UseVimball
finish
ftdetect/javascript.vim	[[[1
5
" Language:    JavaScript
" Maintainer:  othree <othree@gmail.com>
" URL:         https://github.com/othree/javascript-libraries-syntax.vim

autocmd BufNewFile,BufRead *.js set filetype=javascript
plugin/jslsyntax.vim	[[[1
19
" Vim plugin file
" Language:    JS Lib syntax loader
" Maintainer:  othree <othree@gmail.com>
" Last Change: 2013/02/06
" Version:     0.1
" URL:         https://github.com/othree/javascript-libraries-syntax.vim

autocmd FileType javascript call LoadLibs(expand('<sfile>:p:h'))
autocmd FileType coffee call LoadLibs(expand('<sfile>:p:h'))
autocmd FileType ls call LoadLibs(expand('<sfile>:p:h'))

function! LoadLibs(path)
    exe('source '.a:path.'/syntax/jquery.vim')
    exe('source '.a:path.'/syntax/underscore.vim')
    exe('source '.a:path.'/syntax/backbone.vim')
    exe('source '.a:path.'/syntax/prelude.vim')
    exe('source '.a:path.'/syntax/postprocess.vim')
endfunction

plugin/syntax/jquery.vim	[[[1
247
" Vim syntax file
" Language:    jQuery
" Maintainer:  othree <othree@gmail.com>
" Maintainer:  Bruno Michel <brmichel@free.fr>
" Last Change: 2013/02/05
" Version:     1.9
" URL:         http://api.jquery.com/

syntax keyword javascriptjQuery          containedin=ALL jQuery $
syntax match   javascriptjQuerydot       containedin=ALL /\(\<\(jQuery\|\$\)\.\)\@<=\h\w*/ contains=@javascriptQGlobals
syntax match   javascriptjQuerydot       containedin=ALL /\(\<\(jQuery\|\$\)([^)]*)\.\)\@<=\h\w*/ contains=@javascriptQFunctions

" jQuery.*
syntax cluster javascriptQGlobals        contains=javascriptQCore,javascriptQCoreObj,javascriptQCoreData,javascriptQUtilities,javascriptQProperties
syntax keyword javascriptQCore           contained holdReady noConflict when
syntax keyword javascriptQCoreObj        contained Callback Deferred
syntax keyword javascriptQCoreData       contained data dequeue hasData queue removeData
syntax keyword javascriptQCoreAjax       contained ajaxPrefilter ajaxSetup ajaxTransport param get getJSON getScript post
syntax keyword javascriptQProperties     contained context fx.interval fx.off length selector support cssHooks
syntax keyword javascriptQUtilities      contained each extend globalEval grep inArray isArray isEmptyObject isFunction isPlainObject isWindow isXMLDoc makeArray map merge noop now parseHTML parseJSON parseXML proxy trim type unique
syntax match   javascriptQUtilities      contained /contains/

" jqobj.*
syntax cluster javascriptQFunctions      contains=javascriptQAjax,javascriptQAttributes,javascriptQCallbacks,javascriptQCore,javascriptQCSS,javascriptQData,javascriptQDeferred,javascriptQDimensions,javascriptQEffects,javascriptQEvents,javascriptQManipulation,javascriptQMiscellaneous,javascriptQOffset,javascriptQTraversing,javascriptQUtilities
syntax keyword javascriptQAjax           contained ajaxComplete ajaxError ajaxSend ajaxStart ajaxStop ajaxSuccess
syntax keyword javascriptQAjax           contained serialize serializeArray ajaxTransport load
syntax keyword javascriptQAttributes     contained addClass attr hasClass html prop removeAttr removeClass removeProp toggleClass val
syntax keyword javascriptQCallbacks      contained add disable disabled empty fire fired fireWith has lock locked remove Callbacks
syntax keyword javascriptQCSS            contained css
syntax keyword javascriptQData           contained clearQueue data dequeue queue removeData
syntax keyword javascriptQDeferred       contained Deferred always done fail notify pipe progress promise reject rejectWith resolved resolveWith notifyWith state then
syntax keyword javascriptQDimensions     contained height innerHeight innerWidth outerHeight outerWidth width
syntax keyword javascriptQEffects        contained hide show toggle
syntax keyword javascriptQEffects        contained animate delay stop
syntax keyword javascriptQEffects        contained fadeIn fadeOut fadeTo fadeToggle
syntax keyword javascriptQEffects        contained slideDown slideToggle slideUp
syntax keyword javascriptQEvents         contained error resize scroll
syntax keyword javascriptQEvents         contained ready unload
syntax keyword javascriptQEvents         contained bind delegate on off one proxy trigger triggerHandler unbind undelegate
syntax keyword javascriptQEvents         contained Event currentTarget isDefaultPrevented isImmediatePropagationStopped isPropagationStopped namespace pageX pageY preventDefault relatedTarget result stopImmediatePropagation stopPropagation target timeStamp which
syntax keyword javascriptQEvents         contained blur change focus select submit
syntax keyword javascriptQEvents         contained focusin focusout keydown keypress keyup
syntax keyword javascriptQEvents         contained click dblclick hover mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup
syntax keyword javascriptQManipulation   contained clone
syntax keyword javascriptQManipulation   contained unwrap wrap wrapAll wrapInner
syntax keyword javascriptQManipulation   contained append appendTo html preprend prependTo text
syntax keyword javascriptQManipulation   contained after before insertAfter insertBefore
syntax keyword javascriptQManipulation   contained detach empty remove
syntax keyword javascriptQManipulation   contained replaceAll replaceWith
syntax keyword javascriptQMiscellaneous  contained index size toArray
syntax keyword javascriptQOffset         contained offset offsetParent position scrollTop scrollLeft
syntax keyword javascriptQTraversing     contained eq filter first has is last map not slice
syntax keyword javascriptQTraversing     contained add andSelf contents end
syntax keyword javascriptQTraversing     contained children closest find next nextAll nextUntil parent parents parentsUntil prev prevAll prevUntil siblings


syntax keyword coffeejQuery          containedin=ALL jQuery $

" jQuery.*
syntax cluster coffeeQGlobals        contains=coffeeQCore,coffeeQCoreObj,coffeeQCoreData,coffeeQUtilities,coffeeQProperties
syntax keyword coffeeQCore           contained holdReady noConflict when
syntax keyword coffeeQCoreObj        contained Callback Deferred
syntax keyword coffeeQCoreData       contained data dequeue hasData queue removeData
syntax keyword coffeeQCoreAjax       contained ajaxPrefilter ajaxSetup ajaxTransport param get getJSON getScript post
syntax keyword coffeeQProperties     contained context fx.interval fx.off length selector support cssHooks
syntax keyword coffeeQUtilities      contained each extend globalEval grep inArray isArray isEmptyObject isFunction isPlainObject isWindow isXMLDoc makeArray map merge noop now parseHTML parseJSON parseXML proxy trim type unique
syntax match   coffeeQUtilities      contained /contains/

" jqobj.*
syntax cluster coffeeQFunctions      contains=coffeeQAjax,coffeeQAttributes,coffeeQCallbacks,coffeeQCore,coffeeQCSS,coffeeQData,coffeeQDeferred,coffeeQDimensions,coffeeQEffects,coffeeQEvents,coffeeQManipulation,coffeeQMiscellaneous,coffeeQOffset,coffeeQTraversing,coffeeQUtilities
syntax keyword coffeeQAjax           contained ajaxComplete ajaxError ajaxSend ajaxStart ajaxStop ajaxSuccess
syntax keyword coffeeQAjax           contained serialize serializeArray ajaxTransport load
syntax keyword coffeeQAttributes     contained addClass attr hasClass html prop removeAttr removeClass removeProp toggleClass val
syntax keyword coffeeQCallbacks      contained add disable disabled empty fire fired fireWith has lock locked remove Callbacks
syntax keyword coffeeQCSS            contained css
syntax keyword coffeeQData           contained clearQueue data dequeue queue removeData
syntax keyword coffeeQDeferred       contained Deferred always done fail notify pipe progress promise reject rejectWith resolved resolveWith notifyWith state then
syntax keyword coffeeQDimensions     contained height innerHeight innerWidth outerHeight outerWidth width
syntax keyword coffeeQEffects        contained hide show toggle
syntax keyword coffeeQEffects        contained animate delay stop
syntax keyword coffeeQEffects        contained fadeIn fadeOut fadeTo fadeToggle
syntax keyword coffeeQEffects        contained slideDown slideToggle slideUp
syntax keyword coffeeQEvents         contained error resize scroll
syntax keyword coffeeQEvents         contained ready unload
syntax keyword coffeeQEvents         contained bind delegate on off one proxy trigger triggerHandler unbind undelegate
syntax keyword coffeeQEvents         contained Event currentTarget isDefaultPrevented isImmediatePropagationStopped isPropagationStopped namespace pageX pageY preventDefault relatedTarget result stopImmediatePropagation stopPropagation target timeStamp which
syntax keyword coffeeQEvents         contained blur change focus select submit
syntax keyword coffeeQEvents         contained focusin focusout keydown keypress keyup
syntax keyword coffeeQEvents         contained click dblclick hover mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup
syntax keyword coffeeQManipulation   contained clone
syntax keyword coffeeQManipulation   contained unwrap wrap wrapAll wrapInner
syntax keyword coffeeQManipulation   contained append appendTo html preprend prependTo text
syntax keyword coffeeQManipulation   contained after before insertAfter insertBefore
syntax keyword coffeeQManipulation   contained detach empty remove
syntax keyword coffeeQManipulation   contained replaceAll replaceWith
syntax keyword coffeeQMiscellaneous  contained index size toArray
syntax keyword coffeeQOffset         contained offset offsetParent position scrollTop scrollLeft
syntax keyword coffeeQTraversing     contained eq filter first has is last map not slice
syntax keyword coffeeQTraversing     contained add andSelf contents end
syntax keyword coffeeQTraversing     contained children closest find next nextAll nextUntil parent parents parentsUntil prev prevAll prevUntil siblings


syntax keyword lsjQuery          containedin=ALL jQuery $

" jQuery.*
syntax cluster lsQGlobals        contains=lsQCore,lsQCoreObj,lsQCoreData,lsQUtilities,lsQProperties
syntax keyword lsQCore           contained holdReady noConflict when
syntax keyword lsQCoreObj        contained Callback Deferred
syntax keyword lsQCoreData       contained data dequeue hasData queue removeData
syntax keyword lsQCoreAjax       contained ajaxPrefilter ajaxSetup ajaxTransport param get getJSON getScript post
syntax keyword lsQProperties     contained context fx.interval fx.off length selector support cssHooks
syntax keyword lsQUtilities      contained each extend globalEval grep inArray isArray isEmptyObject isFunction isPlainObject isWindow isXMLDoc makeArray map merge noop now parseHTML parseJSON parseXML proxy trim type unique
syntax match   lsQUtilities      contained /contains/

" jqobj.*
syntax cluster lsQFunctions      contains=lsQAjax,lsQAttributes,lsQCallbacks,lsQCore,lsQCSS,lsQData,lsQDeferred,lsQDimensions,lsQEffects,lsQEvents,lsQManipulation,lsQMiscellaneous,lsQOffset,lsQTraversing,lsQUtilities
syntax keyword lsQAjax           contained ajaxComplete ajaxError ajaxSend ajaxStart ajaxStop ajaxSuccess
syntax keyword lsQAjax           contained serialize serializeArray ajaxTransport load
syntax keyword lsQAttributes     contained addClass attr hasClass html prop removeAttr removeClass removeProp toggleClass val
syntax keyword lsQCallbacks      contained add disable disabled empty fire fired fireWith has lock locked remove Callbacks
syntax keyword lsQCSS            contained css
syntax keyword lsQData           contained clearQueue data dequeue queue removeData
syntax keyword lsQDeferred       contained Deferred always done fail notify pipe progress promise reject rejectWith resolved resolveWith notifyWith state then
syntax keyword lsQDimensions     contained height innerHeight innerWidth outerHeight outerWidth width
syntax keyword lsQEffects        contained hide show toggle
syntax keyword lsQEffects        contained animate delay stop
syntax keyword lsQEffects        contained fadeIn fadeOut fadeTo fadeToggle
syntax keyword lsQEffects        contained slideDown slideToggle slideUp
syntax keyword lsQEvents         contained error resize scroll
syntax keyword lsQEvents         contained ready unload
syntax keyword lsQEvents         contained bind delegate on off one proxy trigger triggerHandler unbind undelegate
syntax keyword lsQEvents         contained Event currentTarget isDefaultPrevented isImmediatePropagationStopped isPropagationStopped namespace pageX pageY preventDefault relatedTarget result stopImmediatePropagation stopPropagation target timeStamp which
syntax keyword lsQEvents         contained blur change focus select submit
syntax keyword lsQEvents         contained focusin focusout keydown keypress keyup
syntax keyword lsQEvents         contained click dblclick hover mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup
syntax keyword lsQManipulation   contained clone
syntax keyword lsQManipulation   contained unwrap wrap wrapAll wrapInner
syntax keyword lsQManipulation   contained append appendTo html preprend prependTo text
syntax keyword lsQManipulation   contained after before insertAfter insertBefore
syntax keyword lsQManipulation   contained detach empty remove
syntax keyword lsQManipulation   contained replaceAll replaceWith
syntax keyword lsQMiscellaneous  contained index size toArray
syntax keyword lsQOffset         contained offset offsetParent position scrollTop scrollLeft
syntax keyword lsQTraversing     contained eq filter first has is last map not slice
syntax keyword lsQTraversing     contained add andSelf contents end
syntax keyword lsQTraversing     contained children closest find next nextAll nextUntil parent parents parentsUntil prev prevAll prevUntil siblings


" selector
syntax region  javaScriptStringD          start=+"+  skip=+\\\\\|\\"+  end=+"\|$+  contains=javaScriptSpecial,@htmlPreproc,@jSelectors
syntax region  javaScriptStringS          start=+'+  skip=+\\\\\|\\'+  end=+'\|$+  contains=javaScriptSpecial,@htmlPreproc,@jSelectors

syntax cluster jSelectors      contains=jId,jClass,jOperators,jBasicFilters,jContentFilters,jVisibility,jChildFilters,jForms,jFormFilters
syntax match   jId             contained /#[0-9A-Za-z_\-]\+/
syntax match   jClass          contained /\.[0-9A-Za-z_\-]\+/
syntax match   jOperators      contained /*\|>\|+\|-\|\~/
syntax match   jBasicFilters   contained /:\(animated\|eq\|even\|first\|focus\|gt\|header\|last\|lt\|not\|odd\|root\|target\)/
syntax match   jChildFilters   contained /:\(first\|last\|nth\|only\)-child/
syntax match   jChildFilters   contained /:\(first\|last\|nth\|only\)-of-type/
syntax match   jContentFilters contained /:\(contains\|empty\|has\|parent\)/
syntax match   jForms          contained /:\(button\|checkbox\|checked\|disabled\|enabled\|file\|image\|input\|password\|radio\|reset\|selected\|submit\|text\)/
syntax match   jVisibility     contained /:\(hidden\|visible\)/


" 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
if version >= 508 || !exists("did_lisp_syntax_inits")
  if version < 508
    let did_lisp_syntax_inits = 1
    command -nargs=+ HiLink hi link <args>
  else
    command -nargs=+ HiLink hi def link <args>
  endif

  HiLink javascriptjQuery          Constant

  HiLink javascriptQCore           PreProc
  HiLink javascriptQCoreObj        PreProc
  HiLink javascriptQCoreData       PreProc

  HiLink javascriptQAjax           PreProc
  HiLink javascriptQAttributes     PreProc
  HiLink javascriptQCallbacks      PreProc
  HiLink javascriptQCSS            PreProc
  HiLink javascriptQData           PreProc
  HiLink javascriptQDeferred       PreProc
  HiLink javascriptQDimensions     PreProc
  HiLink javascriptQEffects        PreProc
  HiLink javascriptQEvents         PreProc
  HiLink javascriptQManipulation   PreProc
  HiLink javascriptQMiscellaneous  PreProc
  HiLink javascriptQOffset         PreProc
  HiLink javascriptQProperties     PreProc
  HiLink javascriptQTraversing     PreProc
  HiLink javascriptQUtilities      PreProc

  HiLink jId             Identifier
  HiLink jClass          Constant
  HiLink jOperators      Special
  HiLink jBasicFilters   Statement
  HiLink jContentFilters Statement
  HiLink jVisibility     Statement
  HiLink jChildFilters   Statement
  HiLink jForms          Statement
  HiLink jFormFilters    Statement

  HiLink coffeejQuery          Constant

  HiLink coffeeQAjax           PreProc
  HiLink coffeeQAttributes     PreProc
  HiLink coffeeQCallbacks      PreProc
  HiLink coffeeQCore           PreProc
  HiLink coffeeQCSS            PreProc
  HiLink coffeeQData           PreProc
  HiLink coffeeQDeferred       PreProc
  HiLink coffeeQDimensions     PreProc
  HiLink coffeeQEffects        PreProc
  HiLink coffeeQEvents         PreProc
  HiLink coffeeQManipulation   PreProc
  HiLink coffeeQMiscellaneous  PreProc
  HiLink coffeeQOffset         PreProc
  HiLink coffeeQProperties     PreProc
  HiLink coffeeQTraversing     PreProc
  HiLink coffeeQUtilities      PreProc

  HiLink lsjQuery          Constant

  HiLink lsQAjax           PreProc
  HiLink lsQAttributes     PreProc
  HiLink lsQCallbacks      PreProc
  HiLink lsQCore           PreProc
  HiLink lsQCSS            PreProc
  HiLink lsQData           PreProc
  HiLink lsQDeferred       PreProc
  HiLink lsQDimensions     PreProc
  HiLink lsQEffects        PreProc
  HiLink lsQEvents         PreProc
  HiLink lsQManipulation   PreProc
  HiLink lsQMiscellaneous  PreProc
  HiLink lsQOffset         PreProc
  HiLink lsQProperties     PreProc
  HiLink lsQTraversing     PreProc
  HiLink lsQUtilities      PreProc

  delcommand HiLink
endif
plugin/syntax/underscore.vim	[[[1
114
" Vim syntax file
" Language:    underscore.js
" Maintainer:  othree <othree@gmail.com>
" Last Change: 2013/02/05
" Version:     1.4.4
" URL:         http://underscorejs.org/

syntax match   javascriptunderscore containedin=ALL /\<_\>/
syntax match   javascriptunderscoredot containedin=ALL /\(\<_\.\)\@<=\h\w*/ contains=@javascript_Functions
syntax match   javascriptunderscoredot containedin=ALL /\(\<_([^)]*)\.\)\@<=\h\w*/ contains=@javascript_Functions

syntax cluster javascript_Functions contains=javascript_collections,javascript_arrays,javascript_functions,javascript_objects,javascript_chaining

syntax match   javascript_collections contained /contains/
syntax keyword javascript_collections contained each map reduce reduceRight find filter where findWhere
syntax keyword javascript_collections contained reject every some invoke pluck max min sortBy
syntax keyword javascript_collections contained groupBy countBy shuffle toArray size
syntax keyword javascript_arrays contained first initial last rest compact flatten without union
syntax keyword javascript_arrays contained intersection difference uniq zip object indextOf
syntax keyword javascript_arrays contained lastIndexOf sortedIndex range
syntax keyword javascript_functions contained bind bindAll partial memoize delay throttle debounce
syntax keyword javascript_functions contained once after wrap compose
syntax keyword javascript_objects contained keys values pairs invert functions extend pick omit
syntax keyword javascript_objects contained defaults clone tap has isEqual isEmpty isElement isArray
syntax keyword javascript_objects contained isObject isArguments isFunction isString isNumber
syntax keyword javascript_objects contained isFinite isBoolean isDate isRegExp isNaN isNull 
syntax keyword javascript_objects contained isUndefined
syntax keyword javascript_utility contained noConflict identify times random mixin uniqueId
syntax keyword javascript_utility contained escape unescape result template
syntax keyword javascript_chaining contained chain value


syntax cluster coffee_Functions contains=coffee_collections,coffee_arrays,coffee_functions,coffee_objects,coffee_chaining

syntax match   coffee_collections contained /contains/
syntax keyword coffee_collections contained each map reduce reduceRight find filter where findWhere
syntax keyword coffee_collections contained reject every some invoke pluck max min sortBy
syntax keyword coffee_collections contained groupBy countBy shuffle toArray size
syntax keyword coffee_arrays contained first initial last rest compact flatten without union
syntax keyword coffee_arrays contained intersection difference uniq zip object indextOf
syntax keyword coffee_arrays contained lastIndexOf sortedIndex range
syntax keyword coffee_functions contained bind bindAll partial memoize delay throttle debounce
syntax keyword coffee_functions contained once after wrap compose
syntax keyword coffee_objects contained keys values pairs invert functions extend pick omit
syntax keyword coffee_objects contained defaults clone tap has isEqual isEmpty isElement isArray
syntax keyword coffee_objects contained isObject isArguments isFunction isString isNumber
syntax keyword coffee_objects contained isFinite isBoolean isDate isRegExp isNaN isNull 
syntax keyword coffee_objects contained isUndefined
syntax keyword coffee_utility contained noConflict identify times random mixin uniqueId
syntax keyword coffee_utility contained escape unescape result template
syntax keyword coffee_chaining contained chain value


syntax cluster ls_Functions contains=ls_collections,ls_arrays,ls_functions,ls_objects,ls_chaining

syntax match   ls_collections contained /contains/
syntax keyword ls_collections contained each map reduce reduceRight find filter where findWhere
syntax keyword ls_collections contained reject every some invoke pluck max min sortBy
syntax keyword ls_collections contained groupBy countBy shuffle toArray size
syntax keyword ls_arrays contained first initial last rest compact flatten without union
syntax keyword ls_arrays contained intersection difference uniq zip object indextOf
syntax keyword ls_arrays contained lastIndexOf sortedIndex range
syntax keyword ls_functions contained bind bindAll partial memoize delay throttle debounce
syntax keyword ls_functions contained once after wrap compose
syntax keyword ls_objects contained keys values pairs invert functions extend pick omit
syntax keyword ls_objects contained defaults clone tap has isEqual isEmpty isElement isArray
syntax keyword ls_objects contained isObject isArguments isFunction isString isNumber
syntax keyword ls_objects contained isFinite isBoolean isDate isRegExp isNaN isNull 
syntax keyword ls_objects contained isUndefined
syntax keyword ls_utility contained noConflict identify times random mixin uniqueId
syntax keyword ls_utility contained escape unescape result template
syntax keyword ls_chaining contained chain value


" 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
if version >= 508 || !exists("did_lisp_syntax_inits")
  if version < 508
    let did_lisp_syntax_inits = 1
    command -nargs=+ HiLink hi link <args>
  else
    command -nargs=+ HiLink hi def link <args>
  endif

  HiLink javascriptunderscore      Constant

  HiLink javascript_collections    PreProc
  HiLink javascript_arrays         PreProc
  HiLink javascript_functions      PreProc
  HiLink javascript_objects        PreProc
  HiLink javascript_utility        PreProc
  HiLink javascript_chaining       PreProc

  HiLink coffeeunderscore      Constant

  HiLink coffee_collections    PreProc
  HiLink coffee_arrays         PreProc
  HiLink coffee_functions      PreProc
  HiLink coffee_objects        PreProc
  HiLink coffee_utility        PreProc
  HiLink coffee_chaining       PreProc

  HiLink lsunderscore      Constant

  HiLink ls_collections    PreProc
  HiLink ls_arrays         PreProc
  HiLink ls_functions      PreProc
  HiLink ls_objects        PreProc
  HiLink ls_utility        PreProc
  HiLink ls_chaining       PreProc

  delcommand HiLink
endif
plugin/syntax/backbone.vim	[[[1
153
" Vim syntax file
" Language:    Backbone.js
" Maintainer:  othree <othree@gmail.com>
" Last Change: 2013/02/05
" Version:     0.9.10
" URL:         http://backbonejs.org/

syntax keyword javascriptBackbone Backbone Collection Model View Events Router History Sync Utility containedin=ALL

syntax cluster javascriptBFunctions contains=javascriptBEvents,javascriptBModel,javascriptBCollection,javascriptBRouter,javascriptBHistory,javascriptBSync,javascriptBView,javascriptBUtility
syntax cluster javascriptBAttrs contains=javascriptBModelAttrs,javascriptBCollectionAttrs,javascriptBRouterAttrs,javascriptBSyncAttrs,javascriptBViewAttrs

syntax keyword javascriptBEvents contained on off trigger once listenTo stopListening
syntax keyword javascriptBModel contained extend constructor initialize get set escape has unset clear
syntax keyword javascriptBModel contained toJSON sync fetch save destroy validate validationError url parse
syntax keyword javascriptBModel contained clone isNew hasChanged changedAttributes previous previousAttributes
syntax keyword javascriptBCollection contained extend constructor initialize toJSON sync add remove reset update get at 
syntax keyword javascriptBCollection contained push pop unshift shift length comparator sort pluck where url parse clone fetch create
syntax keyword javascriptBRouter contained extend constructor initialize route navigate
syntax keyword javascriptBHistory contained start
syntax keyword javascriptBSync contained ajax 
syntax keyword javascriptBView contained extend constructor initialize setElement render remove delegateEvents undelegateEvents
syntax keyword javascriptBUtility contained noConflict 

syntax keyword javascriptBModelAttrs contained id idAttribute cid attributes changed defaults urlRoot
syntax keyword javascriptBCollectionAttrs contained model models length comparator url
syntax keyword javascriptBRouterAttrs contained routes
syntax keyword javascriptBSyncAttrs contained emulateHTTP emulateJSON
syntax keyword javascriptBViewAttrs contained el attributes
syntax keyword javascriptBViewAttrs match /$el/



syntax keyword coffeeBackbone Backbone Collection Model View Events Router History Sync Utility containedin=ALL

syntax cluster coffeeBFunctions contains=coffeeBEvents,coffeeBModel,coffeeBCollection,coffeeBRouter,coffeeBHistory,coffeeBSync,coffeeBView,coffeeBUtility
syntax cluster coffeeBAttrs contains=coffeeBModelAttrs,coffeeBCollectionAttrs,coffeeBRouterAttrs,coffeeBSyncAttrs,coffeeBViewAttrs

syntax keyword coffeeBEvents contained on off trigger once listenTo stopListening
syntax keyword coffeeBModel contained extend constructor initialize get set escape has unset clear id idAttribute cid attributes
syntax keyword coffeeBModel contained changed defaults toJSON sync fetch save destroy validate validationError url urlRoot parse
syntax keyword coffeeBModel contained clone isNew hasChanged changedAttributes previous previousAttributes
syntax keyword coffeeBCollection contained extend model constructor initialize models toJSON sync add remove reset update get at 
syntax keyword coffeeBCollection contained push pop unshift shift length comparator sort pluck where url parse clone fetch create
syntax keyword coffeeBRouter contained extend routes constructor initialize route navigate
syntax keyword coffeeBHistory contained start
syntax keyword coffeeBSync contained sync ajax emulateHTTP emulateJSON
syntax keyword coffeeBView contained extend constructor initialize el $el setElement attributes render remove delegateEvents
syntax keyword coffeeBView contained undelegateEvents
syntax keyword coffeeBUtility contained noConflict 

syntax keyword coffeeBModelAttrs contained id idAttribute cid attributes changed defaults urlRoot
syntax keyword coffeeBCollectionAttrs contained model models length comparator url
syntax keyword coffeeBRouterAttrs contained routes
syntax keyword coffeeBSyncAttrs contained emulateHTTP emulateJSON
syntax keyword coffeeBViewAttrs contained el attributes
syntax keyword coffeeBViewAttrs match /$el/



syntax keyword lsBackbone Backbone Collection Model View Events Router History Sync Utility containedin=ALL

syntax cluster lsBFunctions contains=lsBEvents,lsBModel,lsBCollection,lsBRouter,lsBHistory,lsBSync,lsBView,lsBUtility
syntax cluster lsBAttrs contains=lsBModelAttrs,lsBCollectionAttrs,lsBRouterAttrs,lsBSyncAttrs,lsBViewAttrs

syntax keyword lsBEvents contained on off trigger once listenTo stopListening
syntax keyword lsBModel contained extend constructor initialize get set escape has unset clear id idAttribute cid attributes
syntax keyword lsBModel contained changed defaults toJSON sync fetch save destroy validate validationError url urlRoot parse
syntax keyword lsBModel contained clone isNew hasChanged changedAttributes previous previousAttributes
syntax keyword lsBCollection contained extend model constructor initialize models toJSON sync add remove reset update get at 
syntax keyword lsBCollection contained push pop unshift shift length comparator sort pluck where url parse clone fetch create
syntax keyword lsBRouter contained extend routes constructor initialize route navigate
syntax keyword lsBHistory contained start
syntax keyword lsBSync contained sync ajax emulateHTTP emulateJSON
syntax keyword lsBView contained extend constructor initialize el $el setElement attributes render remove delegateEvents
syntax keyword lsBView contained undelegateEvents
syntax keyword lsBUtility contained noConflict 

syntax keyword lsBModelAttrs contained id idAttribute cid attributes changed defaults urlRoot
syntax keyword lsBCollectionAttrs contained model models length comparator url
syntax keyword lsBRouterAttrs contained routes
syntax keyword lsBSyncAttrs contained emulateHTTP emulateJSON
syntax keyword lsBViewAttrs contained el attributes
syntax keyword lsBViewAttrs match /$el/



" 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
if version >= 508 || !exists("did_lisp_syntax_inits")
  if version < 508
    let did_lisp_syntax_inits = 1
    command -nargs=+ HiLink hi link <args>
  else
    command -nargs=+ HiLink hi def link <args>
  endif

  HiLink javascriptBackbone         Constant

  HiLink javascriptBEvents          PreProc
  HiLink javascriptBModel           PreProc
  HiLink javascriptBCollection      PreProc
  HiLink javascriptBRouter          PreProc
  HiLink javascriptBHistory         PreProc
  HiLink javascriptBSync            PreProc
  HiLink javascriptBView            PreProc
  HiLink javascriptBUtility         PreProc

  HiLink javascriptBModelAttrs      PreProc
  HiLink javascriptBCollectionAttrs PreProc
  HiLink javascriptBRouterAttrs     PreProc
  HiLink javascriptBSyncAttrs       PreProc
  HiLink javascriptBViewAttrs       PreProc


  HiLink coffeeBackbone         Constant

  HiLink coffeeBEvents          PreProc
  HiLink coffeeBModel           PreProc
  HiLink coffeeBCollection      PreProc
  HiLink coffeeBRouter          PreProc
  HiLink coffeeBHistory         PreProc
  HiLink coffeeBSync            PreProc
  HiLink coffeeBView            PreProc
  HiLink coffeeBUtility         PreProc

  HiLink coffeeBModelAttrs      PreProc
  HiLink coffeeBCollectionAttrs PreProc
  HiLink coffeeBRouterAttrs     PreProc
  HiLink coffeeBSyncAttrs       PreProc
  HiLink coffeeBViewAttrs       PreProc


  HiLink lsBackbone         Constant

  HiLink lsBEvents          PreProc
  HiLink lsBModel           PreProc
  HiLink lsBCollection      PreProc
  HiLink lsBRouter          PreProc
  HiLink lsBHistory         PreProc
  HiLink lsBSync            PreProc
  HiLink lsBView            PreProc
  HiLink lsBUtility         PreProc

  HiLink lsBModelAttrs      PreProc
  HiLink lsBCollectionAttrs PreProc
  HiLink lsBRouterAttrs     PreProc
  HiLink lsBSyncAttrs       PreProc
  HiLink lsBViewAttrs       PreProc

  delcommand HiLink
endif
plugin/syntax/prelude.vim	[[[1
66
" Vim syntax file
" Language:    prelude.ls
" Maintainer:  othree <othree@gmail.com>
" Last Change: 2013/02/05
" Version:     0.6.0
" URL:         http://gkz.github.com/prelude-ls/

syntax cluster javascriptpFunctions contains=javascriptpFunction

syntax keyword javascriptpFunction contained map filter reject partition find each head tail last initial
syntax keyword javascriptpFunction contained empty values keys length cons append join reverse fold fold1
syntax keyword javascriptpFunction contained foldr foldr1 unfold andList orList any all unique sort sortBy
syntax keyword javascriptpFunction contained compare sum product mean concat concatMap maximum minimum scan scan1
syntax keyword javascriptpFunction contained scanr scanr1 replicate take drop splitAt takeWhile dropWhile span breakIt
syntax keyword javascriptpFunction contained listToObj objToFunc zip zipWith zipAll zipAllWith compose curry id flip
syntax keyword javascriptpFunction contained fix lines unlines words unwords max min negate abs signum
syntax keyword javascriptpFunction contained quot rem div mod recip pi tau exp sqrt ln
syntax keyword javascriptpFunction contained pow sin cos tan asin acos atan atan2 truncate round
syntax keyword javascriptpFunction contained ceiling floor isItNaN even odd gcd lcm


syntax cluster coffeepFunctions contains=coffeepFunction

syntax keyword coffeepFunction contained map filter reject partition find each head tail last initial
syntax keyword coffeepFunction contained empty values keys length cons append join reverse fold fold1
syntax keyword coffeepFunction contained foldr foldr1 unfold andList orList any all unique sort sortBy
syntax keyword coffeepFunction contained compare sum product mean concat concatMap maximum minimum scan scan1
syntax keyword coffeepFunction contained scanr scanr1 replicate take drop splitAt takeWhile dropWhile span breakIt
syntax keyword coffeepFunction contained listToObj objToFunc zip zipWith zipAll zipAllWith compose curry id flip
syntax keyword coffeepFunction contained fix lines unlines words unwords max min negate abs signum
syntax keyword coffeepFunction contained quot rem div mod recip pi tau exp sqrt ln
syntax keyword coffeepFunction contained pow sin cos tan asin acos atan atan2 truncate round
syntax keyword coffeepFunction contained ceiling floor isItNaN even odd gcd lcm


syntax cluster lspFunctions contains=lspFunction

syntax keyword lspFunction contained map filter reject partition find each head tail last initial
syntax keyword lspFunction contained empty values keys length cons append join reverse fold fold1
syntax keyword lspFunction contained foldr foldr1 unfold andList orList any all unique sort sortBy
syntax keyword lspFunction contained compare sum product mean concat concatMap maximum minimum scan scan1
syntax keyword lspFunction contained scanr scanr1 replicate take drop splitAt takeWhile dropWhile span breakIt
syntax keyword lspFunction contained listToObj objToFunc zip zipWith zipAll zipAllWith compose curry id flip
syntax keyword lspFunction contained fix lines unlines words unwords max min negate abs signum
syntax keyword lspFunction contained quot rem div mod recip pi tau exp sqrt ln
syntax keyword lspFunction contained pow sin cos tan asin acos atan atan2 truncate round
syntax keyword lspFunction contained ceiling floor isItNaN even odd gcd lcm


" 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
if version >= 508 || !exists("did_lisp_syntax_inits")
  if version < 508
    let did_lisp_syntax_inits = 1
    command -nargs=+ HiLink hi link <args>
  else
    command -nargs=+ HiLink hi def link <args>
  endif

  HiLink javascriptpFunction        PreProc
  HiLink coffeepFunction            PreProc
  HiLink lspFunction                PreProc

  delcommand HiLink
endif
plugin/syntax/postprocess.vim	[[[1
46
" Vim syntax file
" Language:    JS Lib syntax post process
" Maintainer:  othree <othree@gmail.com>
" Last Change: 2013/02/08
" Version:     0.1
" URL:         https://github.com/othree/javascript-libraries-syntax.vim
"

if &filetype == 'javascript'
  syntax cluster javascriptLibraryFuncs contains=@javascriptQFunctions,@javascript_Functions,@javascriptBFunctions,@javascriptpFunctions
  syntax cluster javascriptLibraryAttrs contains=@javascriptQAttrs,@javascript_Attrs,@javascriptBAttrs,@javascriptpAttrs
  syntax match   javascriptLMethods /[0-9A-Za-z_$)]\@<=\.\h\w*(\@=/ containedin=ALL contains=@javascriptLibraryFuncs
  syntax match   javascriptLAttrs /[0-9A-Za-z_$)]\@<=\.\h\w*/ containedin=ALL contains=@javascriptLibraryAttrs
endif

if &filetype == 'coffee'
  syntax cluster coffeeLibraryFuncs contains=@coffeeQFunctions,@coffee_Functions,@coffeeBFunctions,@coffeepFunctions
  syntax cluster coffeeLibraryAttrs contains=@coffeeQAttrs,@coffee_Attrs,@coffeeBAttrs,@coffeepAttrs
  syntax match   coffeeLMethods /[0-9A-Za-z_$)]\@<=\.\h\w*(\@=/   containedin=ALL contains=@coffeeLibraryFuncs
  syntax match   coffeeLMethods /[0-9A-Za-z_$)]\@<=\.\h\w* \+[0-9A-Za-z_$([{'"]\@=/ containedin=ALL contains=@coffeeLibraryFuncs
  syntax match   coffeeLMethods /[0-9A-Za-z_$)]\@<=\.\h\w* \([-=]>\)\@=/ containedin=ALL contains=@coffeeLibraryFuncs
  syntax match   coffeeLAttrs /[0-9A-Za-z_$)]\@<=\.\h\w*/   containedin=ALL contains=@coffeeLibraryAttrs
endif

if &filetype == 'ls'
  syntax cluster lsLibraryFuncs contains=@lsQFunctions,@ls_Functions,@lsBFunctions,@lspFunctions
  syntax cluster lsLibraryAttrs contains=@lsQAttrs,@ls_Attrs,@lsBAttrs,@lspAttrs
  " ).fun!
  " ).fun()
  " fun0!fun!
  " fun0!fun()
  " obj.fun!
  " obj.fun()
  syntax match   lsLMethods /\([0-9A-Za-z_$][.!]\|)\.\)\@<=\h\w*[(!]\@=/   containedin=ALL contains=@lsLibraryFuncs
  " ).fun arg
  " !fun arg
  " obj.fun arg
  syntax match   lsLMethods /\([0-9A-Za-z_$][.!]\|)\.\)\@<=\h\w* \+[0-9A-Za-z_$([{\'"]\@=/ containedin=ALL contains=@lsLibraryFuncs
  " ).fun funarg
  " !fun funarg
  " obj.fun funarg
  syntax match   lsLMethods /\([0-9A-Za-z_$][.!]\|)\.\)\@<=\h\w* \(!\?[~-]>\)\@=/ containedin=ALL contains=@lsLibraryFuncs
  syntax match   lsLPipe /|>/ containedin=ALL skipwhite nextgroup=@lspFunctions
  syntax match   lsLCompose />>/ containedin=ALL skipwhite nextgroup=@lspFunctions
  syntax match   lsLAttrs /\([0-9A-Za-z_$][.!]\|)\.\)\@<=\h\w*/   containedin=ALL contains=@lsLibraryAttrs
endif