textpow 0.10.1 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (193) hide show
  1. data/.travis.yml +7 -0
  2. data/Gemfile +10 -0
  3. data/Gemfile.lock +30 -0
  4. data/{History.txt → History.rdoc} +10 -0
  5. data/{README.txt → MIT-LICENSE.txt} +0 -30
  6. data/README.rdoc +82 -0
  7. data/Rakefile +42 -49
  8. data/bin/plist2syntax +0 -0
  9. data/bin/plist2yaml +0 -0
  10. data/examples/benchmark_js.rb +13 -0
  11. data/examples/jquery.js +9046 -0
  12. data/lib/textpow.rb +43 -3
  13. data/lib/textpow/debug_processor.rb +35 -35
  14. data/lib/textpow/recording_processor.rb +13 -0
  15. data/lib/textpow/score_manager.rb +60 -60
  16. data/lib/textpow/syntax.rb +303 -262
  17. data/lib/textpow/syntax/broken/markdown.syntax +519 -0
  18. data/lib/textpow/syntax/broken/php.syntax +1253 -0
  19. data/lib/textpow/syntax/buggy/nemerle.syntax +74 -0
  20. data/lib/textpow/syntax/old/YAML.yaml +160 -0
  21. data/lib/textpow/syntax/old/txt2tags.yaml +139 -0
  22. data/lib/textpow/syntax/source.actionscript.syntax +97 -0
  23. data/lib/textpow/syntax/source.active4d.library.syntax +21 -0
  24. data/lib/textpow/syntax/source.active4d.syntax +276 -0
  25. data/lib/textpow/syntax/source.ada.syntax +33 -0
  26. data/lib/textpow/syntax/source.antlr.syntax +151 -0
  27. data/lib/textpow/syntax/source.apache-config.mod_perl.syntax +50 -0
  28. data/lib/textpow/syntax/source.apache-config.syntax +191 -0
  29. data/lib/textpow/syntax/source.applescript.syntax +384 -0
  30. data/lib/textpow/syntax/source.asp.syntax +70 -0
  31. data/lib/textpow/syntax/source.asp.vb.net.syntax +129 -0
  32. data/lib/textpow/syntax/source.c++.qt.syntax +26 -0
  33. data/lib/textpow/syntax/source.c++.syntax +186 -0
  34. data/lib/textpow/syntax/source.c-sharp.syntax +59 -0
  35. data/lib/textpow/syntax/source.c.ragel.syntax +201 -0
  36. data/lib/textpow/syntax/source.c.syntax +414 -0
  37. data/lib/textpow/syntax/source.camlp4.ocaml.syntax +36 -0
  38. data/lib/textpow/syntax/source.cm.syntax +32 -0
  39. data/lib/textpow/syntax/source.coffee.syntax +216 -0
  40. data/lib/textpow/syntax/source.context-free.syntax +176 -0
  41. data/lib/textpow/syntax/source.css.beta.syntax +1925 -0
  42. data/lib/textpow/syntax/source.css.syntax +195 -0
  43. data/lib/textpow/syntax/source.d.syntax +142 -0
  44. data/lib/textpow/syntax/source.diff.syntax +81 -0
  45. data/lib/textpow/syntax/source.dot.syntax +47 -0
  46. data/lib/textpow/syntax/source.dylan.syntax +62 -0
  47. data/lib/textpow/syntax/source.eiffel.syntax +78 -0
  48. data/lib/textpow/syntax/source.erlang.syntax +922 -0
  49. data/lib/textpow/syntax/source.fortran.syntax +141 -0
  50. data/lib/textpow/syntax/source.fscript.syntax +80 -0
  51. data/lib/textpow/syntax/source.fxscript.syntax +142 -0
  52. data/lib/textpow/syntax/source.gri.syntax +83 -0
  53. data/lib/textpow/syntax/source.groovy.groovy.syntax +191 -0
  54. data/lib/textpow/syntax/source.haskell.syntax +88 -0
  55. data/lib/textpow/syntax/source.icalendar.syntax +32 -0
  56. data/lib/textpow/syntax/source.inform.syntax +48 -0
  57. data/lib/textpow/syntax/source.ini.syntax +55 -0
  58. data/lib/textpow/syntax/source.io.syntax +81 -0
  59. data/lib/textpow/syntax/source.java-props.syntax +20 -0
  60. data/lib/textpow/syntax/source.java.syntax +211 -0
  61. data/lib/textpow/syntax/source.js.greasemonkey.syntax +34 -0
  62. data/lib/textpow/syntax/source.js.jquery.syntax +114 -0
  63. data/lib/textpow/syntax/source.js.mootools.syntax +572 -0
  64. data/lib/textpow/syntax/source.js.prototype.bracketed.syntax +140 -0
  65. data/lib/textpow/syntax/source.js.prototype.syntax +72 -0
  66. data/lib/textpow/syntax/source.js.syntax +256 -0
  67. data/lib/textpow/syntax/source.js.yui.syntax +176 -0
  68. data/lib/textpow/syntax/source.json.syntax +136 -0
  69. data/lib/textpow/syntax/source.lex.syntax +219 -0
  70. data/lib/textpow/syntax/source.lighttpd-config.syntax +54 -0
  71. data/lib/textpow/syntax/source.lilypond.syntax +492 -0
  72. data/lib/textpow/syntax/source.lisp.syntax +61 -0
  73. data/lib/textpow/syntax/source.logo.syntax +29 -0
  74. data/lib/textpow/syntax/source.logtalk.syntax +152 -0
  75. data/lib/textpow/syntax/source.lua.syntax +86 -0
  76. data/lib/textpow/syntax/source.makefile.syntax +36 -0
  77. data/lib/textpow/syntax/source.matlab.syntax +142 -0
  78. data/lib/textpow/syntax/source.mel.syntax +92 -0
  79. data/lib/textpow/syntax/source.mips.syntax +66 -0
  80. data/lib/textpow/syntax/source.ml.syntax +121 -0
  81. data/lib/textpow/syntax/source.modula-3.syntax +47 -0
  82. data/lib/textpow/syntax/source.nant-build.syntax +53 -0
  83. data/lib/textpow/syntax/source.objc++.syntax +18 -0
  84. data/lib/textpow/syntax/source.objc.syntax +233 -0
  85. data/lib/textpow/syntax/source.ocaml.syntax +764 -0
  86. data/lib/textpow/syntax/source.ocamllex.syntax +167 -0
  87. data/lib/textpow/syntax/source.ocamlyacc.syntax +184 -0
  88. data/lib/textpow/syntax/source.open-gl.syntax +14 -0
  89. data/lib/textpow/syntax/source.pascal.syntax +77 -0
  90. data/lib/textpow/syntax/source.pascal.vectorscript.syntax +57 -0
  91. data/lib/textpow/syntax/source.perl.syntax +1113 -0
  92. data/lib/textpow/syntax/source.php.cake.syntax +55 -0
  93. data/lib/textpow/syntax/source.plist.tm-grammar.syntax +708 -0
  94. data/lib/textpow/syntax/source.postscript.syntax +114 -0
  95. data/lib/textpow/syntax/source.processing.syntax +106 -0
  96. data/lib/textpow/syntax/source.prolog.syntax +40 -0
  97. data/lib/textpow/syntax/source.python.django.syntax +21 -0
  98. data/lib/textpow/syntax/source.python.syntax +868 -0
  99. data/lib/textpow/syntax/source.qmake.syntax +114 -0
  100. data/lib/textpow/syntax/source.quake-config.syntax +32 -0
  101. data/lib/textpow/syntax/source.r-console.syntax +16 -0
  102. data/lib/textpow/syntax/source.r.syntax +81 -0
  103. data/lib/textpow/syntax/source.regexp.oniguruma.syntax +107 -0
  104. data/lib/textpow/syntax/source.regexp.python.syntax +109 -0
  105. data/lib/textpow/syntax/source.regexp.syntax +50 -0
  106. data/lib/textpow/syntax/source.remind.syntax +253 -0
  107. data/lib/textpow/syntax/source.rez.syntax +80 -0
  108. data/lib/textpow/syntax/source.ruby.experimental.syntax +145 -0
  109. data/lib/textpow/syntax/source.ruby.rails.syntax +88 -0
  110. data/lib/textpow/syntax/source.ruby.syntax +1035 -0
  111. data/lib/textpow/syntax/source.s5.syntax +69 -0
  112. data/lib/textpow/syntax/source.sass.syntax +45 -0
  113. data/lib/textpow/syntax/source.scheme.syntax +347 -0
  114. data/lib/textpow/syntax/source.scilab.syntax +41 -0
  115. data/lib/textpow/syntax/source.scss.syntax +527 -0
  116. data/lib/textpow/syntax/source.shell.syntax +384 -0
  117. data/lib/textpow/syntax/source.slate.syntax +149 -0
  118. data/lib/textpow/syntax/source.smarty.syntax +63 -0
  119. data/lib/textpow/syntax/source.sql.ruby.syntax +18 -0
  120. data/lib/textpow/syntax/source.sql.syntax +237 -0
  121. data/lib/textpow/syntax/source.ssh-config.syntax +33 -0
  122. data/lib/textpow/syntax/source.strings.syntax +39 -0
  123. data/lib/textpow/syntax/source.swig.syntax +57 -0
  124. data/lib/textpow/syntax/source.tcl.macports.syntax +163 -0
  125. data/lib/textpow/syntax/source.tcl.syntax +152 -0
  126. data/lib/textpow/syntax/source.yaml.syntax +160 -0
  127. data/lib/textpow/syntax/text.active4d-ini.syntax +50 -0
  128. data/lib/textpow/syntax/text.bbcode.syntax +287 -0
  129. data/lib/textpow/syntax/text.bibtex.syntax +151 -0
  130. data/lib/textpow/syntax/text.blog.html.syntax +41 -0
  131. data/lib/textpow/syntax/text.blog.markdown.syntax +42 -0
  132. data/lib/textpow/syntax/text.blog.syntax +27 -0
  133. data/lib/textpow/syntax/text.blog.textile.syntax +27 -0
  134. data/lib/textpow/syntax/text.gtdalt.syntax +143 -0
  135. data/lib/textpow/syntax/text.haml.syntax +88 -0
  136. data/lib/textpow/syntax/text.html.asp.net.syntax +424 -0
  137. data/lib/textpow/syntax/text.html.asp.syntax +27 -0
  138. data/lib/textpow/syntax/text.html.basic.syntax +362 -0
  139. data/lib/textpow/syntax/text.html.cfm.syntax +119 -0
  140. data/lib/textpow/syntax/text.html.django.syntax +36 -0
  141. data/lib/textpow/syntax/text.html.dokuwiki.syntax +204 -0
  142. data/lib/textpow/syntax/text.html.doxygen.syntax +43 -0
  143. data/lib/textpow/syntax/text.html.markdown.multimarkdown.syntax +39 -0
  144. data/lib/textpow/syntax/text.html.mason.syntax +119 -0
  145. data/lib/textpow/syntax/text.html.mediawiki.syntax +567 -0
  146. data/lib/textpow/syntax/text.html.mt.syntax +162 -0
  147. data/lib/textpow/syntax/text.html.ruby.syntax +40 -0
  148. data/lib/textpow/syntax/text.html.strict.active4d.syntax +311 -0
  149. data/lib/textpow/syntax/text.html.tcl.syntax +26 -0
  150. data/lib/textpow/syntax/text.html.textile.syntax +215 -0
  151. data/lib/textpow/syntax/text.html.tt.syntax +121 -0
  152. data/lib/textpow/syntax/text.html.twiki.syntax +241 -0
  153. data/lib/textpow/syntax/text.html.xhtml.1-strict.syntax +4027 -0
  154. data/lib/textpow/syntax/text.log.latex.syntax +50 -0
  155. data/lib/textpow/syntax/text.mail.markdown.syntax +118 -0
  156. data/lib/textpow/syntax/text.man.syntax +17 -0
  157. data/lib/textpow/syntax/text.moinmoin.syntax +189 -0
  158. data/lib/textpow/syntax/text.plain.gtd.syntax +22 -0
  159. data/lib/textpow/syntax/text.plain.release-notes.syntax +46 -0
  160. data/lib/textpow/syntax/text.plain.syntax +32 -0
  161. data/lib/textpow/syntax/text.plist.syntax +635 -0
  162. data/lib/textpow/syntax/text.pmwiki.syntax +113 -0
  163. data/lib/textpow/syntax/text.restructuredtext.syntax +250 -0
  164. data/lib/textpow/syntax/text.setext.syntax +147 -0
  165. data/lib/textpow/syntax/text.subversion-commit.syntax +36 -0
  166. data/lib/textpow/syntax/text.tabular.csv.syntax +68 -0
  167. data/lib/textpow/syntax/text.tabular.tsv.syntax +50 -0
  168. data/lib/textpow/syntax/text.tex.latex.beamer.syntax +41 -0
  169. data/lib/textpow/syntax/text.tex.latex.haskell.syntax +24 -0
  170. data/lib/textpow/syntax/text.tex.latex.memoir.syntax +64 -0
  171. data/lib/textpow/syntax/text.tex.latex.rd.syntax +91 -0
  172. data/lib/textpow/syntax/text.tex.latex.sweave.syntax +84 -0
  173. data/lib/textpow/syntax/text.tex.latex.syntax +566 -0
  174. data/lib/textpow/syntax/text.tex.math.syntax +49 -0
  175. data/lib/textpow/syntax/text.tex.syntax +86 -0
  176. data/lib/textpow/syntax/text.txt2tags.syntax +79 -0
  177. data/lib/textpow/syntax/text.xml.apple-dist.syntax +77 -0
  178. data/lib/textpow/syntax/text.xml.strict.syntax +92 -0
  179. data/lib/textpow/syntax/text.xml.syntax +180 -0
  180. data/lib/textpow/syntax/text.xml.xsl.syntax +60 -0
  181. data/lib/textpow/version.rb +3 -0
  182. data/spec/fixtures/objeck.plist +107 -0
  183. data/spec/fixtures/utf8.txt +1 -0
  184. data/spec/spec_helper.rb +2 -0
  185. data/spec/textpow/score_manager_spec.rb +20 -0
  186. data/spec/textpow/syntax_files_spec.rb +26 -0
  187. data/spec/textpow/syntax_spec.rb +225 -0
  188. data/spec/textpow_spec.rb +57 -0
  189. data/textpow.gemspec +19 -0
  190. metadata +246 -68
  191. data/Manifest.txt +0 -13
  192. data/mm/manual.mm +0 -266
  193. data/test/test_textpow.rb +0 -25
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: Greasemonkey
3
+ fileTypes:
4
+ - user.js
5
+ firstLineMatch: // ==UserScript==
6
+ scopeName: source.js.greasemonkey
7
+ uuid: B57ED36B-65DD-492A-82D7-E6C80253BAAB
8
+ foldingStartMarker: // ==UserScript==
9
+ patterns:
10
+ - name: support.class.greasemonkey
11
+ match: \bunsafeWindow\b
12
+ - name: support.function.greasemonkey
13
+ match: \bGM_(registerMenuCommand|xmlhttpRequest|setValue|getValue|log|openInTab|addStyle)\b(?=\()
14
+ - name: meta.header.greasemonkey
15
+ begin: // ==UserScript==
16
+ end: // ==/UserScript==\s*
17
+ patterns:
18
+ - name: meta.directive.standard.greasemonkey
19
+ captures:
20
+ "1":
21
+ name: keyword.other.greasemonkey
22
+ "3":
23
+ name: string.unquoted.greasemonkey
24
+ match: // (@(name|namespace|description|include|exclude))\b\s*(.+\s+)?
25
+ - name: meta.directive.nonstandard.greasemonkey
26
+ captures:
27
+ "1":
28
+ name: keyword.other.greasemonkey
29
+ "3":
30
+ name: string.unquoted.greasemonkey
31
+ match: // (@(\S+))\b\s*(.+\s+)?
32
+ - include: source.js
33
+ foldingStopMarker: // ==/UserScript==
34
+ keyEquivalent: ^~G
@@ -0,0 +1,114 @@
1
+ ---
2
+ name: jQuery (JavaScript)
3
+ scopeName: source.js.jquery
4
+ repository:
5
+ nested-parens:
6
+ captures:
7
+ "0":
8
+ name: punctuation.section.scope.js
9
+ begin: \(
10
+ end: \)
11
+ patterns:
12
+ - include: "#nested-parens"
13
+ - include: source.js
14
+ css-selector:
15
+ name: meta.selector.css
16
+ begin: (?=\s*[.*#a-zA-Z])
17
+ end: (?=["'])
18
+ patterns:
19
+ - name: entity.name.tag.css
20
+ match: \b(a|abbr|acronym|address|area|b|base|big|blockquote|body|br|button|caption|cite|code|col|colgroup|dd|del|dfn|div|dl|dt|em|fieldset|form|frame|frameset|(h[1-6])|head|hr|html|i|iframe|img|input|ins|kbd|label|legend|li|link|map|meta|noframes|noscript|object|ol|optgroup|option|p|param|pre|q|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|ul|var)\b
21
+ - name: entity.other.attribute-name.class.css
22
+ captures:
23
+ "1":
24
+ name: punctuation.definition.attribute-name.css
25
+ match: (\.)[a-zA-Z0-9_-]+
26
+ - name: entity.other.attribute-name.id.css
27
+ captures:
28
+ "1":
29
+ name: punctuation.definition.attribute-name.css
30
+ match: (#)[a-zA-Z0-9_-]+
31
+ - name: entity.name.tag.wildcard.css
32
+ match: \*
33
+ - name: entity.other.attribute-name.pseudo-class.css
34
+ captures:
35
+ "1":
36
+ name: punctuation.definition.attribute-name.css
37
+ match: (:)\b(active|after|before|first-letter|first-line|hover|link|visited)\b
38
+ uuid: 1AD8EB10-62BE-417C-BC4B-29B5C6F0B36A
39
+ foldingStartMarker: (^.*{[^}]*$|^.*\([^\)]*$|^.*/\*(?!.*\*/).*$)
40
+ patterns:
41
+ - endCaptures:
42
+ "1":
43
+ name: punctuation.section.class.js
44
+ begin: (\$)(\()
45
+ contentName: meta.selector.jquery
46
+ beginCaptures:
47
+ "1":
48
+ name: support.class.js.jquery
49
+ "2":
50
+ name: punctuation.section.class.js
51
+ end: (\))
52
+ patterns:
53
+ - include: "#nested-parens"
54
+ - endCaptures:
55
+ "0":
56
+ name: punctuation.definition.selector.end.js
57
+ begin: "'"
58
+ beginCaptures:
59
+ "0":
60
+ name: punctuation.definition.selector.begin.js
61
+ end: "'"
62
+ patterns:
63
+ - include: "#css-selector"
64
+ - endCaptures:
65
+ "0":
66
+ name: punctuation.definition.selector.end.js
67
+ begin: "\""
68
+ beginCaptures:
69
+ "0":
70
+ name: punctuation.definition.selector.begin.js
71
+ end: "\""
72
+ patterns:
73
+ - include: "#css-selector"
74
+ - include: source.js
75
+ - endCaptures:
76
+ "1":
77
+ name: punctuation.section.function.js
78
+ begin: \b(add|ancestors|appendTo|children|filter|find|insertAfter|insertBefore|next|not|parent|parents|prependTo|prev|remove|siblings)\s*(\()
79
+ contentName: meta.selector.jquery
80
+ beginCaptures:
81
+ "1":
82
+ name: support.function.js.jquery
83
+ "2":
84
+ name: punctuation.section.function.js
85
+ end: (\))
86
+ patterns:
87
+ - include: "#nested-parens"
88
+ - endCaptures:
89
+ "0":
90
+ name: punctuation.definition.selector.end.js
91
+ begin: "'"
92
+ beginCaptures:
93
+ "0":
94
+ name: punctuation.definition.selector.begin.js
95
+ end: "'"
96
+ patterns:
97
+ - include: "#css-selector"
98
+ - endCaptures:
99
+ "0":
100
+ name: punctuation.definition.selector.end.js
101
+ begin: "\""
102
+ beginCaptures:
103
+ "0":
104
+ name: punctuation.definition.selector.begin.js
105
+ end: "\""
106
+ patterns:
107
+ - include: "#css-selector"
108
+ - include: source.js
109
+ - name: support.function.js.jquery
110
+ match: \.(addClass|after|append|attr|background|before|bind|blur|change|click|color|css|dblclick|domManip|each|empty|end|error|extend|fadeIn|fadeOut|fadeTo|float|focus|get|height|hide|hover|href|html|id|init|keydown|keypress|keyup|left|length|load|mousedown|mousemove|mouseout|mouseover|mouseup|name|oneblur|onechange|oneclick|onedblclick|oneerror|onefocus|onekeydown|onekeypress|onekeyup|oneload|onemousedown|onemousemove|onemouseout|onemouseover|onemouseup|onereset|oneresize|onescroll|oneselect|onesubmit|oneunload|overflow|position|prepend|pushStack|ready|rel|removeClass|reset|resize|scroll|select|show|size|slideDown|slideUp|src|submit|text|title|toggle|toggleClass|top|trigger|unbind|unblur|unchange|unclick|undblclick|unerror|unfocus|unkeydown|unkeypress|unkeyup|unload|unmousedown|unmousemove|unmouseout|unmouseover|unmouseup|unreset|unresize|unscroll|unselect|unsubmit|ununload|val|width|wrap)\b
111
+ - include: source.js
112
+ foldingStopMarker: (^\s*\}|^\s*\)|^(?!.*/\*).*\*/)
113
+ keyEquivalent: ^~J
114
+ comment: jQuery Javascript Framework. By Jonathan Chaffer & Karl Swedberg.
@@ -0,0 +1,572 @@
1
+ ---
2
+ name: MooTools
3
+ scopeName: source.js.mootools
4
+ repository:
5
+ array-functions:
6
+ name: meta.function.array.js.mootools
7
+ endCaptures:
8
+ "1":
9
+ name: support.function.array.js.mootools
10
+ begin: (\$(?:each|A)\()
11
+ contentName: variable.parameter.function.array.js.mootools
12
+ beginCaptures:
13
+ "1":
14
+ name: support.function.array.js.mootools
15
+ end: (\))
16
+ patterns:
17
+ - include: source.js
18
+ element-functions:
19
+ name: meta.function.element.js.mootools
20
+ endCaptures:
21
+ "1":
22
+ name: support.function.element.js.mootools
23
+ begin: (\$?\$\()
24
+ contentName: variable.parameter.function.element.js.mootools
25
+ beginCaptures:
26
+ "1":
27
+ name: support.function.element.js.mootools
28
+ end: (\))
29
+ patterns:
30
+ - include: source.js
31
+ hash-functions:
32
+ name: meta.function.hash.js.mootools
33
+ endCaptures:
34
+ "1":
35
+ name: support.function.hash.js.mootools
36
+ begin: (\$H\()
37
+ contentName: variable.parameter.function.hash.js.mootools
38
+ beginCaptures:
39
+ "1":
40
+ name: support.function.hash.js.mootools
41
+ end: (\))
42
+ patterns:
43
+ - include: source.js
44
+ fx-options:
45
+ patterns:
46
+ - name: support.class.keys.fx.options.js.mootools
47
+ match: \b(onStart|onComplete|transition|duration|unit|wait|fps)\b
48
+ - name: support.class.keys.fx.slide.options.js.mootools
49
+ match: \b(mode)\b
50
+ leading-space:
51
+ patterns:
52
+ - name: meta.leading-tabs
53
+ begin: ^(?=(\t| ))
54
+ end: (?=[^\t\s])
55
+ patterns:
56
+ - captures:
57
+ "6":
58
+ name: meta.even-tab.group6.spaces
59
+ "11":
60
+ name: meta.odd-tab.group11.spaces
61
+ "7":
62
+ name: meta.odd-tab.group7.spaces
63
+ "8":
64
+ name: meta.even-tab.group8.spaces
65
+ "9":
66
+ name: meta.odd-tab.group9.spaces
67
+ "1":
68
+ name: meta.odd-tab.group1.spaces
69
+ "2":
70
+ name: meta.even-tab.group2.spaces
71
+ "3":
72
+ name: meta.odd-tab.group3.spaces
73
+ "4":
74
+ name: meta.even-tab.group4.spaces
75
+ "10":
76
+ name: meta.even-tab.group10.spaces
77
+ "5":
78
+ name: meta.odd-tab.group5.spaces
79
+ match: ( )( )?( )?( )?( )?( )?( )?( )?( )?( )?( )?
80
+ - captures:
81
+ "6":
82
+ name: meta.even-tab.group6.tab
83
+ "11":
84
+ name: meta.odd-tab.group11.tab
85
+ "7":
86
+ name: meta.odd-tab.group7.tab
87
+ "8":
88
+ name: meta.even-tab.group8.tab
89
+ "9":
90
+ name: meta.odd-tab.group9.tab
91
+ "1":
92
+ name: meta.odd-tab.group1.tab
93
+ "2":
94
+ name: meta.even-tab.group2.tab
95
+ "3":
96
+ name: meta.odd-tab.group3.tab
97
+ "4":
98
+ name: meta.even-tab.group4.tab
99
+ "10":
100
+ name: meta.even-tab.group10.tab
101
+ "5":
102
+ name: meta.odd-tab.group5.tab
103
+ match: (\t)(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?
104
+ comment: |
105
+
106
+ The leading-space code is the ribbon highlighing thomas Aylott contributed to source.js.prototype.
107
+ More info in this thread:
108
+ http://comox.textdrive.com/pipermail/textmate/2006-August/012373.html
109
+
110
+ dom-functions:
111
+ name: meta.function.dom.js.mootools
112
+ endCaptures:
113
+ "1":
114
+ name: support.function.dom.js.mootools
115
+ begin: (\$ES?\()
116
+ contentName: variable.parameter.function.dom.js.mootools
117
+ beginCaptures:
118
+ "1":
119
+ name: support.function.dom.js.mootools
120
+ end: (\))
121
+ patterns:
122
+ - include: source.js
123
+ uuid: 7E4B5859-2FB4-4D2A-9105-276BDE28B94E
124
+ foldingStartMarker: (^.*{[^}]*$|^.*\([^\)]*$|^.*/\*(?!.*\*/).*$)
125
+ patterns:
126
+ - name: support.class.js.mootools
127
+ match: \b(Class|Array|Element|Event|Function|String)\b
128
+ comment: |-
129
+
130
+ Class
131
+ The base class object of the http://mootools.net framework.
132
+ http://docs.mootools.net/files/Core/Moo-js.html
133
+ - name: support.class.class.js.mootools
134
+ match: \b(empty|extend|implement)\b
135
+ - name: support.function.class.js.mootools
136
+ match: \b(extend|Native)\b
137
+ - name: support.function.utility.js.mootools
138
+ match: \$(type|chk|pick|random|clear)\b
139
+ comment: |
140
+
141
+ Utility
142
+ Contains Utility functions
143
+ http://docs.mootools.net/files/Core/Utility-js.html
144
+
145
+ - captures:
146
+ "1":
147
+ name: support.class.window.browser.js.mootools
148
+ match: window\.(ie|ie6|ie7|khtml|gecko)\b
149
+ - include: "#array-functions"
150
+ comment: |-
151
+
152
+ Array
153
+ A collection of The Array Object prototype methods.
154
+ http://docs.mootools.net/files/Native/Array-js.html
155
+ - name: support.class.array.js.mootools
156
+ match: \b(forEach|filter|map|every|some|indexOf|each|copy|remove|test|extend|associate)\b
157
+ - include: "#element-functions"
158
+ comment: |-
159
+
160
+ Element
161
+ Custom class to allow all of its methods to be used with any DOM element via the dollar function $.
162
+ http://docs.mootools.net/files/Native/Element-js.html
163
+ - name: support.class.element.js.mootools
164
+ match: \b(injectBefore|injectAfter|injectInside|adopt|remove|clone|replaceWith|appendText|hasClass|addClass|removeClass|toggleClass|setStyle|setStyles|setOpacity|getStyle|addEvent|removeEvent|removeEvents|fireEvent|getPrevious|getNext|getFirst|getLast|getParent|getChildren|setProperty|setProperties|setHTML|getProperty|getTag|scrollTo|getValue|getSize|getPosition|getTop|getLeft|getCoordinates)\b
165
+ - name: support.class.event.js.mootools
166
+ match: \b(stop|stopPropagation|preventDefault|bindWithEvent)\b
167
+ comment: |-
168
+
169
+ Event
170
+ Cross browser methods to manage events.
171
+ http://docs.mootools.net/files/Native/Event-js.html
172
+ - name: support.class.function.js.mootools
173
+ match: \b(create|pass|attempt|bind|bindAsEventListener|delay|periodical)\b
174
+ comment: |-
175
+
176
+ Function
177
+ A collection of The Function Object prototype methods.
178
+ http://docs.mootools.net/files/Native/Function-js.html
179
+ - name: support.class.string.js.mootools
180
+ match: \b(test|toInt|camelCase|hyphenate|capitalize|trim|clean|rgbToHex|hexToRgb)\b
181
+ comment: |-
182
+
183
+ String
184
+ A collection of The String Object prototype methods.
185
+ http://docs.mootools.net/files/Native/String-js.html
186
+ - name: support.class.number.js.mootools
187
+ match: \btoInt\b
188
+ - include: "#dom-functions"
189
+ comment: |-
190
+
191
+ DOM
192
+ Css Query related function and Element extensions.
193
+ http://docs.mootools.net/files/Addons/Dom-js.html
194
+ - name: support.class.dom.js.mootools
195
+ match: \b(getElements|getElementById|getElement|getElementsBySelector|getElementsByClassName)\b
196
+ comment: document. getElementsByClassName might belong somewhere else
197
+ - include: "#hash-functions"
198
+ comment: |-
199
+
200
+ Hash
201
+ It wraps an object that it uses internally as a map.
202
+ http://docs.mootools.net/files/Addons/Hash-js.html
203
+ -- note: several overlaps in here with named properties from array.js.mootools
204
+ - name: support.class.hash.js.mootools
205
+ match: \b(get|hasKey|set|remove|each|extend|empty|keys|values)\b
206
+ - name: support.class.color.js.mootools
207
+ match: \b(mix|invert|setHue|setSaturation|setBrightness)\b
208
+ comment: |-
209
+
210
+ Color
211
+ Creates a new Color Object, which is an array with some color specific methods.
212
+ http://docs.mootools.net/files/Addons/Color-js.html
213
+ - name: support.function.color.js.mootools
214
+ captures:
215
+ "1":
216
+ name: variable.parameter.function.js
217
+ match: \$(?:RGB|HSB)\(([^)]*)\)\b
218
+ - name: support.function.chain.js.mootools
219
+ match: \b(chain|(call|clear)Chain)\b
220
+ comment: |-
221
+
222
+ Common
223
+ Contains common implementations for custom classes.
224
+ http://docs.mootools.net/files/Addons/Common-js.html
225
+ - name: support.function.events.js.mootools
226
+ match: \b(add|fire|remove)Event\b
227
+ - name: support.function.options.js.mootools
228
+ match: \bsetOptions\b
229
+ - name: support.class.base.window.js.mootools
230
+ match: \bonDomReady\b
231
+ comment: |-
232
+
233
+ Window Base
234
+ Cross browser methods to get the window size, onDomReady method.
235
+ http://docs.mootools.net/files/Window/Window-Base-js.html
236
+ -- note: addEvent is already listed under Element
237
+ - name: support.class.size.window.js.mootools
238
+ match: \b(get(Width|Height|Scroll(Width|Height|Left|Top)))\b
239
+ comment: |-
240
+
241
+ Window Size
242
+ Cross browser methods to get various window dimensions.
243
+ http://docs.mootools.net/files/Window/Window-Size-js.html
244
+ -- note: getSize is already listed under Element
245
+ - name: "support.class.ajax.js.mootools"
246
+ match: \b(request|evalScripts)\b
247
+ comment: |-
248
+
249
+ Ajax
250
+ An Ajax class, For all your asynchronous needs.
251
+ http://docs.mootools.net/files/Remote/Ajax-js.html
252
+ - name: support.function.js.mootools
253
+ match: \btoQueryString\b
254
+ comment: "note: both Object and Element have a toQueryString function/property"
255
+ - name: support.class.element.js
256
+ match: \bsend\b
257
+ - name: support.function.asset.js.mootools
258
+ match: \b(javascript|css|images?)\b
259
+ comment: |-
260
+
261
+ Assets
262
+ provides dynamic loading for images, css and javascript files.
263
+ http://docs.mootools.net/files/Remote/Assets-js.html
264
+ - name: support.class.cookie.js.mootools
265
+ match: \b(set|get|remove)\b
266
+ comment: |-
267
+
268
+ Cookie
269
+ Class for creating, getting, and removing cookies.
270
+ http://docs.mootools.net/files/Remote/Assets-js.html
271
+ - name: support.class.json.js.mootools
272
+ match: \b(toString|evaluate)\b
273
+ comment: |-
274
+
275
+ Json
276
+ Simple Json parser and Stringyfier, See: http://www.json.org/
277
+ http://docs.mootools.net/files/Remote/Json-js.html
278
+ - name: support.class.json.js.mootools
279
+ match: \bJson\.Remote\b
280
+ comment: |-
281
+
282
+ Json Remote
283
+ Wrapped XHR with automated sending and receiving of Javascript Objects in Json Format.
284
+ http://docs.mootools.net/files/Remote/Json-Remote-js.html
285
+ - name: support.class.xhr.js.mootools
286
+ match: \bXHR\b
287
+ comment: |-
288
+
289
+ XHR
290
+ Contains the basic XMLHttpRequest Class Wrapper.
291
+ http://docs.mootools.net/files/Remote/XHR-js.html
292
+ - name: support.class.base.fx.js.mootools
293
+ match: \b(set|start|stop)\b
294
+ comment: |-
295
+
296
+ Fx.Base
297
+ Base class for the Mootools Effects (Moo.Fx) library.
298
+ http://docs.mootools.net/files/Effects/Fx-Base-js.html
299
+ - name: support.class.transitions.fx.js.mootools
300
+ match: \b(linear|sineInOut)\b
301
+ - name: support.class.keys.options.transitions.fx
302
+ match: \b(onStart|onComplete|transition|duration|unit|wait|fps)\b
303
+ - name: support.class.elements.fx.js.mootools
304
+ match: \b(start)\b
305
+ comment: |-
306
+
307
+ Fx.Elements
308
+ Fx.Elements allows you to apply any number of styles transitions to a selection of elements.
309
+ http://docs.mootools.net/files/Effects/Fx-Elements-js.html
310
+ - endCaptures:
311
+ "1":
312
+ name: punctuation.definition.parameters.end.js
313
+ begin: (new)\s+(Fx\.Elements)(\()
314
+ contentName: variable.parameter.fx.elements.js.mootools
315
+ beginCaptures:
316
+ "1":
317
+ name: keyword.operator.new.js
318
+ "2":
319
+ name: entity.name.type.instance.js.mootools
320
+ "3":
321
+ name: punctuation.definition.parameters.begin.js
322
+ end: (\)(;|$))
323
+ patterns:
324
+ - include: "#element-functions"
325
+ - include: "#array-functions"
326
+ - include: "#dom-functions"
327
+ - include: "#hash-functions"
328
+ - endCaptures:
329
+ "1":
330
+ name: punctuation.definition.parameters.end.js
331
+ begin: (\{)
332
+ contentName: variable.parameter.fx.elements.options.js.mootools
333
+ beginCaptures:
334
+ "1":
335
+ name: punctuation.definition.parameters.begin.js
336
+ end: (\})(?=\))
337
+ patterns:
338
+ - name: punctuation.separator.key-value.js.mootools
339
+ match: (:)
340
+ - include: "#fx-options"
341
+ - include: source.js
342
+ - name: support.class.scroll.fx.js.mootools
343
+ match: \b(scrollTo|to(Top|Bottom|Left|Right|Element))
344
+ comment: |-
345
+
346
+ Fx.Scroll
347
+ Scroll any element with an overflow, including the window element.
348
+ http://docs.mootools.net/files/Effects/Fx-Scroll-js.html
349
+ - endCaptures:
350
+ "1":
351
+ name: punctuation.definition.parameters.end.js
352
+ begin: (new)\s+(Fx\.Scroll)(\()
353
+ contentName: variable.parameter.fx.scroll.js.mootools
354
+ beginCaptures:
355
+ "1":
356
+ name: keyword.operator.new.js
357
+ "2":
358
+ name: entity.name.type.instance.js.mootools
359
+ "3":
360
+ name: punctuation.definition.parameters.begin.js
361
+ end: (\)(;|$))
362
+ patterns:
363
+ - include: "#element-functions"
364
+ - include: "#array-functions"
365
+ - include: "#dom-functions"
366
+ - include: "#hash-functions"
367
+ - endCaptures:
368
+ "1":
369
+ name: punctuation.definition.parameters.end.js
370
+ begin: (\{)
371
+ contentName: variable.parameter.fx.scroll.options.js.mootools
372
+ beginCaptures:
373
+ "1":
374
+ name: punctuation.definition.parameters.begin.js
375
+ end: (\})(?=\))
376
+ patterns:
377
+ - name: punctuation.separator.key-value.js.mootools
378
+ match: (:)
379
+ - include: "#fx-options"
380
+ - include: source.js
381
+ - name: support.class.slide.fx.js.mootools
382
+ match: \b(slide(In|Out)|hide|show|toggle)\b
383
+ comment: |-
384
+
385
+ Fx.Slide
386
+ The slide effect; slides an element in horizontally or vertically, the contents will fold inside.
387
+ http://docs.mootools.net/files/Effects/Fx-Slide-js.html
388
+ - endCaptures:
389
+ "1":
390
+ name: punctuation.definition.parameters.end.js
391
+ begin: (new)\s+(Fx\.Slide)(\()
392
+ contentName: variable.parameter.fx.slide.js.mootools
393
+ beginCaptures:
394
+ "1":
395
+ name: keyword.operator.new.js
396
+ "2":
397
+ name: entity.name.type.instance.js.mootools
398
+ "3":
399
+ name: punctuation.definition.parameters.begin.js
400
+ end: (\)(;|$))
401
+ patterns:
402
+ - include: "#element-functions"
403
+ - include: "#array-functions"
404
+ - include: "#dom-functions"
405
+ - include: "#hash-functions"
406
+ - endCaptures:
407
+ "1":
408
+ name: punctuation.definition.parameters.end.js
409
+ begin: (\{)
410
+ contentName: variable.parameter.fx.slide.options.js.mootools
411
+ beginCaptures:
412
+ "1":
413
+ name: punctuation.definition.parameters.begin.js
414
+ end: (\})(?=\))
415
+ patterns:
416
+ - name: punctuation.separator.key-value.js.mootools
417
+ match: (:)
418
+ - include: "#fx-options"
419
+ - include: source.js
420
+ - name: support.class.slide.fx.js.mootools
421
+ match: \b(hide|start)\b
422
+ comment: |-
423
+
424
+ Fx.Style
425
+ The Style effect; Extends Fx.Base, inherits all its properties.
426
+ http://docs.mootools.net/files/Effects/Fx-Style-js.html
427
+ - endCaptures:
428
+ "1":
429
+ name: punctuation.definition.parameters.end.js
430
+ begin: (new)\s+(Fx\.Style)(\()
431
+ contentName: variable.parameter.fx.style.js.mootools
432
+ beginCaptures:
433
+ "1":
434
+ name: keyword.operator.new.js
435
+ "2":
436
+ name: entity.name.type.instance.fx.style.js.mootools
437
+ "3":
438
+ name: punctuation.definition.parameters.begin.js
439
+ end: (\)(;|$))
440
+ patterns:
441
+ - include: "#element-functions"
442
+ - include: "#array-functions"
443
+ - include: "#dom-functions"
444
+ - include: "#hash-functions"
445
+ - endCaptures:
446
+ "1":
447
+ name: punctuation.definition.parameters.end.js
448
+ begin: ',\s*(\{)'
449
+ contentName: variable.parameter.fx.style.options.js.mootools
450
+ beginCaptures:
451
+ "1":
452
+ name: punctuation.definition.parameters.begin.js
453
+ end: (\})(?=\))
454
+ patterns:
455
+ - name: punctuation.separator.key-value.js.mootools
456
+ match: (:)
457
+ - include: "#fx-options"
458
+ - include: source.js
459
+ - name: support.class.element.js.mootools
460
+ match: \b(effect)\b
461
+ - name: support.class.styles.fx.js.mootools
462
+ match: \b(start)\b
463
+ comment: |-
464
+
465
+ Fx.Styles
466
+ Allows you to animate multiple css properties at once; Extends Fx.Base, inherits all its properties.
467
+ http://docs.mootools.net/files/Effects/Fx-Styles-js.html
468
+ - endCaptures:
469
+ "1":
470
+ name: punctuation.definition.parameters.end.js
471
+ begin: (new)\s+(Fx\.Styles)(\()
472
+ contentName: variable.parameter.fx.styles.js.mootools
473
+ beginCaptures:
474
+ "1":
475
+ name: keyword.operator.new.js
476
+ "2":
477
+ name: entity.name.type.instance.js.mootools
478
+ "3":
479
+ name: punctuation.definition.parameters.begin.js
480
+ end: (\)(;|$))
481
+ patterns:
482
+ - include: "#element-functions"
483
+ - include: "#array-functions"
484
+ - include: "#dom-functions"
485
+ - include: "#hash-functions"
486
+ - endCaptures:
487
+ "1":
488
+ name: punctuation.definition.parameters.end.js
489
+ begin: (\{)
490
+ contentName: variable.parameter.fx.styles.options.js.mootools
491
+ beginCaptures:
492
+ "1":
493
+ name: punctuation.definition.parameters.begin.js
494
+ end: (\})(?=\))
495
+ patterns:
496
+ - name: punctuation.separator.key-value.js.mootools
497
+ match: (:)
498
+ - include: "#fx-options"
499
+ - include: source.js
500
+ - name: support.class.element.js.mootools
501
+ match: \b(effects)\b
502
+ - name: support.class.transitions.fx.js.mootools
503
+ match: \b(linear|quadIn|quadOut|quadInOut|cubicIn|cubicOut|cubicInOut|quartIn|quartOut|quartInOut|quintIn|quintOut|quintInOut|sineIn|sineOut|sineInOut|expoIn|expoOut|expoInOut|circIn|circOut|circInOut|elasticIn|elasticOut|elasticInOut|backIn|backOut|backInOut|bounceIn|bounceOut|bounceInOut)\b
504
+ comment: |-
505
+
506
+ Fx.Transitions
507
+ A collection of tweaning transitions for use with the Fx.Base classes.
508
+ http://docs.mootools.net/files/Effects/Fx-Transitions-js.html
509
+ - name: support.class.fx.utils.js.mootools
510
+ match: \b(toggle|show)\b
511
+ comment: |-
512
+
513
+ Fx.Utils
514
+ Contains Fx.Height, Fx.Width, Fx.Opacity.
515
+ http://docs.mootools.net/files/Effects/Fx-Styles-js.html
516
+ - endCaptures:
517
+ "1":
518
+ name: punctuation.definition.parameters.end.js
519
+ begin: (new)\s+(Fx\.(?:Height|Width|Opacity))(\()
520
+ contentName: variable.parameter.fx.utils.js.mootools
521
+ beginCaptures:
522
+ "1":
523
+ name: keyword.operator.new.js
524
+ "2":
525
+ name: entity.name.type.instance.js.mootools
526
+ "3":
527
+ name: punctuation.definition.parameters.begin.js
528
+ end: (\));?$
529
+ patterns:
530
+ - include: "#element-functions"
531
+ - include: "#array-functions"
532
+ - include: "#dom-functions"
533
+ - include: "#hash-functions"
534
+ - endCaptures:
535
+ "1":
536
+ name: punctuation.definition.parameters.end.js
537
+ begin: (\{)
538
+ contentName: variable.parameter.fx.utils.options.js.mootools
539
+ beginCaptures:
540
+ "1":
541
+ name: punctuation.definition.parameters.begin.js
542
+ end: (\})\)
543
+ patterns:
544
+ - name: punctuation.separator.key-value.js.mootools
545
+ match: (:)
546
+ - include: "#fx-options"
547
+ - include: source.js
548
+ - name: support.class.element.js.mootools
549
+ match: \b(makeResizable)\b
550
+ comment: |-
551
+
552
+ Drag.Base
553
+ Modify two css properties of an element based on the position of the mouse.
554
+ http://docs.mootools.net/files/Drag/Drag-Base-js.html
555
+ - name: support.class.element.js.mootools
556
+ match: \b(makeDraggable)\b
557
+ comment: |-
558
+
559
+ Drag.Move
560
+ Modify two css properties of an element based on the position of the mouse.
561
+ http://docs.mootools.net/files/Drag/Drag-Base-js.html
562
+ - include: "#leading-space"
563
+ - include: source.js
564
+ foldingStopMarker: (^\s*\}|^\s*\)|^(?!.*/\*).*\*/)
565
+ keyEquivalent: ^~J
566
+ comment: |
567
+
568
+ MooTools Framework by Valerio Proietti.
569
+ http://mootools.net
570
+ This syntax document is largely based on the documentation at http://docs.mootools.net
571
+ Initial bundle by Joe Maller.
572
+