code_rippa 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. data/.gitignore +2 -0
  2. data/README.md +35 -32
  3. data/bin/code_rippa +59 -79
  4. data/code_rippa.gemspec +4 -1
  5. data/lib/code_rippa.rb +321 -303
  6. data/lib/code_rippa/render/latex/all_hallows_eve_custom.render +96 -0
  7. data/lib/code_rippa/render/latex/argonaut.render +120 -0
  8. data/lib/code_rippa/render/latex/bbedit.render +132 -0
  9. data/lib/code_rippa/render/latex/black_pearl.render +123 -0
  10. data/lib/code_rippa/render/latex/black_pearl_ii.render +147 -0
  11. data/lib/code_rippa/render/latex/bongzilla.render +78 -0
  12. data/lib/code_rippa/render/latex/close_to_the_sea.render +90 -0
  13. data/lib/code_rippa/render/latex/clouds.render +117 -0
  14. data/lib/code_rippa/render/latex/clouds_midnight.render +120 -0
  15. data/lib/code_rippa/render/latex/coda.render +102 -0
  16. data/lib/code_rippa/render/latex/cssedit.render +90 -0
  17. data/lib/code_rippa/render/latex/django.render +129 -0
  18. data/lib/code_rippa/render/latex/django_smoothy.render +132 -0
  19. data/lib/code_rippa/render/latex/emacs_strict.render +84 -0
  20. data/lib/code_rippa/render/latex/espresso.render +102 -0
  21. data/lib/code_rippa/render/latex/espresso_tutti.render +117 -0
  22. data/lib/code_rippa/render/latex/fade_to_grey.render +99 -0
  23. data/lib/code_rippa/render/latex/fake.render +186 -0
  24. data/lib/code_rippa/render/latex/fluidvision.render +132 -0
  25. data/lib/code_rippa/render/latex/forlatex.render +90 -0
  26. data/lib/code_rippa/render/latex/friendship_bracelet.render +102 -0
  27. data/lib/code_rippa/render/latex/github.render +180 -0
  28. data/lib/code_rippa/render/latex/glitterbomb.render +120 -0
  29. data/lib/code_rippa/render/latex/happy_happy_joy_joy_2.render +198 -0
  30. data/lib/code_rippa/render/latex/idlefingers.render +123 -0
  31. data/lib/code_rippa/render/latex/ir_black.render +213 -0
  32. data/lib/code_rippa/render/latex/ir_white.render +207 -0
  33. data/lib/code_rippa/render/latex/krtheme.render +162 -0
  34. data/lib/code_rippa/render/latex/lowlight.render +174 -0
  35. data/lib/code_rippa/render/latex/made_of_code.render +186 -0
  36. data/lib/code_rippa/render/latex/merbivore.render +99 -0
  37. data/lib/code_rippa/render/latex/merbivore_soft.render +99 -0
  38. data/lib/code_rippa/render/latex/{moc.render → mocththeme.render} +1 -1
  39. data/lib/code_rippa/render/latex/monoindustrial.render +132 -0
  40. data/lib/code_rippa/render/latex/monokai.render +96 -0
  41. data/lib/code_rippa/render/latex/multimarkdown.render +75 -0
  42. data/lib/code_rippa/render/latex/pastie.render +102 -0
  43. data/lib/code_rippa/render/latex/putty.render +93 -0
  44. data/lib/code_rippa/render/latex/rails_envy.render +99 -0
  45. data/lib/code_rippa/render/latex/railscasts.render +93 -0
  46. data/lib/code_rippa/render/latex/rdark.render +93 -0
  47. data/lib/code_rippa/render/latex/rubyblue.render +129 -0
  48. data/lib/code_rippa/render/latex/rubyrobot.render +87 -0
  49. data/lib/code_rippa/render/latex/ryan_light.render +81 -0
  50. data/lib/code_rippa/render/latex/solarized_dark.render +537 -0
  51. data/lib/code_rippa/render/latex/solarized_light.render +534 -0
  52. data/lib/code_rippa/render/latex/spectacular.render +135 -0
  53. data/lib/code_rippa/render/latex/starlight.render +51 -0
  54. data/lib/code_rippa/render/latex/succulent.render +186 -0
  55. data/lib/code_rippa/render/latex/summer_camp.render +78 -0
  56. data/lib/code_rippa/render/latex/summer_camp_mod.render +78 -0
  57. data/lib/code_rippa/render/latex/swyphs_ii.render +105 -0
  58. data/lib/code_rippa/render/latex/tango.render +135 -0
  59. data/lib/code_rippa/render/latex/text_ex_machina.render +96 -0
  60. data/lib/code_rippa/render/latex/tubster.render +93 -0
  61. data/lib/code_rippa/render/latex/upstream.render +135 -0
  62. data/lib/code_rippa/render/latex/upstream_sunburst.render +195 -0
  63. data/lib/code_rippa/render/latex/upstream_vibrant.render +147 -0
  64. data/lib/code_rippa/render/latex/vibrant_fin.render +141 -0
  65. data/lib/code_rippa/render/latex/vibrant_ink.render +141 -0
  66. data/lib/code_rippa/render/latex/vibrant_tango.render +141 -0
  67. data/lib/code_rippa/render/latex/whys_poignant.render +72 -0
  68. data/lib/code_rippa/render/latex/zenburn.render +192 -0
  69. data/lib/code_rippa/syntax/coffeescript.syntax +292 -0
  70. data/lib/code_rippa/uv_overrides.rb +1 -1
  71. data/lib/code_rippa/version.rb +2 -1
  72. data/test/test_private_methods.rb +24 -24
  73. data/test/test_public_methods.rb +2 -2
  74. metadata +115 -11
  75. data/lib/code_rippa/syntax/html.syntax +0 -362
  76. data/lib/code_rippa/syntax/latex.syntax +0 -566
  77. data/lib/code_rippa/syntax/latex_beamer.syntax +0 -41
  78. data/lib/code_rippa/syntax/latex_log.syntax +0 -50
  79. data/lib/code_rippa/syntax/latex_memoir.syntax +0 -64
  80. data/lib/code_rippa/syntax/tex.syntax +0 -86
  81. data/lib/code_rippa/syntax/tex_math.syntax +0 -49
@@ -0,0 +1,192 @@
1
+ ---
2
+ name: zenburn
3
+ line:
4
+ begin: ""
5
+ end: "}}\\\\"
6
+ filter: "@escaped.gsub(/(\\$)/, '\\\\\\\\\\1').gsub(/\\\\(?!\\$)/, '$\\\\\\\\backslash$').gsub(/(_|\\{|\\}|&|\\#|%)/, '\\\\\\\\\\1').gsub(/~/, '\\\\textasciitilde ').gsub(/ /,'\\\\hspace{1ex}').gsub(/\\t| /,'\\\\hspace{3ex}').gsub(/\\\"/, \"''\").gsub(/(\\^)/,'\\\\\\\\\\1{}')"
7
+ document:
8
+ begin: |
9
+ \documentclass[a4paper,landscape]{article}
10
+ \usepackage{xcolor}
11
+ \usepackage{colortbl}
12
+ \usepackage{longtable}
13
+ \usepackage[left=2cm,top=1cm,right=3cm,nohead,nofoot]{geometry}
14
+ \usepackage[T1]{fontenc}
15
+ \usepackage[scaled]{beramono}
16
+ \begin{document}
17
+
18
+ end: |
19
+ \end{document}
20
+
21
+ tags:
22
+ - begin: "{\\color[HTML]{87AE86}"
23
+ end: "}"
24
+ selector: comment
25
+ - begin: "{\\color[HTML]{568E4D}"
26
+ end: "}"
27
+ selector: keyword.other.phpdoc
28
+ - begin: "{\\textbf{"
29
+ end: "}}"
30
+ selector: punctuation.definition.comment
31
+ - begin: "{\\color[HTML]{DEDEDE}\\textbf{"
32
+ end: "}}"
33
+ selector: keyword.other.directive
34
+ - begin: "{\\underline{"
35
+ end: "}}"
36
+ selector: keyword.other.directive.line-number
37
+ - begin: "{\\color[HTML]{FF8080}"
38
+ end: "}"
39
+ selector: constant.character
40
+ - begin: "{\\color[HTML]{D68686}"
41
+ end: "}"
42
+ selector: string, string.unquoted
43
+ - begin: "{\\color[HTML]{D6D6D6}"
44
+ end: "}"
45
+ selector: string.unquoted.heredoc
46
+ - begin: "{\\color[HTML]{87D6D5}"
47
+ end: "}"
48
+ selector: constant.numeric
49
+ - begin: "{\\color[HTML]{D6D6AE}\\textbf{"
50
+ end: "}}"
51
+ selector: constant.language, support.constant.core
52
+ - begin: "{\\color[HTML]{CC9495}"
53
+ end: "}"
54
+ selector: constant.character, constant.other, support.constant
55
+ - begin: "{\\color[HTML]{FED6AF}"
56
+ end: "}"
57
+ selector: keyword
58
+ - begin: "{\\color[HTML]{FED6AF}"
59
+ end: "}"
60
+ selector: keyword.control
61
+ - begin: "{\\color[HTML]{FF8000}\\textbf{"
62
+ end: "}}"
63
+ selector: entity.name.module,support.other.module
64
+ - begin: "{\\color[HTML]{FEFED6}"
65
+ end: "}"
66
+ selector: keyword.operator
67
+ - begin: "{\\underline{"
68
+ end: "}}"
69
+ selector: source.ocaml keyword.operator.symbol.infix.floating-point
70
+ - begin: "{\\underline{"
71
+ end: "}}"
72
+ selector: source.ocaml keyword.operator.symbol.prefix.floating-point
73
+ - begin: "{\\color[HTML]{FFFB9D}"
74
+ end: "}"
75
+ selector: storage.type,storage.modifier
76
+ - begin: "{\\color[HTML]{4080A0}"
77
+ end: "}"
78
+ selector: entity.name.class.variant
79
+ - begin: "{"
80
+ end: "}"
81
+ selector: storage
82
+ - begin: "{\\color[HTML]{D6D6D6}"
83
+ end: "}"
84
+ selector: entity.name.type,entity.other
85
+ - begin: "{\\color[HTML]{D78D1B}"
86
+ end: "}"
87
+ selector: entity.other.inherited-class
88
+ - begin: "{\\color[HTML]{FFE000}"
89
+ end: "}"
90
+ selector: storage.type.user-defined
91
+ - begin: "{\\color[HTML]{F4A020}\\underline{"
92
+ end: "}}"
93
+ selector: entity.name.type
94
+ - begin: "{"
95
+ end: "}"
96
+ selector: variable.parameter
97
+ - begin: "{\\color[HTML]{FF5274}\\textbf{"
98
+ end: "}}"
99
+ selector: invalid
100
+ - begin: "{\\color[HTML]{D6D7AF}\\textbf{"
101
+ end: "}}"
102
+ selector: entity.other.attribute-name.html
103
+ - begin: "{\\color[HTML]{D6D7AF}"
104
+ end: "}"
105
+ selector: entity.name.tag
106
+ - begin: "{\\color[HTML]{898989}"
107
+ end: "}"
108
+ selector: punctuation.section.embedded.begin.php,punctuation.section.embedded.end.php
109
+ - begin: "{\\color[HTML]{FED6AF}\\textbf{"
110
+ end: "}}"
111
+ selector: variable.parameter, variable.other
112
+ - begin: "{\\color[HTML]{FED6AF}"
113
+ end: "}"
114
+ selector: support.function.construct
115
+ - begin: "{\\color[HTML]{FEFED6}"
116
+ end: "}"
117
+ selector: punctuation.definition.variable
118
+ - begin: "{\\color[HTML]{FFFD87}"
119
+ end: "}"
120
+ selector: support.function,meta.function-call
121
+ - begin: "{\\color[HTML]{C7BA18}"
122
+ end: "}"
123
+ selector: support.function
124
+ - begin: "{\\color[HTML]{ABD6D5}"
125
+ end: "}"
126
+ selector: meta.brace
127
+ - begin: "{\\color[HTML]{DADADA}"
128
+ end: "}"
129
+ selector: punctuation.definition.string.begin,punctuation.definition.string.end
130
+ - begin: "{\\color[HTML]{EBDAC9}\\textbf{"
131
+ end: "}}"
132
+ selector: punctuation.definition.tag.begin.html,punctuation.definition.tag.end.html,meta.tag.structure.any.html
133
+ - begin: "{\\color[HTML]{FED6AF}\\textbf{"
134
+ end: "}}"
135
+ selector: entity.name.tag.yaml
136
+ - begin: "{\\color[HTML]{D6D6D6}"
137
+ end: "}"
138
+ selector: punctuation.definition.entry
139
+ - begin: "{\\color[HTML]{B7B7B7}\\textbf{"
140
+ end: "}}"
141
+ selector: keyword.other.DML.sql, keyword.other.data-integrity.sql
142
+ - begin: "{\\color[HTML]{95BFF3}\\textbf{"
143
+ end: "}}"
144
+ selector: source.sql, constant.other.database-name.sql, constant.other.table-name.sql, keyword.operator.star
145
+ - begin: \setlength{\fboxsep}{0ex}\colorbox[HTML]{393939}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{FFFFFF}
146
+ end: "}"
147
+ selector: source.diff
148
+ - begin: \setlength{\fboxsep}{0ex}\colorbox[HTML]{9F9D15}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{FFFFFF}
149
+ end: "}"
150
+ selector: source.diff meta.diff.comment, source.diff meta.toc-list.comment.diff
151
+ - begin: \setlength{\fboxsep}{0ex}\colorbox[HTML]{393939}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{CA7172}\textbf{
152
+ end: "}}"
153
+ selector: meta.diff.header.from-file
154
+ - begin: \setlength{\fboxsep}{0ex}\colorbox[HTML]{393939}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{60B38A}\textbf{
155
+ end: "}}"
156
+ selector: meta.diff.header.to-file
157
+ - begin: \setlength{\fboxsep}{0ex}\colorbox[HTML]{393939}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8CD0D3}
158
+ end: "}"
159
+ selector: meta.diff.range.unified
160
+ - begin: \setlength{\fboxsep}{0ex}\colorbox[HTML]{393939}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{60B38A}
161
+ end: "}"
162
+ selector: markup.inserted.diff
163
+ - begin: \setlength{\fboxsep}{0ex}\colorbox[HTML]{393939}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{CA7172}
164
+ end: "}"
165
+ selector: markup.deleted.diff
166
+ - begin: "{\\color[HTML]{C76F41}"
167
+ end: "}"
168
+ selector: string.regexp
169
+ - begin: "{\\color[HTML]{9E6A5F}"
170
+ end: "}"
171
+ selector: string.regexp.arbitrary-repitition
172
+ - begin: "{\\color[HTML]{F2F2F2}"
173
+ end: "}"
174
+ selector: punctuation.definition.arbitrary-repitition
175
+ - begin: "{\\color[HTML]{CB8E81}"
176
+ end: "}"
177
+ selector: string.regexp.character-class
178
+ - begin: "{\\color[HTML]{F2F2F2}"
179
+ end: "}"
180
+ selector: punctuation.definition.character-class
181
+ listing:
182
+ begin: |
183
+ \newcolumntype{C}{>{\color[HTML]{DEDEDE}\columncolor[HTML]{393939}}l}
184
+ \newcolumntype{N}{>{\color[HTML]{000000}\columncolor[HTML]{838383}}l}
185
+ \begin{longtable}{NC}
186
+
187
+ end: |
188
+ \end{longtable}
189
+
190
+ line-numbers:
191
+ begin: \texttt{
192
+ end: "}&\\mbox{\\texttt{"
@@ -0,0 +1,292 @@
1
+ ---
2
+ scopeName: source.coffee
3
+ name: CoffeeScript
4
+ keyEquivalent: ^~C
5
+ comment: "CoffeeScript Syntax: version 1"
6
+ repository:
7
+ instance_variable:
8
+ patterns:
9
+ - name: variable.other.readwrite.instance.coffee
10
+ match: (@)([a-zA-Z_\$]\w*)?
11
+ embedded_comment:
12
+ patterns:
13
+ - name: comment.line.number-sign.coffee
14
+ captures:
15
+ "1":
16
+ name: punctuation.definition.comment.coffee
17
+ match: (?<!\\)(#).*$\n?
18
+ numeric:
19
+ patterns:
20
+ - name: constant.numeric.coffee
21
+ match: (?<!\$)\b((0([box])[0-9a-fA-F]+)|([0-9]+(\.[0-9]+)?(e[+\-]?[0-9]+)?))\b
22
+ variable_name:
23
+ patterns:
24
+ - name: variable.assignment.coffee
25
+ captures:
26
+ "1":
27
+ name: variable.assignment.coffee
28
+ match: ([a-zA-Z\$_]\w*(\.\w+)*)
29
+ single_quoted_string:
30
+ patterns:
31
+ - name: string.quoted.single.coffee
32
+ begin: "'"
33
+ endCaptures:
34
+ "0":
35
+ name: punctuation.definition.string.end.coffee
36
+ beginCaptures:
37
+ "0":
38
+ name: punctuation.definition.string.begin.coffee
39
+ end: "'"
40
+ patterns:
41
+ - name: constant.character.escape.coffee
42
+ match: \\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)
43
+ double_quoted_string:
44
+ patterns:
45
+ - name: string.quoted.double.coffee
46
+ begin: "\""
47
+ endCaptures:
48
+ "0":
49
+ name: punctuation.definition.string.end.coffee
50
+ beginCaptures:
51
+ "0":
52
+ name: punctuation.definition.string.begin.coffee
53
+ end: "\""
54
+ patterns:
55
+ - name: constant.character.escape.coffee
56
+ match: \\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)
57
+ - include: "#interpolated_coffee"
58
+ interpolated_coffee:
59
+ patterns:
60
+ - name: source.coffee.embedded.source
61
+ begin: \#\{
62
+ captures:
63
+ "0":
64
+ name: punctuation.section.embedded.coffee
65
+ end: \}
66
+ patterns:
67
+ - include: $self
68
+ uuid: 5B520980-A7D5-4E10-8582-1A4C889A8DE5
69
+ firstLineMatch: ^#!.*\bcoffee
70
+ patterns:
71
+ - name: meta.inline.function.coffee
72
+ comment: "match stuff like: a -> \xE2\x80\xA6 "
73
+ captures:
74
+ "1":
75
+ name: variable.parameter.function.coffee
76
+ "2":
77
+ name: storage.type.function.coffee
78
+ match: (\([^()]*?\))\s*([=-]>)
79
+ - name: meta.class.instance.constructor
80
+ captures:
81
+ "1":
82
+ name: keyword.operator.new.coffee
83
+ "2":
84
+ name: entity.name.type.instance.coffee
85
+ match: (new)\s+(\w+(?:\.\w*)*)
86
+ - name: string.quoted.heredoc.coffee
87
+ begin: "'''"
88
+ endCaptures:
89
+ "0":
90
+ name: punctuation.definition.string.end.coffee
91
+ beginCaptures:
92
+ "0":
93
+ name: punctuation.definition.string.begin.coffee
94
+ end: "'''"
95
+ - name: string.quoted.double.heredoc.coffee
96
+ begin: "\"\"\""
97
+ endCaptures:
98
+ "0":
99
+ name: punctuation.definition.string.end.coffee
100
+ beginCaptures:
101
+ "0":
102
+ name: punctuation.definition.string.begin.coffee
103
+ end: "\"\"\""
104
+ patterns:
105
+ - name: constant.character.escape.coffee
106
+ match: \\.
107
+ - include: "#interpolated_coffee"
108
+ - name: string.quoted.script.coffee
109
+ begin: `
110
+ endCaptures:
111
+ "0":
112
+ name: punctuation.definition.string.end.coffee
113
+ beginCaptures:
114
+ "0":
115
+ name: punctuation.definition.string.begin.coffee
116
+ end: `
117
+ patterns:
118
+ - name: constant.character.escape.coffee
119
+ match: \\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)
120
+ - name: comment.block.coffee
121
+ begin: (?<!#)###(?!#)
122
+ captures:
123
+ "0":
124
+ name: punctuation.definition.comment.coffee
125
+ end: "###(?:[ \\t]*\\n)"
126
+ patterns:
127
+ - name: storage.type.annotation.coffeescript
128
+ match: "@\\w*"
129
+ - name: comment.line.number-sign.coffee
130
+ captures:
131
+ "1":
132
+ name: punctuation.definition.comment.coffee
133
+ match: (#)(?!\{).*$\n?
134
+ - name: string.regexp.coffee
135
+ begin: /{3}
136
+ end: /{3}[imgy]{0,4}
137
+ patterns:
138
+ - include: "#interpolated_coffee"
139
+ - include: "#embedded_comment"
140
+ - name: string.regexp.coffee
141
+ match: /(?![\s=/*+{}?]).*?[^\\]/[igmy]{0,4}(?![a-zA-Z0-9])
142
+ - name: keyword.control.coffee
143
+ match: "(?x)\n\
144
+ \t\t\t\t\\b(?<![\\.\\$])(\n\
145
+ \t\t\t\t\tbreak|by|catch|continue|else|finally|for|in|of|if|return|switch|\n\
146
+ \t\t\t\t\tthen|throw|try|unless|when|while|until|loop|do|(?<=for)\\s+own\n\
147
+ \t\t\t\t)(?!\\s*:)\\b\n\
148
+ \t\t\t"
149
+ - name: keyword.operator.coffee
150
+ match: "(?x)\n\
151
+ \t\t\t\tand=|or=|!|%|&|\\^|\\*|\\/|(\\-)?\\-(?!>)|\\+\\+|\\+|~|==|=(?!>)|!=|<=|>=|<<=|>>=|\n\
152
+ \t\t\t\t>>>=|<>|<|>|!|&&|\\.\\.(\\.)?|\\?|\\||\\|\\||\\:|\\*=|(?<!\\()/=|%=|\\+=|\\-=|&=|\n\
153
+ \t\t\t\t\\^=|\\b(?<![\\.\\$])(instanceof|new|delete|typeof|and|or|is|isnt|not)\\b\n\
154
+ \t\t\t"
155
+ - name: variable.assignment.coffee
156
+ captures:
157
+ "1":
158
+ name: variable.assignment.coffee
159
+ "4":
160
+ name: punctuation.separator.key-value
161
+ "5":
162
+ name: keyword.operator.coffee
163
+ match: ([a-zA-Z\$_](\w|\$|\.)*\s*(?!\::)((:)|(=))(?!(\s*\(.*\))?\s*((=|-)>)))
164
+ - name: meta.variable.assignment.destructured.coffee
165
+ begin: (?<=\s|^)([\[\{])(?=.*?[\]\}]\s+[:=])
166
+ endCaptures:
167
+ "0":
168
+ name: keyword.operator.coffee
169
+ beginCaptures:
170
+ "0":
171
+ name: keyword.operator.coffee
172
+ end: ([\]\}]\s*[:=])
173
+ patterns:
174
+ - include: "#variable_name"
175
+ - include: "#instance_variable"
176
+ - include: "#single_quoted_string"
177
+ - include: "#double_quoted_string"
178
+ - include: "#numeric"
179
+ - name: meta.function.coffee
180
+ captures:
181
+ "2":
182
+ name: entity.name.function.coffee
183
+ "3":
184
+ name: entity.name.function.coffee
185
+ "4":
186
+ name: variable.parameter.function.coffee
187
+ "5":
188
+ name: storage.type.function.coffee
189
+ match: "(?x)\n\
190
+ \t\t\t\t(\\s*)\n\
191
+ \t\t\t\t(?=[a-zA-Z\\$_])\n\
192
+ \t\t\t\t(\n\
193
+ \t\t\t\t\t[a-zA-Z\\$_](\\w|\\$|:|\\.)*\\s*\n\
194
+ \t\t\t\t\t(?=[:=](\\s*\\(.*\\))?\\s*([=-]>))\n\
195
+ \t\t\t\t)\n\
196
+ \t\t\t"
197
+ - name: storage.type.function.coffee
198
+ match: "[=-]>"
199
+ - name: constant.language.boolean.true.coffee
200
+ match: \b(?<!\.)(true|on|yes)(?!\s*[:=])\b
201
+ - name: constant.language.boolean.false.coffee
202
+ match: \b(?<!\.)(false|off|no)(?!\s*[:=])\b
203
+ - name: constant.language.null.coffee
204
+ match: \b(?<!\.)null(?!\s*[:=])\b
205
+ - name: variable.language.coffee
206
+ match: \b(?<!\.)(super|this|extends)(?!\s*[:=])\b
207
+ - name: meta.class.coffee
208
+ captures:
209
+ "1":
210
+ name: storage.type.class.coffee
211
+ "2":
212
+ name: entity.name.type.class.coffee
213
+ "3":
214
+ name: keyword.control.inheritance.coffee
215
+ "4":
216
+ name: entity.other.inherited-class.coffee
217
+ match: (class\b)\s+(@?[a-zA-Z\$_][\w\.]*)?(?:\s+(extends)\s+(@?[a-zA-Z\$\._][\w\.]*))?
218
+ - name: keyword.other.coffee
219
+ match: \b(debugger|\\)\b
220
+ - name: support.class.coffee
221
+ match: |-
222
+ (?x)\b(
223
+ Array|ArrayBuffer|Blob|Boolean|Date|document|event|Function|
224
+ Int(8|16|32|64)Array|Math|Map|Number|
225
+ Object|Proxy|RegExp|Set|String|WeakMap|
226
+ window|Uint(8|16|32|64)Array|XMLHttpRequest
227
+ )\b
228
+ - name: entity.name.type.object.coffee
229
+ match: \b(console)\b
230
+ - name: support.function.console.coffee
231
+ match: ((?<=console\.)(debug|warn|info|log|error|time|timeEnd|assert))\b
232
+ - name: support.function.coffee
233
+ match: |-
234
+ (?x)\b(
235
+ decodeURI(Component)?|encodeURI(Component)?|eval|parse(Float|Int)|require
236
+ )\b
237
+ - name: support.function.method.array.coffee
238
+ match: |-
239
+ (?x)((?<=\.)(
240
+ apply|call|concat|every|filter|forEach|from|hasOwnProperty|indexOf|
241
+ isPrototypeOf|join|lastIndexOf|map|of|pop|propertyIsEnumerable|push|
242
+ reduce(Right)?|reverse|shift|slice|some|sort|splice|to(Locale)?String|
243
+ unshift|valueOf
244
+ ))\b
245
+ - name: support.function.static.array.coffee
246
+ match: |-
247
+ (?x)((?<=Array\.)(
248
+ isArray
249
+ ))\b
250
+ - name: support.function.static.object.coffee
251
+ match: |-
252
+ (?x)((?<=Object\.)(
253
+ create|definePropert(ies|y)|freeze|getOwnProperty(Descriptors?|Names)|
254
+ getProperty(Descriptor|Names)|getPrototypeOf|is(Extensible|Frozen|Sealed)?|
255
+ isnt|keys|preventExtensions|seal
256
+ ))\b
257
+ - name: support.function.static.math.coffee
258
+ match: |-
259
+ (?x)((?<=Math\.)(
260
+ abs|acos|acosh|asin|asinh|atan|atan2|atanh|ceil|cos|cosh|exp|expm1|floor|
261
+ hypot|log|log10|log1p|log2|max|min|pow|random|round|sign|sin|sinh|sqrt|
262
+ tan|tanh|trunc
263
+ ))\b
264
+ - name: support.function.static.number.coffee
265
+ match: |-
266
+ (?x)((?<=Number\.)(
267
+ is(Finite|Integer|NaN)|toInteger
268
+ ))\b
269
+ - name: constant.language.coffee
270
+ match: \b(Infinity|NaN|undefined)\b
271
+ - name: punctuation.terminator.statement.coffee
272
+ match: \;
273
+ - name: meta.delimiter.object.comma.coffee
274
+ match: ,[ |\t]*
275
+ - name: meta.delimiter.method.period.coffee
276
+ match: \.
277
+ - name: meta.brace.curly.coffee
278
+ match: \{|\}
279
+ - name: meta.brace.round.coffee
280
+ match: \(|\)
281
+ - name: meta.brace.square.coffee
282
+ match: \[|\]\s*
283
+ - include: "#instance_variable"
284
+ - include: "#single_quoted_string"
285
+ - include: "#double_quoted_string"
286
+ - include: "#numeric"
287
+ foldingStartMarker: ^\s*class\s+\S.*$|.*(->|=>)\s*$|.*[\[{]\s*$
288
+ foldingStopMarker: ^\s*$|^\s*[}\]]\s*$
289
+ fileTypes:
290
+ - coffee
291
+ - Cakefile
292
+ - coffee.erb