ultraviolet1x 0.12.1

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 (246) hide show
  1. data/.gitignore +2 -0
  2. data/Gemfile +8 -0
  3. data/Gemfile.lock +16 -0
  4. data/History.txt +25 -0
  5. data/README.rdoc +29 -0
  6. data/README.txt +52 -0
  7. data/Rakefile +11 -0
  8. data/bin/theme2latexrender +122 -0
  9. data/bin/theme2xhtmlrender +156 -0
  10. data/bin/uv +140 -0
  11. data/broken_syntax/markdown.syntax +543 -0
  12. data/broken_syntax/php.syntax +1253 -0
  13. data/lib/uv/render_processor.rb +140 -0
  14. data/lib/uv/utility.rb +67 -0
  15. data/lib/uv/version.rb +3 -0
  16. data/lib/uv.rb +95 -0
  17. data/mm/manual.mm +840 -0
  18. data/render/latex/active4d.render +132 -0
  19. data/render/latex/all_hallows_eve.render +96 -0
  20. data/render/latex/amy.render +171 -0
  21. data/render/latex/blackboard.render +111 -0
  22. data/render/latex/brilliance_black.render +552 -0
  23. data/render/latex/brilliance_dull.render +561 -0
  24. data/render/latex/cobalt.render +162 -0
  25. data/render/latex/dawn.render +126 -0
  26. data/render/latex/eiffel.render +132 -0
  27. data/render/latex/espresso_libre.render +123 -0
  28. data/render/latex/idle.render +93 -0
  29. data/render/latex/iplastic.render +99 -0
  30. data/render/latex/lazy.render +96 -0
  31. data/render/latex/mac_classic.render +135 -0
  32. data/render/latex/magicwb_amiga.render +117 -0
  33. data/render/latex/pastels_on_dark.render +204 -0
  34. data/render/latex/slush_poppies.render +123 -0
  35. data/render/latex/spacecadet.render +81 -0
  36. data/render/latex/sunburst.render +186 -0
  37. data/render/latex/twilight.render +153 -0
  38. data/render/latex/zenburnesque.render +126 -0
  39. data/render/old/txt2tags.render +131 -0
  40. data/render/xhtml/active4d.render +140 -0
  41. data/render/xhtml/all_hallows_eve.render +104 -0
  42. data/render/xhtml/amy.render +179 -0
  43. data/render/xhtml/blackboard.render +119 -0
  44. data/render/xhtml/brilliance_black.render +560 -0
  45. data/render/xhtml/brilliance_dull.render +569 -0
  46. data/render/xhtml/cobalt.render +170 -0
  47. data/render/xhtml/dawn.render +134 -0
  48. data/render/xhtml/eiffel.render +140 -0
  49. data/render/xhtml/espresso_libre.render +131 -0
  50. data/render/xhtml/files/css/active4d.css +114 -0
  51. data/render/xhtml/files/css/all_hallows_eve.css +72 -0
  52. data/render/xhtml/files/css/amy.css +147 -0
  53. data/render/xhtml/files/css/blackboard.css +88 -0
  54. data/render/xhtml/files/css/brilliance_black.css +605 -0
  55. data/render/xhtml/files/css/brilliance_dull.css +599 -0
  56. data/render/xhtml/files/css/cobalt.css +149 -0
  57. data/render/xhtml/files/css/dawn.css +121 -0
  58. data/render/xhtml/files/css/eiffel.css +121 -0
  59. data/render/xhtml/files/css/espresso_libre.css +109 -0
  60. data/render/xhtml/files/css/idle.css +62 -0
  61. data/render/xhtml/files/css/iplastic.css +80 -0
  62. data/render/xhtml/files/css/lazy.css +73 -0
  63. data/render/xhtml/files/css/mac_classic.css +123 -0
  64. data/render/xhtml/files/css/magicwb_amiga.css +104 -0
  65. data/render/xhtml/files/css/pastels_on_dark.css +188 -0
  66. data/render/xhtml/files/css/slush_poppies.css +85 -0
  67. data/render/xhtml/files/css/spacecadet.css +51 -0
  68. data/render/xhtml/files/css/sunburst.css +180 -0
  69. data/render/xhtml/files/css/twilight.css +137 -0
  70. data/render/xhtml/files/css/zenburnesque.css +91 -0
  71. data/render/xhtml/idle.render +101 -0
  72. data/render/xhtml/iplastic.render +107 -0
  73. data/render/xhtml/lazy.render +104 -0
  74. data/render/xhtml/mac_classic.render +143 -0
  75. data/render/xhtml/magicwb_amiga.render +125 -0
  76. data/render/xhtml/pastels_on_dark.render +212 -0
  77. data/render/xhtml/slush_poppies.render +131 -0
  78. data/render/xhtml/spacecadet.render +89 -0
  79. data/render/xhtml/sunburst.render +194 -0
  80. data/render/xhtml/twilight.render +161 -0
  81. data/render/xhtml/zenburnesque.render +134 -0
  82. data/syntax/actionscript.syntax +97 -0
  83. data/syntax/active4d.syntax +276 -0
  84. data/syntax/active4d_html.syntax +311 -0
  85. data/syntax/active4d_ini.syntax +50 -0
  86. data/syntax/active4d_library.syntax +21 -0
  87. data/syntax/ada.syntax +33 -0
  88. data/syntax/antlr.syntax +151 -0
  89. data/syntax/apache.syntax +191 -0
  90. data/syntax/applescript.syntax +384 -0
  91. data/syntax/asp.syntax +70 -0
  92. data/syntax/asp_vb.net.syntax +129 -0
  93. data/syntax/bibtex.syntax +151 -0
  94. data/syntax/blog_html.syntax +41 -0
  95. data/syntax/blog_markdown.syntax +42 -0
  96. data/syntax/blog_text.syntax +27 -0
  97. data/syntax/blog_textile.syntax +27 -0
  98. data/syntax/buggy/nemerle.syntax +74 -0
  99. data/syntax/build.syntax +53 -0
  100. data/syntax/bulletin_board.syntax +287 -0
  101. data/syntax/c++.syntax +186 -0
  102. data/syntax/c.syntax +414 -0
  103. data/syntax/cake.syntax +55 -0
  104. data/syntax/camlp4.syntax +36 -0
  105. data/syntax/cm.syntax +32 -0
  106. data/syntax/coffeescript.syntax +216 -0
  107. data/syntax/coldfusion.syntax +119 -0
  108. data/syntax/context_free.syntax +176 -0
  109. data/syntax/cs.syntax +59 -0
  110. data/syntax/css.syntax +195 -0
  111. data/syntax/css_experimental.syntax +1925 -0
  112. data/syntax/csv.syntax +68 -0
  113. data/syntax/d.syntax +142 -0
  114. data/syntax/diff.syntax +81 -0
  115. data/syntax/dokuwiki.syntax +204 -0
  116. data/syntax/dot.syntax +47 -0
  117. data/syntax/doxygen.syntax +43 -0
  118. data/syntax/dylan.syntax +62 -0
  119. data/syntax/eiffel.syntax +78 -0
  120. data/syntax/erlang.syntax +922 -0
  121. data/syntax/f-script.syntax +80 -0
  122. data/syntax/fortran.syntax +141 -0
  123. data/syntax/fxscript.syntax +142 -0
  124. data/syntax/greasemonkey.syntax +34 -0
  125. data/syntax/gri.syntax +83 -0
  126. data/syntax/groovy.syntax +191 -0
  127. data/syntax/gtd.syntax +22 -0
  128. data/syntax/gtdalt.syntax +143 -0
  129. data/syntax/haml.syntax +88 -0
  130. data/syntax/haskell.syntax +88 -0
  131. data/syntax/html-asp.syntax +27 -0
  132. data/syntax/html.syntax +362 -0
  133. data/syntax/html_django.syntax +36 -0
  134. data/syntax/html_for_asp.net.syntax +424 -0
  135. data/syntax/html_mason.syntax +119 -0
  136. data/syntax/html_rails.syntax +40 -0
  137. data/syntax/html_tcl.syntax +26 -0
  138. data/syntax/icalendar.syntax +32 -0
  139. data/syntax/inform.syntax +48 -0
  140. data/syntax/ini.syntax +55 -0
  141. data/syntax/installer_distribution_script.syntax +77 -0
  142. data/syntax/io.syntax +81 -0
  143. data/syntax/java.syntax +211 -0
  144. data/syntax/javaproperties.syntax +20 -0
  145. data/syntax/javascript.syntax +256 -0
  146. data/syntax/javascript_+_prototype.syntax +72 -0
  147. data/syntax/javascript_+_prototype_bracketed.syntax +140 -0
  148. data/syntax/jquery_javascript.syntax +114 -0
  149. data/syntax/json.syntax +136 -0
  150. data/syntax/languagedefinition.syntax +708 -0
  151. data/syntax/latex.syntax +566 -0
  152. data/syntax/latex_beamer.syntax +41 -0
  153. data/syntax/latex_log.syntax +50 -0
  154. data/syntax/latex_memoir.syntax +64 -0
  155. data/syntax/lexflex.syntax +219 -0
  156. data/syntax/lighttpd.syntax +54 -0
  157. data/syntax/lilypond.syntax +492 -0
  158. data/syntax/lisp.syntax +61 -0
  159. data/syntax/literate_haskell.syntax +24 -0
  160. data/syntax/logo.syntax +29 -0
  161. data/syntax/logtalk.syntax +152 -0
  162. data/syntax/lua.syntax +86 -0
  163. data/syntax/m.syntax +142 -0
  164. data/syntax/macports_portfile.syntax +163 -0
  165. data/syntax/mail.syntax +118 -0
  166. data/syntax/makefile.syntax +36 -0
  167. data/syntax/man.syntax +17 -0
  168. data/syntax/mediawiki.syntax +567 -0
  169. data/syntax/mel.syntax +92 -0
  170. data/syntax/mips.syntax +66 -0
  171. data/syntax/mod_perl.syntax +50 -0
  172. data/syntax/modula-3.syntax +47 -0
  173. data/syntax/moinmoin.syntax +189 -0
  174. data/syntax/mootools.syntax +572 -0
  175. data/syntax/movable_type.syntax +162 -0
  176. data/syntax/multimarkdown.syntax +39 -0
  177. data/syntax/objective-c++.syntax +18 -0
  178. data/syntax/objective-c.syntax +233 -0
  179. data/syntax/ocaml.syntax +764 -0
  180. data/syntax/ocamllex.syntax +167 -0
  181. data/syntax/ocamlyacc.syntax +184 -0
  182. data/syntax/old/YAML.yaml +160 -0
  183. data/syntax/old/txt2tags.yaml +139 -0
  184. data/syntax/opengl.syntax +14 -0
  185. data/syntax/pascal.syntax +77 -0
  186. data/syntax/perl.syntax +1115 -0
  187. data/syntax/plain_text.syntax +32 -0
  188. data/syntax/pmwiki.syntax +113 -0
  189. data/syntax/postscript.syntax +114 -0
  190. data/syntax/processing.syntax +106 -0
  191. data/syntax/prolog.syntax +40 -0
  192. data/syntax/property_list.syntax +635 -0
  193. data/syntax/python.syntax +868 -0
  194. data/syntax/python_django.syntax +21 -0
  195. data/syntax/qmake_project.syntax +114 -0
  196. data/syntax/qt_c++.syntax +26 -0
  197. data/syntax/quake3_config.syntax +32 -0
  198. data/syntax/r.syntax +81 -0
  199. data/syntax/r_console.syntax +16 -0
  200. data/syntax/ragel.syntax +201 -0
  201. data/syntax/rd_r_documentation.syntax +91 -0
  202. data/syntax/regexp.syntax +50 -0
  203. data/syntax/regular_expressions_oniguruma.syntax +107 -0
  204. data/syntax/regular_expressions_python.syntax +109 -0
  205. data/syntax/release_notes.syntax +46 -0
  206. data/syntax/remind.syntax +253 -0
  207. data/syntax/restructuredtext.syntax +250 -0
  208. data/syntax/rez.syntax +80 -0
  209. data/syntax/ruby.syntax +1035 -0
  210. data/syntax/ruby_experimental.syntax +145 -0
  211. data/syntax/ruby_on_rails.syntax +88 -0
  212. data/syntax/s5.syntax +69 -0
  213. data/syntax/sass.syntax +45 -0
  214. data/syntax/scheme.syntax +347 -0
  215. data/syntax/scilab.syntax +41 -0
  216. data/syntax/setext.syntax +147 -0
  217. data/syntax/shell-unix-generic.syntax +384 -0
  218. data/syntax/slate.syntax +149 -0
  219. data/syntax/smarty.syntax +63 -0
  220. data/syntax/sql.syntax +237 -0
  221. data/syntax/sql_rails.syntax +18 -0
  222. data/syntax/ssh-config.syntax +33 -0
  223. data/syntax/standard_ml.syntax +121 -0
  224. data/syntax/strings_file.syntax +39 -0
  225. data/syntax/subversion_commit_message.syntax +36 -0
  226. data/syntax/sweave.syntax +84 -0
  227. data/syntax/swig.syntax +57 -0
  228. data/syntax/tcl.syntax +152 -0
  229. data/syntax/template_toolkit.syntax +121 -0
  230. data/syntax/tex.syntax +86 -0
  231. data/syntax/tex_math.syntax +49 -0
  232. data/syntax/textile.syntax +215 -0
  233. data/syntax/tsv.syntax +50 -0
  234. data/syntax/twiki.syntax +241 -0
  235. data/syntax/txt2tags.syntax +79 -0
  236. data/syntax/vectorscript.syntax +57 -0
  237. data/syntax/xhtml_1.0.syntax +4027 -0
  238. data/syntax/xml.syntax +180 -0
  239. data/syntax/xml_strict.syntax +92 -0
  240. data/syntax/xsl.syntax +60 -0
  241. data/syntax/yaml.syntax +160 -0
  242. data/syntax/yui_javascript.syntax +176 -0
  243. data/test/ultraviolet_test.rb +17 -0
  244. data/test/uv_test.rb +0 -0
  245. data/ultraviolet1x.gemspec +22 -0
  246. metadata +333 -0
@@ -0,0 +1,347 @@
1
+ ---
2
+ name: Scheme
3
+ fileTypes:
4
+ - scm
5
+ - sch
6
+ scopeName: source.scheme
7
+ repository:
8
+ illegal:
9
+ name: invalid.illegal.parenthesis.scheme
10
+ match: "[()]"
11
+ quote-sexp:
12
+ begin: (?<=\()\s*(quote)\b\s*
13
+ contentName: string.other.quote.scheme
14
+ beginCaptures:
15
+ "1":
16
+ name: keyword.control.quote.scheme
17
+ end: (?=[\s)])|(?<=\n)
18
+ patterns:
19
+ - include: "#quoted"
20
+ comment: "\n\
21
+ \t\t\t\tSomething quoted with (quote \xC2\xABthing\xC2\xBB). In this case \xC2\xABthing\xC2\xBB\n\
22
+ \t\t\t\twill not be evaluated, so we are considering it a string.\n\
23
+ \t\t\t"
24
+ quote:
25
+ patterns:
26
+ - name: constant.other.symbol.scheme
27
+ captures:
28
+ "1":
29
+ name: punctuation.section.quoted.symbol.scheme
30
+ match: "(?x)\n\
31
+ \t\t\t\t\t\t(')\\s*\n\
32
+ \t\t\t\t\t\t([[:alnum:]][[:alnum:]!$%&*+-./:<=>?@^_~]*)\n\
33
+ \t\t\t\t\t"
34
+ - name: constant.other.empty-list.schem
35
+ captures:
36
+ "1":
37
+ name: punctuation.section.quoted.empty-list.scheme
38
+ "2":
39
+ name: meta.expression.scheme
40
+ "3":
41
+ name: punctuation.section.expression.begin.scheme
42
+ "4":
43
+ name: punctuation.section.expression.end.scheme
44
+ match: "(?x)\n\
45
+ \t\t\t\t\t\t(')\\s*\n\
46
+ \t\t\t\t\t\t((\\()\\s*(\\)))\n\
47
+ \t\t\t\t\t"
48
+ - name: string.other.quoted-object.scheme
49
+ begin: (')\s*
50
+ beginCaptures:
51
+ "1":
52
+ name: punctuation.section.quoted.scheme
53
+ end: (?=[\s()])|(?<=\n)
54
+ patterns:
55
+ - include: "#quoted"
56
+ comment: quoted double-quoted string or s-expression
57
+ comment: "\n\
58
+ \t\t\t\tWe need to be able to quote any kind of item, which creates\n\
59
+ \t\t\t\ta tiny bit of complexity in our grammar. It is hopefully\n\
60
+ \t\t\t\tnot overwhelming complexity.\n\
61
+ \t\t\t\t\n\
62
+ \t\t\t\tNote: the first two matches are special cases. quoted\n\
63
+ \t\t\t\tsymbols, and quoted empty lists are considered constant.other\n\
64
+ \t\t\t\t\n\
65
+ \t\t\t"
66
+ language-functions:
67
+ patterns:
68
+ - name: keyword.control.scheme
69
+ match: |-
70
+ (?x)
71
+ (?<=(\s|\()) # preceded by space or (
72
+ ( do|or|and|else|quasiquote|begin|if|case|set!|
73
+ cond|let|unquote|define|let\*|unquote-splicing|delay|
74
+ letrec)
75
+ (?=(\s|\())
76
+ - name: support.function.boolean-test.scheme
77
+ match: "(?x)\n\
78
+ \t\t\t\t\t\t(?<=(\\s|\\()) # preceded by space or (\n\
79
+ \t\t\t\t\t\t( char-alphabetic|char-lower-case|char-numeric|\n\
80
+ \t\t\t\t\t\t char-ready|char-upper-case|char-whitespace|\n\
81
+ \t\t\t\t\t\t (?:char|string)(?:-ci)?(?:=|<=?|>=?)|\n\
82
+ \t\t\t\t\t\t atom|boolean|bound-identifier=|char|complex|\n\
83
+ \t\t\t\t\t\t identifier|integer|symbol|free-identifier=|inexact|\n\
84
+ \t\t\t\t\t\t eof-object|exact|list|(?:input|output)-port|pair|\n\
85
+ \t\t\t\t\t\t real|rational|zero|vector|negative|odd|null|string|\n\
86
+ \t\t\t\t\t\t eq|equal|eqv|even|number|positive|procedure\n\
87
+ \t\t\t\t\t\t)\n\
88
+ \t\t\t\t\t\t(\\?)\t\t# name ends with ? sign\n\
89
+ \t\t\t\t\t\t(?=(\\s|\\()) # followed by space or (\n\
90
+ \t\t\t\t\t"
91
+ comment: "\n\
92
+ \t\t\t\t\t\tThese functions run a test, and return a boolean\n\
93
+ \t\t\t\t\t\tanswer.\n\
94
+ \t\t\t\t\t"
95
+ - name: support.function.convert-type.scheme
96
+ match: "(?x)\n\
97
+ \t\t\t\t\t\t(?<=(\\s|\\()) # preceded by space or (\n\
98
+ \t\t\t\t\t\t( char->integer|exact->inexact|inexact->exact|\n\
99
+ \t\t\t\t\t\t integer->char|symbol->string|list->vector|\n\
100
+ \t\t\t\t\t\t list->string|identifier->symbol|vector->list|\n\
101
+ \t\t\t\t\t\t string->list|string->number|string->symbol|\n\
102
+ \t\t\t\t\t\t number->string\n\
103
+ \t\t\t\t\t\t)\n\
104
+ \t\t\t\t\t\t(?=(\\s|\\()) # followed by space or (\t\t\t\t\t\n\
105
+ \t\t\t\t\t"
106
+ comment: "\n\
107
+ \t\t\t\t\t\tThese functions change one type into another.\n\
108
+ \t\t\t\t\t"
109
+ - name: support.function.with-side-effects.scheme
110
+ match: "(?x)\n\
111
+ \t\t\t\t\t\t(?<=(\\s|\\()) # preceded by space or (\n\
112
+ \t\t\t\t\t\t( set-(?:car|cdr)|\t\t\t\t # set car/cdr\n\
113
+ \t\t\t\t\t\t (?:vector|string)-(?:fill|set) # fill/set string/vector\n\
114
+ \t\t\t\t\t\t)\n\
115
+ \t\t\t\t\t\t(!)\t\t\t# name ends with ! sign\n\
116
+ \t\t\t\t\t\t(?=(\\s|\\()) # followed by space or (\n\
117
+ \t\t\t\t\t"
118
+ comment: "\n\
119
+ \t\t\t\t\t\tThese functions are potentially dangerous because\n\
120
+ \t\t\t\t\t\tthey have side-effects which could affect other\n\
121
+ \t\t\t\t\t\tparts of the program.\n\
122
+ \t\t\t\t\t"
123
+ - name: support.function.arithmetic-operators.scheme
124
+ match: "(?x)\n\
125
+ \t\t\t\t\t\t(?<=(\\s|\\()) # preceded by space or (\n\
126
+ \t\t\t\t\t\t( >=?|<=?|=|[*/+-])\n\
127
+ \t\t\t\t\t\t(?=(\\s|\\()) # followed by space or (\n\
128
+ \t\t\t\t\t\t"
129
+ comment: "\n\
130
+ \t\t\t\t\t\t+, -, *, /, =, >, etc. \n\
131
+ \t\t\t\t\t"
132
+ - name: support.function.general.scheme
133
+ match: "(?x)\n\
134
+ \t\t\t\t\t\t(?<=(\\s|\\()) # preceded by space or (\n\
135
+ \t\t\t\t\t\t( append|apply|approximate|\n\
136
+ \t\t\t\t\t\t call-with-current-continuation|call/cc|catch|\n\
137
+ \t\t\t\t\t\t construct-identifier|define-syntax|display|foo|\n\
138
+ \t\t\t\t\t\t for-each|force|cd|gen-counter|gen-loser|\n\
139
+ \t\t\t\t\t\t generate-identifier|last-pair|length|let-syntax|\n\
140
+ \t\t\t\t\t\t letrec-syntax|list|list-ref|list-tail|load|log|\n\
141
+ \t\t\t\t\t\t macro|magnitude|map|map-streams|max|member|memq|\n\
142
+ \t\t\t\t\t\t memv|min|newline|nil|not|peek-char|rationalize|\n\
143
+ \t\t\t\t\t\t read|read-char|return|reverse|sequence|substring|\n\
144
+ \t\t\t\t\t\t syntax|syntax-rules|transcript-off|transcript-on|\n\
145
+ \t\t\t\t\t\t truncate|unwrap-syntax|values-list|write|write-char|\n\
146
+ \t\t\t\t\t\t \n\
147
+ \t\t\t\t\t\t # cons, car, cdr, etc\n\
148
+ \t\t\t\t\t\t cons|c(a|d){1,4}r| \n \n\
149
+ \t\t\t\t\t\t # unary math operators\n\
150
+ \t\t\t\t\t\t abs|acos|angle|asin|assoc|assq|assv|atan|ceiling|\n\
151
+ \t\t\t\t\t\t cos|floor|round|sin|sqrt|tan|\n\
152
+ \t\t\t\t\t\t (?:real|imag)-part|numerator|denominator\n \n\
153
+ \t\t\t\t\t\t # other math operators\n\
154
+ \t\t\t\t\t\t modulo|exp|expt|remainder|quotient|lcm|\n \n\
155
+ \t\t\t\t\t\t # ports / files\n\
156
+ \t\t\t\t\t\t call-with-(?:input|output)-file|\n\
157
+ \t\t\t\t\t\t (?:close|current)-(?:input|output)-port|\n\
158
+ \t\t\t\t\t\t with-(?:input|output)-from-file|\n\
159
+ \t\t\t\t\t\t open-(?:input|output)-file|\n\
160
+ \t\t\t\t\t\t \n\
161
+ \t\t\t\t\t\t # char-\xC2\xABfoo\xC2\xBB\n\
162
+ \t\t\t\t\t\t char-(?:downcase|upcase|ready)|\n\
163
+ \t\t\t\t\t\t \n\
164
+ \t\t\t\t\t\t # make-\xC2\xABfoo\xC2\xBB\n\
165
+ \t\t\t\t\t\t make-(?:polar|promise|rectangular|string|vector)\n\
166
+ \t\t\t\t\t\t \n\
167
+ \t\t\t\t\t\t # string-\xC2\xABfoo\xC2\xBB, vector-\xC2\xABfoo\xC2\xBB\n\
168
+ \t\t\t\t\t\t string(?:-(?:append|copy|length|ref))?|\n\
169
+ \t\t\t\t\t\t vector(?:-length|-ref)\n\
170
+ \t\t\t\t\t\t)\n\
171
+ \t\t\t\t\t\t(?=(\\s|\\()) # followed by space or (\n\
172
+ \t\t\t\t\t"
173
+ quoted:
174
+ patterns:
175
+ - include: "#string"
176
+ - name: meta.expression.scheme
177
+ endCaptures:
178
+ "1":
179
+ name: punctuation.section.expression.end.scheme
180
+ begin: (\()
181
+ beginCaptures:
182
+ "1":
183
+ name: punctuation.section.expression.begin.scheme
184
+ end: (\))
185
+ patterns:
186
+ - include: "#quoted"
187
+ - include: "#quote"
188
+ - include: "#illegal"
189
+ constants:
190
+ patterns:
191
+ - name: constant.language.boolean.scheme
192
+ match: "#[t|f]"
193
+ - name: constant.numeric.scheme
194
+ match: (?<=[\(\s])(#e|#i)?[0-9][0-9.]*
195
+ - name: constant.numeric.scheme
196
+ match: (?<=[\(\s])(#x)[0-9a-fA-F]+
197
+ - name: constant.numeric.scheme
198
+ match: (?<=[\(\s])(#o)[0-7]+
199
+ - name: constant.numeric.scheme
200
+ match: (?<=[\(\s])(#b)[01]+
201
+ comment:
202
+ name: comment.line.semicolon.scheme
203
+ captures:
204
+ "1":
205
+ name: punctuation.definition.comment.semicolon.scheme
206
+ match: (;).*$\n?
207
+ string:
208
+ name: string.quoted.double.scheme
209
+ endCaptures:
210
+ "1":
211
+ name: punctuation.definition.string.end.scheme
212
+ begin: (")
213
+ beginCaptures:
214
+ "1":
215
+ name: punctuation.definition.string.begin.scheme
216
+ end: (")
217
+ patterns:
218
+ - name: constant.character.escape.scheme
219
+ match: \\.
220
+ sexp:
221
+ name: meta.expression.scheme
222
+ endCaptures:
223
+ "1":
224
+ name: punctuation.section.expression.end.scheme
225
+ "2":
226
+ name: meta.after-expression.scheme
227
+ begin: (\()
228
+ beginCaptures:
229
+ "1":
230
+ name: punctuation.section.expression.begin.scheme
231
+ end: (\))(\n)?
232
+ patterns:
233
+ - include: "#comment"
234
+ - name: meta.declaration.procedure.scheme
235
+ captures:
236
+ "1":
237
+ name: keyword.control.scheme
238
+ "2":
239
+ name: entity.name.function.scheme
240
+ "3":
241
+ name: variable.parameter.function.scheme
242
+ begin: "(?x)\n\
243
+ \t\t\t\t\t\t(?<=\\() # preceded by (\n\
244
+ \t\t\t\t\t\t(define)\\s+ # define\n\
245
+ \t\t\t\t\t\t\\( # list of parameters\n\
246
+ \t\t\t\t\t\t ([[:alnum:]][[:alnum:]!$%&*+-./:<=>?@^_~]*)\n\
247
+ \t\t\t\t\t\t ((\\s+\n\
248
+ \t\t\t\t\t\t ([[:alnum:]][[:alnum:]!$%&*+-./:<=>?@^_~]*|[._])\n\
249
+ \t\t\t\t\t\t )*\n\
250
+ \t\t\t\t\t\t )\\s*\n\
251
+ \t\t\t\t\t\t\\)\n\
252
+ \t\t\t\t\t"
253
+ end: (?=\))
254
+ patterns:
255
+ - include: "#comment"
256
+ - include: "#sexp"
257
+ - include: "#illegal"
258
+ - name: meta.declaration.procedure.scheme
259
+ captures:
260
+ "1":
261
+ name: keyword.control.scheme
262
+ "2":
263
+ name: variable.parameter.scheme
264
+ begin: "(?x)\n\
265
+ \t\t\t\t\t\t(?<=\\() # preceded by (\n\
266
+ \t\t\t\t\t\t(lambda)\\s+\n\
267
+ \t\t\t\t\t\t(\\() # opening paren\n\
268
+ \t\t\t\t\t\t((?:\n\
269
+ \t\t\t\t\t\t ([[:alnum:]][[:alnum:]!$%&*+-./:<=>?@^_~]*|[._])\n\
270
+ \t\t\t\t\t\t \\s*\n\
271
+ \t\t\t\t\t\t)*)\n\
272
+ \t\t\t\t\t\t(\\)) # closing paren\n\
273
+ \t\t\t\t\t"
274
+ end: (?=\))
275
+ patterns:
276
+ - include: "#comment"
277
+ - include: "#sexp"
278
+ - include: "#illegal"
279
+ comment: "\n\
280
+ \t\t\t\t\t\tNot sure this one is quite correct. That \\s* is\n\
281
+ \t\t\t\t\t\tparticularly troubling\n\
282
+ \t\t\t\t\t"
283
+ - name: meta.declaration.variable.scheme
284
+ captures:
285
+ "1":
286
+ name: keyword.control.scheme
287
+ "2":
288
+ name: variable.other.scheme
289
+ begin: (?<=\()(define)\s([[:alnum:]][[:alnum:]!$%&*+-./:<=>?@^_~]*)\s*.*?
290
+ end: (?=\))
291
+ patterns:
292
+ - include: "#comment"
293
+ - include: "#sexp"
294
+ - include: "#illegal"
295
+ - include: "#quote-sexp"
296
+ - include: "#quote"
297
+ - include: "#language-functions"
298
+ - include: "#string"
299
+ - include: "#constants"
300
+ - name: constant.character.named.scheme
301
+ match: (?<=[\(\s])(#\\)(space|newline|tab)(?=[\s\)])
302
+ - name: constant.character.hex-literal.scheme
303
+ match: (?<=[\(\s])(#\\)x[0-9A-F]{2,4}(?=[\s\)])
304
+ - name: constant.character.escape.scheme
305
+ match: (?<=[\(\s])(#\\).(?=[\s\)])
306
+ - name: punctuation.separator.cons.scheme
307
+ match: (?<=[ ()])\.(?=[ ()])
308
+ comment: "\n\
309
+ \t\t\t\t\t\tthe . in (a . b) which conses together two elements\n\
310
+ \t\t\t\t\t\ta and b. (a b c) == (a . (b . (c . nil)))\n\
311
+ \t\t\t\t\t"
312
+ - include: "#sexp"
313
+ - include: "#illegal"
314
+ uuid: 3EC2CFD0-909C-4692-AC29-1A60ADBC161E
315
+ foldingStartMarker: |-
316
+ (?x)^ [ \t]* \(
317
+ (?<par>
318
+ ( [^()\n]++ | \( \g<par> \)? )*+
319
+ )
320
+ $
321
+ patterns:
322
+ - include: "#comment"
323
+ - include: "#sexp"
324
+ - include: "#string"
325
+ - include: "#language-functions"
326
+ - include: "#quote"
327
+ - include: "#illegal"
328
+ foldingStopMarker: |-
329
+ (?x)^ [ \t]*
330
+ (?<par>
331
+ ( [^()\n]++ | \( \g<par> \) )*+
332
+ )
333
+ ( \) [ \t]*+ ) ++
334
+ $
335
+ keyEquivalent: ^~S
336
+ comment: "\n\
337
+ \t\tThe foldings do not currently work the way I want them to. This\n\
338
+ \t\tmay be a limitation of the way they are applied rather than the\n\
339
+ \t\tregexps in use. Nonetheless, the foldings will end on the last\n\
340
+ \t\tidentically indented blank line following an s-expression. Not\n\
341
+ \t\tideal perhaps, but it works. Also, the #illegal pattern never\n\
342
+ \t\tmatches an unpaired ( as being illegal. Why?! -- Rob Rix\n\
343
+ \t\t\n\
344
+ \t\tOk, hopefully this grammar works better on quoted stuff now. It\n\
345
+ \t\tmay break for fancy macros, but should generally work pretty\n\
346
+ \t\tsmoothly. -- Jacob Rus\n\
347
+ \t"
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: Scilab
3
+ fileTypes:
4
+ - sce
5
+ - sci
6
+ - tst
7
+ - dem
8
+ scopeName: source.scilab
9
+ uuid: 14374AA3-A329-4623-8DFA-1ACC2CE222B9
10
+ foldingStartMarker: ^(?!.*//.*).*\b(if|while|for|function|select)\b
11
+ patterns:
12
+ - name: comment.line.double-slash.scilab
13
+ begin: //
14
+ end: $\n?
15
+ - name: constant.numeric.scilab
16
+ match: \b(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?\b
17
+ - name: support.constant.scilab
18
+ match: (%inf|%i|%pi|%eps|%e|%nan|%s|%t|%f)\b
19
+ - name: string.quoted.double.scilab
20
+ begin: "\""
21
+ end: "\"(?!\")"
22
+ patterns:
23
+ - name: constant.character.escape.scilab
24
+ match: "''|\"\""
25
+ - name: string.quoted.single.scilab
26
+ begin: (?<![\w\]\)])'
27
+ end: "'(?!')"
28
+ patterns:
29
+ - name: constant.character.escape.scilab
30
+ match: "''|\"\""
31
+ - captures:
32
+ "1":
33
+ name: keyword.control.scilab
34
+ "2":
35
+ name: entity.name.function.scilab
36
+ match: \b(function)\s+(?:[^=]+=\s*)?(\w+)(?:\s*\(.*\))?
37
+ - name: keyword.control.scilab
38
+ match: \b(if|then|else|elseif|while|for|function|end|endfunction|return|select|case|break|global)\b
39
+ - name: punctuation.separator.continuation.scilab
40
+ match: \.\.\.\s*$
41
+ foldingStopMarker: \b(endfunction|end)\b
@@ -0,0 +1,147 @@
1
+ ---
2
+ name: Setext
3
+ fileTypes:
4
+ - etx
5
+ - etx.txt
6
+ firstLineMatch: setext
7
+ scopeName: text.setext
8
+ repository:
9
+ underline:
10
+ name: markup.underline.setext
11
+ captures:
12
+ "1":
13
+ name: punctuation.definition.underline.setext
14
+ "2":
15
+ name: punctuation.definition.underline.setext
16
+ "3":
17
+ name: punctuation.definition.underline.setext
18
+ "4":
19
+ name: punctuation.definition.underline.setext
20
+ match: \b(_)\w+(?<!_)(_)\b|\b(_).+(?<!_)(_)\b
21
+ hotword:
22
+ name: meta.link.reference.setext
23
+ captures:
24
+ "0":
25
+ name: constant.other.reference.link.setext
26
+ "1":
27
+ name: punctuation.definition.reference.setext
28
+ match: \b[-\w.]*\w(?<!_)(_)\b
29
+ inline:
30
+ patterns:
31
+ - include: "#italic"
32
+ - include: "#bold"
33
+ - include: "#underline"
34
+ - include: "#hotword"
35
+ - include: "#link"
36
+ - include: "#doc_separator"
37
+ bold:
38
+ name: markup.bold.setext
39
+ captures:
40
+ "1":
41
+ name: punctuation.definition.bold.setext
42
+ "2":
43
+ name: punctuation.definition.bold.setext
44
+ match: ([*]{2}).+?([*]{2})
45
+ link:
46
+ captures:
47
+ "1":
48
+ name: punctuation.definition.link.setext
49
+ "2":
50
+ name: markup.underline.link.setext
51
+ "3":
52
+ name: punctuation.definition.link.setext
53
+ match: (<)((?i:mailto|https?|ftp|news)://.*?)(>)
54
+ comment: Not actually part of setext, added for Tidbits.
55
+ doc_separator:
56
+ name: meta.separator.document.setext
57
+ captures:
58
+ "1":
59
+ name: punctuation.definition.separator.setext
60
+ match: \s*(\$\$)$\n?
61
+ italic:
62
+ name: markup.italic.setext
63
+ captures:
64
+ "1":
65
+ name: punctuation.definition.italic.setext
66
+ "2":
67
+ name: punctuation.definition.italic.setext
68
+ match: (~)\w+(~)
69
+ uuid: FB227CE6-DC4C-4632-BCA3-965AE0D8E419
70
+ patterns:
71
+ - include: "#inline"
72
+ - name: meta.header.setext
73
+ captures:
74
+ "1":
75
+ name: keyword.other.setext
76
+ "2":
77
+ name: punctuation.separator.key-value.setext
78
+ "3":
79
+ name: string.unquoted.setext
80
+ match: ^(Subject|Date|From)(:) (.+)
81
+ - name: markup.heading.1.setext
82
+ match: ^={3,}\s*$\n?
83
+ - name: markup.heading.2.setext
84
+ match: ^-{3,}\s*$\n?
85
+ - name: markup.quote.setext
86
+ captures:
87
+ "1":
88
+ name: punctuation.definition.quote.setext
89
+ begin: ^(>)\s
90
+ end: $
91
+ patterns:
92
+ - include: "#inline"
93
+ - name: markup.other.bullet.setext
94
+ captures:
95
+ "1":
96
+ name: punctuation.definition.bullet.setext
97
+ begin: ^([*])\s
98
+ end: $
99
+ patterns:
100
+ - include: "#inline"
101
+ - name: markup.raw.setext
102
+ endCaptures:
103
+ "0":
104
+ name: punctuation.definition.raw.end.setext
105
+ begin: "`"
106
+ beginCaptures:
107
+ "0":
108
+ name: punctuation.definition.raw.begin.setext
109
+ end: "`"
110
+ - name: meta.note.def.setext
111
+ captures:
112
+ "7":
113
+ name: punctuation.definition.string.end.setext
114
+ "1":
115
+ name: punctuation.definition.note.setext
116
+ "2":
117
+ name: constant.other.reference.note.setext
118
+ "3":
119
+ name: punctuation.definition.reference.setext
120
+ "4":
121
+ name: string.quoted.other.note.setext
122
+ "5":
123
+ name: punctuation.definition.string.begin.setext
124
+ match: ^(\.{2}) ((_)[-\w.]+) +((\()(.+(\))|.+))$
125
+ - name: meta.link.reference.def.setext
126
+ captures:
127
+ "1":
128
+ name: punctuation.definition.reference.setext
129
+ "2":
130
+ name: constant.other.reference.link.setext
131
+ "3":
132
+ name: punctuation.definition.reference.setext
133
+ "4":
134
+ name: markup.underline.link.setext
135
+ match: ^(\.{2}) ((_)[-\w.]+) +(.{2,})$
136
+ - name: comment.line.double-dot.setext
137
+ captures:
138
+ "1":
139
+ name: punctuation.definition.comment.setext
140
+ match: ^(\.{2}) (?![.]).+$\n?
141
+ - name: comment.block.logical_end_of_text.setext
142
+ captures:
143
+ "1":
144
+ name: punctuation.definition.comment.setext
145
+ begin: ^(\.{2})$
146
+ end: not(?<=possible)
147
+ keyEquivalent: ^~S