code_rippa 0.0.7 → 1.0.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 (156) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile.lock +36 -0
  3. data/LICENSE +2 -2
  4. data/README.md +18 -1
  5. data/bin/code_rippa +15 -16
  6. data/code_rippa.gemspec +12 -10
  7. data/lib/code_rippa.rb +69 -51
  8. data/lib/code_rippa/syntax/actionscript.syntax +52 -52
  9. data/lib/code_rippa/syntax/active4d.syntax +226 -180
  10. data/lib/code_rippa/syntax/active4d_html.syntax +163 -173
  11. data/lib/code_rippa/syntax/active4d_ini.syntax +34 -27
  12. data/lib/code_rippa/syntax/active4d_library.syntax +8 -15
  13. data/lib/code_rippa/syntax/ada.syntax +19 -18
  14. data/lib/code_rippa/syntax/antlr.syntax +85 -85
  15. data/lib/code_rippa/syntax/apache.syntax +103 -109
  16. data/lib/code_rippa/syntax/applescript.syntax +244 -229
  17. data/lib/code_rippa/syntax/asp.syntax +41 -36
  18. data/lib/code_rippa/syntax/asp_vb.net.syntax +77 -72
  19. data/lib/code_rippa/syntax/bibtex.syntax +88 -90
  20. data/lib/code_rippa/syntax/blog_html.syntax +17 -29
  21. data/lib/code_rippa/syntax/blog_markdown.syntax +17 -27
  22. data/lib/code_rippa/syntax/blog_text.syntax +15 -15
  23. data/lib/code_rippa/syntax/blog_textile.syntax +15 -15
  24. data/lib/code_rippa/syntax/build.syntax +27 -27
  25. data/lib/code_rippa/syntax/bulletin_board.syntax +159 -172
  26. data/lib/code_rippa/syntax/c.syntax +31 -34
  27. data/lib/code_rippa/syntax/cake.syntax +27 -27
  28. data/lib/code_rippa/syntax/camlp4.syntax +23 -23
  29. data/lib/code_rippa/syntax/cm.syntax +19 -18
  30. data/lib/code_rippa/syntax/coffeescript.syntax +134 -181
  31. data/lib/code_rippa/syntax/coldfusion.syntax +51 -60
  32. data/lib/code_rippa/syntax/context_free.syntax +106 -106
  33. data/lib/code_rippa/syntax/cs.syntax +31 -34
  34. data/lib/code_rippa/syntax/css.syntax +112 -112
  35. data/lib/code_rippa/syntax/css_experimental.syntax +1006 -1004
  36. data/lib/code_rippa/syntax/csv.syntax +40 -44
  37. data/lib/code_rippa/syntax/d.syntax +80 -84
  38. data/lib/code_rippa/syntax/diff.syntax +46 -45
  39. data/lib/code_rippa/syntax/dokuwiki.syntax +118 -119
  40. data/lib/code_rippa/syntax/dot.syntax +26 -26
  41. data/lib/code_rippa/syntax/doxygen.syntax +26 -26
  42. data/lib/code_rippa/syntax/dylan.syntax +35 -35
  43. data/lib/code_rippa/syntax/eiffel.syntax +39 -42
  44. data/lib/code_rippa/syntax/erlang.syntax +514 -511
  45. data/lib/code_rippa/syntax/f-script.syntax +44 -44
  46. data/lib/code_rippa/syntax/fortran.syntax +80 -76
  47. data/lib/code_rippa/syntax/fxscript.syntax +78 -77
  48. data/lib/code_rippa/syntax/greasemonkey.syntax +20 -20
  49. data/lib/code_rippa/syntax/gri.syntax +47 -47
  50. data/lib/code_rippa/syntax/groovy.syntax +105 -114
  51. data/lib/code_rippa/syntax/gtd.syntax +10 -10
  52. data/lib/code_rippa/syntax/gtdalt.syntax +83 -83
  53. data/lib/code_rippa/syntax/haml.syntax +50 -50
  54. data/lib/code_rippa/syntax/haskell.syntax +47 -47
  55. data/lib/code_rippa/syntax/html-asp.syntax +15 -15
  56. data/lib/code_rippa/syntax/html_django.syntax +15 -14
  57. data/lib/code_rippa/syntax/html_for_asp.net.syntax +232 -245
  58. data/lib/code_rippa/syntax/html_mason.syntax +75 -74
  59. data/lib/code_rippa/syntax/html_rails.syntax +17 -27
  60. data/lib/code_rippa/syntax/html_tcl.syntax +13 -13
  61. data/lib/code_rippa/syntax/icalendar.syntax +15 -15
  62. data/lib/code_rippa/syntax/inform.syntax +26 -26
  63. data/lib/code_rippa/syntax/ini.syntax +30 -30
  64. data/lib/code_rippa/syntax/installer_distribution_script.syntax +49 -49
  65. data/lib/code_rippa/syntax/io.syntax +49 -46
  66. data/lib/code_rippa/syntax/java.syntax +117 -126
  67. data/lib/code_rippa/syntax/javaproperties.syntax +13 -12
  68. data/lib/code_rippa/syntax/javascript.syntax +141 -141
  69. data/lib/code_rippa/syntax/javascript_+_prototype.syntax +42 -41
  70. data/lib/code_rippa/syntax/javascript_+_prototype_bracketed.syntax +92 -91
  71. data/lib/code_rippa/syntax/jquery_javascript.syntax +64 -64
  72. data/lib/code_rippa/syntax/json.syntax +39 -39
  73. data/lib/code_rippa/syntax/languagedefinition.syntax +373 -453
  74. data/lib/code_rippa/syntax/lexflex.syntax +136 -136
  75. data/lib/code_rippa/syntax/lighttpd.syntax +31 -31
  76. data/lib/code_rippa/syntax/lilypond.syntax +246 -337
  77. data/lib/code_rippa/syntax/lisp.syntax +32 -32
  78. data/lib/code_rippa/syntax/literate_haskell.syntax +12 -12
  79. data/lib/code_rippa/syntax/logo.syntax +13 -14
  80. data/lib/code_rippa/syntax/logtalk.syntax +81 -81
  81. data/lib/code_rippa/syntax/lua.syntax +50 -48
  82. data/lib/code_rippa/syntax/m.syntax +78 -78
  83. data/lib/code_rippa/syntax/macports_portfile.syntax +98 -97
  84. data/lib/code_rippa/syntax/makefile.syntax +19 -19
  85. data/lib/code_rippa/syntax/man.syntax +9 -9
  86. data/lib/code_rippa/syntax/mediawiki.syntax +311 -401
  87. data/lib/code_rippa/syntax/mips.syntax +34 -34
  88. data/lib/code_rippa/syntax/mod_perl.syntax +25 -31
  89. data/lib/code_rippa/syntax/modula-3.syntax +24 -24
  90. data/lib/code_rippa/syntax/moinmoin.syntax +102 -102
  91. data/lib/code_rippa/syntax/mootools.syntax +283 -300
  92. data/lib/code_rippa/syntax/movable_type.syntax +91 -90
  93. data/lib/code_rippa/syntax/multimarkdown.syntax +19 -30
  94. data/lib/code_rippa/syntax/objective-c++.syntax +6 -10
  95. data/lib/code_rippa/syntax/objective-c.syntax +134 -138
  96. data/lib/code_rippa/syntax/ocaml.syntax +455 -453
  97. data/lib/code_rippa/syntax/ocamllex.syntax +94 -93
  98. data/lib/code_rippa/syntax/ocamlyacc.syntax +98 -98
  99. data/lib/code_rippa/syntax/opengl.syntax +6 -6
  100. data/lib/code_rippa/syntax/pascal.syntax +43 -42
  101. data/lib/code_rippa/syntax/perl.syntax +612 -615
  102. data/lib/code_rippa/syntax/plain_text.syntax +17 -20
  103. data/lib/code_rippa/syntax/postscript.syntax +71 -69
  104. data/lib/code_rippa/syntax/processing.syntax +60 -60
  105. data/lib/code_rippa/syntax/prolog.syntax +17 -20
  106. data/lib/code_rippa/syntax/property_list.syntax +338 -359
  107. data/lib/code_rippa/syntax/python.syntax +487 -509
  108. data/lib/code_rippa/syntax/python_django.syntax +9 -10
  109. data/lib/code_rippa/syntax/qmake_project.syntax +67 -67
  110. data/lib/code_rippa/syntax/qt_c++.syntax +12 -15
  111. data/lib/code_rippa/syntax/quake3_config.syntax +18 -17
  112. data/lib/code_rippa/syntax/r.syntax +42 -42
  113. data/lib/code_rippa/syntax/r_console.syntax +7 -8
  114. data/lib/code_rippa/syntax/ragel.syntax +109 -115
  115. data/lib/code_rippa/syntax/rd_r_documentation.syntax +53 -53
  116. data/lib/code_rippa/syntax/regexp.syntax +26 -26
  117. data/lib/code_rippa/syntax/release_notes.syntax +46 -26
  118. data/lib/code_rippa/syntax/remind.syntax +146 -146
  119. data/lib/code_rippa/syntax/restructuredtext.syntax +132 -131
  120. data/lib/code_rippa/syntax/rez.syntax +46 -45
  121. data/lib/code_rippa/syntax/ruby.syntax +533 -601
  122. data/lib/code_rippa/syntax/ruby_experimental.syntax +82 -100
  123. data/lib/code_rippa/syntax/ruby_on_rails.syntax +56 -68
  124. data/lib/code_rippa/syntax/s5.syntax +35 -51
  125. data/lib/code_rippa/syntax/scheme.syntax +162 -260
  126. data/lib/code_rippa/syntax/scilab.syntax +18 -18
  127. data/lib/code_rippa/syntax/setext.syntax +82 -82
  128. data/lib/code_rippa/syntax/shell-unix-generic.syntax +227 -226
  129. data/lib/code_rippa/syntax/slate.syntax +91 -91
  130. data/lib/code_rippa/syntax/sql.syntax +137 -139
  131. data/lib/code_rippa/syntax/sql_rails.syntax +8 -8
  132. data/lib/code_rippa/syntax/ssh-config.syntax +17 -17
  133. data/lib/code_rippa/syntax/standard_ml.syntax +67 -69
  134. data/lib/code_rippa/syntax/strings_file.syntax +20 -23
  135. data/lib/code_rippa/syntax/subversion_commit_message.syntax +20 -20
  136. data/lib/code_rippa/syntax/sweave.syntax +45 -45
  137. data/lib/code_rippa/syntax/swig.syntax +34 -33
  138. data/lib/code_rippa/syntax/tcl.syntax +87 -86
  139. data/lib/code_rippa/syntax/template_toolkit.syntax +67 -65
  140. data/lib/code_rippa/syntax/textile.syntax +111 -145
  141. data/lib/code_rippa/syntax/tsv.syntax +31 -33
  142. data/lib/code_rippa/syntax/twiki.syntax +141 -141
  143. data/lib/code_rippa/syntax/txt2tags.syntax +39 -38
  144. data/lib/code_rippa/syntax/vectorscript.syntax +31 -31
  145. data/lib/code_rippa/syntax/xhtml_1.0.syntax +2297 -2296
  146. data/lib/code_rippa/syntax/xml.syntax +95 -95
  147. data/lib/code_rippa/syntax/xml_strict.syntax +49 -50
  148. data/lib/code_rippa/syntax/xsl.syntax +31 -31
  149. data/lib/code_rippa/syntax/yaml.syntax +86 -86
  150. data/lib/code_rippa/syntax/yaml_converter.rb +37 -0
  151. data/lib/code_rippa/syntax/yui_javascript.syntax +88 -88
  152. data/lib/code_rippa/version.rb +2 -2
  153. data/test/fixtures/hello.rb +5 -3
  154. data/test/test_private_methods.rb +40 -40
  155. data/test/test_public_methods.rb +9 -18
  156. metadata +61 -63
@@ -1,219 +1,219 @@
1
- ---
1
+ ---
2
2
  name: Lex/Flex
3
- fileTypes:
3
+ fileTypes:
4
4
  - l
5
5
  scopeName: source.lex
6
- repository:
7
- csource:
8
- patterns:
6
+ repository:
7
+ csource:
8
+ patterns:
9
9
  - name: support.function.c.lex
10
- match: \b(?:ECHO|BEGIN|REJECT|YY_FLUSH_BUFFER|YY_BREAK|yy(?:more|less|unput|input|terminate|text|leng|restart|_(?:push|pop|top)_state|_(?:create|switch_to|flush|delete)_buffer|_scan_(?:string|bytes|buffer)|_set_(?:bol|interactive))(?=\(|$))\b
10
+ match: "\\b(?:ECHO|BEGIN|REJECT|YY_FLUSH_BUFFER|YY_BREAK|yy(?:more|less|unput|input|terminate|text|leng|restart|_(?:push|pop|top)_state|_(?:create|switch_to|flush|delete)_buffer|_scan_(?:string|bytes|buffer)|_set_(?:bol|interactive))(?=\\(|$))\\b"
11
11
  - include: source.c
12
- subregexp:
13
- patterns:
12
+ subregexp:
13
+ patterns:
14
14
  - include: "#re_escape"
15
15
  - name: constant.other.character-class.set.lex
16
- endCaptures:
17
- "1":
16
+ endCaptures:
17
+ '1':
18
18
  name: punctuation.terminator.character-class.set.lex
19
- begin: (\[)(\^)?-?
20
- beginCaptures:
21
- "1":
19
+ begin: "(\\[)(\\^)?-?"
20
+ beginCaptures:
21
+ '1':
22
22
  name: punctuation.definition.character-class.set.lex
23
- "2":
23
+ '2':
24
24
  name: keyword.operator.negation.regexp.lex
25
- end: -?(\])
26
- patterns:
25
+ end: "-?(\\])"
26
+ patterns:
27
27
  - include: "#re_escape"
28
28
  - name: constant.other.character-class.set.lex
29
- captures:
30
- "1":
29
+ captures:
30
+ '1':
31
31
  name: invalid.illegal.regexp.lex
32
- match: \[:(?:(?:alnum|alpha|blank|cntrl|x?digit|graph|lower|print|punct|space|upper)|(.*?)):\]
32
+ match: "\\[:(?:(?:alnum|alpha|blank|cntrl|x?digit|graph|lower|print|punct|space|upper)|(.*?)):\\]"
33
33
  - name: variable.other.lex
34
- match: (?i){[a-z_][a-z0-9_-]*}
34
+ match: "(?i){[a-z_][a-z0-9_-]*}"
35
35
  - name: keyword.operator.quantifier.regexp.lex
36
- begin: \{
37
- end: \}
38
- patterns:
39
- - match: (?<=\{)[0-9]*(?:,[0-9]*)?(?=\})
36
+ begin: "\\{"
37
+ end: "\\}"
38
+ patterns:
39
+ - match: "(?<=\\{)[0-9]*(?:,[0-9]*)?(?=\\})"
40
40
  - name: invalid.illegal.regexp.lex
41
41
  match: "[^}]"
42
42
  comment: "{3} counts should only have digit[,digit]"
43
43
  - name: string.quoted.double.regexp.lex
44
44
  begin: "\""
45
45
  end: "\""
46
- patterns:
46
+ patterns:
47
47
  - include: "#re_escape"
48
- - begin: ([*+?])(?=[*+?])
49
- beginCaptures:
50
- "1":
48
+ - begin: "([*+?])(?=[*+?])"
49
+ beginCaptures:
50
+ '1':
51
51
  name: keyword.operator.quantifier.regexp.lex
52
- end: (?=[^*+?])
53
- patterns:
52
+ end: "(?=[^*+?])"
53
+ patterns:
54
54
  - name: invalid.illegal.regexp.lex
55
- match: .
55
+ match: "."
56
56
  comment: make ** or +? or other combinations illegal
57
57
  - name: keyword.operator.quantifier.regexp.lex
58
58
  match: "[*+?]"
59
59
  - name: invalid.illegal.regexp.lex
60
- match: <<EOF>>
61
- comment: <<EOF>> is handled in the rule pattern
60
+ match: "<<EOF>>"
61
+ comment: "<<EOF>> is handled in the rule pattern"
62
62
  - name: meta.group.regexp.lex
63
- endCaptures:
64
- "1":
63
+ endCaptures:
64
+ '1':
65
65
  name: punctuation.terminator.group.regexp.lex
66
- begin: (\()
67
- beginCaptures:
68
- "1":
66
+ begin: "(\\()"
67
+ beginCaptures:
68
+ '1':
69
69
  name: punctuation.definition.group.regexp.lex
70
- end: (\))|(?=\s)|$(?#end on whitespace because regex does)
71
- patterns:
70
+ end: "(\\))|(?=\\s)|$(?#end on whitespace because regex does)"
71
+ patterns:
72
72
  - name: invalid.illegal.regexp.lex
73
- match: /
73
+ match: "/"
74
74
  - include: "#subregexp"
75
- - begin: (/)
76
- beginCaptures:
77
- "1":
75
+ - begin: "(/)"
76
+ beginCaptures:
77
+ '1':
78
78
  name: keyword.operator.trailing-match.regexp.lex
79
- end: (?=\s)|$
80
- patterns:
79
+ end: "(?=\\s)|$"
80
+ patterns:
81
81
  - name: invalid.illegal.regexp.lex
82
- match: /|\$(?!\S)
82
+ match: "/|\\$(?!\\S)"
83
83
  - include: "#subregexp"
84
84
  comment: detection of multiple trailing contexts
85
- regexp:
85
+ regexp:
86
86
  name: string.regexp.lex
87
- captures:
88
- "1":
87
+ captures:
88
+ '1':
89
89
  name: keyword.control.anchor.regexp.lex
90
- begin: \G(?=\S)(\^)?
91
- end: (\$)?(?:(?=\s)|$)
92
- patterns:
90
+ begin: "\\G(?=\\S)(\\^)?"
91
+ end: "(\\$)?(?:(?=\\s)|$)"
92
+ patterns:
93
93
  - include: "#subregexp"
94
- re_escape:
94
+ re_escape:
95
95
  name: constant.character.escape.lex
96
- match: \\(?i:[0-9]{1,3}|x[0-9a-f]{1,2}|.)
97
- includes:
98
- patterns:
96
+ match: "\\\\(?i:[0-9]{1,3}|x[0-9a-f]{1,2}|.)"
97
+ includes:
98
+ patterns:
99
99
  - name: meta.embedded.source.c.lex
100
- begin: ^%\{$
101
- end: ^%\}$
102
- patterns:
100
+ begin: "^%\\{$"
101
+ end: "^%\\}$"
102
+ patterns:
103
103
  - include: source.c
104
- comment: "TODO: $} should override the embedded scopes"
104
+ comment: 'TODO: $} should override the embedded scopes'
105
105
  - name: meta.embedded.source.c.lex
106
- begin: ^[ \t]+
107
- end: $
108
- patterns:
106
+ begin: "^[ \\t]+"
107
+ end: "$"
108
+ patterns:
109
109
  - include: source.c
110
- comment: "TODO: eol should override the embedded scopes"
111
- rec_csource:
112
- begin: \{
113
- end: \}
114
- patterns:
110
+ comment: 'TODO: eol should override the embedded scopes'
111
+ rec_csource:
112
+ begin: "\\{"
113
+ end: "\\}"
114
+ patterns:
115
115
  - include: source.c
116
116
  - include: "#csource"
117
117
  uuid: 92E842A0-9DE6-4D31-A6AC-1CDE0F9547C5
118
- foldingStartMarker: /\*\*|\{\s*$
119
- patterns:
118
+ foldingStartMarker: "/\\*\\*|\\{\\s*$"
119
+ patterns:
120
120
  - name: meta.section.definitions.lex
121
- begin: \A(?!%%$)
122
- end: ^(?=%%$)
123
- patterns:
121
+ begin: "\\A(?!%%$)"
122
+ end: "^(?=%%$)"
123
+ patterns:
124
124
  - include: "#includes"
125
125
  - name: comment.block.c.lex
126
- begin: /\*
127
- end: \*/|$
126
+ begin: "/\\*"
127
+ end: "\\*/|$"
128
128
  - name: meta.definition.lex
129
- begin: ^(?i)([a-z_][a-z0-9_-]*)(?=\s|$)
130
- beginCaptures:
131
- "1":
129
+ begin: "^(?i)([a-z_][a-z0-9_-]*)(?=\\s|$)"
130
+ beginCaptures:
131
+ '1':
132
132
  name: entity.name.function.lex
133
- end: $
134
- patterns:
133
+ end: "$"
134
+ patterns:
135
135
  - include: "#regexp"
136
136
  - name: meta.start-condition.lex
137
- begin: ^(%[sx])(?=\s|$)
138
- beginCaptures:
139
- "1":
137
+ begin: "^(%[sx])(?=\\s|$)"
138
+ beginCaptures:
139
+ '1':
140
140
  name: punctuation.definition.start-condition.lex
141
- end: $
142
- patterns:
143
- - match: (?i)[a-z_][a-z0-9_-]*
141
+ end: "$"
142
+ patterns:
143
+ - match: "(?i)[a-z_][a-z0-9_-]*"
144
144
  - name: invalid.illegal.lex
145
- match: \S
145
+ match: "\\S"
146
146
  - name: meta.options.lex
147
- begin: ^(%option)\s(?=\S)
148
- beginCaptures:
149
- "1":
147
+ begin: "^(%option)\\s(?=\\S)"
148
+ beginCaptures:
149
+ '1':
150
150
  name: keyword.other.option.lex
151
- end: $
152
- patterns:
151
+ end: "$"
152
+ patterns:
153
153
  - name: support.other.option.lex
154
- match: \b(?:(?:no)?(?:[78]bit|align|backup|batch|c\+\+|debug|default|ecs|fast|full|interactive|lex-compat|meta-ecs|perf-report|read|stdout|verbose|warn|array|pointer|input|unput|yy_(?:(?:push|pop|top)_state|scan_(?:buffer|bytes|string))|main|stack|stdinit|yylineno|yywrap)|(?:case(?:ful|less)|case-(?:in)?sensitive|(?:always|never)-interactive))\b
154
+ match: "\\b(?:(?:no)?(?:[78]bit|align|backup|batch|c\\+\\+|debug|default|ecs|fast|full|interactive|lex-compat|meta-ecs|perf-report|read|stdout|verbose|warn|array|pointer|input|unput|yy_(?:(?:push|pop|top)_state|scan_(?:buffer|bytes|string))|main|stack|stdinit|yylineno|yywrap)|(?:case(?:ful|less)|case-(?:in)?sensitive|(?:always|never)-interactive))\\b"
155
155
  - name: keyword.other.option.lex
156
- begin: ^%(?:array|pointer)
157
- end: $
158
- patterns:
156
+ begin: "^%(?:array|pointer)"
157
+ end: "$"
158
+ patterns:
159
159
  - name: invalid.illegal.lex
160
- match: \S
160
+ match: "\\S"
161
161
  comment: first section of the file - definitions
162
- - begin: ^(%%)$
163
- beginCaptures:
164
- "1":
162
+ - begin: "^(%%)$"
163
+ beginCaptures:
164
+ '1':
165
165
  name: punctuation.separator.sections.lex
166
- end: \Z.\A(?# never end)
167
- patterns:
166
+ end: "\\Z.\\A(?# never end)"
167
+ patterns:
168
168
  - name: meta.section.rules.lex
169
- begin: ^(?!%%$)
170
- end: ^(?=%%$)
171
- patterns:
169
+ begin: "^(?!%%$)"
170
+ end: "^(?=%%$)"
171
+ patterns:
172
172
  - name: meta.rule.lex
173
- begin: ^(?!$)
174
- end: $
175
- patterns:
173
+ begin: "^(?!$)"
174
+ end: "$"
175
+ patterns:
176
176
  - include: "#includes"
177
- - begin: (?i)^(<(?:(?:[a-z_][a-z0-9_-]*,)*[a-z_][a-z0-9_-]|\*)>)?(?:(<<EOF>>)(\s*))?(?=\S)
178
- beginCaptures:
179
- "1":
177
+ - begin: "(?i)^(<(?:(?:[a-z_][a-z0-9_-]*,)*[a-z_][a-z0-9_-]|\\*)>)?(?:(<<EOF>>)(\\s*))?(?=\\S)"
178
+ beginCaptures:
179
+ '1':
180
180
  name: keyword.other.start-condition.lex
181
- "2":
181
+ '2':
182
182
  name: keyword.operator.eof.lex
183
- "3":
183
+ '3':
184
184
  name: invalid.illegal.regexp.lex
185
- end: (?=\s)|$
186
- patterns:
185
+ end: "(?=\\s)|$"
186
+ patterns:
187
187
  - include: "#regexp"
188
188
  comment: rule pattern
189
- - endCaptures:
190
- "1":
189
+ - endCaptures:
190
+ '1':
191
191
  name: punctuation.terminator.code.lex
192
- "2":
192
+ '2':
193
193
  name: invalid.illegal.ignored.lex
194
- begin: (%\{)
195
- beginCaptures:
196
- "1":
194
+ begin: "(%\\{)"
195
+ beginCaptures:
196
+ '1':
197
197
  name: punctuation.definition.code.lex
198
- end: (%\})(.*)
199
- patterns:
198
+ end: "(%\\})(.*)"
199
+ patterns:
200
200
  - include: "#csource"
201
- comment: "TODO: %} should override embedded scopes"
201
+ comment: 'TODO: %} should override embedded scopes'
202
202
  - name: meta.rule.action.lex
203
- begin: (?=\S)
204
- end: $
205
- patterns:
203
+ begin: "(?=\\S)"
204
+ end: "$"
205
+ patterns:
206
206
  - include: "#csource"
207
- comment: "TODO: eol should override embedded scopes"
207
+ comment: 'TODO: eol should override embedded scopes'
208
208
  comment: second section of the file - rules
209
- - begin: ^(%%)$
209
+ - begin: "^(%%)$"
210
210
  contentName: meta.section.user-code.lex
211
- beginCaptures:
212
- "1":
211
+ beginCaptures:
212
+ '1':
213
213
  name: punctuation.separator.sections.lex
214
- end: \Z.\A(?# never end)
215
- patterns:
214
+ end: "\\Z.\\A(?# never end)"
215
+ patterns:
216
216
  - include: "#csource"
217
217
  comment: third section of the file - user code
218
- foldingStopMarker: \*\*/|^\s*\}
219
- keyEquivalent: ^~L
218
+ foldingStopMarker: "\\*\\*/|^\\s*\\}"
219
+ keyEquivalent: "^~L"
@@ -1,54 +1,54 @@
1
- ---
1
+ ---
2
2
  name: Lighttpd
3
3
  scopeName: source.lighttpd-config
4
4
  uuid: C244BFF4-2C1A-490F-831E-8EF7DF4E0C9B
5
- foldingStartMarker: (\{|\()\s*$
6
- patterns:
5
+ foldingStartMarker: "(\\{|\\()\\s*$"
6
+ patterns:
7
7
  - name: comment.line.number-sign.lighttpd-config
8
- captures:
9
- "1":
8
+ captures:
9
+ '1':
10
10
  name: punctuation.definition.comment.lighttpd-config
11
- match: (#).*$\n?
12
- - captures:
13
- "1":
11
+ match: "(#).*$\\n?"
12
+ - captures:
13
+ '1':
14
14
  name: punctuation.separator.key-value.lighttpd-config
15
- "2":
15
+ '2':
16
16
  name: string.regexp.lighttpd-config
17
- "3":
17
+ '3':
18
18
  name: punctuation.definition.string.begin.lighttpd-config
19
- "4":
19
+ '4':
20
20
  name: punctuation.definition.string.end.lighttpd-config
21
- match: (=~|!~)\s*((").*("))
22
- - captures:
23
- "1":
21
+ match: "(=~|!~)\\s*((\").*(\"))"
22
+ - captures:
23
+ '1':
24
24
  name: punctuation.separator.key-value.lighttpd-config
25
- "2":
25
+ '2':
26
26
  name: constant.numeric.lighttpd-config
27
- match: (=>?)\s*([0-9]+)
27
+ match: "(=>?)\\s*([0-9]+)"
28
28
  - name: punctuation.separator.key-value.lighttpd-config
29
- match: =|\+=|==|!=|=~|!~|=>
29
+ match: "=|\\+=|==|!=|=~|!~|=>"
30
30
  - name: string.quoted.double.lighttpd-config
31
- endCaptures:
32
- "0":
31
+ endCaptures:
32
+ '0':
33
33
  name: punctuation.definition.string.end.lighttpd-config
34
34
  begin: "\""
35
- beginCaptures:
36
- "0":
35
+ beginCaptures:
36
+ '0':
37
37
  name: punctuation.definition.string.begin.lighttpd-config
38
38
  end: "\""
39
- patterns:
39
+ patterns:
40
40
  - name: constant.character.escape.quote.lighttpd-config
41
41
  match: "\"\""
42
42
  - name: variable.language.lighttpd-config
43
- captures:
44
- "1":
43
+ captures:
44
+ '1':
45
45
  name: punctuation.definition.variable.lighttpd-config
46
- match: (\$)[a-zA-Z][0-9a-zA-Z]*
46
+ match: "(\\$)[a-zA-Z][0-9a-zA-Z]*"
47
47
  - name: support.constant.name.lighttpd-config
48
- match: ^\s*[a-zA-Z][0-9a-zA-Z.-]*
49
- - captures:
50
- "1":
48
+ match: "^\\s*[a-zA-Z][0-9a-zA-Z.-]*"
49
+ - captures:
50
+ '1':
51
51
  name: invalid.illegal.semicolon-at-end-of-line.lighttpd-config
52
- match: (;)\s*$
53
- foldingStopMarker: ^\s*(\}|\))
54
- keyEquivalent: ^~L
52
+ match: "(;)\\s*$"
53
+ foldingStopMarker: "^\\s*(\\}|\\))"
54
+ keyEquivalent: "^~L"
@@ -1,429 +1,348 @@
1
- ---
1
+ ---
2
2
  name: Lilypond
3
- fileTypes:
3
+ fileTypes:
4
4
  - ly
5
5
  - ily
6
6
  scopeName: source.lilypond
7
- repository:
8
- g_markup:
7
+ repository:
8
+ g_markup:
9
9
  name: meta.element.markup.lilypond
10
- begin: "(?x)\n\
11
- \t\t\t\t((\\\\) markup) \\s+ # backslash + \"markup\" + spaces\n\
12
- \t\t\t\t(?={)\n\
13
- \t\t\t"
14
- beginCaptures:
15
- "1":
10
+ begin: "(?x)\n\t\t\t\t((\\\\) markup) \\s+ # backslash + \"markup\" + spaces\n\t\t\t\t(?={)\n\t\t\t"
11
+ beginCaptures:
12
+ '1':
16
13
  name: support.function.element.markup.lilypond
17
- "2":
14
+ '2':
18
15
  name: punctuation.definition.function.markup
19
- end: (?<=})
20
- patterns:
16
+ end: "(?<=})"
17
+ patterns:
21
18
  - include: "#g_m_group"
22
- comments:
23
- patterns:
19
+ comments:
20
+ patterns:
24
21
  - name: comment.block.lilypond
25
- captures:
26
- "0":
22
+ captures:
23
+ '0':
27
24
  name: punctuation.definition.comment.lilypond
28
25
  begin: "%{"
29
26
  end: "%}"
30
27
  - name: comment.line.lilypond
31
28
  begin: "%"
32
- beginCaptures:
33
- "0":
29
+ beginCaptures:
30
+ '0':
34
31
  name: punctuation.definition.comment.lilypond
35
- end: $\n?
36
- g_times:
37
- begin: ((\\)times)\s*(?:([1-9][0-9]*/[1-9][0-9])\s*)(?={)
38
- beginCaptures:
39
- "1":
32
+ end: "$\\n?"
33
+ g_times:
34
+ begin: "((\\\\)times)\\s*(?:([1-9][0-9]*/[1-9][0-9])\\s*)(?={)"
35
+ beginCaptures:
36
+ '1':
40
37
  name: support.function.section.lilypond
41
- "2":
38
+ '2':
42
39
  name: punctuation.definition.function.lilypond
43
- "3":
40
+ '3':
44
41
  name: constant.numeric.fraction.lilypond
45
- end: (?<=})
46
- patterns:
42
+ end: "(?<=})"
43
+ patterns:
47
44
  - include: "#group"
48
- f_keywords:
45
+ f_keywords:
49
46
  name: keyword.control.lilypond
50
- captures:
51
- "1":
47
+ captures:
48
+ '1':
52
49
  name: punctuation.definition.function.lilypond
53
- match: "(?x)\n\
54
- \t\t\t\t(?: (\\\\)\n\
55
- \t\t\t\t (?: set | new | override | revert)\n\
56
- \t\t\t\t)\n\
57
- \t\t\t"
58
- f_clef:
50
+ match: "(?x)\n\t\t\t\t(?: (\\\\)\n\t\t\t\t (?: set | new | override | revert)\n\t\t\t\t)\n\t\t\t"
51
+ f_clef:
59
52
  name: meta.element.clef.lilypond
60
- captures:
61
- "6":
53
+ captures:
54
+ '6':
62
55
  name: meta.fixme.unknown-clef-name.lilypond
63
- "7":
56
+ '7':
64
57
  name: constant.other.modifier.clef.lilypond
65
- "8":
58
+ '8':
66
59
  name: punctuation.definition.string.lilypond
67
- "1":
60
+ '1':
68
61
  name: support.function.element.lilypond
69
- "2":
62
+ '2':
70
63
  name: punctuation.definition.function.lilypond
71
- "3":
64
+ '3':
72
65
  name: punctuation.definition.string.lilypond
73
- "4":
66
+ '4':
74
67
  name: constant.language.clef-name.lilypond
75
- "5":
68
+ '5':
76
69
  name: constant.other.modifier.clef.lilypond
77
- match: "(?x)\n\
78
- \t\t\t\t((\\\\) clef) \\s+ # backslash + \"clef\" + spaces (groups 1-2)\n\
79
- \t\t\t\t(?:\n\
80
- \t\t\t\t (\"?)\t# beginning quotes (group 3)\n\
81
- \t\t\t\t ( (?: # group 4\n\
82
- \t\t\t\t\t treble | violin | G | french | # G clefs\n\
83
- \t\t\t\t alto | C | tenor | (?:mezzo)?soprano | baritone | # C clefs\n\
84
- \t\t\t\t (?:sub)?bass | F | varbaritone | # F clefs\n\
85
- \t\t\t\t percussion | tab | # percussion / tablature clefs\n \n\
86
- \t\t\t (?:neo)?mensural-c[1-4] | mensural-[fg] | \t\t# Ancient clefs\n\
87
- \t\t\t\t petrucci-(?: [fg] | c[1-5] ) |\n\
88
- \t\t\t\t (?: vaticana | medicaea | hufnagel ) - (?: do[1-3] | fa[12] ) |\n\
89
- \t\t\t\t hufnagel-do-fa\n\
90
- \t\t\t\t )\n\
91
- \t\t\t\t ([_^](?:8|15)?)? # optionally shift 1-2 octaves \xE2\x86\x91/\xE2\x86\x93 (group 5)\n\
92
- \t\t\t\t ) |\n\
93
- \t\t\t\t ( (?:\\w+) ([_^](?:8|15))? ) # unknown clef name (groups 6-7)\n\
94
- \t\t\t\t (\\3) # closing quotes (group 8)\n\
95
- \t\t\t\t)?\n\
96
- \t\t\t"
97
- comment: "\n\
98
- \t\t\t\tThis looks something like: \\clef mezzosoprano_8\n\
99
- \t\t\t\tOr maybe: \\clef neomensural-c3^15\n\
100
- \t\t\t"
101
- g_relative:
102
- begin: ((\\)relative)\s*(?:([a-h][',]*)\s*)?(?={)
103
- beginCaptures:
104
- "1":
70
+ match: "(?x)\n\t\t\t\t((\\\\) clef) \\s+ # backslash + \"clef\" + spaces (groups
71
+ 1-2)\n\t\t\t\t(?:\n\t\t\t\t (\"?)\t# beginning quotes (group 3)\n\t\t\t\t (
72
+ (?: # group 4\n\t\t\t\t\t treble | violin | G | french | #
73
+ G clefs\n\t\t\t\t alto | C | tenor | (?:mezzo)?soprano | baritone | # C
74
+ clefs\n\t\t\t\t (?:sub)?bass | F | varbaritone | # F clefs\n\t\t\t\t
75
+ \ percussion | tab | # percussion / tablature clefs\n \n\t\t\t
76
+ \ (?:neo)?mensural-c[1-4] | mensural-[fg] | \t\t# Ancient clefs\n\t\t\t\t
77
+ \ petrucci-(?: [fg] | c[1-5] ) |\n\t\t\t\t (?: vaticana | medicaea
78
+ | hufnagel ) - (?: do[1-3] | fa[12] ) |\n\t\t\t\t hufnagel-do-fa\n\t\t\t\t
79
+ \ )\n\t\t\t\t ([_^](?:8|15)?)? # optionally shift 1-2 octaves ↑/↓ (group
80
+ 5)\n\t\t\t\t ) |\n\t\t\t\t ( (?:\\w+) ([_^](?:8|15))? ) # unknown clef name
81
+ (groups 6-7)\n\t\t\t\t (\\3) # closing quotes (group 8)\n\t\t\t\t)?\n\t\t\t"
82
+ comment: "\n\t\t\t\tThis looks something like: \\clef mezzosoprano_8\n\t\t\t\tOr
83
+ maybe: \\clef neomensural-c3^15\n\t\t\t"
84
+ g_relative:
85
+ begin: "((\\\\)relative)\\s*(?:([a-h][',]*)\\s*)?(?={)"
86
+ beginCaptures:
87
+ '1':
105
88
  name: support.function.section.lilypond
106
- "2":
89
+ '2':
107
90
  name: punctuation.definition.function.lilypond
108
- "3":
91
+ '3':
109
92
  name: storage.type.pitch.lilypond
110
- end: (?<=})
111
- patterns:
93
+ end: "(?<=})"
94
+ patterns:
112
95
  - include: "#group"
113
- scheme:
96
+ scheme:
114
97
  begin: "#"
115
98
  contentName: source.scheme.embedded.lilypond
116
- beginCaptures:
117
- "0":
99
+ beginCaptures:
100
+ '0':
118
101
  name: punctuation.section.embedded.scheme.lilypond
119
- end: (?=[\s%])|(?<=\n)
120
- patterns:
102
+ end: "(?=[\\s%])|(?<=\\n)"
103
+ patterns:
121
104
  - include: source.scheme
122
- comment: "\n\
123
- \t\t\t\tLilypond source can embed scheme code to do things more\n\
124
- \t\t\t\tflexibly than allowed by the basic language.\n\n\
125
- \t\t\t\tWe need to make sure to match after a \\n, as included\n\
126
- \t\t\t\tby some s-expressions in the scheme grammar.\n\
127
- \t\t\t"
128
- notes:
129
- patterns:
105
+ comment: "\n\t\t\t\tLilypond source can embed scheme code to do things more\n\t\t\t\tflexibly
106
+ than allowed by the basic language.\n\n\t\t\t\tWe need to make sure to match
107
+ after a \\n, as included\n\t\t\t\tby some s-expressions in the scheme grammar.\n\t\t\t"
108
+ notes:
109
+ patterns:
130
110
  - name: meta.element.note.lilypond
131
- begin: "(?x)\\b\n\
132
- \t\t\t\t\t (\t\t\t\t\t\t # (group 1)\n\
133
- \t\t\t\t\t\t ( [a-h] # Pitch (group 2)\n\
134
- \t\t\t\t\t\t ( (?:i[sh]){1,2} | # - sharp (group 3)\n\
135
- \t\t\t\t\t\t (?:e[sh]|s){1,2} # - flat\n\
136
- \t\t\t\t\t\t )?\n\
137
- \t\t\t\t\t ([!?])? # Cautionary accidental (group 4)\n\
138
- \t\t\t\t\t ('+|,+)? # Octave (group 5)\n\
139
- \t\t\t\t\t\t )\n\
140
- \t\t\t\t\t\t ( ( ((\\\\)breve)| # Duration (groups 6-9)\n\
141
- \t\t\t\t\t\t 64|32|16|8|4|2|1\n\
142
- \t\t\t\t\t\t )\n\
143
- \t\t\t\t\t\t (\\.)? # Augmentation dot (group 10)\n\
144
- \t\t\t\t\t\t\t((\\*)(\\d+(?:/\\d+)?))? # Scaling duration (groups 11-13)\n\
145
- \t\t\t\t\t\t )?\n\
146
- \t\t\t\t\t\t)(?![a-z])\t# do not follow a note with a letter\n\
147
- \t\t\t\t\t"
148
- beginCaptures:
149
- "6":
111
+ begin: "(?x)\\b\n\t\t\t\t\t (\t\t\t\t\t\t # (group 1)\n\t\t\t\t\t\t ( [a-h]
112
+ \ # Pitch (group 2)\n\t\t\t\t\t\t ( (?:i[sh]){1,2} | #
113
+ \ - sharp (group 3)\n\t\t\t\t\t\t (?:e[sh]|s){1,2} # - flat\n\t\t\t\t\t\t
114
+ \ )?\n\t\t\t\t\t ([!?])? # Cautionary accidental (group
115
+ 4)\n\t\t\t\t\t ('+|,+)? # Octave (group 5)\n\t\t\t\t\t\t
116
+ \ )\n\t\t\t\t\t\t ( ( ((\\\\)breve)| # Duration (groups 6-9)\n\t\t\t\t\t\t
117
+ \ 64|32|16|8|4|2|1\n\t\t\t\t\t\t )\n\t\t\t\t\t\t (\\.)? #
118
+ Augmentation dot (group 10)\n\t\t\t\t\t\t\t((\\*)(\\d+(?:/\\d+)?))? # Scaling
119
+ duration (groups 11-13)\n\t\t\t\t\t\t )?\n\t\t\t\t\t\t)(?![a-z])\t# do not
120
+ follow a note with a letter\n\t\t\t\t\t"
121
+ beginCaptures:
122
+ '6':
150
123
  name: storage.type.duration.lilypond
151
- "12":
124
+ '12':
152
125
  name: keyword.operator.duration-scale.lilypond
153
- "13":
126
+ '13':
154
127
  name: constant.numeric.fraction.lilypond
155
- "9":
128
+ '9':
156
129
  name: punctuation.definition.function.lilypond
157
- "2":
130
+ '2':
158
131
  name: storage.type.pitch.lilypond
159
- "4":
132
+ '4':
160
133
  name: meta.note-modifier.cautionary-accidental.lilypond
161
- "5":
134
+ '5':
162
135
  name: meta.note-modifier.octave.lilypond
163
- end: "(?x)\n\
164
- \t\t\t\t\t\t(?= [ }~a-z] ) # End when we encounter a space or }\n\
165
- \t\t\t\t\t"
166
- patterns:
136
+ end: "(?x)\n\t\t\t\t\t\t(?= [ }~a-z] ) # End when we encounter a space or }\n\t\t\t\t\t"
137
+ patterns:
167
138
  - include: "#n_articulations"
168
- comment: "\n\
169
- \t\t\t\t\t\tThis rule handles notes, including the pitch, the\n\
170
- \t\t\t\t\t\tduration, and any articulations drawn along with\n\
171
- \t\t\t\t\t\tthe note.\n\
172
- \t\t\t\t\t\t\n\
173
- \t\t\t\t\t\tThis rule gets a whole lot uglier if we want to\n\
174
- \t\t\t\t\t\tsupport multilingual note names. If so, the rule\n\
175
- \t\t\t\t\t\tgoes something like:\n\
176
- \t\t\t\t\t\t\n\
177
- \t\t\t\t\t\t(?x)\n\
178
- \t\t\t\t\t\t\t\\b( # Basic Pitches\n\
179
- \t\t\t\t\t\t\t [a-h] # Dutch/English/etc. \n\
180
- \t\t\t\t\t\t\t (?: (iss?|s|sharp|x)(iss?|s|sharp|x|ih) | # sharp / flat\n\
181
- \t\t\t\t\t\t\t\t (ess?|s|flat|f)(ess?|s|flat|f|eh)\n\
182
- \t\t\t\t\t\t\t )? |\n\
183
- \t\t\t\t\t\t\t (?: do|re|mi|fa|sol|la|si) # Italian/Spanish\n\
184
- \t\t\t\t\t\t\t (?: ss?|dd?bb?) # sharp/flat\n\
185
- \t\t\t\t\t\t\t)\n\
186
- \t\t\t\t\t\t...\n\
187
- \t\t\t\t\t"
139
+ comment: "\n\t\t\t\t\t\tThis rule handles notes, including the pitch, the\n\t\t\t\t\t\tduration,
140
+ and any articulations drawn along with\n\t\t\t\t\t\tthe note.\n\t\t\t\t\t\t\n\t\t\t\t\t\tThis
141
+ rule gets a whole lot uglier if we want to\n\t\t\t\t\t\tsupport multilingual
142
+ note names. If so, the rule\n\t\t\t\t\t\tgoes something like:\n\t\t\t\t\t\t\n\t\t\t\t\t\t(?x)\n\t\t\t\t\t\t\t\\b(
143
+ # Basic Pitches\n\t\t\t\t\t\t\t [a-h] # Dutch/English/etc. \n\t\t\t\t\t\t\t
144
+ \ (?: (iss?|s|sharp|x)(iss?|s|sharp|x|ih) | # sharp / flat\n\t\t\t\t\t\t\t\t
145
+ \ (ess?|s|flat|f)(ess?|s|flat|f|eh)\n\t\t\t\t\t\t\t )? |\n\t\t\t\t\t\t\t
146
+ \ (?: do|re|mi|fa|sol|la|si) # Italian/Spanish\n\t\t\t\t\t\t\t (?: ss?|dd?bb?)
147
+ # sharp/flat\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t...\n\t\t\t\t\t"
188
148
  - name: meta.element.pause.rest.lilypond
189
- begin: "(?x)\\b\n\
190
- \t\t\t\t\t\t(r) # (group 1)\n\
191
- \t\t\t\t\t\t( ( (\\\\)breve| # Duration (groups 2-4)\n\
192
- \t\t\t\t\t\t 64|32|16|8|4|2|1\n\
193
- \t\t\t\t\t\t )\n\
194
- \t\t\t\t\t\t (\\.)? # Augmentation dot (group 5)\n\
195
- \t\t\t\t\t\t ((\\*)(\\d+(?:/\\d+)?))? # Scaling duration (groups 6-8)\n\
196
- \t\t\t\t\t\t\n\
197
- \t\t\t\t\t\t)?\n\
198
- \t\t\t\t\t\t(?![a-z])\t# do not follow a note with a letter\n\
199
- \t\t\t\t\t"
200
- beginCaptures:
201
- "6":
149
+ begin: "(?x)\\b\n\t\t\t\t\t\t(r) # (group 1)\n\t\t\t\t\t\t( ( (\\\\)breve| #
150
+ Duration (groups 2-4)\n\t\t\t\t\t\t 64|32|16|8|4|2|1\n\t\t\t\t\t\t )\n\t\t\t\t\t\t
151
+ \ (\\.)? # Augmentation dot (group 5)\n\t\t\t\t\t\t ((\\*)(\\d+(?:/\\d+)?))?
152
+ # Scaling duration (groups 6-8)\n\t\t\t\t\t\t\n\t\t\t\t\t\t)?\n\t\t\t\t\t\t(?![a-z])\t#
153
+ do not follow a note with a letter\n\t\t\t\t\t"
154
+ beginCaptures:
155
+ '6':
202
156
  name: keyword.operator.duration-scale.lilypond
203
- "8":
157
+ '8':
204
158
  name: constant.numeric.fraction.lilypond
205
- "1":
159
+ '1':
206
160
  name: storage.type.pause.rest.lilypond
207
- "2":
161
+ '2':
208
162
  name: storage.type.duration.lilypond
209
- "4":
163
+ '4':
210
164
  name: punctuation.definition.function.lilypond
211
- end: (?=[ }~a-z])
212
- patterns:
165
+ end: "(?=[ }~a-z])"
166
+ patterns:
213
167
  - include: "#n_articulations"
214
168
  - name: meta.element.pause.skip.lilypond
215
- begin: "(?x)\\b\n\
216
- \t\t\t\t\t\t(s) # (group 1)\n\
217
- \t\t\t\t\t\t( ( (\\\\)breve| # Duration (groups 2-4)\n\
218
- \t\t\t\t\t\t 64|32|16|8|4|2|1\n\
219
- \t\t\t\t\t\t )\n\
220
- \t\t\t\t\t\t (\\.)? # Augmentation dot (group 5)\n\
221
- \t\t\t\t\t\t ((\\*)(\\d+(?:/\\d+)?))? # Scaling duration (groups 6-8)\n\
222
- \t\t\t\t\t\t\n\
223
- \t\t\t\t\t\t)?\n\
224
- \t\t\t\t\t\t(?![a-z])\t# do not follow a note with a letter\n\
225
- \t\t\t\t\t"
226
- beginCaptures:
227
- "6":
169
+ begin: "(?x)\\b\n\t\t\t\t\t\t(s) # (group 1)\n\t\t\t\t\t\t( ( (\\\\)breve| #
170
+ Duration (groups 2-4)\n\t\t\t\t\t\t 64|32|16|8|4|2|1\n\t\t\t\t\t\t )\n\t\t\t\t\t\t
171
+ \ (\\.)? # Augmentation dot (group 5)\n\t\t\t\t\t\t ((\\*)(\\d+(?:/\\d+)?))?
172
+ # Scaling duration (groups 6-8)\n\t\t\t\t\t\t\n\t\t\t\t\t\t)?\n\t\t\t\t\t\t(?![a-z])\t#
173
+ do not follow a note with a letter\n\t\t\t\t\t"
174
+ beginCaptures:
175
+ '6':
228
176
  name: keyword.operator.duration-scale.lilypond
229
- "8":
177
+ '8':
230
178
  name: constant.numeric.fraction.lilypond
231
- "1":
179
+ '1':
232
180
  name: storage.type.pause.skip.lilypond
233
- "2":
181
+ '2':
234
182
  name: storage.type.duration.lilypond
235
- "4":
183
+ '4':
236
184
  name: punctuation.definition.function.lilypond
237
- end: (?=[ }~a-z])
238
- patterns:
185
+ end: "(?=[ }~a-z])"
186
+ patterns:
239
187
  - include: "#n_articulations"
240
188
  - name: meta.element.pause.skip.lilypond
241
- captures:
242
- "1":
189
+ captures:
190
+ '1':
243
191
  name: storage.type.pause.skip.lilypond
244
- "2":
192
+ '2':
245
193
  name: punctuation.definition.function.lilypond
246
- "3":
194
+ '3':
247
195
  name: storage.type.duration.lilypond
248
- match: ((\\)skip)\s+(64|32|16|8|4|2|1)
196
+ match: "((\\\\)skip)\\s+(64|32|16|8|4|2|1)"
249
197
  - name: meta.element.chord.lilypond
250
- endCaptures:
251
- "1":
198
+ endCaptures:
199
+ '1':
252
200
  name: punctuation.definition.chord.lilypond
253
- "2":
201
+ '2':
254
202
  name: storage.type.duration.lilypond
255
- "4":
203
+ '4':
256
204
  name: punctuation.definition.function.lilypond
257
- begin: <
258
- beginCaptures:
259
- "0":
205
+ begin: "<"
206
+ beginCaptures:
207
+ '0':
260
208
  name: punctuation.definition.chord.lilypond
261
- end: "(?x)\n\
262
- \t\t\t\t\t\t(>)\n\
263
- \t\t\t\t\t\t( ( ((\\\\)breve)| # Duration (groups 2-4)\n\
264
- \t\t\t\t\t\t 64|32|16|8|4|2|1\n\
265
- \t\t\t\t\t\t )\n\
266
- \t\t\t\t\t\t (\\.)? # Augmentation dot (group 5)\n\
267
- \t\t\t\t\t\t)?\n\
268
- \t\t\t\t\t"
269
- patterns:
270
- - captures:
271
- "1":
209
+ end: "(?x)\n\t\t\t\t\t\t(>)\n\t\t\t\t\t\t( ( ((\\\\)breve)| # Duration
210
+ (groups 2-4)\n\t\t\t\t\t\t 64|32|16|8|4|2|1\n\t\t\t\t\t\t )\n\t\t\t\t\t\t
211
+ \ (\\.)? # Augmentation dot (group 5)\n\t\t\t\t\t\t)?\n\t\t\t\t\t"
212
+ patterns:
213
+ - captures:
214
+ '1':
272
215
  name: storage.type.pitch.lilypond
273
- "3":
216
+ '3':
274
217
  name: meta.note-modifier.cautionary-accidental.lilypond
275
- "4":
218
+ '4':
276
219
  name: meta.note-modifier.octave.lilypond
277
- match: "(?x)\\b\n\
278
- \t\t\t\t\t\t\t\t ( [a-h] # Pitch (group 1)\n\
279
- \t\t\t\t\t\t\t\t ( (?:i[sh]){1,2} | # - sharp (group 2)\n\
280
- \t\t\t\t\t\t\t\t (?:e[sh]|s){1,2} # - flat\n\
281
- \t\t\t\t\t\t\t\t )?\n\
282
- \t\t\t\t\t\t\t ([!?])? # Cautionary accidental (group 3)\n\
283
- \t\t\t\t\t\t\t ('+|,+)? # Octave (group 4)\n\
284
- \t\t\t\t\t\t\t\t )\n\
285
- \t\t\t\t\t\t\t"
286
- comment: "\n\
287
- \t\t\t\t\t\tLilypond chords look like: < a b c >\n\
288
- \t\t\t\t\t"
220
+ match: "(?x)\\b\n\t\t\t\t\t\t\t\t ( [a-h] # Pitch (group
221
+ 1)\n\t\t\t\t\t\t\t\t ( (?:i[sh]){1,2} | # - sharp (group 2)\n\t\t\t\t\t\t\t\t
222
+ \ (?:e[sh]|s){1,2} # - flat\n\t\t\t\t\t\t\t\t )?\n\t\t\t\t\t\t\t
223
+ \ ([!?])? # Cautionary accidental (group 3)\n\t\t\t\t\t\t\t
224
+ \ ('+|,+)? # Octave (group 4)\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t"
225
+ comment: "\n\t\t\t\t\t\tLilypond chords look like: < a b c >\n\t\t\t\t\t"
289
226
  - name: meta.element.chord.lilypond
290
- begin: (?<=>)(?<!->)(?!\s)
291
- end: (?=[ }~a-z])(?<![^-]>)
292
- patterns:
227
+ begin: "(?<=>)(?<!->)(?!\\s)"
228
+ end: "(?=[ }~a-z])(?<![^-]>)"
229
+ patterns:
293
230
  - include: "#n_articulations"
294
- comment: "\n\
295
- \t\t\t\t\t\tThis rule attaches stuff to the end of a chord\n\
296
- \t\t\t\t\t\t\n\
297
- \t\t\t\t\t\tTherefore it begins after the > which ends a chord,\n\
298
- \t\t\t\t\t\tand does not end after a > which ends a chord.\n\
299
- \t\t\t\t\t\t(to avoid infinite loops)\n\
300
- \t\t\t\t\t"
231
+ comment: "\n\t\t\t\t\t\tThis rule attaches stuff to the end of a chord\n\t\t\t\t\t\t\n\t\t\t\t\t\tTherefore
232
+ it begins after the > which ends a chord,\n\t\t\t\t\t\tand does not end after
233
+ a > which ends a chord.\n\t\t\t\t\t\t(to avoid infinite loops)\n\t\t\t\t\t"
301
234
  - name: storage.type.tie.lilypond
302
235
  match: "~"
303
236
  - name: storage.type.breath-mark.lilypond
304
- captures:
305
- "1":
237
+ captures:
238
+ '1':
306
239
  name: punctuation.definition.function.lilypond
307
- match: (\\)breathe
308
- comment: "\n\
309
- \t\t\t\tThis section includes the rules for notes, rests, and chords\n\
310
- \t\t\t"
311
- n_articulations:
312
- patterns:
240
+ match: "(\\\\)breathe"
241
+ comment: "\n\t\t\t\tThis section includes the rules for notes, rests, and chords\n\t\t\t"
242
+ n_articulations:
243
+ patterns:
313
244
  - name: storage.modifier.articulation.accent.lilypond
314
- match: "(?x)\n\
315
- \t\t\t\t\t\t([_^-])\n\
316
- \t\t\t\t\t\t(?:[.>^+_-])\n\
317
- \t\t\t\t\t"
245
+ match: "(?x)\n\t\t\t\t\t\t([_^-])\n\t\t\t\t\t\t(?:[.>^+_-])\n\t\t\t\t\t"
318
246
  - name: storage.modifier.articulation.named.lilypond
319
- captures:
320
- "1":
247
+ captures:
248
+ '1':
321
249
  name: punctuation.definition.function.lilypond
322
- match: "(?x)\n\
323
- \t\t\t\t\t\t(\\\\)\n\
324
- \t\t\t\t\t\t(?: accent | markato | staccatissimo |\t\t # basic accents\n\
325
- \t\t\t\t\t\t\tespressivo | staccato | tenuto | portato | \n\
326
- \t\t\t\t\t\t\t(?:up|down)bow | flageolet | thumb |\n\
327
- \t\t\t\t\t\t\t[lr](?:heel|toe) | open | stopped |\n\
328
- \t\t\t\t\t\t\t(?:reverse)?turn | trill |\n\
329
- \t\t\t\t\t\t\tprall(?: prall | mordent | down | up)? | # pralls\n\
330
- \t\t\t\t\t\t\t(?: up | down | line ) prall | # and\n\
331
- \t\t\t\t\t\t\t(?: up | down )? mordent | # mordents\n\
332
- \t\t\t\t\t\t\tsignumcongruentiae |\n\
333
- \t\t\t\t\t\t\t(?: (?:very)? long | short)?fermata(Markup)? | # fermatas\n\
334
- \t\t\t\t\t\t\tsegno | (?:var)?coda \n\
335
- \t\t\t\t\t\t)\n\
336
- \t\t\t\t\t"
250
+ match: "(?x)\n\t\t\t\t\t\t(\\\\)\n\t\t\t\t\t\t(?: accent | markato | staccatissimo
251
+ |\t\t # basic accents\n\t\t\t\t\t\t\tespressivo | staccato | tenuto
252
+ | portato | \n\t\t\t\t\t\t\t(?:up|down)bow | flageolet | thumb |\n\t\t\t\t\t\t\t[lr](?:heel|toe)
253
+ | open | stopped |\n\t\t\t\t\t\t\t(?:reverse)?turn | trill |\n\t\t\t\t\t\t\tprall(?:
254
+ prall | mordent | down | up)? | # pralls\n\t\t\t\t\t\t\t(?: up | down
255
+ | line ) prall | # and\n\t\t\t\t\t\t\t(?: up | down )? mordent
256
+ | # mordents\n\t\t\t\t\t\t\tsignumcongruentiae |\n\t\t\t\t\t\t\t(?:
257
+ (?:very)? long | short)?fermata(Markup)? | # fermatas\n\t\t\t\t\t\t\tsegno
258
+ | (?:var)?coda \n\t\t\t\t\t\t)\n\t\t\t\t\t"
337
259
  - name: storage.modifier.articulation.dynamics.lilypond
338
- match: "(?x)\n\
339
- \t\t\t\t\t\t(\\\\) # backslash\n\
340
- \t\t\t\t\t\tp{1,5} | m[pf] | f{1,4} | fp | # forte, piano, etc.\n\
341
- \t\t\t\t\t\tsff? | spp? | [sr]fz | \n\
342
- \t\t\t\t\t\t< | > | ! | espressivo # (de)crescendo\n\
343
- \t\t\t\t\t"
260
+ match: "(?x)\n\t\t\t\t\t\t(\\\\) # backslash\n\t\t\t\t\t\tp{1,5} | m[pf] | f{1,4}
261
+ | fp | # forte, piano, etc.\n\t\t\t\t\t\tsff? | spp? | [sr]fz | \n\t\t\t\t\t\t<
262
+ | > | ! | espressivo # (de)crescendo\n\t\t\t\t\t"
344
263
  - name: storage.modifier.beam.lilypond
345
- match: \[|\]
264
+ match: "\\[|\\]"
346
265
  - name: storage.modifier.slur.lilypond
347
- match: \(|\)
348
- functions:
349
- patterns:
266
+ match: "\\(|\\)"
267
+ functions:
268
+ patterns:
350
269
  - include: "#f_clef"
351
270
  - include: "#f_time-signature"
352
271
  - include: "#f_key-signature"
353
272
  - include: "#f_keywords"
354
273
  - include: "#f_generic"
355
- strings:
274
+ strings:
356
275
  name: string.quoted.double.lilypond
357
- captures:
358
- "0":
276
+ captures:
277
+ '0':
359
278
  name: punctuation.definition.string.lilypond
360
279
  begin: "\""
361
280
  end: "\""
362
- patterns:
281
+ patterns:
363
282
  - name: constant.character.escape.lilypond
364
- match: \\.
365
- f_key-signature:
283
+ match: "\\\\."
284
+ f_key-signature:
366
285
  name: meta.element.key-signature.lilypond
367
286
  comment: FIXME
368
- music-expr:
369
- patterns:
287
+ music-expr:
288
+ patterns:
370
289
  - include: "#comments"
371
290
  - include: "#groupings"
372
291
  - include: "#strings"
373
292
  - include: "#functions"
374
293
  - include: "#scheme"
375
294
  - include: "#notes"
376
- g_system:
295
+ g_system:
377
296
  name: meta.system.lilypond
378
- endCaptures:
379
- "0":
297
+ endCaptures:
298
+ '0':
380
299
  name: punctuation.section.system.end.lilypond
381
300
  begin: "<<"
382
- beginCaptures:
383
- "0":
301
+ beginCaptures:
302
+ '0':
384
303
  name: punctuation.section.system.begin.lilypond
385
304
  end: ">>"
386
- patterns:
387
- - include: $self
388
- f_generic:
305
+ patterns:
306
+ - include: "$self"
307
+ f_generic:
389
308
  name: support.function.general.lilypond
390
- captures:
391
- "1":
309
+ captures:
310
+ '1':
392
311
  name: punctuation.definition.function.lilypond
393
- match: (\\)[a-zA-Z-]+\b
394
- groupings:
395
- patterns:
312
+ match: "(\\\\)[a-zA-Z-]+\\b"
313
+ groupings:
314
+ patterns:
396
315
  - include: "#g_system"
397
316
  - include: "#g_relative"
398
317
  - include: "#g_times"
399
318
  - include: "#group"
400
- group:
319
+ group:
401
320
  name: meta.music-expression.lilypond
402
- endCaptures:
403
- "0":
321
+ endCaptures:
322
+ '0':
404
323
  name: punctuation.section.group.end.lilypond
405
324
  begin: "{"
406
- beginCaptures:
407
- "0":
325
+ beginCaptures:
326
+ '0':
408
327
  name: punctuation.section.group.begin.lilypond
409
328
  end: "}"
410
- patterns:
329
+ patterns:
411
330
  - include: "#music-expr"
412
- g_header:
331
+ g_header:
413
332
  name: meta.header.lilypond
414
- endCaptures:
415
- "0":
333
+ endCaptures:
334
+ '0':
416
335
  name: punctuation.section.group.end.lilypond
417
- begin: ((\\)header)\s*({)
418
- beginCaptures:
419
- "1":
336
+ begin: "((\\\\)header)\\s*({)"
337
+ beginCaptures:
338
+ '1':
420
339
  name: support.function.section.header.lilypond
421
- "2":
340
+ '2':
422
341
  name: punctuation.definition.function.lilypond
423
- "3":
342
+ '3':
424
343
  name: punctuation.section.group.begin.lilypond
425
344
  end: "}"
426
- patterns:
345
+ patterns:
427
346
  - include: "#comments"
428
347
  - include: "#strings"
429
348
  - include: "#scheme"
@@ -431,62 +350,52 @@ repository:
431
350
  - name: punctuation.separator.key-value.lilypond
432
351
  match: "="
433
352
  - name: support.constant.header.lilypond
434
- match: "(?x)\n\
435
- \t\t\t\t\t\tdedication | title | subtitle | subsubtitle | poet |\n\
436
- \t\t\t\t\t\tcomposer | meter | opus | arranger | instrument |\n\
437
- \t\t\t\t\t\tpiece | breakbefore | copyright | tagline | enteredby\n\
438
- \t\t\t\t\t"
353
+ match: "(?x)\n\t\t\t\t\t\tdedication | title | subtitle | subsubtitle | poet
354
+ |\n\t\t\t\t\t\tcomposer | meter | opus | arranger | instrument |\n\t\t\t\t\t\tpiece
355
+ | breakbefore | copyright | tagline | enteredby\n\t\t\t\t\t"
439
356
  - name: support.constant.header.mutopia.lilypond
440
- match: "(?x)\n\
441
- \t\t\t\t\t\tmutopiatitle | mutopiacomposer | mutopiapoet |\n\
442
- \t\t\t\t\t\tmutopiaopus | mutopiainstrument | date | source |\n\
443
- \t\t\t\t\t\tstyle | maintainer | maintainerEmail |\n\
444
- \t\t\t\t\t\tmaintainerWeb | lastupdated\n\
445
- \t\t\t\t\t"
446
- g_m_group:
357
+ match: "(?x)\n\t\t\t\t\t\tmutopiatitle | mutopiacomposer | mutopiapoet |\n\t\t\t\t\t\tmutopiaopus
358
+ | mutopiainstrument | date | source |\n\t\t\t\t\t\tstyle | maintainer | maintainerEmail
359
+ |\n\t\t\t\t\t\tmaintainerWeb | lastupdated\n\t\t\t\t\t"
360
+ g_m_group:
447
361
  name: meta.group.lilypond
448
- endCaptures:
449
- "0":
362
+ endCaptures:
363
+ '0':
450
364
  name: punctuation.section.group.end.lilypond
451
365
  begin: "{"
452
- beginCaptures:
453
- "0":
366
+ beginCaptures:
367
+ '0':
454
368
  name: punctuation.section.group.begin.lilypond
455
369
  end: "}"
456
- patterns:
370
+ patterns:
457
371
  - include: "#f_generic"
458
372
  - include: "#strings"
459
373
  - include: "#comments"
460
374
  - include: "#scheme"
461
375
  - include: "#g_m_group"
462
- f_time-signature:
376
+ f_time-signature:
463
377
  name: meta.element.time-signature.lilypond
464
- captures:
465
- "1":
378
+ captures:
379
+ '1':
466
380
  name: support.function.element.lilypond
467
- "2":
381
+ '2':
468
382
  name: punctuation.definition.function.lilypond
469
- "3":
383
+ '3':
470
384
  name: constant.numeric.time-signature.lilypond
471
- match: "(?x)\n\
472
- \t\t\t\t((\\\\) time) \\s+ # backslash + \"time\" + spaces (groups 1-2)\n\
473
- \t\t\t\t([1-9][0-9]*/[1-9][0-9]*)?\n\
474
- \t\t\t"
385
+ match: "(?x)\n\t\t\t\t((\\\\) time) \\s+ # backslash + \"time\" + spaces (groups
386
+ 1-2)\n\t\t\t\t([1-9][0-9]*/[1-9][0-9]*)?\n\t\t\t"
475
387
  uuid: F25B30BE-0526-4D92-806C-F0D678DDF669
476
- foldingStartMarker: (\{|<<)\s*$
477
- patterns:
388
+ foldingStartMarker: "(\\{|<<)\\s*$"
389
+ patterns:
478
390
  - include: "#comments"
479
391
  - include: "#g_header"
480
392
  - include: "#groupings"
481
393
  - include: "#strings"
482
394
  - include: "#scheme"
483
395
  - include: "#functions"
484
- foldingStopMarker: (\}|>>)
485
- keyEquivalent: ^~L
486
- comment: "\n\
487
- \t\tThis bundle is, as can easily be seen, far from complete,\n\
488
- \t\tbut it should still be as useful as the Lilypond.app pyobjc\n\
489
- \t\tapplication, which has no syntax coloring, no way to do\n\
490
- \t\tsnippets, and pretty much no interesting functionality at\n\
491
- \t\tall, other than a \"Run\" menu option. :)\n\
492
- \t"
396
+ foldingStopMarker: "(\\}|>>)"
397
+ keyEquivalent: "^~L"
398
+ comment: "\n\t\tThis bundle is, as can easily be seen, far from complete,\n\t\tbut
399
+ it should still be as useful as the Lilypond.app pyobjc\n\t\tapplication, which
400
+ has no syntax coloring, no way to do\n\t\tsnippets, and pretty much no interesting
401
+ functionality at\n\t\tall, other than a \"Run\" menu option. :)\n\t"