code_rippa 0.0.7 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile.lock +36 -0
- data/LICENSE +2 -2
- data/README.md +18 -1
- data/bin/code_rippa +15 -16
- data/code_rippa.gemspec +12 -10
- data/lib/code_rippa.rb +69 -51
- data/lib/code_rippa/syntax/actionscript.syntax +52 -52
- data/lib/code_rippa/syntax/active4d.syntax +226 -180
- data/lib/code_rippa/syntax/active4d_html.syntax +163 -173
- data/lib/code_rippa/syntax/active4d_ini.syntax +34 -27
- data/lib/code_rippa/syntax/active4d_library.syntax +8 -15
- data/lib/code_rippa/syntax/ada.syntax +19 -18
- data/lib/code_rippa/syntax/antlr.syntax +85 -85
- data/lib/code_rippa/syntax/apache.syntax +103 -109
- data/lib/code_rippa/syntax/applescript.syntax +244 -229
- data/lib/code_rippa/syntax/asp.syntax +41 -36
- data/lib/code_rippa/syntax/asp_vb.net.syntax +77 -72
- data/lib/code_rippa/syntax/bibtex.syntax +88 -90
- data/lib/code_rippa/syntax/blog_html.syntax +17 -29
- data/lib/code_rippa/syntax/blog_markdown.syntax +17 -27
- data/lib/code_rippa/syntax/blog_text.syntax +15 -15
- data/lib/code_rippa/syntax/blog_textile.syntax +15 -15
- data/lib/code_rippa/syntax/build.syntax +27 -27
- data/lib/code_rippa/syntax/bulletin_board.syntax +159 -172
- data/lib/code_rippa/syntax/c.syntax +31 -34
- data/lib/code_rippa/syntax/cake.syntax +27 -27
- data/lib/code_rippa/syntax/camlp4.syntax +23 -23
- data/lib/code_rippa/syntax/cm.syntax +19 -18
- data/lib/code_rippa/syntax/coffeescript.syntax +134 -181
- data/lib/code_rippa/syntax/coldfusion.syntax +51 -60
- data/lib/code_rippa/syntax/context_free.syntax +106 -106
- data/lib/code_rippa/syntax/cs.syntax +31 -34
- data/lib/code_rippa/syntax/css.syntax +112 -112
- data/lib/code_rippa/syntax/css_experimental.syntax +1006 -1004
- data/lib/code_rippa/syntax/csv.syntax +40 -44
- data/lib/code_rippa/syntax/d.syntax +80 -84
- data/lib/code_rippa/syntax/diff.syntax +46 -45
- data/lib/code_rippa/syntax/dokuwiki.syntax +118 -119
- data/lib/code_rippa/syntax/dot.syntax +26 -26
- data/lib/code_rippa/syntax/doxygen.syntax +26 -26
- data/lib/code_rippa/syntax/dylan.syntax +35 -35
- data/lib/code_rippa/syntax/eiffel.syntax +39 -42
- data/lib/code_rippa/syntax/erlang.syntax +514 -511
- data/lib/code_rippa/syntax/f-script.syntax +44 -44
- data/lib/code_rippa/syntax/fortran.syntax +80 -76
- data/lib/code_rippa/syntax/fxscript.syntax +78 -77
- data/lib/code_rippa/syntax/greasemonkey.syntax +20 -20
- data/lib/code_rippa/syntax/gri.syntax +47 -47
- data/lib/code_rippa/syntax/groovy.syntax +105 -114
- data/lib/code_rippa/syntax/gtd.syntax +10 -10
- data/lib/code_rippa/syntax/gtdalt.syntax +83 -83
- data/lib/code_rippa/syntax/haml.syntax +50 -50
- data/lib/code_rippa/syntax/haskell.syntax +47 -47
- data/lib/code_rippa/syntax/html-asp.syntax +15 -15
- data/lib/code_rippa/syntax/html_django.syntax +15 -14
- data/lib/code_rippa/syntax/html_for_asp.net.syntax +232 -245
- data/lib/code_rippa/syntax/html_mason.syntax +75 -74
- data/lib/code_rippa/syntax/html_rails.syntax +17 -27
- data/lib/code_rippa/syntax/html_tcl.syntax +13 -13
- data/lib/code_rippa/syntax/icalendar.syntax +15 -15
- data/lib/code_rippa/syntax/inform.syntax +26 -26
- data/lib/code_rippa/syntax/ini.syntax +30 -30
- data/lib/code_rippa/syntax/installer_distribution_script.syntax +49 -49
- data/lib/code_rippa/syntax/io.syntax +49 -46
- data/lib/code_rippa/syntax/java.syntax +117 -126
- data/lib/code_rippa/syntax/javaproperties.syntax +13 -12
- data/lib/code_rippa/syntax/javascript.syntax +141 -141
- data/lib/code_rippa/syntax/javascript_+_prototype.syntax +42 -41
- data/lib/code_rippa/syntax/javascript_+_prototype_bracketed.syntax +92 -91
- data/lib/code_rippa/syntax/jquery_javascript.syntax +64 -64
- data/lib/code_rippa/syntax/json.syntax +39 -39
- data/lib/code_rippa/syntax/languagedefinition.syntax +373 -453
- data/lib/code_rippa/syntax/lexflex.syntax +136 -136
- data/lib/code_rippa/syntax/lighttpd.syntax +31 -31
- data/lib/code_rippa/syntax/lilypond.syntax +246 -337
- data/lib/code_rippa/syntax/lisp.syntax +32 -32
- data/lib/code_rippa/syntax/literate_haskell.syntax +12 -12
- data/lib/code_rippa/syntax/logo.syntax +13 -14
- data/lib/code_rippa/syntax/logtalk.syntax +81 -81
- data/lib/code_rippa/syntax/lua.syntax +50 -48
- data/lib/code_rippa/syntax/m.syntax +78 -78
- data/lib/code_rippa/syntax/macports_portfile.syntax +98 -97
- data/lib/code_rippa/syntax/makefile.syntax +19 -19
- data/lib/code_rippa/syntax/man.syntax +9 -9
- data/lib/code_rippa/syntax/mediawiki.syntax +311 -401
- data/lib/code_rippa/syntax/mips.syntax +34 -34
- data/lib/code_rippa/syntax/mod_perl.syntax +25 -31
- data/lib/code_rippa/syntax/modula-3.syntax +24 -24
- data/lib/code_rippa/syntax/moinmoin.syntax +102 -102
- data/lib/code_rippa/syntax/mootools.syntax +283 -300
- data/lib/code_rippa/syntax/movable_type.syntax +91 -90
- data/lib/code_rippa/syntax/multimarkdown.syntax +19 -30
- data/lib/code_rippa/syntax/objective-c++.syntax +6 -10
- data/lib/code_rippa/syntax/objective-c.syntax +134 -138
- data/lib/code_rippa/syntax/ocaml.syntax +455 -453
- data/lib/code_rippa/syntax/ocamllex.syntax +94 -93
- data/lib/code_rippa/syntax/ocamlyacc.syntax +98 -98
- data/lib/code_rippa/syntax/opengl.syntax +6 -6
- data/lib/code_rippa/syntax/pascal.syntax +43 -42
- data/lib/code_rippa/syntax/perl.syntax +612 -615
- data/lib/code_rippa/syntax/plain_text.syntax +17 -20
- data/lib/code_rippa/syntax/postscript.syntax +71 -69
- data/lib/code_rippa/syntax/processing.syntax +60 -60
- data/lib/code_rippa/syntax/prolog.syntax +17 -20
- data/lib/code_rippa/syntax/property_list.syntax +338 -359
- data/lib/code_rippa/syntax/python.syntax +487 -509
- data/lib/code_rippa/syntax/python_django.syntax +9 -10
- data/lib/code_rippa/syntax/qmake_project.syntax +67 -67
- data/lib/code_rippa/syntax/qt_c++.syntax +12 -15
- data/lib/code_rippa/syntax/quake3_config.syntax +18 -17
- data/lib/code_rippa/syntax/r.syntax +42 -42
- data/lib/code_rippa/syntax/r_console.syntax +7 -8
- data/lib/code_rippa/syntax/ragel.syntax +109 -115
- data/lib/code_rippa/syntax/rd_r_documentation.syntax +53 -53
- data/lib/code_rippa/syntax/regexp.syntax +26 -26
- data/lib/code_rippa/syntax/release_notes.syntax +46 -26
- data/lib/code_rippa/syntax/remind.syntax +146 -146
- data/lib/code_rippa/syntax/restructuredtext.syntax +132 -131
- data/lib/code_rippa/syntax/rez.syntax +46 -45
- data/lib/code_rippa/syntax/ruby.syntax +533 -601
- data/lib/code_rippa/syntax/ruby_experimental.syntax +82 -100
- data/lib/code_rippa/syntax/ruby_on_rails.syntax +56 -68
- data/lib/code_rippa/syntax/s5.syntax +35 -51
- data/lib/code_rippa/syntax/scheme.syntax +162 -260
- data/lib/code_rippa/syntax/scilab.syntax +18 -18
- data/lib/code_rippa/syntax/setext.syntax +82 -82
- data/lib/code_rippa/syntax/shell-unix-generic.syntax +227 -226
- data/lib/code_rippa/syntax/slate.syntax +91 -91
- data/lib/code_rippa/syntax/sql.syntax +137 -139
- data/lib/code_rippa/syntax/sql_rails.syntax +8 -8
- data/lib/code_rippa/syntax/ssh-config.syntax +17 -17
- data/lib/code_rippa/syntax/standard_ml.syntax +67 -69
- data/lib/code_rippa/syntax/strings_file.syntax +20 -23
- data/lib/code_rippa/syntax/subversion_commit_message.syntax +20 -20
- data/lib/code_rippa/syntax/sweave.syntax +45 -45
- data/lib/code_rippa/syntax/swig.syntax +34 -33
- data/lib/code_rippa/syntax/tcl.syntax +87 -86
- data/lib/code_rippa/syntax/template_toolkit.syntax +67 -65
- data/lib/code_rippa/syntax/textile.syntax +111 -145
- data/lib/code_rippa/syntax/tsv.syntax +31 -33
- data/lib/code_rippa/syntax/twiki.syntax +141 -141
- data/lib/code_rippa/syntax/txt2tags.syntax +39 -38
- data/lib/code_rippa/syntax/vectorscript.syntax +31 -31
- data/lib/code_rippa/syntax/xhtml_1.0.syntax +2297 -2296
- data/lib/code_rippa/syntax/xml.syntax +95 -95
- data/lib/code_rippa/syntax/xml_strict.syntax +49 -50
- data/lib/code_rippa/syntax/xsl.syntax +31 -31
- data/lib/code_rippa/syntax/yaml.syntax +86 -86
- data/lib/code_rippa/syntax/yaml_converter.rb +37 -0
- data/lib/code_rippa/syntax/yui_javascript.syntax +88 -88
- data/lib/code_rippa/version.rb +2 -2
- data/test/fixtures/hello.rb +5 -3
- data/test/test_private_methods.rb +40 -40
- data/test/test_public_methods.rb +9 -18
- metadata +61 -63
@@ -1,57 +1,58 @@
|
|
1
|
-
---
|
1
|
+
---
|
2
2
|
name: SWIG
|
3
|
-
fileTypes:
|
3
|
+
fileTypes:
|
4
4
|
- i
|
5
5
|
- swg
|
6
6
|
scopeName: source.swig
|
7
7
|
uuid: C781B0D0-BED9-11D9-A141-000393A143CC
|
8
|
-
foldingStartMarker: (
|
9
|
-
patterns:
|
8
|
+
foldingStartMarker: "(/\\*\\*|%?\\{\\s*$)"
|
9
|
+
patterns:
|
10
10
|
- include: source.c++
|
11
|
-
comment: SWIG files contain C or C++ code, so it's logical to derive from the C++
|
11
|
+
comment: SWIG files contain C or C++ code, so it's logical to derive from the C++
|
12
|
+
rules
|
12
13
|
- name: keyword.other.directive.inlinecode.swig
|
13
|
-
captures:
|
14
|
-
|
14
|
+
captures:
|
15
|
+
'1':
|
15
16
|
name: punctuation.definition.keyword.swig
|
16
|
-
match: (%)(header|init|inline|native|runtime|wrapper)
|
17
|
+
match: "(%)(header|init|inline|native|runtime|wrapper)\\b"
|
17
18
|
- name: keyword.other.function-parameter.swig
|
18
|
-
captures:
|
19
|
-
|
19
|
+
captures:
|
20
|
+
'1':
|
20
21
|
name: punctuation.definition.keyword.swig
|
21
|
-
match: (
|
22
|
+
match: "(\\$)([\\*&]*[1-9]+(_name|_type|_ltype|_basetype|_mangle|_descriptor){0,1}|action|input|result|symname)\\b"
|
22
23
|
- name: support.function.type.swig
|
23
|
-
match:
|
24
|
+
match: "\\b(in|out|typecheck|arginit|default|check|argout|freearg|newfree|memberin|varin|varout|throws|numinputs)\\b"
|
24
25
|
- name: keyword.other.directive.swig
|
25
|
-
captures:
|
26
|
-
|
26
|
+
captures:
|
27
|
+
'1':
|
27
28
|
name: punctuation.definition.keyword.swig
|
28
|
-
match: (%)(apply|callback|clear|constant|contract|define|enddef|extend|feature|ignore|insert|makedefault|module|nocallback|nodefault|rename|typemap|varargs|template)
|
29
|
+
match: "(%)(apply|callback|clear|constant|contract|define|enddef|extend|feature|ignore|insert|makedefault|module|nocallback|nodefault|rename|typemap|varargs|template)\\b"
|
29
30
|
- name: meta.preprocessor.swig
|
30
|
-
captures:
|
31
|
-
|
31
|
+
captures:
|
32
|
+
'1':
|
32
33
|
name: keyword.control.import.swig
|
33
|
-
match:
|
34
|
+
match: "\\(\\s*(allegrocl|chicken|csharp|guile|java|modula3|mzscheme|ocaml|perl|php|pike|python|ruby|sexp|tcl|xml)\\b"
|
34
35
|
- name: meta.preprocessor.swig
|
35
|
-
captures:
|
36
|
-
|
36
|
+
captures:
|
37
|
+
'1':
|
37
38
|
name: punctuation.definition.preprocessor.swig
|
38
|
-
|
39
|
+
'2':
|
39
40
|
name: keyword.control.import.swig
|
40
|
-
|
41
|
+
'3':
|
41
42
|
name: string.quoted.double.swig
|
42
|
-
begin:
|
43
|
-
end: $
|
43
|
+
begin: "^\\s*(%)\\s*(include|import)\\b\\s+(\"?[A-Za-z0-9\\._]+\"?)"
|
44
|
+
end: "$"
|
44
45
|
- name: meta.preprocessor.macro.swig
|
45
|
-
captures:
|
46
|
-
|
46
|
+
captures:
|
47
|
+
'1':
|
47
48
|
name: punctuation.definition.preprocessor.swig
|
48
|
-
match: (%)([A-Za-z]+[A-Za-z0-9_]*)
|
49
|
+
match: "(%)([A-Za-z]+[A-Za-z0-9_]*)\\b"
|
49
50
|
- name: storage.type.swig
|
50
|
-
match:
|
51
|
+
match: "\\bSWIG_TYPECHECK_(POINTER|VOIDPTR|BOOL|UINT8|INT8|UINT16|INT16|UINT32|INT32|UINT64|INT64|UINT128|INT128|INTEGER|FLOAT|DOUBLE|COMPLEX|UNICHAR|UNISTRING|CHAR|STRING|BOOL_ARRAY|INT8_ARRAY|INT16_ARRAY|INT32_ARRAY|INT64_ARRAY|INT128_ARRAY|FLOAT_ARRAY|DOUBLE_ARRAY|CHAR_ARRAY|STRING_ARRAY)\\b"
|
51
52
|
- name: source.swig.codeblock
|
52
|
-
captures:
|
53
|
-
|
53
|
+
captures:
|
54
|
+
'1':
|
54
55
|
name: punctuation.section.embedded.swig
|
55
|
-
match: (
|
56
|
-
foldingStopMarker: (
|
57
|
-
keyEquivalent: ^~S
|
56
|
+
match: "(%\\{|%\\})"
|
57
|
+
foldingStopMarker: "(\\*\\*/|^\\s*%?\\})"
|
58
|
+
keyEquivalent: "^~S"
|
@@ -1,134 +1,135 @@
|
|
1
|
-
---
|
1
|
+
---
|
2
2
|
name: Tcl
|
3
|
-
fileTypes:
|
3
|
+
fileTypes:
|
4
4
|
- tcl
|
5
5
|
scopeName: source.tcl
|
6
|
-
repository:
|
7
|
-
escape:
|
6
|
+
repository:
|
7
|
+
escape:
|
8
8
|
name: constant.character.escape.tcl
|
9
|
-
match: \\
|
10
|
-
bare-string:
|
11
|
-
endCaptures:
|
12
|
-
|
9
|
+
match: "\\\\(\\d{1,3}|x[a-fA-F0-9]+|u[a-fA-F0-9]{1,4}|.|\\n)"
|
10
|
+
bare-string:
|
11
|
+
endCaptures:
|
12
|
+
'1':
|
13
13
|
name: invalid.illegal.tcl
|
14
|
-
begin: (?:^|(
|
14
|
+
begin: "(?:^|(?<=\\s))\""
|
15
15
|
end: "\"([^\\s\\]]*)"
|
16
|
-
patterns:
|
16
|
+
patterns:
|
17
17
|
- include: "#escape"
|
18
18
|
- include: "#variable"
|
19
19
|
comment: matches a single quote-enclosed word without scoping
|
20
|
-
regexp:
|
21
|
-
begin: (
|
22
|
-
end: (?=[
|
23
|
-
patterns:
|
20
|
+
regexp:
|
21
|
+
begin: "(?=\\S)(?![\\n;\\]])"
|
22
|
+
end: "(?=[\\n;\\]])"
|
23
|
+
patterns:
|
24
24
|
- name: string.regexp.tcl
|
25
|
-
begin: (?=[^
|
26
|
-
end: (?=[
|
27
|
-
patterns:
|
25
|
+
begin: "(?=[^ \\t\\n;])"
|
26
|
+
end: "(?=[ \\t\\n;])"
|
27
|
+
patterns:
|
28
28
|
- include: "#braces"
|
29
29
|
- include: "#bare-string"
|
30
30
|
- include: "#escape"
|
31
31
|
- include: "#variable"
|
32
32
|
- begin: "[ \\t]"
|
33
|
-
end: (?=[
|
34
|
-
patterns:
|
33
|
+
end: "(?=[\\n;\\]])"
|
34
|
+
patterns:
|
35
35
|
- include: "#variable"
|
36
36
|
- include: "#embedded"
|
37
37
|
- include: "#escape"
|
38
38
|
- include: "#braces"
|
39
39
|
- include: "#string"
|
40
40
|
comment: swallow the rest of the command
|
41
|
-
comment: matches a single word, named as a regexp, then swallows the rest of the
|
42
|
-
|
43
|
-
|
44
|
-
|
41
|
+
comment: matches a single word, named as a regexp, then swallows the rest of the
|
42
|
+
command
|
43
|
+
braces:
|
44
|
+
endCaptures:
|
45
|
+
'1':
|
45
46
|
name: invalid.illegal.tcl
|
46
|
-
begin: (?:^|(
|
47
|
-
end:
|
48
|
-
patterns:
|
47
|
+
begin: "(?:^|(?<=\\s))\\{"
|
48
|
+
end: "\\}([^\\s\\]]*)"
|
49
|
+
patterns:
|
49
50
|
- name: constant.character.escape.tcl
|
50
|
-
match:
|
51
|
+
match: "\\\\[{}\\n]"
|
51
52
|
- include: "#inner-braces"
|
52
53
|
comment: matches a single brace-enclosed word
|
53
|
-
inner-braces:
|
54
|
-
begin:
|
55
|
-
end:
|
56
|
-
patterns:
|
54
|
+
inner-braces:
|
55
|
+
begin: "\\{"
|
56
|
+
end: "\\}"
|
57
|
+
patterns:
|
57
58
|
- name: constant.character.escape.tcl
|
58
|
-
match:
|
59
|
+
match: "\\\\[{}\\n]"
|
59
60
|
- include: "#inner-braces"
|
60
61
|
comment: matches a nested brace in a brace-enclosed word
|
61
|
-
variable:
|
62
|
+
variable:
|
62
63
|
name: variable.other.tcl
|
63
|
-
captures:
|
64
|
-
|
64
|
+
captures:
|
65
|
+
'1':
|
65
66
|
name: punctuation.definition.variable.tcl
|
66
|
-
match: (
|
67
|
-
string:
|
67
|
+
match: "(\\$)([a-zA-Z0-9_:]+(\\([^\\)]+\\))?|\\{[^\\}]*\\})"
|
68
|
+
string:
|
68
69
|
name: string.quoted.double.tcl
|
69
|
-
begin: (?:^|(
|
70
|
+
begin: "(?:^|(?<=\\s))(?=\")"
|
70
71
|
applyEndPatternLast: 1
|
71
|
-
end:
|
72
|
-
patterns:
|
72
|
+
end: ''
|
73
|
+
patterns:
|
73
74
|
- include: "#bare-string"
|
74
75
|
comment: matches a single quote-enclosed word with scoping
|
75
|
-
embedded:
|
76
|
+
embedded:
|
76
77
|
name: source.tcl.embedded
|
77
|
-
endCaptures:
|
78
|
-
|
78
|
+
endCaptures:
|
79
|
+
'0':
|
79
80
|
name: punctuation.section.embedded.end.tcl
|
80
|
-
begin:
|
81
|
-
beginCaptures:
|
82
|
-
|
81
|
+
begin: "\\["
|
82
|
+
beginCaptures:
|
83
|
+
'0':
|
83
84
|
name: punctuation.section.embedded.begin.tcl
|
84
|
-
end:
|
85
|
-
patterns:
|
85
|
+
end: "\\]"
|
86
|
+
patterns:
|
86
87
|
- include: source.tcl
|
87
88
|
uuid: F01F22AC-7CBB-11D9-9B10-000A95E13C98
|
88
|
-
foldingStartMarker:
|
89
|
-
patterns:
|
90
|
-
- begin: (?<=^|;)
|
89
|
+
foldingStartMarker: "\\{\\s*$"
|
90
|
+
patterns:
|
91
|
+
- begin: "(?<=^|;)\\s*((#))"
|
91
92
|
contentName: comment.line.number-sign.tcl
|
92
|
-
beginCaptures:
|
93
|
-
|
93
|
+
beginCaptures:
|
94
|
+
'1':
|
94
95
|
name: comment.line.number-sign.tcl
|
95
|
-
|
96
|
+
'2':
|
96
97
|
name: punctuation.definition.comment.tcl
|
97
|
-
end:
|
98
|
-
patterns:
|
99
|
-
- match: (
|
100
|
-
- captures:
|
101
|
-
|
98
|
+
end: "\\n"
|
99
|
+
patterns:
|
100
|
+
- match: "(\\\\\\\\|\\\\\\n)"
|
101
|
+
- captures:
|
102
|
+
'1':
|
102
103
|
name: keyword.control.tcl
|
103
|
-
match: (?<=^|[
|
104
|
-
- captures:
|
105
|
-
|
104
|
+
match: "(?<=^|[\\[{;])\\s*(if|while|for|catch|return|break|continue|switch|exit|foreach)\\b"
|
105
|
+
- captures:
|
106
|
+
'1':
|
106
107
|
name: keyword.control.tcl
|
107
|
-
match: (?<=^|})
|
108
|
-
- captures:
|
109
|
-
|
108
|
+
match: "(?<=^|})\\s*(then|elseif|else)\\b"
|
109
|
+
- captures:
|
110
|
+
'1':
|
110
111
|
name: keyword.other.tcl
|
111
|
-
|
112
|
+
'2':
|
112
113
|
name: entity.name.function.tcl
|
113
|
-
match:
|
114
|
-
- captures:
|
115
|
-
|
114
|
+
match: "^\\s*(proc)\\s+([^\\s]+)"
|
115
|
+
- captures:
|
116
|
+
'1':
|
116
117
|
name: keyword.other.tcl
|
117
|
-
match: (?<=^|[
|
118
|
-
- begin: (?<=^|[
|
119
|
-
beginCaptures:
|
120
|
-
|
118
|
+
match: "(?<=^|[\\[{;])\\s*(after|append|array|auto_execok|auto_import|auto_load|auto_mkindex|auto_mkindex_old|auto_qualify|auto_reset|bgerror|binary|cd|clock|close|concat|dde|encoding|eof|error|eval|exec|expr|fblocked|fconfigure|fcopy|file|fileevent|filename|flush|format|gets|glob|global|history|http|incr|info|interp|join|lappend|library|lindex|linsert|list|llength|load|lrange|lreplace|lsearch|lset|lsort|memory|msgcat|namespace|open|package|parray|pid|pkg::create|pkg_mkIndex|proc|puts|pwd|re_syntax|read|registry|rename|resource|scan|seek|set|socket|SafeBase|source|split|string|subst|Tcl|tcl_endOfWord|tcl_findLibrary|tcl_startOfNextWord|tcl_startOfPreviousWord|tcl_wordBreakAfter|tcl_wordBreakBefore|tcltest|tclvars|tell|time|trace|unknown|unset|update|uplevel|upvar|variable|vwait)\\b"
|
119
|
+
- begin: "(?<=^|[\\[{;])\\s*(regexp|regsub)\\b\\s*"
|
120
|
+
beginCaptures:
|
121
|
+
'1':
|
121
122
|
name: keyword.other.tcl
|
122
123
|
end: "[\\n;\\]]"
|
123
|
-
patterns:
|
124
|
+
patterns:
|
124
125
|
- name: constant.character.escape.tcl
|
125
|
-
match:
|
126
|
-
- match:
|
126
|
+
match: "\\\\(?:.|\\n)"
|
127
|
+
- match: "-\\w+\\s*"
|
127
128
|
comment: switch for regexp
|
128
|
-
- begin:
|
129
|
+
- begin: "--\\s*"
|
129
130
|
applyEndPatternLast: 1
|
130
|
-
end:
|
131
|
-
patterns:
|
131
|
+
end: ''
|
132
|
+
patterns:
|
132
133
|
- include: "#regexp"
|
133
134
|
comment: end of switches
|
134
135
|
- include: "#regexp"
|
@@ -136,17 +137,17 @@ patterns:
|
|
136
137
|
- include: "#escape"
|
137
138
|
- include: "#variable"
|
138
139
|
- name: string.quoted.double.tcl
|
139
|
-
endCaptures:
|
140
|
-
|
140
|
+
endCaptures:
|
141
|
+
'0':
|
141
142
|
name: punctuation.definition.string.end.tcl
|
142
143
|
begin: "\""
|
143
|
-
beginCaptures:
|
144
|
-
|
144
|
+
beginCaptures:
|
145
|
+
'0':
|
145
146
|
name: punctuation.definition.string.begin.tcl
|
146
147
|
end: "\""
|
147
|
-
patterns:
|
148
|
+
patterns:
|
148
149
|
- include: "#escape"
|
149
150
|
- include: "#variable"
|
150
151
|
- include: "#embedded"
|
151
|
-
foldingStopMarker:
|
152
|
-
keyEquivalent: ^~T
|
152
|
+
foldingStopMarker: "^\\s*\\}"
|
153
|
+
keyEquivalent: "^~T"
|
@@ -1,121 +1,123 @@
|
|
1
|
-
---
|
1
|
+
---
|
2
2
|
name: Template Toolkit
|
3
|
-
fileTypes:
|
3
|
+
fileTypes:
|
4
4
|
- tt
|
5
|
-
firstLineMatch:
|
5
|
+
firstLineMatch: "\\[%.+?%\\]"
|
6
6
|
scopeName: text.html.tt
|
7
|
-
repository:
|
8
|
-
tt-stuff:
|
9
|
-
patterns:
|
7
|
+
repository:
|
8
|
+
tt-stuff:
|
9
|
+
patterns:
|
10
10
|
- name: comment.line.number-sign.tt
|
11
|
-
captures:
|
12
|
-
|
11
|
+
captures:
|
12
|
+
'1':
|
13
13
|
name: punctuation.definition.comment.tt
|
14
|
-
match: (#).*?(
|
15
|
-
- captures:
|
16
|
-
|
14
|
+
match: "(#).*?(?=%\\])"
|
15
|
+
- captures:
|
16
|
+
'1':
|
17
17
|
name: string.quoted.double.filename.tt
|
18
|
-
|
18
|
+
'2':
|
19
19
|
name: punctuation.definition.string.begin.tt
|
20
|
-
|
20
|
+
'4':
|
21
21
|
name: punctuation.definition.string.begin.tt
|
22
|
-
|
22
|
+
'5':
|
23
23
|
name: string.unquoted.other.filename.tt
|
24
|
-
match: ((")([a-z][a-z0-9_]
|
24
|
+
match: "((\")([a-z][a-z0-9_]+\\/)+[a-z0-9_\\.]+(\"))|(\\b([a-z][a-z0-9_]+\\/)+[a-z0-9_\\.]+\\b)"
|
25
25
|
- include: "#string-double-quoted"
|
26
26
|
- include: "#string-single-quoted"
|
27
27
|
- name: variable.other.tt
|
28
|
-
captures:
|
29
|
-
|
28
|
+
captures:
|
29
|
+
'1':
|
30
30
|
name: punctuation.definition.variable.tt
|
31
|
-
match: (
|
31
|
+
match: "(\\$?)\\b[a-z]([a-z0-9_]\\.?)*\\b"
|
32
32
|
- name: keyword.control.tt
|
33
|
-
match:
|
33
|
+
match: "\\b(?:IF|END|BLOCK|INCLUDE|ELSE|ELSIF|SWITCH|CASE|UNLESS|WRAPPER|FOR|FOREACH|LAST|NEXT|USE|WHILE|FILTER|IN|GET|CALL|SET|INSERT|MACRO|PERL|TRY|CATCH|THROW|FINAL|STOP|META|DEBUG|RAWPERL)\\b"
|
34
34
|
- name: keyword.operator.tt
|
35
|
-
match:
|
36
|
-
tag-stuff:
|
37
|
-
patterns:
|
35
|
+
match: "\\||\\|\\||=|_|-|\\*|\\/|\\?|:|div|mod|;|\\+"
|
36
|
+
tag-stuff:
|
37
|
+
patterns:
|
38
38
|
- include: "#tag-generic-attribute"
|
39
39
|
- include: "#string-double-quoted"
|
40
40
|
- include: "#string-single-quoted"
|
41
41
|
- include: "#keyword"
|
42
|
-
string-double-quoted:
|
42
|
+
string-double-quoted:
|
43
43
|
name: string.quoted.double.tt
|
44
|
-
endCaptures:
|
45
|
-
|
44
|
+
endCaptures:
|
45
|
+
'0':
|
46
46
|
name: punctuation.definition.string.end.tt
|
47
47
|
begin: "\""
|
48
|
-
beginCaptures:
|
49
|
-
|
48
|
+
beginCaptures:
|
49
|
+
'0':
|
50
50
|
name: punctuation.definition.string.begin.tt
|
51
51
|
end: "\""
|
52
|
-
patterns:
|
52
|
+
patterns:
|
53
53
|
- include: "#embedded-code"
|
54
54
|
- include: "#entities"
|
55
|
-
tmpl-container-tag:
|
56
|
-
patterns:
|
55
|
+
tmpl-container-tag:
|
56
|
+
patterns:
|
57
57
|
- name: meta.tag.template.tt
|
58
|
-
captures:
|
59
|
-
|
58
|
+
captures:
|
59
|
+
'0':
|
60
60
|
name: punctuation.definition.tag.tt
|
61
|
-
begin:
|
61
|
+
begin: "\\[%"
|
62
62
|
end: "%\\]"
|
63
|
-
patterns:
|
63
|
+
patterns:
|
64
64
|
- include: "#tt-stuff"
|
65
|
-
entities:
|
66
|
-
patterns:
|
65
|
+
entities:
|
66
|
+
patterns:
|
67
67
|
- name: constant.character.entity.html
|
68
|
-
captures:
|
69
|
-
|
68
|
+
captures:
|
69
|
+
'1':
|
70
70
|
name: punctuation.definition.constant.html
|
71
|
-
|
71
|
+
'3':
|
72
72
|
name: punctuation.definition.constant.html
|
73
|
-
match: (&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)
|
73
|
+
match: "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)"
|
74
74
|
- name: invalid.illegal.bad-ampersand.html
|
75
75
|
match: "&"
|
76
|
-
string-single-quoted:
|
76
|
+
string-single-quoted:
|
77
77
|
name: string.quoted.single.tt
|
78
|
-
endCaptures:
|
79
|
-
|
78
|
+
endCaptures:
|
79
|
+
'0':
|
80
80
|
name: punctuation.definition.string.end.tt
|
81
81
|
begin: "'"
|
82
|
-
beginCaptures:
|
83
|
-
|
82
|
+
beginCaptures:
|
83
|
+
'0':
|
84
84
|
name: punctuation.definition.string.begin.tt
|
85
85
|
end: "'"
|
86
|
-
patterns:
|
86
|
+
patterns:
|
87
87
|
- include: "#embedded-code"
|
88
88
|
- include: "#entities"
|
89
|
-
tag-generic-attribute:
|
89
|
+
tag-generic-attribute:
|
90
90
|
name: entity.other.attribute-name.tt
|
91
|
-
captures:
|
92
|
-
|
91
|
+
captures:
|
92
|
+
'2':
|
93
93
|
name: punctuation.separator.key-value.tt
|
94
|
-
match:
|
95
|
-
keyword:
|
94
|
+
match: "\\b([a-zA-Z-_:]+)\\s*(=)"
|
95
|
+
keyword:
|
96
96
|
name: string.unquoted.tt
|
97
|
-
match:
|
97
|
+
match: "\\b([A-Za-z0-9_]+)"
|
98
98
|
embedded-code: {}
|
99
|
-
|
100
99
|
uuid: 67D0DEC7-9E8C-44B3-8FA5-ADD9BBA05DE3
|
101
|
-
foldingStartMarker: (<(?i:(head|table|tr|div|style|script|ul|ol|form|dl))
|
102
|
-
|
103
|
-
|
104
|
-
|
100
|
+
foldingStartMarker: "(<(?i:(head|table|tr|div|style|script|ul|ol|form|dl))\\b.*?>|^
|
101
|
+
*\\[%[^%]*\\b(?:FOR|WRAPPER|SWITCH|FOREACH|IF|UNLESS|BLOCK|MACRO|FILTER|PERL|TRY)\\b(?!.*END
|
102
|
+
*%\\]))"
|
103
|
+
patterns:
|
104
|
+
- endCaptures:
|
105
|
+
'0':
|
105
106
|
name: meta.tag.template.tt
|
106
|
-
|
107
|
+
'1':
|
107
108
|
name: punctuation.definition.tag.tt
|
108
|
-
|
109
|
+
'2':
|
109
110
|
name: entity.name.tag.tt
|
110
|
-
|
111
|
+
'3':
|
111
112
|
name: punctuation.definition.tag.tt
|
112
|
-
begin: (
|
113
|
+
begin: "(?=\\[% *(?:RAW)?PERL\\b.*? *%\\])"
|
113
114
|
contentName: source.perl
|
114
|
-
end: (
|
115
|
-
patterns:
|
115
|
+
end: "(\\[%) *(END) *(%\\])"
|
116
|
+
patterns:
|
116
117
|
- include: "#tmpl-container-tag"
|
117
118
|
- include: source.perl
|
118
119
|
- include: "#tmpl-container-tag"
|
119
120
|
- include: text.html.basic
|
120
|
-
foldingStopMarker: (</(?i:(head|table|tr|div|style|script|ul|ol|form|dl))>|^
|
121
|
-
|
121
|
+
foldingStopMarker: "(</(?i:(head|table|tr|div|style|script|ul|ol|form|dl))>|^ *\\[%
|
122
|
+
*END *%\\])"
|
123
|
+
keyEquivalent: "^~T"
|