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.
- data/.travis.yml +7 -0
- data/Gemfile +10 -0
- data/Gemfile.lock +30 -0
- data/{History.txt → History.rdoc} +10 -0
- data/{README.txt → MIT-LICENSE.txt} +0 -30
- data/README.rdoc +82 -0
- data/Rakefile +42 -49
- data/bin/plist2syntax +0 -0
- data/bin/plist2yaml +0 -0
- data/examples/benchmark_js.rb +13 -0
- data/examples/jquery.js +9046 -0
- data/lib/textpow.rb +43 -3
- data/lib/textpow/debug_processor.rb +35 -35
- data/lib/textpow/recording_processor.rb +13 -0
- data/lib/textpow/score_manager.rb +60 -60
- data/lib/textpow/syntax.rb +303 -262
- data/lib/textpow/syntax/broken/markdown.syntax +519 -0
- data/lib/textpow/syntax/broken/php.syntax +1253 -0
- data/lib/textpow/syntax/buggy/nemerle.syntax +74 -0
- data/lib/textpow/syntax/old/YAML.yaml +160 -0
- data/lib/textpow/syntax/old/txt2tags.yaml +139 -0
- data/lib/textpow/syntax/source.actionscript.syntax +97 -0
- data/lib/textpow/syntax/source.active4d.library.syntax +21 -0
- data/lib/textpow/syntax/source.active4d.syntax +276 -0
- data/lib/textpow/syntax/source.ada.syntax +33 -0
- data/lib/textpow/syntax/source.antlr.syntax +151 -0
- data/lib/textpow/syntax/source.apache-config.mod_perl.syntax +50 -0
- data/lib/textpow/syntax/source.apache-config.syntax +191 -0
- data/lib/textpow/syntax/source.applescript.syntax +384 -0
- data/lib/textpow/syntax/source.asp.syntax +70 -0
- data/lib/textpow/syntax/source.asp.vb.net.syntax +129 -0
- data/lib/textpow/syntax/source.c++.qt.syntax +26 -0
- data/lib/textpow/syntax/source.c++.syntax +186 -0
- data/lib/textpow/syntax/source.c-sharp.syntax +59 -0
- data/lib/textpow/syntax/source.c.ragel.syntax +201 -0
- data/lib/textpow/syntax/source.c.syntax +414 -0
- data/lib/textpow/syntax/source.camlp4.ocaml.syntax +36 -0
- data/lib/textpow/syntax/source.cm.syntax +32 -0
- data/lib/textpow/syntax/source.coffee.syntax +216 -0
- data/lib/textpow/syntax/source.context-free.syntax +176 -0
- data/lib/textpow/syntax/source.css.beta.syntax +1925 -0
- data/lib/textpow/syntax/source.css.syntax +195 -0
- data/lib/textpow/syntax/source.d.syntax +142 -0
- data/lib/textpow/syntax/source.diff.syntax +81 -0
- data/lib/textpow/syntax/source.dot.syntax +47 -0
- data/lib/textpow/syntax/source.dylan.syntax +62 -0
- data/lib/textpow/syntax/source.eiffel.syntax +78 -0
- data/lib/textpow/syntax/source.erlang.syntax +922 -0
- data/lib/textpow/syntax/source.fortran.syntax +141 -0
- data/lib/textpow/syntax/source.fscript.syntax +80 -0
- data/lib/textpow/syntax/source.fxscript.syntax +142 -0
- data/lib/textpow/syntax/source.gri.syntax +83 -0
- data/lib/textpow/syntax/source.groovy.groovy.syntax +191 -0
- data/lib/textpow/syntax/source.haskell.syntax +88 -0
- data/lib/textpow/syntax/source.icalendar.syntax +32 -0
- data/lib/textpow/syntax/source.inform.syntax +48 -0
- data/lib/textpow/syntax/source.ini.syntax +55 -0
- data/lib/textpow/syntax/source.io.syntax +81 -0
- data/lib/textpow/syntax/source.java-props.syntax +20 -0
- data/lib/textpow/syntax/source.java.syntax +211 -0
- data/lib/textpow/syntax/source.js.greasemonkey.syntax +34 -0
- data/lib/textpow/syntax/source.js.jquery.syntax +114 -0
- data/lib/textpow/syntax/source.js.mootools.syntax +572 -0
- data/lib/textpow/syntax/source.js.prototype.bracketed.syntax +140 -0
- data/lib/textpow/syntax/source.js.prototype.syntax +72 -0
- data/lib/textpow/syntax/source.js.syntax +256 -0
- data/lib/textpow/syntax/source.js.yui.syntax +176 -0
- data/lib/textpow/syntax/source.json.syntax +136 -0
- data/lib/textpow/syntax/source.lex.syntax +219 -0
- data/lib/textpow/syntax/source.lighttpd-config.syntax +54 -0
- data/lib/textpow/syntax/source.lilypond.syntax +492 -0
- data/lib/textpow/syntax/source.lisp.syntax +61 -0
- data/lib/textpow/syntax/source.logo.syntax +29 -0
- data/lib/textpow/syntax/source.logtalk.syntax +152 -0
- data/lib/textpow/syntax/source.lua.syntax +86 -0
- data/lib/textpow/syntax/source.makefile.syntax +36 -0
- data/lib/textpow/syntax/source.matlab.syntax +142 -0
- data/lib/textpow/syntax/source.mel.syntax +92 -0
- data/lib/textpow/syntax/source.mips.syntax +66 -0
- data/lib/textpow/syntax/source.ml.syntax +121 -0
- data/lib/textpow/syntax/source.modula-3.syntax +47 -0
- data/lib/textpow/syntax/source.nant-build.syntax +53 -0
- data/lib/textpow/syntax/source.objc++.syntax +18 -0
- data/lib/textpow/syntax/source.objc.syntax +233 -0
- data/lib/textpow/syntax/source.ocaml.syntax +764 -0
- data/lib/textpow/syntax/source.ocamllex.syntax +167 -0
- data/lib/textpow/syntax/source.ocamlyacc.syntax +184 -0
- data/lib/textpow/syntax/source.open-gl.syntax +14 -0
- data/lib/textpow/syntax/source.pascal.syntax +77 -0
- data/lib/textpow/syntax/source.pascal.vectorscript.syntax +57 -0
- data/lib/textpow/syntax/source.perl.syntax +1113 -0
- data/lib/textpow/syntax/source.php.cake.syntax +55 -0
- data/lib/textpow/syntax/source.plist.tm-grammar.syntax +708 -0
- data/lib/textpow/syntax/source.postscript.syntax +114 -0
- data/lib/textpow/syntax/source.processing.syntax +106 -0
- data/lib/textpow/syntax/source.prolog.syntax +40 -0
- data/lib/textpow/syntax/source.python.django.syntax +21 -0
- data/lib/textpow/syntax/source.python.syntax +868 -0
- data/lib/textpow/syntax/source.qmake.syntax +114 -0
- data/lib/textpow/syntax/source.quake-config.syntax +32 -0
- data/lib/textpow/syntax/source.r-console.syntax +16 -0
- data/lib/textpow/syntax/source.r.syntax +81 -0
- data/lib/textpow/syntax/source.regexp.oniguruma.syntax +107 -0
- data/lib/textpow/syntax/source.regexp.python.syntax +109 -0
- data/lib/textpow/syntax/source.regexp.syntax +50 -0
- data/lib/textpow/syntax/source.remind.syntax +253 -0
- data/lib/textpow/syntax/source.rez.syntax +80 -0
- data/lib/textpow/syntax/source.ruby.experimental.syntax +145 -0
- data/lib/textpow/syntax/source.ruby.rails.syntax +88 -0
- data/lib/textpow/syntax/source.ruby.syntax +1035 -0
- data/lib/textpow/syntax/source.s5.syntax +69 -0
- data/lib/textpow/syntax/source.sass.syntax +45 -0
- data/lib/textpow/syntax/source.scheme.syntax +347 -0
- data/lib/textpow/syntax/source.scilab.syntax +41 -0
- data/lib/textpow/syntax/source.scss.syntax +527 -0
- data/lib/textpow/syntax/source.shell.syntax +384 -0
- data/lib/textpow/syntax/source.slate.syntax +149 -0
- data/lib/textpow/syntax/source.smarty.syntax +63 -0
- data/lib/textpow/syntax/source.sql.ruby.syntax +18 -0
- data/lib/textpow/syntax/source.sql.syntax +237 -0
- data/lib/textpow/syntax/source.ssh-config.syntax +33 -0
- data/lib/textpow/syntax/source.strings.syntax +39 -0
- data/lib/textpow/syntax/source.swig.syntax +57 -0
- data/lib/textpow/syntax/source.tcl.macports.syntax +163 -0
- data/lib/textpow/syntax/source.tcl.syntax +152 -0
- data/lib/textpow/syntax/source.yaml.syntax +160 -0
- data/lib/textpow/syntax/text.active4d-ini.syntax +50 -0
- data/lib/textpow/syntax/text.bbcode.syntax +287 -0
- data/lib/textpow/syntax/text.bibtex.syntax +151 -0
- data/lib/textpow/syntax/text.blog.html.syntax +41 -0
- data/lib/textpow/syntax/text.blog.markdown.syntax +42 -0
- data/lib/textpow/syntax/text.blog.syntax +27 -0
- data/lib/textpow/syntax/text.blog.textile.syntax +27 -0
- data/lib/textpow/syntax/text.gtdalt.syntax +143 -0
- data/lib/textpow/syntax/text.haml.syntax +88 -0
- data/lib/textpow/syntax/text.html.asp.net.syntax +424 -0
- data/lib/textpow/syntax/text.html.asp.syntax +27 -0
- data/lib/textpow/syntax/text.html.basic.syntax +362 -0
- data/lib/textpow/syntax/text.html.cfm.syntax +119 -0
- data/lib/textpow/syntax/text.html.django.syntax +36 -0
- data/lib/textpow/syntax/text.html.dokuwiki.syntax +204 -0
- data/lib/textpow/syntax/text.html.doxygen.syntax +43 -0
- data/lib/textpow/syntax/text.html.markdown.multimarkdown.syntax +39 -0
- data/lib/textpow/syntax/text.html.mason.syntax +119 -0
- data/lib/textpow/syntax/text.html.mediawiki.syntax +567 -0
- data/lib/textpow/syntax/text.html.mt.syntax +162 -0
- data/lib/textpow/syntax/text.html.ruby.syntax +40 -0
- data/lib/textpow/syntax/text.html.strict.active4d.syntax +311 -0
- data/lib/textpow/syntax/text.html.tcl.syntax +26 -0
- data/lib/textpow/syntax/text.html.textile.syntax +215 -0
- data/lib/textpow/syntax/text.html.tt.syntax +121 -0
- data/lib/textpow/syntax/text.html.twiki.syntax +241 -0
- data/lib/textpow/syntax/text.html.xhtml.1-strict.syntax +4027 -0
- data/lib/textpow/syntax/text.log.latex.syntax +50 -0
- data/lib/textpow/syntax/text.mail.markdown.syntax +118 -0
- data/lib/textpow/syntax/text.man.syntax +17 -0
- data/lib/textpow/syntax/text.moinmoin.syntax +189 -0
- data/lib/textpow/syntax/text.plain.gtd.syntax +22 -0
- data/lib/textpow/syntax/text.plain.release-notes.syntax +46 -0
- data/lib/textpow/syntax/text.plain.syntax +32 -0
- data/lib/textpow/syntax/text.plist.syntax +635 -0
- data/lib/textpow/syntax/text.pmwiki.syntax +113 -0
- data/lib/textpow/syntax/text.restructuredtext.syntax +250 -0
- data/lib/textpow/syntax/text.setext.syntax +147 -0
- data/lib/textpow/syntax/text.subversion-commit.syntax +36 -0
- data/lib/textpow/syntax/text.tabular.csv.syntax +68 -0
- data/lib/textpow/syntax/text.tabular.tsv.syntax +50 -0
- data/lib/textpow/syntax/text.tex.latex.beamer.syntax +41 -0
- data/lib/textpow/syntax/text.tex.latex.haskell.syntax +24 -0
- data/lib/textpow/syntax/text.tex.latex.memoir.syntax +64 -0
- data/lib/textpow/syntax/text.tex.latex.rd.syntax +91 -0
- data/lib/textpow/syntax/text.tex.latex.sweave.syntax +84 -0
- data/lib/textpow/syntax/text.tex.latex.syntax +566 -0
- data/lib/textpow/syntax/text.tex.math.syntax +49 -0
- data/lib/textpow/syntax/text.tex.syntax +86 -0
- data/lib/textpow/syntax/text.txt2tags.syntax +79 -0
- data/lib/textpow/syntax/text.xml.apple-dist.syntax +77 -0
- data/lib/textpow/syntax/text.xml.strict.syntax +92 -0
- data/lib/textpow/syntax/text.xml.syntax +180 -0
- data/lib/textpow/syntax/text.xml.xsl.syntax +60 -0
- data/lib/textpow/version.rb +3 -0
- data/spec/fixtures/objeck.plist +107 -0
- data/spec/fixtures/utf8.txt +1 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/textpow/score_manager_spec.rb +20 -0
- data/spec/textpow/syntax_files_spec.rb +26 -0
- data/spec/textpow/syntax_spec.rb +225 -0
- data/spec/textpow_spec.rb +57 -0
- data/textpow.gemspec +19 -0
- metadata +246 -68
- data/Manifest.txt +0 -13
- data/mm/manual.mm +0 -266
- 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.
|