textpow 0.10.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,114 @@
1
+ ---
2
+ name: qmake Project file
3
+ fileTypes:
4
+ - pro
5
+ - pri
6
+ scopeName: source.qmake
7
+ uuid: 3D54A8F9-17CA-422A-A1D6-DE5F98B9DEF4
8
+ patterns:
9
+ - name: markup.other.template.qmake
10
+ captures:
11
+ "1":
12
+ name: variable.language.qmake
13
+ "2":
14
+ name: punctuation.separator.key-value.qmake
15
+ begin: (TEMPLATE)\s*(=)
16
+ end: $\n?
17
+ patterns:
18
+ - name: keyword.other.qmake
19
+ match: \b(app|lib|subdirs|vcapp|vclib)\b
20
+ - name: markup.other.config.qmake
21
+ captures:
22
+ "1":
23
+ name: variable.language.qmake
24
+ "3":
25
+ name: punctuation.separator.key-value.qmake
26
+ begin: (CONFIG)\s*(\+|\-)?(=)
27
+ end: $\n?
28
+ patterns:
29
+ - name: keyword.other.qmake
30
+ match: \b(release|debug|warn_(on|off)|qt|opengl|thread|x11|windows|console|dll|staticlib|plugin|designer|uic3|no_lflags_merge|exceptions|rtti|stl|flat|app_bundle|no_batch|qtestlib|ppc|x86)\b
31
+ - name: markup.other.qt.qmake
32
+ captures:
33
+ "1":
34
+ name: variable.language.qmake
35
+ "3":
36
+ name: punctuation.separator.key-value.qmake
37
+ begin: (QT)\s*(\+|\-)?(=)
38
+ end: $\n?
39
+ patterns:
40
+ - name: keyword.other.qmake
41
+ match: \b(core|gui|network|opengl|sql|svg|xml|qt3support)\b
42
+ - name: variable.language.qmake
43
+ match: \b(R(C(C_DIR|_FILE)|E(S_FILE|QUIRES))|M(OC_DIR|AKE(_MAKEFILE|FILE(_GENERATOR)?))|S(RCMOC|OURCES|UBDIRS)|HEADERS|YACC(SOURCES|IMPLS|OBJECTS)|CONFIG|T(RANSLATIONS|ARGET(_(EXT|\d+(\.\d+\.\d+)?))?)|INCLUDEPATH|OBJ(MOC|ECTS(_DIR)?)|D(SP_TEMPLATE|ISTFILES|E(STDIR(_TARGET)?|PENDPATH|F(_FILE|INES))|LLDESTDIR)|UI(C(IMPLS|OBJECTS)|_(SOURCES_DIR|HEADERS_DIR|DIR))|P(RE(COMPILED_HEADER|_TARGETDEPS)|OST_TARGETDEPS)|V(PATH|ER(SION|_(M(IN|AJ)|PAT)))|Q(MAKE(SPEC|_(RUN_C(XX(_IMP)?|C(_IMP)?)|MOC_SRC|C(XXFLAGS_(RELEASE|MT(_D(BG|LL(DBG)?))?|SHLIB|THREAD|DEBUG|WARN_O(N|FF))|FLAGS_(RELEASE|MT(_D(BG|LL(DBG)?))?|SHLIB|THREAD|DEBUG|WARN_O(N|FF))|LEAN)|TARGET|IN(CDIR(_(X|THREAD|OPENGL|QT))?|FO_PLIST)|UIC|P(RE_LINK|OST_LINK)|EXT(_(MOC|H|CPP|YACC|OBJ|UI|PRL|LEX)|ENSION_SHLIB)|Q(MAKE|T_DLL)|F(ILETAGS|AILED_REQUIREMENTS)|L(N_SHLIB|I(B(S(_(RT(MT)?|X|CONSOLE|THREAD|OPENGL(_QT)?|QT(_(OPENGL|DLL))?|WINDOWS))?|_FLAG|DIR(_(X|OPENGL|QT|FLAGS))?)|NK_SHLIB_CMD)|FLAGS(_(RELEASE|S(H(LIB|APP)|ONAME)|CONSOLE(_DLL)?|THREAD|DEBUG|PLUGIN|QT_DLL|WINDOWS(_DLL)?))?)|A(R_CMD|PP_(OR_DLL|FLAG))))?|T_THREAD)|FORMS|L(IBS|EX(SOURCES|IMPLS|OBJECTS)))\b
44
+ - name: markup.other.assignment.qmake
45
+ captures:
46
+ "1":
47
+ name: variable.other.qmake
48
+ "4":
49
+ name: punctuation.separator.key-value.qmake
50
+ begin: (\b([\w\d_]+\.[\w\d_]+|[A-Z_]+))?\s*(\+|\-)?(=)
51
+ end: $\n?
52
+ patterns:
53
+ - name: variable.other.qmake
54
+ captures:
55
+ "1":
56
+ name: punctuation.definition.variable.qmake
57
+ match: (\$\$)([A-Z_]+|[\w\d_]+\.[\w\d_]+)|\$\([\w\d_]+\)
58
+ - name: constant.other.filename.qmake
59
+ match: "[\\w\\d\\/_\\-\\.\\:]+"
60
+ - name: string.quoted.double.qmake
61
+ endCaptures:
62
+ "0":
63
+ name: punctuation.definition.string.end.qmake
64
+ begin: "\""
65
+ beginCaptures:
66
+ "0":
67
+ name: punctuation.definition.string.begin.qmake
68
+ end: "\""
69
+ - name: string.interpolated.qmake
70
+ endCaptures:
71
+ "0":
72
+ name: punctuation.definition.string.end.qmake
73
+ begin: "`"
74
+ beginCaptures:
75
+ "0":
76
+ name: punctuation.definition.string.begin.qmake
77
+ end: "`"
78
+ - name: markup.other.assignment.continuation.qmake
79
+ captures:
80
+ "1":
81
+ name: string.regexp.qmake
82
+ begin: (\\)
83
+ end: ^[^#]
84
+ patterns:
85
+ - name: comment.line.number-sign.qmake
86
+ captures:
87
+ "1":
88
+ name: punctuation.definition.comment.qmake
89
+ match: (#).*$\n?
90
+ - name: comment.line.number-sign.qmake
91
+ captures:
92
+ "1":
93
+ name: punctuation.definition.comment.qmake
94
+ match: (#).*$\n?
95
+ - endCaptures:
96
+ "1":
97
+ name: punctuation.definition.parameters.qmake
98
+ begin: \b(basename|CONFIG|contains|count|dirname|error|exists|find|for|include|infile|isEmpty|join|member|message|prompt|quote|sprintf|system|unique|warning)\s*(\()
99
+ contentName: variable.parameter.qmake
100
+ beginCaptures:
101
+ "1":
102
+ name: entity.name.function.qmake
103
+ "2":
104
+ name: punctuation.definition.parameters.qmake
105
+ end: (\))
106
+ comment: entity.name.function.qmake
107
+ - name: keyword.other.scope.qmake
108
+ match: \b(unix|win32|mac|debug|release)\b
109
+ - name: comment.line.number-sign.qmake
110
+ captures:
111
+ "1":
112
+ name: punctuation.definition.comment.qmake
113
+ match: (#).*$\n?
114
+ keyEquivalent: ^~Q
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: Quake Style .cfg
3
+ fileTypes:
4
+ - cfg
5
+ scopeName: source.quake-config
6
+ uuid: AAB8717E-6E5C-11D9-9BE0-0011242E4184
7
+ patterns:
8
+ - name: keyword.other.quake3
9
+ match: \b(set(a|u|s)?|bind|undbind|unbindall|vstr|exec|kill|say|say_team|quit|echo)(\s+\d)?\b
10
+ comment: the 2nd part of the regex is just to capture binds to number-keys and prevent them from getting highlighted as values.
11
+ - name: constant.numeric.quake3
12
+ match: \b\d+(\.\d+)?\b
13
+ - name: string.quoted.double.quake3
14
+ endCaptures:
15
+ "0":
16
+ name: punctuation.definition.string.end.quake3
17
+ begin: "\""
18
+ beginCaptures:
19
+ "0":
20
+ name: punctuation.definition.string.begin.quake3
21
+ end: "\""
22
+ patterns:
23
+ - name: constant.character.escape.quake3
24
+ match: \\.
25
+ - name: keyword.other.string-embedded.quake3
26
+ match: \b(set(a|u|s)?|bind|unbindall|vstr|exec|kill|say|say_team|quit|echo)\b
27
+ - name: comment.line.double-slash.quake3
28
+ captures:
29
+ "1":
30
+ name: punctuation.definition.comment.quake3
31
+ match: (//).*$\n?
32
+ keyEquivalent: ^~Q
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: R Console
3
+ fileTypes: []
4
+
5
+ scopeName: source.r-console
6
+ uuid: F629C7F3-823B-4A4C-8EEE-9971490C5710
7
+ patterns:
8
+ - name: source.r.embedded.r-console
9
+ begin: "^> "
10
+ beginCaptures:
11
+ "0":
12
+ name: punctuation.section.embedded.r-console
13
+ end: \n|\z
14
+ patterns:
15
+ - include: source.r
16
+ keyEquivalent: ^~R
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: R
3
+ fileTypes:
4
+ - R
5
+ - r
6
+ - s
7
+ - S
8
+ - Rprofile
9
+ scopeName: source.r
10
+ uuid: B2E6B78D-6E70-11D9-A369-000D93B3A10E
11
+ foldingStartMarker: (\(\s*$|\{\s*$)
12
+ patterns:
13
+ - name: comment.line.number-sign.r
14
+ captures:
15
+ "1":
16
+ name: punctuation.definition.comment.r
17
+ match: (#).*$\n?
18
+ - name: storage.type.r
19
+ match: \b(logical|numeric|character|complex|matrix|array|data\.frame|list|factor)(?=\s*\()
20
+ - name: keyword.control.r
21
+ match: \b(function|if|break|next|repeat|else|for|return|switch|while|in|invisible)\b
22
+ - name: constant.numeric.r
23
+ match: \b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\b
24
+ - name: constant.language.r
25
+ match: \b(TRUE|FALSE|NULL|NA|Inf|NaN)\b
26
+ - name: support.constant.misc.r
27
+ match: \b(pi|letters|LETTERS|month\.abb|month\.name)\b
28
+ - name: keyword.operator.arithmetic.r
29
+ match: (\-|\+|\*|\/|%\/%|%%|%\*%|%in%|%o%|%x%|\^)
30
+ - name: keyword.operator.assignment.r
31
+ match: (=|<-|<<-|->|->>)
32
+ - name: keyword.operator.comparison.r
33
+ match: (==|!=|<>|<|>|<=|>=)
34
+ - name: keyword.operator.logical.r
35
+ match: (!|&{1,2}|[|]{1,2})
36
+ - name: keyword.other.r
37
+ match: (\.\.\.|\$|:|\~)
38
+ - name: string.quoted.double.r
39
+ endCaptures:
40
+ "0":
41
+ name: punctuation.definition.string.end.r
42
+ begin: "\""
43
+ beginCaptures:
44
+ "0":
45
+ name: punctuation.definition.string.begin.r
46
+ end: "\""
47
+ patterns:
48
+ - name: constant.character.escape.r
49
+ match: \\.
50
+ - name: string.quoted.single.r
51
+ endCaptures:
52
+ "0":
53
+ name: punctuation.definition.string.end.r
54
+ begin: "'"
55
+ beginCaptures:
56
+ "0":
57
+ name: punctuation.definition.string.begin.r
58
+ end: "'"
59
+ patterns:
60
+ - name: constant.character.escape.r
61
+ match: \\.
62
+ - name: meta.function.r
63
+ captures:
64
+ "1":
65
+ name: entity.name.function.r
66
+ "2":
67
+ name: keyword.operator.assignment.r
68
+ "3":
69
+ name: keyword.control.r
70
+ match: ([a-zA-Z._][a-zA-Z0-9._]*)\s*(<-)\s*(function)
71
+ - match: ([a-zA-Z._][a-zA-Z0-9._]*)\s*\(
72
+ - captures:
73
+ "1":
74
+ name: variable.parameter.r
75
+ "2":
76
+ name: keyword.operator.assignment.r
77
+ match: ([a-zA-Z._][a-zA-Z0-9._]*)\s*(=)(?=[^=])
78
+ - name: variable.other.r
79
+ match: \b([a-zA-Z._][a-zA-Z0-9._]*)\b
80
+ foldingStopMarker: (^\s*\)|^\s*\})
81
+ keyEquivalent: ^~R
@@ -0,0 +1,107 @@
1
+ ---
2
+ name: Regular Expressions (Oniguruma)
3
+ fileTypes:
4
+ - re
5
+ scopeName: source.regexp.oniguruma
6
+ repository:
7
+ character-class:
8
+ patterns:
9
+ - name: constant.character.character-class.regexp
10
+ match: \\[wWsSdDhH]|\.
11
+ - name: constant.character.escape.backslash.regexp
12
+ match: \\.
13
+ - name: constant.other.character-class.set.regexp
14
+ endCaptures:
15
+ "1":
16
+ name: punctuation.definition.character-class.regexp
17
+ begin: (\[)(\^)?
18
+ beginCaptures:
19
+ "1":
20
+ name: punctuation.definition.character-class.regexp
21
+ "2":
22
+ name: keyword.operator.negation.regexp
23
+ end: (\])
24
+ patterns:
25
+ - include: "#character-class"
26
+ - name: constant.other.character-class.range.regexp
27
+ captures:
28
+ "2":
29
+ name: constant.character.escape.backslash.regexp
30
+ "4":
31
+ name: constant.character.escape.backslash.regexp
32
+ match: (.|(\\.))\-([^\]]|(\\.))
33
+ - name: keyword.operator.intersection.regexp
34
+ match: "&&"
35
+ uuid: D609BF3F-BEDB-41AE-BA6F-903CC77A7BB3
36
+ foldingStartMarker: (/\*|\{|\()
37
+ patterns:
38
+ - name: keyword.control.anchor.regexp
39
+ match: \\[bBAZzG]|\^|\$
40
+ - name: constant.character.numeric.regexp
41
+ match: \\([0-7]{3}|\\x(\h\h|\{\h{,8}\}))
42
+ - name: keyword.other.back-reference.regexp
43
+ match: \\[1-9]\d*
44
+ - name: keyword.other.back-reference.named.regexp
45
+ captures:
46
+ "1":
47
+ name: keyword.other.back-reference.named.regexp
48
+ "2":
49
+ name: entity.name.section.back-reference
50
+ "3":
51
+ name: keyword.other.back-reference.named.regexp
52
+ match: (\\k\<)([a-z]\w*)(\>)
53
+ - name: constant.other.character-class.posix.regexp
54
+ match: \[\:(\^)?(alnum|alpha|ascii|blank|cntrl|x?digit|graph|lower|print|punct|space|upper)\]
55
+ - name: keyword.operator.quantifier.regexp
56
+ match: "[?+*][?+]?|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??"
57
+ - name: keyword.operator.or.regexp
58
+ match: \|
59
+ - name: comment.block.regexp
60
+ begin: \(\?\#
61
+ end: \)
62
+ - name: comment.line.number-sign.regexp
63
+ match: (?<=^|\s)#\s[[a-zA-Z0-9,. \t?!-:][^\x00-\x7F]]*$
64
+ comment: We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.
65
+ - name: keyword.other.option-toggle.regexp
66
+ match: \(\?[imx-]+\)
67
+ - name: meta.group.assertion.regexp
68
+ endCaptures:
69
+ "1":
70
+ name: punctuation.definition.group.regexp
71
+ begin: (\()((\?=)|(\?!)|(\?<=)|(\?<!))
72
+ beginCaptures:
73
+ "6":
74
+ name: meta.assertion.negative-look-behind.regexp
75
+ "1":
76
+ name: punctuation.definition.group.regexp
77
+ "3":
78
+ name: meta.assertion.look-ahead.regexp
79
+ "4":
80
+ name: meta.assertion.negative-look-ahead.regexp
81
+ "5":
82
+ name: meta.assertion.look-behind.regexp
83
+ end: (\))
84
+ patterns:
85
+ - include: $self
86
+ - name: meta.group.regexp
87
+ endCaptures:
88
+ "1":
89
+ name: punctuation.definition.group.regexp
90
+ begin: (\()((\?(>|[imx-]*:))|(\?<)([a-z]\w*)(>))?
91
+ beginCaptures:
92
+ "6":
93
+ name: entity.name.section.group.regexp
94
+ "7":
95
+ name: keyword.other.group-options.regexp
96
+ "1":
97
+ name: punctuation.definition.group.regexp
98
+ "3":
99
+ name: keyword.other.group-options.regexp
100
+ "5":
101
+ name: keyword.other.group-options.regexp
102
+ end: (\))
103
+ patterns:
104
+ - include: $self
105
+ - include: "#character-class"
106
+ foldingStopMarker: (\*/|\}|\))
107
+ comment: Matches Oniguruma's Ruby regexp syntax (TextMate uses Oniguruma in Ruby mode).
@@ -0,0 +1,109 @@
1
+ ---
2
+ name: Regular Expressions (Python)
3
+ fileTypes:
4
+ - re
5
+ scopeName: source.regexp.python
6
+ repository:
7
+ character-class:
8
+ patterns:
9
+ - name: constant.character.character-class.regexp
10
+ match: \\[wWsSdDhH]|\.
11
+ - name: constant.character.escape.backslash.regexp
12
+ match: \\.
13
+ - name: constant.other.character-class.set.regexp
14
+ endCaptures:
15
+ "1":
16
+ name: punctuation.definition.character-class.regexp
17
+ begin: (\[)(\^)?
18
+ beginCaptures:
19
+ "1":
20
+ name: punctuation.definition.character-class.regexp
21
+ "2":
22
+ name: keyword.operator.negation.regexp
23
+ end: (\])
24
+ patterns:
25
+ - include: "#character-class"
26
+ - name: constant.other.character-class.range.regexp
27
+ captures:
28
+ "2":
29
+ name: constant.character.escape.backslash.regexp
30
+ "4":
31
+ name: constant.character.escape.backslash.regexp
32
+ match: (.|(\\.))\-([^\]]|(\\.))
33
+ uuid: DD867ABF-1EC6-415D-B047-687F550A1D51
34
+ foldingStartMarker: (/\*|\{|\()
35
+ patterns:
36
+ - name: keyword.control.anchor.regexp
37
+ match: \\[bBAZzG]|\^|\$
38
+ - name: keyword.other.back-reference.regexp
39
+ match: \\[1-9][0-9]?
40
+ - name: keyword.operator.quantifier.regexp
41
+ match: "[?+*][?+]?|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??"
42
+ - name: keyword.operator.or.regexp
43
+ match: \|
44
+ - name: comment.block.regexp
45
+ begin: \(\?\#
46
+ end: \)
47
+ - name: comment.line.number-sign.regexp
48
+ match: (?<=^|\s)#\s[[a-zA-Z0-9,. \t?!-:][^\x00-\x7F]]*$
49
+ comment: We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.
50
+ - name: keyword.other.option-toggle.regexp
51
+ match: \(\?[iLmsux]+\)
52
+ - name: keyword.other.back-reference.named.regexp
53
+ match: (\()(\?P=([a-zA-Z_][a-zA-Z_0-9]*\w*))(\))
54
+ - name: meta.group.assertion.regexp
55
+ endCaptures:
56
+ "1":
57
+ name: punctuation.definition.group.regexp
58
+ begin: (\()((\?=)|(\?!)|(\?<=)|(\?<!))
59
+ beginCaptures:
60
+ "6":
61
+ name: meta.assertion.negative-look-behind.regexp
62
+ "1":
63
+ name: punctuation.definition.group.regexp
64
+ "2":
65
+ name: punctuation.definition.group.assertion.regexp
66
+ "3":
67
+ name: meta.assertion.look-ahead.regexp
68
+ "4":
69
+ name: meta.assertion.negative-look-ahead.regexp
70
+ "5":
71
+ name: meta.assertion.look-behind.regexp
72
+ end: (\))
73
+ patterns:
74
+ - include: $self
75
+ - name: meta.group.assertion.conditional.regexp
76
+ begin: (\()(\?\(([1-9][0-9]?|[a-zA-Z_][a-zA-Z_0-9]*)\))
77
+ beginCaptures:
78
+ "1":
79
+ name: punctuation.definition.group.regexp
80
+ "2":
81
+ name: punctuation.definition.group.assertion.conditional.regexp
82
+ "3":
83
+ name: entity.name.section.back-reference.regexp
84
+ end: (\))
85
+ patterns:
86
+ - include: $self
87
+ comment: we can make this more sophisticated to match the | character that separates yes-pattern from no-pattern, but it's not really necessary.
88
+ - name: meta.group.regexp
89
+ endCaptures:
90
+ "1":
91
+ name: punctuation.definition.group.regexp
92
+ begin: (\()((\?P<)([a-z]\w*)(>)|(\?:))?
93
+ beginCaptures:
94
+ "6":
95
+ name: punctuation.definition.group.no-capture.regexp
96
+ "1":
97
+ name: punctuation.definition.group.regexp
98
+ "3":
99
+ name: punctuation.definition.group.capture.regexp
100
+ "4":
101
+ name: entity.name.section.group.regexp
102
+ "5":
103
+ name: punctuation.definition.group.capture.regexp
104
+ end: (\))
105
+ patterns:
106
+ - include: $self
107
+ - include: "#character-class"
108
+ foldingStopMarker: (\*/|\}|\))
109
+ comment: Matches Python's regular expression syntax.