textpow1x 0.11.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (173) hide show
  1. data/Gemfile +1 -2
  2. data/Gemfile.lock +11 -10
  3. data/README.rdoc +4 -6
  4. data/Rakefile +2 -7
  5. data/lib/textpow.rb +4 -0
  6. data/lib/textpow/syntax/actionscript.syntax +97 -0
  7. data/lib/textpow/syntax/active4d.syntax +276 -0
  8. data/lib/textpow/syntax/active4d_html.syntax +311 -0
  9. data/lib/textpow/syntax/active4d_ini.syntax +50 -0
  10. data/lib/textpow/syntax/active4d_library.syntax +21 -0
  11. data/lib/textpow/syntax/ada.syntax +33 -0
  12. data/lib/textpow/syntax/antlr.syntax +151 -0
  13. data/lib/textpow/syntax/apache.syntax +191 -0
  14. data/lib/textpow/syntax/applescript.syntax +384 -0
  15. data/lib/textpow/syntax/asp.syntax +70 -0
  16. data/lib/textpow/syntax/asp_vb.net.syntax +129 -0
  17. data/lib/textpow/syntax/bibtex.syntax +151 -0
  18. data/lib/textpow/syntax/blog_html.syntax +41 -0
  19. data/lib/textpow/syntax/blog_markdown.syntax +42 -0
  20. data/lib/textpow/syntax/blog_text.syntax +27 -0
  21. data/lib/textpow/syntax/blog_textile.syntax +27 -0
  22. data/lib/textpow/syntax/broken/markdown.syntax +543 -0
  23. data/lib/textpow/syntax/broken/php.syntax +1253 -0
  24. data/lib/textpow/syntax/buggy/nemerle.syntax +74 -0
  25. data/lib/textpow/syntax/build.syntax +53 -0
  26. data/lib/textpow/syntax/bulletin_board.syntax +287 -0
  27. data/lib/textpow/syntax/c++.syntax +186 -0
  28. data/lib/textpow/syntax/c.syntax +414 -0
  29. data/lib/textpow/syntax/cake.syntax +55 -0
  30. data/lib/textpow/syntax/camlp4.syntax +36 -0
  31. data/lib/textpow/syntax/cm.syntax +32 -0
  32. data/lib/textpow/syntax/coffeescript.syntax +216 -0
  33. data/lib/textpow/syntax/coldfusion.syntax +119 -0
  34. data/lib/textpow/syntax/context_free.syntax +176 -0
  35. data/lib/textpow/syntax/cs.syntax +59 -0
  36. data/lib/textpow/syntax/css.syntax +195 -0
  37. data/lib/textpow/syntax/css_experimental.syntax +1925 -0
  38. data/lib/textpow/syntax/csv.syntax +68 -0
  39. data/lib/textpow/syntax/d.syntax +142 -0
  40. data/lib/textpow/syntax/diff.syntax +81 -0
  41. data/lib/textpow/syntax/dokuwiki.syntax +204 -0
  42. data/lib/textpow/syntax/dot.syntax +47 -0
  43. data/lib/textpow/syntax/doxygen.syntax +43 -0
  44. data/lib/textpow/syntax/dylan.syntax +62 -0
  45. data/lib/textpow/syntax/eiffel.syntax +78 -0
  46. data/lib/textpow/syntax/erlang.syntax +922 -0
  47. data/lib/textpow/syntax/f-script.syntax +80 -0
  48. data/lib/textpow/syntax/fortran.syntax +141 -0
  49. data/lib/textpow/syntax/fxscript.syntax +142 -0
  50. data/lib/textpow/syntax/greasemonkey.syntax +34 -0
  51. data/lib/textpow/syntax/gri.syntax +83 -0
  52. data/lib/textpow/syntax/groovy.syntax +191 -0
  53. data/lib/textpow/syntax/gtd.syntax +22 -0
  54. data/lib/textpow/syntax/gtdalt.syntax +143 -0
  55. data/lib/textpow/syntax/haml.syntax +88 -0
  56. data/lib/textpow/syntax/haskell.syntax +88 -0
  57. data/lib/textpow/syntax/html-asp.syntax +27 -0
  58. data/lib/textpow/syntax/html.syntax +362 -0
  59. data/lib/textpow/syntax/html_django.syntax +36 -0
  60. data/lib/textpow/syntax/html_for_asp.net.syntax +424 -0
  61. data/lib/textpow/syntax/html_mason.syntax +119 -0
  62. data/lib/textpow/syntax/html_rails.syntax +40 -0
  63. data/lib/textpow/syntax/html_tcl.syntax +26 -0
  64. data/lib/textpow/syntax/icalendar.syntax +32 -0
  65. data/lib/textpow/syntax/inform.syntax +48 -0
  66. data/lib/textpow/syntax/ini.syntax +55 -0
  67. data/lib/textpow/syntax/installer_distribution_script.syntax +77 -0
  68. data/lib/textpow/syntax/io.syntax +81 -0
  69. data/lib/textpow/syntax/java.syntax +211 -0
  70. data/lib/textpow/syntax/javaproperties.syntax +20 -0
  71. data/lib/textpow/syntax/javascript.syntax +256 -0
  72. data/lib/textpow/syntax/javascript_+_prototype.syntax +72 -0
  73. data/lib/textpow/syntax/javascript_+_prototype_bracketed.syntax +140 -0
  74. data/lib/textpow/syntax/jquery_javascript.syntax +114 -0
  75. data/lib/textpow/syntax/json.syntax +136 -0
  76. data/lib/textpow/syntax/languagedefinition.syntax +708 -0
  77. data/lib/textpow/syntax/latex.syntax +566 -0
  78. data/lib/textpow/syntax/latex_beamer.syntax +41 -0
  79. data/lib/textpow/syntax/latex_log.syntax +50 -0
  80. data/lib/textpow/syntax/latex_memoir.syntax +64 -0
  81. data/lib/textpow/syntax/lexflex.syntax +219 -0
  82. data/lib/textpow/syntax/lighttpd.syntax +54 -0
  83. data/lib/textpow/syntax/lilypond.syntax +492 -0
  84. data/lib/textpow/syntax/lisp.syntax +61 -0
  85. data/lib/textpow/syntax/literate_haskell.syntax +24 -0
  86. data/lib/textpow/syntax/logo.syntax +29 -0
  87. data/lib/textpow/syntax/logtalk.syntax +152 -0
  88. data/lib/textpow/syntax/lua.syntax +86 -0
  89. data/lib/textpow/syntax/m.syntax +142 -0
  90. data/lib/textpow/syntax/macports_portfile.syntax +163 -0
  91. data/lib/textpow/syntax/mail.syntax +118 -0
  92. data/lib/textpow/syntax/makefile.syntax +36 -0
  93. data/lib/textpow/syntax/man.syntax +17 -0
  94. data/lib/textpow/syntax/mediawiki.syntax +567 -0
  95. data/lib/textpow/syntax/mel.syntax +92 -0
  96. data/lib/textpow/syntax/mips.syntax +66 -0
  97. data/lib/textpow/syntax/mod_perl.syntax +50 -0
  98. data/lib/textpow/syntax/modula-3.syntax +47 -0
  99. data/lib/textpow/syntax/moinmoin.syntax +189 -0
  100. data/lib/textpow/syntax/mootools.syntax +572 -0
  101. data/lib/textpow/syntax/movable_type.syntax +162 -0
  102. data/lib/textpow/syntax/multimarkdown.syntax +39 -0
  103. data/lib/textpow/syntax/objective-c++.syntax +18 -0
  104. data/lib/textpow/syntax/objective-c.syntax +233 -0
  105. data/lib/textpow/syntax/ocaml.syntax +764 -0
  106. data/lib/textpow/syntax/ocamllex.syntax +167 -0
  107. data/lib/textpow/syntax/ocamlyacc.syntax +184 -0
  108. data/lib/textpow/syntax/old/YAML.yaml +160 -0
  109. data/lib/textpow/syntax/old/txt2tags.yaml +139 -0
  110. data/lib/textpow/syntax/opengl.syntax +14 -0
  111. data/lib/textpow/syntax/pascal.syntax +77 -0
  112. data/lib/textpow/syntax/perl.syntax +1113 -0
  113. data/lib/textpow/syntax/plain_text.syntax +32 -0
  114. data/lib/textpow/syntax/pmwiki.syntax +113 -0
  115. data/lib/textpow/syntax/postscript.syntax +114 -0
  116. data/lib/textpow/syntax/processing.syntax +106 -0
  117. data/lib/textpow/syntax/prolog.syntax +40 -0
  118. data/lib/textpow/syntax/property_list.syntax +635 -0
  119. data/lib/textpow/syntax/python.syntax +868 -0
  120. data/lib/textpow/syntax/python_django.syntax +21 -0
  121. data/lib/textpow/syntax/qmake_project.syntax +114 -0
  122. data/lib/textpow/syntax/qt_c++.syntax +26 -0
  123. data/lib/textpow/syntax/quake3_config.syntax +32 -0
  124. data/lib/textpow/syntax/r.syntax +81 -0
  125. data/lib/textpow/syntax/r_console.syntax +16 -0
  126. data/lib/textpow/syntax/ragel.syntax +201 -0
  127. data/lib/textpow/syntax/rd_r_documentation.syntax +91 -0
  128. data/lib/textpow/syntax/regexp.syntax +50 -0
  129. data/lib/textpow/syntax/regular_expressions_oniguruma.syntax +107 -0
  130. data/lib/textpow/syntax/regular_expressions_python.syntax +109 -0
  131. data/lib/textpow/syntax/release_notes.syntax +46 -0
  132. data/lib/textpow/syntax/remind.syntax +253 -0
  133. data/lib/textpow/syntax/restructuredtext.syntax +250 -0
  134. data/lib/textpow/syntax/rez.syntax +80 -0
  135. data/lib/textpow/syntax/ruby.syntax +1035 -0
  136. data/lib/textpow/syntax/ruby_experimental.syntax +145 -0
  137. data/lib/textpow/syntax/ruby_on_rails.syntax +88 -0
  138. data/lib/textpow/syntax/s5.syntax +69 -0
  139. data/lib/textpow/syntax/sass.syntax +45 -0
  140. data/lib/textpow/syntax/scheme.syntax +347 -0
  141. data/lib/textpow/syntax/scilab.syntax +41 -0
  142. data/lib/textpow/syntax/setext.syntax +147 -0
  143. data/lib/textpow/syntax/shell-unix-generic.syntax +384 -0
  144. data/lib/textpow/syntax/slate.syntax +149 -0
  145. data/lib/textpow/syntax/smarty.syntax +63 -0
  146. data/lib/textpow/syntax/sql.syntax +237 -0
  147. data/lib/textpow/syntax/sql_rails.syntax +18 -0
  148. data/lib/textpow/syntax/ssh-config.syntax +33 -0
  149. data/lib/textpow/syntax/standard_ml.syntax +121 -0
  150. data/lib/textpow/syntax/strings_file.syntax +39 -0
  151. data/lib/textpow/syntax/subversion_commit_message.syntax +36 -0
  152. data/lib/textpow/syntax/sweave.syntax +84 -0
  153. data/lib/textpow/syntax/swig.syntax +57 -0
  154. data/lib/textpow/syntax/tcl.syntax +152 -0
  155. data/lib/textpow/syntax/template_toolkit.syntax +121 -0
  156. data/lib/textpow/syntax/tex.syntax +86 -0
  157. data/lib/textpow/syntax/tex_math.syntax +49 -0
  158. data/lib/textpow/syntax/textile.syntax +215 -0
  159. data/lib/textpow/syntax/tsv.syntax +50 -0
  160. data/lib/textpow/syntax/twiki.syntax +241 -0
  161. data/lib/textpow/syntax/txt2tags.syntax +79 -0
  162. data/lib/textpow/syntax/vectorscript.syntax +57 -0
  163. data/lib/textpow/syntax/xhtml_1.0.syntax +4027 -0
  164. data/lib/textpow/syntax/xml.syntax +180 -0
  165. data/lib/textpow/syntax/xml_strict.syntax +92 -0
  166. data/lib/textpow/syntax/xsl.syntax +60 -0
  167. data/lib/textpow/syntax/yaml.syntax +160 -0
  168. data/lib/textpow/syntax/yui_javascript.syntax +176 -0
  169. data/lib/textpow/version.rb +2 -2
  170. data/spec/spec_helper.rb +2 -0
  171. data/spec/textpow_spec.rb +34 -0
  172. metadata +169 -5
  173. data/test/textpow_test.rb +0 -24
data/Gemfile CHANGED
@@ -5,6 +5,5 @@ gem 'oniguruma', :platform => :ruby_18
5
5
 
6
6
  group :dev do
7
7
  gem 'rake', '0.8.7'
8
- gem 'jeweler'
9
- gem 'hoe'
8
+ gem 'rspec'
10
9
  end
@@ -1,29 +1,30 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- textpow1x (0.11.0)
4
+ textpow1x (1.0.0)
5
5
  plist (>= 3.0.1)
6
6
 
7
7
  GEM
8
8
  remote: http://rubygems.org/
9
9
  specs:
10
- git (1.2.5)
11
- hoe (2.12.3)
12
- rake (~> 0.8)
13
- jeweler (1.6.4)
14
- bundler (~> 1.0)
15
- git (>= 1.2.5)
16
- rake
10
+ diff-lcs (1.1.3)
17
11
  oniguruma (1.1.0)
18
12
  plist (3.1.0)
19
13
  rake (0.8.7)
14
+ rspec (2.6.0)
15
+ rspec-core (~> 2.6.0)
16
+ rspec-expectations (~> 2.6.0)
17
+ rspec-mocks (~> 2.6.0)
18
+ rspec-core (2.6.4)
19
+ rspec-expectations (2.6.0)
20
+ diff-lcs (~> 1.1.2)
21
+ rspec-mocks (2.6.0)
20
22
 
21
23
  PLATFORMS
22
24
  ruby
23
25
 
24
26
  DEPENDENCIES
25
- hoe
26
- jeweler
27
27
  oniguruma
28
28
  rake (= 0.8.7)
29
+ rspec
29
30
  textpow1x!
@@ -20,18 +20,16 @@ Install oniguruma
20
20
 
21
21
  == USAGE:
22
22
 
23
- 1. Get a .tmSyntax File
24
-
25
- 2. Load the Syntax File:
23
+ 1. Load a Syntax File {list of included syntax}[https://github.com/grosser/textpow/tree/master/lib/textpow/syntax]
26
24
 
27
25
  require 'textpow'
28
- syntax = Textpow::SyntaxNode.load("ruby.tmSyntax")
26
+ syntax = Textpow::SyntaxNode.load("#{Textpow.syntax_path}/ruby.syntax")
29
27
 
30
- 3. Initialize a processor:
28
+ 2. Initialize a processor:
31
29
 
32
30
  processor = Textpow::DebugProcessor.new
33
31
 
34
- 4. Parse some text:
32
+ 3. Parse some text:
35
33
 
36
34
  syntax.parse( text, processor )
37
35
 
data/Rakefile CHANGED
@@ -1,11 +1,6 @@
1
1
  require "bundler"
2
2
  Bundler::GemHelper.install_tasks
3
3
 
4
- require 'rake/testtask'
5
- Rake::TestTask.new do |test|
6
- test.libs << 'lib'
7
- test.pattern = 'test/**/*_test.rb'
8
- test.verbose = true
4
+ task :default do
5
+ sh "rspec spec/"
9
6
  end
10
-
11
- task :default => :test
@@ -6,5 +6,9 @@ require 'textpow/version'
6
6
 
7
7
  module Textpow
8
8
  class ParsingError < Exception; end
9
+
10
+ def self.syntax_path
11
+ File.join(File.dirname(__FILE__), 'textpow', 'syntax')
12
+ end
9
13
  end
10
14
 
@@ -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