ultraviolet 0.9.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 (212) hide show
  1. data/History.txt +5 -0
  2. data/Manifest.txt +216 -0
  3. data/README.txt +52 -0
  4. data/Rakefile +51 -0
  5. data/bin/theme2render +104 -0
  6. data/bin/uv +162 -0
  7. data/lib/uv.rb +84 -0
  8. data/lib/uv/html_processor.rb +89 -0
  9. data/render/old/txt2tags.render +131 -0
  10. data/render/xhtml/active4d.render +105 -0
  11. data/render/xhtml/all_hallows_eve.render +69 -0
  12. data/render/xhtml/amy.render +144 -0
  13. data/render/xhtml/blackboard.render +84 -0
  14. data/render/xhtml/brilliance_black.render +575 -0
  15. data/render/xhtml/brilliance_dull.render +534 -0
  16. data/render/xhtml/cobalt.render +135 -0
  17. data/render/xhtml/dawn.render +99 -0
  18. data/render/xhtml/eiffel.render +105 -0
  19. data/render/xhtml/espresso_libre.render +96 -0
  20. data/render/xhtml/files/css/active4d.css +114 -0
  21. data/render/xhtml/files/css/all_hallows_eve.css +72 -0
  22. data/render/xhtml/files/css/amy.css +144 -0
  23. data/render/xhtml/files/css/blackboard.css +88 -0
  24. data/render/xhtml/files/css/brilliance_black.css +632 -0
  25. data/render/xhtml/files/css/brilliance_dull.css +579 -0
  26. data/render/xhtml/files/css/cobalt.css +149 -0
  27. data/render/xhtml/files/css/dawn.css +121 -0
  28. data/render/xhtml/files/css/eiffel.css +121 -0
  29. data/render/xhtml/files/css/espresso_libre.css +109 -0
  30. data/render/xhtml/files/css/idle.css +62 -0
  31. data/render/xhtml/files/css/iplastic.css +80 -0
  32. data/render/xhtml/files/css/lazy.css +73 -0
  33. data/render/xhtml/files/css/mac_classic.css +123 -0
  34. data/render/xhtml/files/css/magicwb_amiga.css +101 -0
  35. data/render/xhtml/files/css/pastels_on_dark.css +188 -0
  36. data/render/xhtml/files/css/slush_poppies.css +85 -0
  37. data/render/xhtml/files/css/spacecadet.css +51 -0
  38. data/render/xhtml/files/css/sunburst.css +180 -0
  39. data/render/xhtml/files/css/twilight.css +137 -0
  40. data/render/xhtml/files/css/zenburnesque.css +88 -0
  41. data/render/xhtml/idle.render +66 -0
  42. data/render/xhtml/iplastic.render +72 -0
  43. data/render/xhtml/lazy.render +69 -0
  44. data/render/xhtml/mac_classic.render +108 -0
  45. data/render/xhtml/magicwb_amiga.render +90 -0
  46. data/render/xhtml/pastels_on_dark.render +177 -0
  47. data/render/xhtml/slush_poppies.render +96 -0
  48. data/render/xhtml/spacecadet.render +54 -0
  49. data/render/xhtml/sunburst.render +159 -0
  50. data/render/xhtml/twilight.render +126 -0
  51. data/render/xhtml/zenburnesque.render +99 -0
  52. data/syntax/actionscript.syntax +97 -0
  53. data/syntax/active4d.syntax +276 -0
  54. data/syntax/active4d_html.syntax +311 -0
  55. data/syntax/active4d_ini.syntax +50 -0
  56. data/syntax/active4d_library.syntax +21 -0
  57. data/syntax/ada.syntax +33 -0
  58. data/syntax/antlr.syntax +128 -0
  59. data/syntax/apache.syntax +176 -0
  60. data/syntax/applescript.syntax +384 -0
  61. data/syntax/asp.syntax +70 -0
  62. data/syntax/asp_vb.net.syntax +129 -0
  63. data/syntax/bibtex.syntax +151 -0
  64. data/syntax/blog_html.syntax +41 -0
  65. data/syntax/blog_markdown.syntax +42 -0
  66. data/syntax/blog_text.syntax +27 -0
  67. data/syntax/blog_textile.syntax +27 -0
  68. data/syntax/buggy/nemerle.yaml +74 -0
  69. data/syntax/build.syntax +53 -0
  70. data/syntax/bulletin_board.syntax +287 -0
  71. data/syntax/c++.syntax +109 -0
  72. data/syntax/c.syntax +326 -0
  73. data/syntax/cake.syntax +55 -0
  74. data/syntax/camlp4.syntax +36 -0
  75. data/syntax/coldfusion.syntax +118 -0
  76. data/syntax/context_free.syntax +176 -0
  77. data/syntax/cs.syntax +59 -0
  78. data/syntax/css.syntax +190 -0
  79. data/syntax/css_experimental.syntax +1925 -0
  80. data/syntax/csv.syntax +68 -0
  81. data/syntax/d.syntax +138 -0
  82. data/syntax/diff.syntax +81 -0
  83. data/syntax/dokuwiki.syntax +204 -0
  84. data/syntax/dot.syntax +47 -0
  85. data/syntax/doxygen.syntax +43 -0
  86. data/syntax/dylan.syntax +62 -0
  87. data/syntax/eiffel.syntax +78 -0
  88. data/syntax/erlang.syntax +922 -0
  89. data/syntax/f-script.syntax +80 -0
  90. data/syntax/fortran.syntax +141 -0
  91. data/syntax/fxscript.syntax +142 -0
  92. data/syntax/greasemonkey.syntax +34 -0
  93. data/syntax/gri.syntax +83 -0
  94. data/syntax/groovy.syntax +189 -0
  95. data/syntax/gtd2_text.syntax +31 -0
  96. data/syntax/gtdalt.syntax +143 -0
  97. data/syntax/haml.syntax +88 -0
  98. data/syntax/haskell.syntax +88 -0
  99. data/syntax/html-asp.syntax +27 -0
  100. data/syntax/html.syntax +362 -0
  101. data/syntax/html_django.syntax +36 -0
  102. data/syntax/html_for_asp.net.syntax +424 -0
  103. data/syntax/html_mason.syntax +119 -0
  104. data/syntax/html_rails.syntax +40 -0
  105. data/syntax/html_tcl.syntax +26 -0
  106. data/syntax/icalendar.syntax +32 -0
  107. data/syntax/inform.syntax +48 -0
  108. data/syntax/ini.syntax +54 -0
  109. data/syntax/installer_distribution_script.syntax +77 -0
  110. data/syntax/io.syntax +81 -0
  111. data/syntax/java.syntax +211 -0
  112. data/syntax/javaproperties.syntax +20 -0
  113. data/syntax/javascript.syntax +255 -0
  114. data/syntax/javascript_+_prototype.syntax +72 -0
  115. data/syntax/javascript_+_prototype_bracketed.syntax +140 -0
  116. data/syntax/jquery_javascript.syntax +114 -0
  117. data/syntax/json.syntax +136 -0
  118. data/syntax/languagedefinition.syntax +697 -0
  119. data/syntax/latex.syntax +566 -0
  120. data/syntax/latex_beamer.syntax +41 -0
  121. data/syntax/latex_log.syntax +50 -0
  122. data/syntax/latex_memoir.syntax +64 -0
  123. data/syntax/lexflex.syntax +219 -0
  124. data/syntax/lighttpd.syntax +54 -0
  125. data/syntax/lilypond.syntax +492 -0
  126. data/syntax/lisp.syntax +61 -0
  127. data/syntax/literate_haskell.syntax +24 -0
  128. data/syntax/logo.syntax +29 -0
  129. data/syntax/logtalk.syntax +152 -0
  130. data/syntax/lua.syntax +86 -0
  131. data/syntax/m.syntax +142 -0
  132. data/syntax/macports_portfile.syntax +143 -0
  133. data/syntax/mail.syntax +118 -0
  134. data/syntax/makefile.syntax +35 -0
  135. data/syntax/man.syntax +17 -0
  136. data/syntax/markdown.syntax +543 -0
  137. data/syntax/mediawiki.syntax +567 -0
  138. data/syntax/mel.syntax +92 -0
  139. data/syntax/mips.syntax +66 -0
  140. data/syntax/mod_perl.syntax +50 -0
  141. data/syntax/modula-3.syntax +47 -0
  142. data/syntax/moinmoin.syntax +189 -0
  143. data/syntax/mootools.syntax +572 -0
  144. data/syntax/movable_type.syntax +162 -0
  145. data/syntax/multimarkdown.syntax +39 -0
  146. data/syntax/objective-c++.syntax +18 -0
  147. data/syntax/objective-c.syntax +226 -0
  148. data/syntax/ocaml.syntax +764 -0
  149. data/syntax/ocamllex.syntax +167 -0
  150. data/syntax/ocamlyacc.syntax +184 -0
  151. data/syntax/old/YAML.yaml +160 -0
  152. data/syntax/old/txt2tags.yaml +139 -0
  153. data/syntax/opengl.syntax +14 -0
  154. data/syntax/pascal.syntax +77 -0
  155. data/syntax/perl.syntax +1075 -0
  156. data/syntax/php.syntax +678 -0
  157. data/syntax/plain_text.syntax +32 -0
  158. data/syntax/postscript.syntax +114 -0
  159. data/syntax/processing.syntax +106 -0
  160. data/syntax/prolog.syntax +40 -0
  161. data/syntax/property_list.syntax +645 -0
  162. data/syntax/python.syntax +865 -0
  163. data/syntax/python_django.syntax +21 -0
  164. data/syntax/qmake_project.syntax +114 -0
  165. data/syntax/qt_c++.syntax +26 -0
  166. data/syntax/quake3_config.syntax +32 -0
  167. data/syntax/r.syntax +81 -0
  168. data/syntax/r_console.syntax +16 -0
  169. data/syntax/ragel.syntax +201 -0
  170. data/syntax/rd_r_documentation.syntax +91 -0
  171. data/syntax/regexp.syntax +50 -0
  172. data/syntax/regular_expressions_oniguruma.syntax +107 -0
  173. data/syntax/regular_expressions_python.syntax +109 -0
  174. data/syntax/release_notes.syntax +37 -0
  175. data/syntax/remind.syntax +253 -0
  176. data/syntax/restructuredtext.syntax +250 -0
  177. data/syntax/rez.syntax +80 -0
  178. data/syntax/ruby.syntax +1035 -0
  179. data/syntax/ruby_experimental.syntax +145 -0
  180. data/syntax/ruby_on_rails.syntax +88 -0
  181. data/syntax/s5.syntax +69 -0
  182. data/syntax/scheme.syntax +347 -0
  183. data/syntax/scilab.syntax +41 -0
  184. data/syntax/setext.syntax +147 -0
  185. data/syntax/shell-unix-generic.syntax +384 -0
  186. data/syntax/slate.syntax +149 -0
  187. data/syntax/smarty.syntax +63 -0
  188. data/syntax/sql.syntax +237 -0
  189. data/syntax/sql_rails.syntax +18 -0
  190. data/syntax/ssh-config.syntax +33 -0
  191. data/syntax/standard_ml.syntax +45 -0
  192. data/syntax/strings_file.syntax +39 -0
  193. data/syntax/subversion_commit_message.syntax +36 -0
  194. data/syntax/sweave.syntax +84 -0
  195. data/syntax/swig.syntax +57 -0
  196. data/syntax/tcl.syntax +152 -0
  197. data/syntax/template_toolkit.syntax +121 -0
  198. data/syntax/tex.syntax +86 -0
  199. data/syntax/tex_math.syntax +49 -0
  200. data/syntax/textile.syntax +215 -0
  201. data/syntax/tsv.syntax +50 -0
  202. data/syntax/twiki.syntax +241 -0
  203. data/syntax/txt2tags.syntax +79 -0
  204. data/syntax/vectorscript.syntax +57 -0
  205. data/syntax/xhtml_1.0.syntax +4027 -0
  206. data/syntax/xml.syntax +179 -0
  207. data/syntax/xml_strict.syntax +92 -0
  208. data/syntax/xsl.syntax +60 -0
  209. data/syntax/yaml.syntax +160 -0
  210. data/syntax/yui_javascript.syntax +176 -0
  211. data/test/test_uv.rb +0 -0
  212. metadata +270 -0
@@ -0,0 +1,126 @@
1
+ ---
2
+ name: Twilight
3
+ tags:
4
+ - begin: <span class="Comment">
5
+ end: </span>
6
+ selector: comment
7
+ - begin: <span class="Constant">
8
+ end: </span>
9
+ selector: constant
10
+ - begin: <span class="Entity">
11
+ end: </span>
12
+ selector: entity
13
+ - begin: <span class="Keyword">
14
+ end: </span>
15
+ selector: keyword
16
+ - begin: <span class="Storage">
17
+ end: </span>
18
+ selector: storage
19
+ - begin: <span class="String">
20
+ end: </span>
21
+ selector: string
22
+ - begin: <span class="Support">
23
+ end: </span>
24
+ selector: support
25
+ - begin: <span class="Variable">
26
+ end: </span>
27
+ selector: variable
28
+ - begin: <span class="InvalidDeprecated">
29
+ end: </span>
30
+ selector: invalid.deprecated
31
+ - begin: <span class="InvalidIllegal">
32
+ end: </span>
33
+ selector: invalid.illegal
34
+ - begin: <span class="EmbeddedSource">
35
+ end: </span>
36
+ selector: text source
37
+ - begin: <span class="EmbeddedSourceBright">
38
+ end: </span>
39
+ selector: text.html.ruby source
40
+ - begin: <span class="EntityInheritedClass">
41
+ end: </span>
42
+ selector: entity.other.inherited-class
43
+ - begin: <span class="StringEmbeddedSource">
44
+ end: </span>
45
+ selector: string source
46
+ - begin: <span class="StringConstant">
47
+ end: </span>
48
+ selector: string constant
49
+ - begin: <span class="StringRegexp">
50
+ end: </span>
51
+ selector: string.regexp
52
+ - begin: <span class="StringRegexpSpecial">
53
+ end: </span>
54
+ selector: string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition
55
+ - begin: <span class="StringVariable">
56
+ end: </span>
57
+ selector: string variable
58
+ - begin: <span class="SupportFunction">
59
+ end: </span>
60
+ selector: support.function
61
+ - begin: <span class="SupportConstant">
62
+ end: </span>
63
+ selector: support.constant
64
+ - begin: <span class="CCCPreprocessorLine">
65
+ end: </span>
66
+ selector: meta.preprocessor.c
67
+ - begin: <span class="CCCPreprocessorDirective">
68
+ end: </span>
69
+ selector: meta.preprocessor.c keyword
70
+ - begin: <span class="DoctypeXmlProcessing">
71
+ end: </span>
72
+ selector: meta.tag.sgml.doctype, meta.tag.sgml.doctype entity, meta.tag.sgml.doctype string, meta.tag.preprocessor.xml, meta.tag.preprocessor.xml entity, meta.tag.preprocessor.xml string
73
+ - begin: <span class="MetaTagAll">
74
+ end: </span>
75
+ selector: declaration.tag, declaration.tag entity, meta.tag, meta.tag entity
76
+ - begin: <span class="MetaTagInline">
77
+ end: </span>
78
+ selector: declaration.tag.inline, declaration.tag.inline entity, source entity.name.tag, source entity.other.attribute-name, meta.tag.inline, meta.tag.inline entity
79
+ - begin: <span class="CssTagName">
80
+ end: </span>
81
+ selector: meta.selector.css entity.name.tag
82
+ - begin: <span class="CssPseudoClass">
83
+ end: </span>
84
+ selector: meta.selector.css entity.other.attribute-name.tag.pseudo-class
85
+ - begin: <span class="CssId">
86
+ end: </span>
87
+ selector: meta.selector.css entity.other.attribute-name.id
88
+ - begin: <span class="CssClass">
89
+ end: </span>
90
+ selector: meta.selector.css entity.other.attribute-name.class
91
+ - begin: <span class="CssPropertyName">
92
+ end: </span>
93
+ selector: support.type.property-name.css
94
+ - begin: <span class="CssPropertyValue">
95
+ end: </span>
96
+ selector: meta.property-group support.constant.property-value.css, meta.property-value support.constant.property-value.css
97
+ - begin: <span class="CssAtRule">
98
+ end: </span>
99
+ selector: meta.preprocessor.at-rule keyword.control.at-rule
100
+ - begin: <span class="CssAdditionalConstants">
101
+ end: </span>
102
+ selector: meta.property-value support.constant.named-color.css, meta.property-value constant
103
+ - begin: <span class="CssConstructorArgument">
104
+ end: </span>
105
+ selector: meta.constructor.argument.css
106
+ - begin: <span class="DiffHeader">
107
+ end: </span>
108
+ selector: meta.diff, meta.diff.header, meta.separator
109
+ - begin: <span class="DiffDeleted">
110
+ end: </span>
111
+ selector: markup.deleted
112
+ - begin: <span class="DiffChanged">
113
+ end: </span>
114
+ selector: markup.changed
115
+ - begin: <span class="DiffInserted">
116
+ end: </span>
117
+ selector: markup.inserted
118
+ - begin: <span class="MarkupList">
119
+ end: </span>
120
+ selector: markup.list
121
+ - begin: <span class="MarkupHeading">
122
+ end: </span>
123
+ selector: markup.heading
124
+ line-numbers:
125
+ begin: <span class="line-numbers">
126
+ end: </span>
@@ -0,0 +1,99 @@
1
+ ---
2
+ name: Zenburnesque
3
+ tags:
4
+ - begin: <span class="Comment">
5
+ end: </span>
6
+ selector: comment
7
+ - begin: <span class="Directive">
8
+ end: </span>
9
+ selector: keyword.other.directive
10
+ - begin: <span class="LineNumberDirectives">
11
+ end: </span>
12
+ selector: keyword.other.directive.line-number
13
+ - begin: <span class="Characters">
14
+ end: </span>
15
+ selector: constant.character
16
+ - begin: <span class="String">
17
+ end: </span>
18
+ selector: string
19
+ - begin: <span class="Number">
20
+ end: </span>
21
+ selector: constant.numeric
22
+ - begin: <span class="FloatingPointNumbers">
23
+ end: </span>
24
+ selector: constant.numeric.floating-point
25
+ - begin: <span class="BuiltInConstant">
26
+ end: </span>
27
+ selector: constant.language
28
+ - begin: <span class="UserDefinedConstant">
29
+ end: </span>
30
+ selector: constant.character, constant.other
31
+ - begin: <span class="Variable">
32
+ end: </span>
33
+ selector: variable.parameter, variable.other
34
+ - begin: <span class="LanguageKeyword">
35
+ end: </span>
36
+ selector: keyword
37
+ - begin: <span class="ModuleKeyword">
38
+ end: </span>
39
+ selector: entity.name.module, support.other.module
40
+ - begin: <span class="Operators">
41
+ end: </span>
42
+ selector: keyword.operator
43
+ - begin: <span class="FloatingPointInfixOperators">
44
+ end: </span>
45
+ selector: source.ocaml keyword.operator.symbol.infix.floating-point
46
+ - begin: <span class="FloatingPointPrefixOperators">
47
+ end: </span>
48
+ selector: source.ocaml keyword.operator.symbol.prefix.floating-point
49
+ - begin: <span class="StorageTypes">
50
+ end: </span>
51
+ selector: storage.type
52
+ - begin: <span class="VariantTypes">
53
+ end: </span>
54
+ selector: entity.name.class.variant
55
+ - begin: <span class="Storage">
56
+ end: </span>
57
+ selector: storage
58
+ - begin: <span class="TypeName">
59
+ end: </span>
60
+ selector: entity.name.type
61
+ - begin: <span class="InheritedClass">
62
+ end: </span>
63
+ selector: entity.other.inherited-class
64
+ - begin: <span class="FunctionName">
65
+ end: </span>
66
+ selector: entity.name.function
67
+ - begin: <span class="TypeName">
68
+ end: </span>
69
+ selector: storage.type.user-defined
70
+ - begin: <span class="ClassTypeName">
71
+ end: </span>
72
+ selector: entity.name.type.class.type
73
+ - begin: <span class="FunctionArgument">
74
+ end: </span>
75
+ selector: variable.parameter
76
+ - begin: <span class="TagName">
77
+ end: </span>
78
+ selector: entity.name.tag
79
+ - begin: <span class="TagAttribute">
80
+ end: </span>
81
+ selector: entity.other.attribute-name
82
+ - begin: <span class="LibraryFunction">
83
+ end: </span>
84
+ selector: support.function
85
+ - begin: <span class="LibraryConstant">
86
+ end: </span>
87
+ selector: support.constant
88
+ - begin: <span class="LibraryClassType">
89
+ end: </span>
90
+ selector: support.type, support.class
91
+ - begin: <span class="LibraryVariable">
92
+ end: </span>
93
+ selector: support.variable
94
+ - begin: <span class="Invalid">
95
+ end: </span>
96
+ selector: invalid
97
+ line-numbers:
98
+ begin: <span class="line-numbers">
99
+ end: </span>
@@ -0,0 +1,97 @@
1
+ ---
2
+ name: ActionScript
3
+ fileTypes:
4
+ - as
5
+ scopeName: source.actionscript
6
+ uuid: E5A6EC91-6EE4-11D9-BAB4-000D93589AF6
7
+ foldingStartMarker: (/\*\*|\{\s*$)
8
+ patterns:
9
+ - name: support.class.actionscript
10
+ match: \b(R(ecordset|DBMSResolver|adioButton(Group)?)|X(ML(Socket|Node|Connector)?|UpdateResolverDataHolder)|M(M(Save|Execute)|icrophoneMicrophone|o(use|vieClip(Loader)?)|e(nu(Bar)?|dia(Controller|Display|Playback))|ath)|B(yName|inding|utton)|S(haredObject|ystem|crollPane|t(yleSheet|age|ream)|ound|e(ndEvent|rviceObject)|OAPCall|lide)|N(umericStepper|et(stream|S(tream|ervices)|Connection|Debug(Config)?))|C(heckBox|o(ntextMenu(Item)?|okie|lor|m(ponentMixins|boBox))|ustomActions|lient|amera)|T(ypedValue|ext(Snapshot|Input|F(ield|ormat)|Area)|ree|AB)|Object|D(ownload|elta(Item|Packet)?|at(e(Chooser|Field)?|a(G(lue|rid)|Set|Type)))|U(RL|TC|IScrollBar)|P(opUpManager|endingCall|r(intJob|o(duct|gressBar)))|E(ndPoint|rror)|Video|Key|F(RadioButton|GridColumn|MessageBox|BarChart|S(croll(Bar|Pane)|tyleFormat|plitView)|orm|C(heckbox|omboBox|alendar)|unction|T(icker|ooltip(Lite)?|ree(Node)?)|IconButton|D(ataGrid|raggablePane)|P(ieChart|ushButton|ro(gressBar|mptBox))|L(i(stBox|neChart)|oadingBox)|AdvancedMessageBox)|W(indow|SDLURL|ebService(Connector)?)|L(ist|o(calConnection|ad(er|Vars)|g)|a(unch|bel))|A(sBroadcaster|cc(ordion|essibility)|S(Set(Native|PropFlags)|N(ew|ative)|C(onstructor|lamp(2)?)|InstanceOf)|pplication|lert|rray))\b
11
+ - name: support.function.actionscript
12
+ match: \b(s(h(ift|ow(GridLines|Menu|Border|Settings|Headers|ColumnHeaders|Today|Preferences)?|ad(ow|ePane))|c(hema|ale(X|Mode|Y|Content)|r(oll(Track|Drag)?|een(Resolution|Color|DPI)))|t(yleSheet|op(Drag|A(nimation|llSounds|gent))?|epSize|a(tus|rt(Drag|A(nimation|gent))?))|i(n|ze|lence(TimeOut|Level))|o(ngname|urce|rt(Items(By)?|On(HeaderRelease)?|able(Columns)?)?)|u(ppressInvalidCalls|bstr(ing)?)|p(li(ce|t)|aceCol(umnsEqually|lumnsEqually))|e(nd(DefaultPushButtonEvent|AndLoad)?|curity|t(R(GB|o(otNode|w(Height|Count))|esizable(Columns)?|a(nge|te))|G(ain|roupName)|X(AxisTitle)?|M(i(n(imum|utes)|lliseconds)|o(nth(Names)?|tionLevel|de)|ultilineMode|e(ssage|nu(ItemEnabled(At)?|EnabledAt)|dia)|a(sk|ximum))|B(u(tton(s|Width)|fferTime)|a(seTabIndex|ndwidthLimit|ckground))|S(howAsDisabled|croll(ing|Speed|Content|Target|P(osition|roperties)|barState|Location)|t(yle(Property)?|opOnFocus|at(us|e))|i(ze|lenceLevel)|ort(able(Columns)?|Function)|p(litterBarPosition|acing)|e(conds|lect(Multiple|ion(Required|Type)?|Style|Color|ed(Node(s)?|Cell|I(nd(ices|ex)|tem(s)?))?|able))|kin|m(oothness|allScroll))|H(ighlight(s|Color)|Scroll|o(urs|rizontal)|eader(Symbol|Height|Text|Property|Format|Width|Location)?|as(Shader|CloseBox))|Y(ear|AxisTitle)?|N(ode(Properties|ExpansionHandler)|ewTextFormat)|C(h(ildNodes|a(ngeHandler|rt(Title|EventHandler)))|o(ntent(Size)?|okie|lumns)|ell(Symbol|Data)|l(i(ckHandler|pboard)|oseHandler)|redentials)|T(ype(dVaule)?|i(tle(barHeight)?|p(Target|Offset)?|me(out(Handler)?)?)|oggle|extFormat|ransform)|I(s(Branch|Open)|n(terval|putProperty)|con(SymbolName)?|te(rator|m(ByKey|Symbol)))|Orientation|D(i(splay(Range|Graphics|Mode|Clip|Text|edMonth)|rection)|uration|e(pth(Below|To|Above)|fault(GatewayURL|Mappings|NodeIconSymbolName)|l(iveryMode|ay)|bug(ID)?)|a(yOfWeekNames|t(e(Filter)?|a(Mapping(s)?|Item(Text|Property|Format)|Provider|All(Height|Property|Format|Width))?))|ra(wConnectors|gContent))|U(se(Shadow|HandCursor|EchoSuppression|rInput|Fade)|TC(M(i(nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear))|P(osition|ercentComplete|an(e(M(inimumSize|aximumSize)|Size|Title))?|ro(pert(y(Data)?|iesAt)|gress))|E(nabled|dit(Handler|able)|xpand(NodeTrigger|erSymbolName))|V(Scroll|olume|alue(Source)?)|KeyFrameInterval|Quality|F(i(eld|rst(DayOfWeek|VisibleNode))|ocus|ullYear|ps|ade(InLength|OutLength)|rame(Color|Width))|Width|L(ine(Color|Weight)|o(opback|adTarget)|a(rgeScroll|bel(Source|Placement)?))|A(s(Boolean|String|Number)|n(yTypedValue|imation)|ctiv(e(State(Handler)?|Handler)|ateHandler)|utoH(ideScrollBar|eight)))?|paratorBefore|ek|lect(ion(Disabled|Unfocused)?|ed(Node(s)?|Child|I(nd(ices|ex)|tem(s)?)|Dat(e|a))?|able(Ranges)?)|rver(String)?)|kip|qrt|wapDepths|lice|aveToSharedObj|moothing)|h(scroll(Policy)?|tml(Text)?|i(t(Test(TextNearPos)?|Area)|de(BuiltInItems|Child)?|ghlight(2D|3D)?)|orizontal|e(ight|ader(Re(nderer|lease)|Height|Text))|P(osition|ageScrollSize)|a(s(childNodes|MP3|S(creen(Broadcast|Playback)|treaming(Video|Audio)|ort)|Next|OwnProperty|Pr(inting|evious)|EmbeddedVideo|VideoEncoder|A(ccesibility|udio(Encoder)?))|ndlerName)|LineScrollSize)|ye(sLabel|ar)|n(o(t|de(Name|Close|Type|Open|Value)|Label)|u(llValue|mChild(S(creens|lides)|ren|Forms))|e(w(Item|line|Value|LocationDialog)|xt(S(cene|ibling|lide)|TabIndex|Value|Frame)?)?|ame(s)?)|c(h(ildNodes|eck|a(nge(sPending)?|r(CodeAt|At))|r)|o(s|n(st(ant|ructor)|nect|c(urrency|at)|t(ent(Type|Path)?|ains|rol(Placement|lerPolicy))|denseWhite|version)|py|l(or|umn(Stretch|Name(s)?|Count))|m(p(onent|lete)|ment))|u(stomItems|ePoint(s)?|r(veTo|Value|rent(Slide|ChildSlide|Item|F(ocused(S(creen|lide)|Form)|ps))))|e(il|ll(Renderer|Press|Edit|Focus(In|Out)))|l(i(ck|ents)|o(se(Button|Pane)?|ne(Node)?)|ear(S(haredObjects|treams)|Timeout|Interval)?)|a(ncelLabel|tch|p(tion|abilities)|l(cFields|l(e(e|r))?))|reate(GatewayConnection|Menu|Se(rver|gment)|C(hild(AtDepth)?|l(ient|ass(ChildAtDepth|Object(AtDepth)?))|all)|Text(Node|Field)|Item|Object(AtDepth)?|PopUp|E(lement|mptyMovieClip)))|t(h(is|row)|ype(of|Name)?|i(tle(StyleDeclaration)?|me(out)?)|o(talTime|String|olTipText|p|UpperCase|ggle(HighQuality)?|Lo(caleString|werCase))|e(st|llTarget|xt(RightMargin|Bold|S(ize|elected)|Height|Color|I(ndent|talic)|Disabled|Underline|F(ield|ont)|Width|LeftMargin|Align)?)|a(n|rget(Path)?|b(Stops|Children|Index|Enabled|leName))|r(y|igger|ac(e|k(AsMenu)?)))|i(s(Running|Branch|NaN|Con(soleOpen|nected)|Toggled|Installed|Open|D(own|ebugger)|P(urchased|ro(totypeOf|pertyEnumerable))|Empty|F(inite|ullyPopulated)|Local|Active)|n(s(tall|ertBefore)|cludeDeltaPacketInfo|t|it(ialize|Component|Pod|A(pplication|gent))?|de(nt|terminate|x(InParent(Slide|Form)?|Of)?)|put|validate|finity|LocalInternetCache)?|con(F(ield|unction))?|t(e(ratorScrolled|m(s|RollO(ut|ver)|ClassName))|alic)|d3|p|fFrameLoaded|gnore(Case|White))|o(s|n(R(ollO(ut|ver)|e(s(ize|ult)|l(ease(Outside)?|aseOutside)))|XML|Mouse(Move|Down|Up|Wheel)|S(ync|croller|tatus|oundComplete|e(tFocus|lect(edItem)?))|N(oticeEvent|etworkChange)|C(hanged|onnect|l(ipEvent|ose))|ID3|D(isconnect|eactivate|ata|ragO(ut|ver))|Un(install|load)|P(aymentResult|ress)|EnterFrame|K(illFocus|ey(Down|Up))|Fault|Lo(ad|g)|A(ctiv(ity|ate)|ppSt(op|art)))?|pe(n|ration)|verLayChildren|kLabel|ldValue|r(d)?)|d(i(s(connect|play(Normal|ed(Month|Year)|Full)|able(Shader|d(Ranges|Days)|CloseBox|Events))|rection)|o(cTypeDecl|tall|Decoding|main|LazyDecoding)|u(plicateMovieClip|ration)|e(stroy(ChildAt|Object)|code|fault(PushButton(Enabled)?|KeydownHandler)?|l(ta(Packet(Changed)?)?|ete(PopUp|All)?)|blocking)|a(shBoardSave|yNames|ta(Provider)?|rkshadow)|r(opdown(Width)?|a(w|gO(ut|ver))))|u(se(Sort|HandCursor|Codepage|EchoSuppression)|n(shift|install|derline|escape|format|watch|lo(ck|ad(Movie(Num)?)?))|pdate(Results|Mode|I(nputProperties|tem(ByIndex)?)|P(acket|roperties)|View|AfterEvent)|rl)|join|p(ixelAspectRatio|o(sition|p|w)|u(sh|rge|blish)|ercen(tComplete|Loaded)|lay(head(Change|Time)|ing|Hidden|erType)?|a(ssword|use|r(se(XML|CSS|Int|Float)|ent(Node|Is(S(creen|lide)|Form))|ams))|r(int(Num|AsBitmap(Num)?)?|o(to(type)?|pert(y|ies)|gress)|e(ss|v(ious(S(ibling|lide)|Value)?|Scene|Frame)|ferred(Height|Width))))|e(scape|n(code(r)?|ter(Frame)?|dFill|able(Shader|d|CloseBox|Events))|dit(able|Field|LocationDialog)|v(ent|al(uate)?)|q|x(tended|p|ec(ute)?|actSettings)|m(phasized(StyleDeclaration)?|bedFonts))|v(i(sible|ewPod)|ScrollPolicy|o(id|lume)|ersion|P(osition|ageScrollSize)|a(l(idat(ionError|e(Property|ActivationKey)?)|ue(Of)?)|riable)|LineScrollSize)|k(ind|ey(Down|Up|Press|FrameInterval))|q(sort|uality)|f(scommand|i(n(d(Text|First|Last)?|ally)|eldInfo|lter(ed|Func)?|rst(Slide|Child|DayOfWeek|VisibleNode)?)|o(nt|cus(In|edCell|Out|Enabled)|r(egroundDisabled|mat(ter)?))|unctionName|ps|l(oor|ush)|ace|romCharCode)|w(i(th|dth)|ordWrap|atch|riteAccess)|l(t|i(st(Owner)?|ne(Style|To))|o(c(k|a(t(ion|eByld)|l(ToGlobal|FileReadDisable)))|opback|ad(Movie(Num)?|S(crollContent|ound)|ed|Variables(Num)?|Application)?|g(Changes)?)|e(ngth|ft(Margin)?|ading)?|a(st(Slide|Child|Index(Of)?)?|nguage|b(el(Placement|F(ield|unction))?|leField)))|a(s(scociate(Controller|Display)|in|pectRatio|function)|nd|c(ceptConnection|tiv(ityLevel|ePlayControl)|os)|t(t(ach(Movie|Sound|Video|Audio)|ributes)|an(2)?)|dd(header|RequestHeader|Menu(Item(At)?|At)?|Sort|Header|No(tice|de(At)?)|C(olumn(At)?|uePoint)|T(oLocalInternetCache|reeNode(At)?)|I(con|tem(s(At)?|At)?)|DeltaItem|P(od|age|roperty)|EventListener|View|FieldInfo|Listener|Animation)?|uto(Size|Play|KeyNav|Load)|pp(endChild|ly(Changes|Updates)?)|vHardwareDisable|fterLoaded|l(ternateRowColors|ign|l(ow(InsecureDomain|Domain)|Transitions(InDone|OutDone))|bum)|r(tist|row|g(uments|List))|gent|bs)|r(ight(Margin)?|o(ot(S(creen|lide)|Form)|und|w(Height|Count)|llO(ut|ver))|e(s(yncDepth|t(orePane|artAnimation|rict)|iz(e|able(Columns)?)|olveDelta|ult(s)?|ponse)|c(o(ncile(Results|Updates)|rd)|eive(Video|Audio))|draw|jectConnection|place(Sel|ItemAt|AllItems)?|ve(al(Child)?|rse)|quest(SizeChange|Payment)?|f(errer|resh(ScrollContent|Destinations|Pane|FromSources)?)|lease(Outside)?|ad(Only|Access)|gister(SkinElement|C(olor(Style|Name)|lass)|InheritingStyle|Proxy)|move(Range|M(ovieClip|enu(Item(At)?|At))|Background|Sort|No(tice|de(sAt|At)?)|C(olum(nAt|At)|uePoints)|T(extField|reeNode(At)?)|Item(At)?|Pod|EventListener|FromLocalInternetCache|Listener|All(C(olumns|uePoints)|Items)?))|a(ndom|te|dioDot))|g(t|oto(Slide|NextSlide|PreviousSlide|FirstSlide|LastSlide|And(Stop|Play))|e(nre|t(R(GB|o(otNode|wCount)|e(sizable|mote))|X(AxisTitle)?|M(i(n(imum(Size)?|utes)|lliseconds)|onth(Names)?|ultilineMode|e(ssage|nu(ItemAt|EnabledAt|At))|aximum(Size)?)|B(ytes(Total|Loaded)|ounds|utton(s|Width)|eginIndex|a(ndwidthLimit|ckground))|S(howAsDisabled|croll(ing|Speed|Content|Position|barState|Location)|t(yle(Names)?|opOnFocus|ate)|ize|o(urce|rtState)|p(litterBarPosition|acing)|e(conds|lect(Multiple|ion(Required|Type)|Style|ed(Node(s)?|Cell|Text|I(nd(ices|ex)|tem(s)?))?)|rvice)|moothness|WFVersion)|H(ighlight(s|Color)|ours|e(ight|ader(Height|Text|Property|Format|Width|Location)?)|as(Shader|CloseBox))|Y(ear|AxisTitle)?|N(o(tices|de(DisplayedAt|At))|um(Children|berAvailable)|e(wTextFormat|xtHighestDepth))|C(h(ild(S(creen|lide)|Nodes|Form|At)|artTitle)|o(n(tent|figInfo)|okie|de|unt|lumn(Names|Count|Index|At))|uePoint|ellIndex|loseHandler|a(ll|retIndex))|T(ypedValue|i(tle(barHeight)?|p(Target|Offset)?|me(stamp|zoneOffset|out(State|Handler)|r)?)|oggle|ext(Extent|Format)?|r(ee(NodeAt|Length)|ans(form|actionId)))|I(s(Branch|Open)|n(stanceAtDepth|d(icesByKey|exByKey))|con(SymbolName)?|te(rator|m(sByKey|By(Name|Key)|id|ID|At))|d)|O(utput(Parameter(s|ByName)?|Value(s)?)|peration|ri(entation|ginalCellData))|D(i(s(play(Range|Mode|Clip|Index|edMonth)|kUsage)|rection)|uration|e(pth|faultNodeIconSymbolName|l(taPacket|ay)|bug(Config|ID)?)|a(y(OfWeekNames)?|t(e|a(Mapping(s)?|Item(Text|Property|Format)|Label|All(Height|Property|Format|Width))?))|rawConnectors)|U(se(Shadow|HandCursor|rInput|Fade)|RL|TC(M(i(nutes|lliseconds)|onth)|Seconds|Hours|Da(y|te)|FullYear))|P(o(sition|ds)|ercentComplete|a(n(e(M(inimums|aximums)|Height|Title|Width))?|rentNode)|r(operty(Name|Data)?|efer(ences|red(Height|Width))))|E(n(dIndex|abled)|ditingData|x(panderSymbolName|andNodeTrigger))|V(iewed(Pods|Applications)|olume|ersion|alue(Source)?)|F(i(eld|rst(DayOfWeek|VisibleNode))|o(ntList|cus)|ullYear|ade(InLength|OutLength)|rame(Color|Width))|Width|L(ine(Color|Weight)|o(cal|adTarget)|ength|a(stTabIndex|bel(Source)?))|A(s(cii|Boolean|String|Number)|n(yTypedValue|imation)|ctiv(eState(Handler)?|ateHandler)|utoH(ideScrollBar|eight)|llItems|gent))?)?|lobal(StyleFormat|ToLocal)?|ain|roupName)|x(updatePackety|mlDecl)?|m(y(MethodName|Call)|in(imum)?|o(nthNames|tion(TimeOut|Level)|de(lChanged)?|use(Move|O(ut|ver)|Down(Somewhere|Outside)?|Up(Somewhere)?|WheelEnabled)|ve(To)?)|u(ted|lti(pleS(imultaneousAllowed|elections)|line))|e(ssage|nu(Show|Hide)?|th(od)?|diaType)|a(nufacturer|tch|x(scroll|hscroll|imum|HPosition|Chars|VPosition)?)|b(substring|chr|ord|length))|b(ytes(Total|Loaded)|indFormat(Strings|Function)|o(ttom(Scroll)?|ld|rder(Color)?)|u(tton(Height|Width)|iltInItems|ffer(Time|Length)|llet)|e(foreApplyUpdates|gin(GradientFill|Fill))|lockIndent|a(ndwidth|ckground(Style|Color|Disabled)?)|roadcastMessage)|onHTTPStatus)\b
13
+ - name: support.constant.actionscript
14
+ match: \b(__proto__|__resolve|_accProps|_alpha|_changed|_currentframe|_droptarget|_flash|_focusrect|_framesloaded|_global|_height|_highquality|_level|_listeners|_lockroot|_name|_parent|_quality|_root|_rotation|_soundbuftime|_target|_totalframes|_url|_visible|_width|_x|_xmouse|_xscale|_y|_ymouse|_yscale)\b
15
+ - name: keyword.control.actionscript
16
+ match: \b(dynamic|extends|import|implements|interface|public|private|new|static|super|var|for|in|break|continue|while|do|return|if|else|case|switch)\b
17
+ - name: storage.type.actionscript
18
+ match: \b(Boolean|Number|String|Void)\b
19
+ - name: constant.language.actionscript
20
+ match: \b(null|undefined|true|false)\b
21
+ - name: constant.numeric.actionscript
22
+ match: \b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f)?\b
23
+ - name: string.quoted.double.actionscript
24
+ endCaptures:
25
+ "0":
26
+ name: punctuation.definition.string.end.actionscript
27
+ begin: "\""
28
+ beginCaptures:
29
+ "0":
30
+ name: punctuation.definition.string.begin.actionscript
31
+ end: "\""
32
+ patterns:
33
+ - name: constant.character.escape.actionscript
34
+ match: \\.
35
+ - name: string.quoted.single.actionscript
36
+ endCaptures:
37
+ "0":
38
+ name: punctuation.definition.string.end.actionscript
39
+ begin: "'"
40
+ beginCaptures:
41
+ "0":
42
+ name: punctuation.definition.string.begin.actionscript
43
+ end: "'"
44
+ patterns:
45
+ - name: constant.character.escape.actionscript
46
+ match: \\.
47
+ - name: support.constant.actionscript
48
+ match: \b(BACKSPACE|CAPSLOCK|CONTROL|DELETEKEY|DOWN|END|ENTER|HOME|INSERT|LEFT|LN10|LN2|LOG10E|LOG2E|MAX_VALUE|MIN_VALUE|NEGATIVE_INFINITY|NaN|PGDN|PGUP|PI|POSITIVE_INFINITY|RIGHT|SPACE|SQRT1_2|SQRT2|UP)\b
49
+ - name: comment.block.actionscript
50
+ captures:
51
+ "0":
52
+ name: punctuation.definition.comment.actionscript
53
+ begin: /\*
54
+ end: \*/
55
+ - name: comment.line.double-slash.actionscript
56
+ captures:
57
+ "1":
58
+ name: punctuation.definition.comment.actionscript
59
+ match: (//).*$\n?
60
+ - name: keyword.operator.actionscript
61
+ match: \b(instanceof)\b
62
+ - name: keyword.operator.symbolic.actionscript
63
+ match: "[-!%&*+=/?:]"
64
+ - name: meta.preprocessor.actionscript
65
+ captures:
66
+ "1":
67
+ name: punctuation.definition.preprocessor.actionscript
68
+ match: ^[ \t]*(#)[a-zA-Z]+
69
+ - name: meta.function.actionscript
70
+ endCaptures:
71
+ "0":
72
+ name: punctuation.definition.parameters.end.actionscript
73
+ captures:
74
+ "1":
75
+ name: storage.type.function.asp
76
+ "2":
77
+ name: entity.name.function.asp
78
+ "3":
79
+ name: punctuation.definition.parameters.begin.actionscript
80
+ begin: \b(function)\s+([a-zA-Z_]\w*)\s*(\()
81
+ end: \)
82
+ patterns:
83
+ - name: variable.parameter.function.asp
84
+ match: "[^,)\\n]+"
85
+ - name: meta.class.actionscript
86
+ captures:
87
+ "1":
88
+ name: storage.type.class.actionscript
89
+ "2":
90
+ name: entity.name.type.class.actionscript
91
+ "3":
92
+ name: storage.modifier.extends.actionscript
93
+ "4":
94
+ name: entity.other.inherited-class.actionscript
95
+ match: \b(class)\s+([a-zA-Z_](?:\w|\.)*)(?:\s+(extends)\s+([a-zA-Z_](?:\w|\.)*))?
96
+ foldingStopMarker: (\*\*/|^\s*\})
97
+ keyEquivalent: ^~A
@@ -0,0 +1,276 @@
1
+ ---
2
+ name: Active4D
3
+ fileTypes: []
4
+
5
+ scopeName: source.active4d
6
+ repository:
7
+ escaped_char:
8
+ name: constant.character.escape.active4d
9
+ match: \\.
10
+ interpolated_variable:
11
+ name: variable.other.interpolated.local.active4d
12
+ captures:
13
+ "1":
14
+ name: punctuation.definition.variable.active4d
15
+ match: (\$)[\w_]+({(".+?"|\d+|\$[\w_]+)})*(\[\[\d+\]\])*
16
+ interpolated_table_field:
17
+ name: variable.other.interpolated.table-field.active4d
18
+ match: \[\w[\w_ ]*\][\w_]+(\[\[\d+\]\])*
19
+ interpolated_string:
20
+ patterns:
21
+ - include: "#escaped_char"
22
+ - include: "#interpolated_code"
23
+ - include: "#interpolated_table_field"
24
+ - include: "#interpolated_variable"
25
+ - include: "#interpolated_collection_ref"
26
+ interpolated_code:
27
+ name: source.interpolated.active4d
28
+ endCaptures:
29
+ "0":
30
+ name: punctuation.definition.string.end.active4d
31
+ begin: `
32
+ beginCaptures:
33
+ "0":
34
+ name: punctuation.definition.string.begin.active4d
35
+ end: `
36
+ patterns:
37
+ - include: $self
38
+ interpolated_collection_ref:
39
+ name: variable.other.interpolated.collection-ref.active4d
40
+ match: (_form|_query|_request|globals|session)({(".+?"|\d+|\$[\w_]+)})+(\[\[\d+\]\])*
41
+ fusedoc:
42
+ name: text.xml
43
+ begin: (?=^\s*<fusedoc )
44
+ end: (?<=</fusedoc>)
45
+ patterns:
46
+ - include: text.xml
47
+ uuid: 8C2BF09D-AE95-479B-B516-F8DB62C86A0C
48
+ foldingStartMarker: |-
49
+ (?x)
50
+ (^\s*(?i:if|while|for\ each|for|case\ of|repeat|method|save output)\b
51
+ )
52
+ patterns:
53
+ - name: comment.line.backtick.active4d
54
+ captures:
55
+ "1":
56
+ name: punctuation.definition.comment.active4d
57
+ match: (`).*$\n?
58
+ - name: comment.line.double-slash.active4d
59
+ captures:
60
+ "1":
61
+ name: punctuation.definition.comment.active4d
62
+ match: (//).*$\n?
63
+ - name: comment.line.double-backslash.continuation.active4d
64
+ captures:
65
+ "1":
66
+ name: punctuation.definition.comment.active4d
67
+ match: (\\\\).*$\n?
68
+ - name: comment.block.active4d
69
+ captures:
70
+ "0":
71
+ name: punctuation.definition.comment.active4d
72
+ begin: /\*
73
+ end: \*/
74
+ patterns:
75
+ - include: "#fusedoc"
76
+ - name: string.quoted.double.active4d
77
+ endCaptures:
78
+ "0":
79
+ name: punctuation.definition.string.end.active4d
80
+ begin: "\"(?!\"\")"
81
+ beginCaptures:
82
+ "0":
83
+ name: punctuation.definition.string.begin.active4d
84
+ end: "\""
85
+ patterns:
86
+ - include: "#escaped_char"
87
+ - name: string.quoted.triple.heredoc.active4d
88
+ endCaptures:
89
+ "0":
90
+ name: punctuation.definition.string.end.active4d
91
+ begin: "\"\"\""
92
+ beginCaptures:
93
+ "0":
94
+ name: punctuation.definition.string.begin.active4d
95
+ end: "\"\"\""
96
+ patterns:
97
+ - include: "#escaped_char"
98
+ - name: string.interpolated.quoted.single.active4d
99
+ endCaptures:
100
+ "0":
101
+ name: punctuation.definition.string.end.active4d
102
+ begin: "'(?!'')"
103
+ beginCaptures:
104
+ "0":
105
+ name: punctuation.definition.string.begin.active4d
106
+ end: "'"
107
+ patterns:
108
+ - include: "#interpolated_string"
109
+ - name: string.interpolated.quoted.triple.heredoc.active4d
110
+ endCaptures:
111
+ "0":
112
+ name: punctuation.definition.string.end.active4d
113
+ begin: "'''"
114
+ beginCaptures:
115
+ "0":
116
+ name: punctuation.definition.string.begin.active4d
117
+ end: "'''"
118
+ patterns:
119
+ - include: "#interpolated_string"
120
+ - name: constant.numeric.active4d
121
+ match: (?<![[:alpha:]])[\-]?(?:0x[[:xdigit:]]{1,4}|\d+(\.\d+)?)(?![[:alpha:]])
122
+ - name: constant.language.boolean.active4d
123
+ match: \b(?i)(true|false)\b
124
+ - name: variable.other.local.active4d
125
+ captures:
126
+ "1":
127
+ name: punctuation.definition.variable.active4d
128
+ match: (\$)[\w_]+
129
+ - name: variable.other.interprocess.active4d
130
+ captures:
131
+ "1":
132
+ name: punctuation.definition.variable.active4d
133
+ match: (\<\>)[\w_]+
134
+ - name: variable.other.table-field.active4d
135
+ captures:
136
+ "1":
137
+ name: punctuation.definition.variable.active4d
138
+ "2":
139
+ name: punctuation.definition.variable.active4d
140
+ match: (\[)[^\[].*?(\])([\w_ ]+)?
141
+ - name: constant.other.date.active4d
142
+ captures:
143
+ "1":
144
+ name: punctuation.definition.constant.active4d
145
+ "2":
146
+ name: punctuation.definition.constant.active4d
147
+ match: (!)\d{1,2}/\d{1,2}/\d{2,4}(!)
148
+ - name: constant.other.time.active4d
149
+ captures:
150
+ "1":
151
+ name: punctuation.definition.constant.active4d
152
+ "2":
153
+ name: punctuation.definition.constant.active4d
154
+ match: (\?)\d{1,2}:\d{1,2}:\d{1,2}(\?)
155
+ - name: meta.function.active4d
156
+ captures:
157
+ "1":
158
+ name: storage.type.function.active4d
159
+ "2":
160
+ name: entity.name.function.active4d
161
+ match: ^\s*(method)\s*("[^"]+")(?!\s*\()
162
+ comment: method definition without parameters
163
+ - name: meta.function.active4d
164
+ endCaptures:
165
+ "1":
166
+ name: punctuation.definition.parameters.active4d
167
+ begin: ^\s*(method)\s*((")[^"]+("))\s*(\()
168
+ beginCaptures:
169
+ "1":
170
+ name: storage.type.function.active4d
171
+ "2":
172
+ name: entity.name.function.active4d
173
+ "3":
174
+ name: punctuation.definition.entity.active4d
175
+ "4":
176
+ name: punctuation.definition.entity.active4d
177
+ "5":
178
+ name: punctuation.definition.parameters.active4d
179
+ end: (\))\s*(?:(?:\\\\|//|`).*)?$
180
+ patterns:
181
+ - name: variable.parameter.function.active4d
182
+ captures:
183
+ "1":
184
+ name: keyword.operator.active4d
185
+ "2":
186
+ name: punctuation.definition.variable.active4d
187
+ "3":
188
+ name: punctuation.separator.parameters.active4d
189
+ match: (&)?(\$)[\w_]+(;)?
190
+ - endCaptures:
191
+ "1":
192
+ name: punctuation.separator.parameters.active4d
193
+ begin: (=)
194
+ beginCaptures:
195
+ "1":
196
+ name: punctuation.separator.key-value.active4d
197
+ end: (;)|(?=\))
198
+ patterns:
199
+ - include: $self
200
+ comment: method definition with parameters
201
+ - name: keyword.operator.active4d
202
+ match: |-
203
+ (?x) (
204
+ :=
205
+ | \+=
206
+ | \-=
207
+ | /=
208
+ | \\=
209
+ | \*=
210
+ | \%=
211
+ | \^=
212
+ | &=
213
+ | \|=
214
+ | <<=
215
+ | >>=
216
+ | >
217
+ | <
218
+ | >=
219
+ | <=
220
+ | =
221
+ | =~
222
+ | \#
223
+ | \#~
224
+ | ~
225
+ | !~
226
+ | \+
227
+ | \+\+
228
+ | \-
229
+ | \-\-
230
+ | /
231
+ | \\
232
+ | \*
233
+ | \*\+
234
+ | \*/
235
+ | %
236
+ | &
237
+ | \|
238
+ | \^
239
+ | \^\|
240
+ | <<
241
+ | >>
242
+ | \?\+
243
+ | \?\-
244
+ | \?\?
245
+ | \}
246
+ | \{
247
+ | ;
248
+ | \:
249
+ | \]\]
250
+ | \[\[
251
+ | \->)
252
+ - name: keyword.control.active4d
253
+ match: \b(?i)(end (if|for each|for|while|case)|if|else|while|for each|for|case of|repeat|until|break|continue)\b
254
+ - name: keyword.other.active4d
255
+ match: \b(?i)(end method|method|define|return|exit|self|import|require|global|throw)\b
256
+ - name: support.constant.active4d
257
+ match: (?i)\b(Write Mode|Text without length|Text array|String array|Short|Real array|Read Mode|Read and Write|Pointer array|Picture array|No current record|New record|Month Day Year|MM DD YYYY Forced|MM DD YYYY|MAXTEXTLEN|MAXLONG|Longint array|Long|Line feed|Is Undefined|Is Time|Is Text|Is String Var|Is Real|Is Pointer|Is Picture|Is Longint|Is Integer|Is Date|Is Boolean|Is BLOB|Is Alpha Field|Into variable|Into set|Into named selection|Into current selection|Integer array|Hour Min Sec|Hour Min|HH MM SS|HH MM AM PM|HH MM|Get Pathname|Date array|Carriage return|Boolean array|Array 2D|Abbreviated|Abbr Month Day|A4D Parameter Mode Separate|A4D Parameter Mode Query|A4D Parameter Mode Form|A4D License Type Deployment|A4D Encoding Tags|A4D Encoding Quotes|A4D Encoding None|A4D Encoding HTML|A4D Encoding Extended|A4D Encoding Ampersand|A4D Encoding All|A4D Charset Win|A4D Charset Shift_JIS|A4D Charset Mac|A4D Charset ISO Latin1|A4D Charset GB2312)\b
258
+ - name: support.function.active4d
259
+ match: (?i)\b(_request|_query|_form|Year of|writep|writeln|writebr|write to console|write raw|write png|WRITE PICTURE FILE|write jpg|write jpeg|write gif|write blob|write|Win to Mac|week of year|variable name|VALIDATE TRANSACTION|utc to local time|utc to local datetime|USE SET|USE NAMED SELECTION|url to native path|url encode query|url encode path|url encode|url decode query|url decode path|url decode|Uppercase|unlock globals|UNLOAD RECORD|UNION|Undefined|type descriptor|Type|Trunc|True|trim|timestamp year|timestamp time|timestamp string|timestamp second|timestamp month|timestamp minute|timestamp millisecond|timestamp hour|timestamp difference|timestamp day|timestamp date|timestamp|time to longint|Time string|Time|Tickcount|throw|TEXT TO BLOB|Test semaphore|Test path name|Table name|Table|Substring|Structure file|STRING LIST TO ARRAY|String|START TRANSACTION|split string|SORT ARRAY|slice string|Size of array|set session timeout|set session array|set session|set script timeout|set response status|set response header|set response cookie path|set response cookie expires|set response cookie domain|set response cookie|set response buffer|SET QUERY LIMIT|SET QUERY DESTINATION|set platform charset|set output encoding|set output charset|set log level|set local|set global array|set global|set expires date|set expires|set error page|SET DOCUMENT POSITION|SET DEFAULT CENTURY|set current script timeout|set content type|set content charset|set collection array|set collection|set cache control|SET AUTOMATIC RELATIONS|set array|session to blob|session query|session local|session internal id|session id|session has|session|Sequence number|SEND PACKET|Semaphore|SELECTION TO ARRAY|SELECTION RANGE TO ARRAY|Selected record number|SCAN INDEX|save upload to field|SAVE RECORD|save output|save collection|Round|right trim|response headers|response cookies|response buffer size|RESOLVE POINTER|resize array|require|requested url|request query|request info|request cookies|Replace string|REMOVE FROM SET|RELATE ONE SELECTION|RELATE ONE|RELATE MANY SELECTION|RELATE MANY|regex split|regex replace|regex quote pattern|regex match all|regex match|regex find in array|regex find all in array|regex callback replace|REDUCE SELECTION|redirect|Records in table|Records in set|Records in selection|Record number|RECEIVE PACKET|READ WRITE|READ PICTURE FILE|Read only state|READ ONLY|random between|Random|QUERY WITH ARRAY|QUERY SELECTION BY FORMULA|QUERY SELECTION|query params has|query params|QUERY BY FORMULA|QUERY|PREVIOUS RECORD|Position|Picture size|PICTURE PROPERTIES|parameter mode|param text|ORDER BY FORMULA|ORDER BY|Open document|ONE RECORD SELECT|Num|Not|nil pointer|Nil|NEXT RECORD|next item|new local collection|new global collection|new collection|native to url path|multisort named arrays|multisort arrays|MOVE DOCUMENT|more items|Month of|min of|Milliseconds|method exists|merge collections|md5 sum|max of|Mac to Win|Mac to ISO|mac to html|Lowercase|longint to time|log message|Locked|lock globals|local variables|local time to utc|local datetime to utc|LOAD RECORD|load collection|LIST TO ARRAY|library list|Length|left trim|LAST RECORD|last of|last not of|join paths|join array|ISO to Mac|Is in set|is array|is an iterator|is a collection|INTERSECTION|interpolate string|Int|insert into array|INSERT ELEMENT|include into|include|in error|import|identical strings|hide session field|GOTO SELECTED RECORD|GOTO RECORD|globals has|globals|global|get version|get utc delta|get upload size|get upload remote filename|get upload extension|get upload encoding|get upload content type|get timestamp datetime|get time remaining|get session timeout|get session stats|get session names|get session item|get session array size|get session array|get session|get script timeout|get root|get response headers|get response header|get response cookies|get response cookie path|get response cookie expires|get response cookie domain|get response cookie|get response buffer|get request value|get request infos|get request info|get request cookies|get request cookie|get query params|get query param count|get query param choices|get query param|Get pointer|get platform charset|GET PICTURE FROM LIBRARY|get output encoding|get output charset|get log level|get local|get license info|get library list|get item value|get item type|get item key|get item array|Get indexed string|get global keys|get global item|get global array size|get global array|get global|get form variables|get form variable count|get form variable choices|get form variable|GET FIELD PROPERTIES|get field pointer|get field numbers|get expires date|get expires|get error page|Get document position|get current script timeout|get content type|get content charset|get collection keys|get collection item count|get collection item|get collection array size|get collection array|get collection|get call chain|get cache control|get auto relations|full requested url|form variables has|form variables|FOLDER LIST|FIRST RECORD|first of|first not of|Find index key|Find in array|fill array|filename of|file exists|Field name|Field|False|extension of|execute in 4d|EXECUTE|End selection|end save output|enclose|DOCUMENT TO BLOB|DOCUMENT LIST|DISTINCT VALUES|directory separator|directory of|directory exists|DIFFERENCE|Delete string|delete session item|DELETE SELECTION|delete response header|delete response cookie|DELETE RECORD|delete global|DELETE FOLDER|DELETE ELEMENT|DELETE DOCUMENT|delete collection item|DELAY PROCESS|defined|define|default directory|deep copy collection|deep clear collection|Dec|day of year|Day of|Day number|Date|C_TIME|C_TEXT|C_STRING|C_REAL|C_POINTER|C_PICTURE|C_LONGINT|C_DATE|C_BOOLEAN|C_BLOB|CUT NAMED SELECTION|Current time|current realm|Current process|current platform|current path|Current method name|current line number|current library name|current file|Current date|CREATE SET FROM ARRAY|CREATE SET|CREATE SELECTION FROM ARRAY|CREATE RECORD|CREATE FOLDER|CREATE EMPTY SET|Create document|count uploads|Count tables|count session items|count response headers|count response cookies|count request infos|count request cookies|count query params|Count in array|count globals|count form variables|Count fields|count collection items|copy upload|COPY SET|COPY NAMED SELECTION|COPY DOCUMENT|copy collection|COPY ARRAY|concat|compare strings|collection to blob|collection has|collection|CLOSE DOCUMENT|CLEAR VARIABLE|CLEAR SET|CLEAR SEMAPHORE|clear response buffer|CLEAR NAMED SELECTION|clear collection|clear buffer (deprecated)|clear array|choose|Char|cell|capitalize|CANCEL TRANSACTION|call method|call 4d method|build query string|blowfish encrypt|blowfish decrypt|BLOB to text|blob to session|BLOB TO DOCUMENT|blob to collection|BLOB size|Before selection|base64 encode|base64 decode|AUTOMATIC RELATIONS|auto relate|authenticate|auth user|auth type|auth password|Ascii|ARRAY TEXT|ARRAY STRING|ARRAY REAL|ARRAY POINTER|ARRAY PICTURE|ARRAY LONGINT|ARRAY INTEGER|ARRAY DATE|ARRAY BOOLEAN|append to array|Append document|ALL RECORDS|add to timestamp|ADD TO SET|Add to date|add element|Abs|abandon session|abandon response cookie)\b
260
+ comment: 4D and Active4D commands
261
+ - name: support.function.active4d
262
+ match: (?i)\b((yearMonthDay|writeDumpStyles|writeBold|write|warnInvalidField|valueList|valueCountNoCase|valueCount|validPrice|validEmailAddress|validateTextFields|unlockAndLoad|truncateText|timedOut|sourceRowCount|sort|setTitle|setTimeout|setSMTPHost|setSMTPAuthorization|setSeparator|setRelateOne|setMailMethod|setDivId|setDefaults|setColumnData|setColumnArray|setAt|sendMail|sendFuseaction|saveFormToSession|rowCount|reverseArray|rest|qualify|previous|prepend|postHandleError|persistent|ordinalOf|nextID|next|newFromSelection|newFromRowSet|newFromFile|newFromData|newFromCachedSelection|newFromArrays|newFromArray|new|move|maxRows|makeURL|makeSafeMailto|makeLinks|makeFuseboxLinks|listToArray|len|last|isLast|isFuseboxRequest|isFirst|isBeforeFirst|isAfterLast|insertAt|hideUniqueField|hideField|handleError|gotoRow|getVariablesIterator|getUniqueID|getTitle|getTimeout|getStarts|getStart|getSMTPHost|getSMTPAuthUser|getSMTPAuthPassword|getSMTPAuthorization|getRow|getPointerReferent|getPictureDescriptor|getPersistentList|getMailMethod|getEnd|getEmptyFields|getDefaults|getData|getColumn|getAt|fuseboxNew|formVariableListToQuery|formatUSPhone|first|findRow|findNoCase|findColumn|find|filterCollection|embedVariables|embedQueryParams|embedFormVariables|embedFormVariableList|embedCollectionItems|embedCollection|dumpPersistent|dumpLib|dumpDefaults|dump session stats|dump session|dump selection|dump RowSet|dump request info|dump request|dump query params|dump locals|dump license info|dump form variables|dump collection|dump array|dump|deleteSelection|deleteAt|currentRow|core|containsNoCase|contains|columnCount|collectionToQuery|collectionItemsToQuery|clearPersistent|chopText|checkSession|checkboxState|changeDelims|camelCaseText|buildSelectValueMenu|buildSelectMenu|buildRecordList|buildOptionsFromSelection|buildOptionsFromRowSet|buildOptionsFromOptionList|buildOptionsFromOptionArray|buildOptionsFromLists|buildOptionsFromArrays|buildArrayValueList|buildArrayList|beforeFirst|articleFor|arrayToList|append|afterLast|addMetaTag|addJS|addJavascript|addDumpStyles|addCSS|add))\b
263
+ comment: library methods
264
+ - name: support.variable.active4d
265
+ match: (?i)\b(OK|Document|fusebox\.conf\.fuseaction)\b
266
+ - captures:
267
+ "1":
268
+ name: support.class.active4d
269
+ "2":
270
+ name: support.function.active4d
271
+ match: (?<!\$)\b((?:a4d\.(?:console|debug|lists|utils|web)|Batch|Breadcrumbs|fusebox\.conf|fusebox\.head|fusebox|RowSet))\.([[:alpha:]][[[:alnum:]]_ ]+[[:alnum:]])
272
+ foldingStopMarker: |-
273
+ (?x)
274
+ (^\s*(?i:end\ (if|while|for\ each|for|case|method|save output)|until)\b
275
+ )
276
+ keyEquivalent: ^~A