github-linguist 7.11.0 → 7.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/linguist/lex.linguist_yy.c +1123 -623
- data/ext/linguist/lex.linguist_yy.h +433 -66
- data/ext/linguist/linguist.c +5 -35
- data/ext/linguist/linguist.h +0 -18
- data/ext/linguist/tokenizer.l +83 -65
- data/grammars/annotation.liquidhaskell.haskell.json +1 -1835
- data/grammars/config.xcompose.json +1 -80
- data/grammars/documentation.markdown.injection.haxe.json +1 -22
- data/grammars/etc.json +1 -987
- data/grammars/file.lasso.json +1 -702
- data/grammars/hidden.manref.json +1 -29
- data/grammars/hidden.regexp.injection-shell.json +1 -28
- data/grammars/hint.haskell.json +1 -1762
- data/grammars/hint.message.haskell.json +1 -1786
- data/grammars/hint.type.haskell.json +1 -1759
- data/grammars/injections.etc.json +1 -659
- data/grammars/inline.prisma.json +1 -55
- data/grammars/markdown.hack.codeblock.json +1 -20
- data/grammars/markdown.haxe.codeblock.json +1 -26
- data/grammars/markdown.hxml.codeblock.json +1 -26
- data/grammars/markdown.lean.codeblock.json +1 -0
- data/grammars/markdown.plantuml.codeblock.json +1 -26
- data/grammars/objdump.x86asm.json +1 -69
- data/grammars/source.4dm.json +1 -1156
- data/grammars/source.SASLog.json +1 -18
- data/grammars/source.abap.json +1 -335
- data/grammars/source.abapcds.json +1 -0
- data/grammars/source.abl.json +1 -734
- data/grammars/source.abnf.json +1 -294
- data/grammars/source.actionscript.3.json +1 -1538
- data/grammars/source.acucobol.json +1 -13
- data/grammars/source.ada.json +1 -133
- data/grammars/source.afm.json +1 -1207
- data/grammars/source.agc.json +1 -87
- data/grammars/source.agda.json +1 -72
- data/grammars/source.ahk.json +1 -195
- data/grammars/source.al.json +1 -130
- data/grammars/source.alloy.json +1 -40
- data/grammars/source.ampl.json +1 -151
- data/grammars/source.angelscript.json +1 -186
- data/grammars/source.antlr.json +1 -295
- data/grammars/source.apache-config.json +1 -346
- data/grammars/source.apache-config.mod_perl.json +1 -65
- data/grammars/source.apl.json +1 -1427
- data/grammars/source.applescript.json +1 -1384
- data/grammars/source.asl.json +1 -56
- data/grammars/source.asn.json +1 -55
- data/grammars/source.asp.json +1 -151
- data/grammars/source.aspectj.json +1 -960
- data/grammars/source.assembly.json +1 -116
- data/grammars/source.ats.json +1 -164
- data/grammars/source.autoit.json +1 -167
- data/grammars/source.avro.json +1 -381
- data/grammars/source.awk.json +1 -384
- data/grammars/source.ballerina.json +1 -1785
- data/grammars/source.batchfile.json +1 -732
- data/grammars/source.bdf.json +1 -425
- data/grammars/source.befunge.json +1 -34
- data/grammars/source.bf.json +1 -30
- data/grammars/source.blitzmax.json +1 -905
- data/grammars/source.bnf.json +1 -191
- data/grammars/source.boo.json +1 -448
- data/grammars/source.boogie.json +1 -0
- data/grammars/source.brightauthorproject.json +1 -24
- data/grammars/source.brightscript.json +1 -148
- data/grammars/source.bsl.json +1 -451
- data/grammars/source.bsv.json +1 -277
- data/grammars/source.c++.json +1 -436
- data/grammars/source.c++.qt.json +1 -29
- data/grammars/source.c.ec.json +1 -33
- data/grammars/source.c.json +1 -712
- data/grammars/source.c.nwscript.json +1 -0
- data/grammars/source.c.platform.json +1 -1115
- data/grammars/source.c2hs.json +1 -24
- data/grammars/source.cabal.json +1 -63
- data/grammars/source.cache.cmake.json +1 -70
- data/grammars/source.cake.json +1 -13
- data/grammars/source.camlp4.ocaml.json +1 -60
- data/grammars/source.capnp.json +1 -88
- data/grammars/source.ceylon.json +1 -93
- data/grammars/source.cfscript.cfc.json +1 -162
- data/grammars/source.cfscript.json +1 -737
- data/grammars/source.changelogs.rpm-spec.json +1 -91
- data/grammars/source.chapel.json +1 -265
- data/grammars/source.cirru.json +1 -61
- data/grammars/source.clarion.json +1 -146
- data/grammars/source.clean.json +1 -222
- data/grammars/source.click.json +1 -107
- data/grammars/source.clips.json +1 -67
- data/grammars/source.clojure.json +1 -429
- data/grammars/source.cm.json +1 -49
- data/grammars/source.cmake.json +1 -173
- data/grammars/source.cobol.json +1 -485
- data/grammars/source.coffee.json +1 -1310
- data/grammars/source.cool.json +1 -96
- data/grammars/source.coq.json +1 -58
- data/grammars/source.crystal.json +1 -2694
- data/grammars/source.cs.json +1 -4323
- data/grammars/source.csound-document.json +1 -175
- data/grammars/source.csound-score.json +1 -191
- data/grammars/source.csound.json +1 -824
- data/grammars/source.css.json +1 -1859
- data/grammars/source.css.less.json +1 -536
- data/grammars/source.css.mss.json +1 -249
- data/grammars/source.css.postcss.sugarss.json +1 -260
- data/grammars/source.css.scss.json +1 -1873
- data/grammars/source.csx.json +1 -13
- data/grammars/source.cuda-c++.json +1 -103
- data/grammars/source.curlrc.json +1 -984
- data/grammars/source.cwl.json +1 -103
- data/grammars/source.cython.json +1 -1912
- data/grammars/source.d.json +1 -741
- data/grammars/source.dart.json +1 -433
- data/grammars/source.data-weave.json +1 -1580
- data/grammars/source.desktop.json +1 -86
- data/grammars/source.diff.json +1 -153
- data/grammars/source.dircolors.json +1 -137
- data/grammars/source.direct-x.json +1 -135
- data/grammars/source.disasm.json +1 -30
- data/grammars/source.ditroff.desc.json +1 -411
- data/grammars/source.ditroff.json +1 -1280
- data/grammars/source.dm.json +1 -628
- data/grammars/source.dmf.json +1 -96
- data/grammars/source.dockerfile.json +1 -88
- data/grammars/source.dosbox-conf.json +1 -97
- data/grammars/source.dot.json +1 -117
- data/grammars/source.dylan.json +1 -212
- data/grammars/source.ebnf.json +1 -240
- data/grammars/source.editorconfig.json +1 -365
- data/grammars/source.eiffel.json +1 -133
- data/grammars/source.elixir.json +1 -965
- data/grammars/source.elm.json +1 -375
- data/grammars/source.emacs.lisp.json +1 -1301
- data/grammars/source.erlang.json +1 -1647
- data/grammars/source.essl.json +1 -37
- data/grammars/source.factor.json +1 -252
- data/grammars/source.fan.json +1 -341
- data/grammars/source.fancy.json +1 -245
- data/grammars/source.faust.json +1 -119
- data/grammars/source.figctrl.json +1 -252
- data/grammars/source.figfont.json +1 -121
- data/grammars/source.firestore.json +1 -289
- data/grammars/source.fish.json +1 -190
- data/grammars/source.fontdir.json +1 -99
- data/grammars/source.fontforge.json +1 -355
- data/grammars/source.forth.json +1 -84
- data/grammars/source.fortran.json +1 -464
- data/grammars/source.fortran.modern.json +1 -200
- data/grammars/source.fsharp.fsi.json +1 -9
- data/grammars/source.fsharp.fsl.json +1 -9
- data/grammars/source.fsharp.fsx.json +1 -13
- data/grammars/source.fsharp.json +1 -452
- data/grammars/source.fstar.json +1 -439
- data/grammars/source.futhark.json +1 -167
- data/grammars/source.gap.json +1 -163
- data/grammars/source.gcode.json +1 -176
- data/grammars/source.gdb.json +1 -160
- data/grammars/source.gdb.session.json +1 -70
- data/grammars/source.gdbregs.json +1 -14
- data/grammars/source.gdscript.json +1 -245
- data/grammars/source.gedcom.json +1 -196
- data/grammars/source.generic-db.json +1 -41
- data/grammars/source.gerber.json +1 -321
- data/grammars/source.gf.json +1 -51
- data/grammars/source.gfm.blade.json +1 -15
- data/grammars/source.gfm.json +1 -1913
- data/grammars/source.gitattributes.json +1 -111
- data/grammars/source.gitconfig.json +1 -450
- data/grammars/source.gitignore.json +1 -140
- data/grammars/source.glsl.json +1 -139
- data/grammars/source.gn.json +1 -345
- data/grammars/source.gnuplot.json +1 -260
- data/grammars/source.go.json +1 -540
- data/grammars/source.golo.json +1 -177
- data/grammars/source.gosu.2.json +1 -153
- data/grammars/source.grace.json +1 -675
- data/grammars/source.graphql.json +1 -978
- data/grammars/source.gremlin.json +1 -200
- data/grammars/source.groovy.gradle.json +1 -69
- data/grammars/source.groovy.json +1 -1374
- data/grammars/source.hack.json +1 -2595
- data/grammars/source.haproxy-config.json +1 -152
- data/grammars/source.harbour.json +1 -388
- data/grammars/source.haskell.json +1 -1760
- data/grammars/source.hc.json +1 -709
- data/grammars/source.hgignore.json +1 -34
- data/grammars/source.hlsl.json +1 -211
- data/grammars/source.hosts.json +1 -40
- data/grammars/source.hql.json +1 -492
- data/grammars/source.hsc2hs.json +1 -9
- data/grammars/source.hsig.json +1 -1760
- data/grammars/source.httpspec.json +1 -283
- data/grammars/source.hx.argument.json +1 -80
- data/grammars/source.hx.json +1 -2428
- data/grammars/source.hx.type.json +1 -8
- data/grammars/source.hxml.json +1 -59
- data/grammars/source.hy.json +1 -429
- data/grammars/source.ideal.json +1 -356
- data/grammars/source.idl-dlm.json +1 -105
- data/grammars/source.idl.json +1 -246
- data/grammars/source.idris.json +1 -523
- data/grammars/source.igor.json +1 -369
- data/grammars/source.inform7.json +1 -183
- data/grammars/source.ini.json +1 -107
- data/grammars/source.ini.npmrc.json +1 -311
- data/grammars/source.inno.json +1 -133
- data/grammars/source.inputrc.json +1 -500
- data/grammars/source.io.json +1 -156
- data/grammars/source.ioke.json +1 -266
- data/grammars/source.isabelle.root.json +1 -64
- data/grammars/source.isabelle.theory.json +1 -102
- data/grammars/source.j.json +1 -260
- data/grammars/source.jasmin.json +1 -294
- data/grammars/source.java-properties.json +1 -87
- data/grammars/source.java.json +1 -1020
- data/grammars/source.jcl.json +1 -46
- data/grammars/source.jflex.json +1 -484
- data/grammars/source.jison.json +1 -711
- data/grammars/source.jisonlex-injection.json +1 -10
- data/grammars/source.jisonlex.json +1 -434
- data/grammars/source.jolie.json +1 -132
- data/grammars/source.jq.json +1 -211
- data/grammars/source.js.json +1 -1897
- data/grammars/source.js.objj.json +1 -419
- data/grammars/source.js.regexp.json +1 -152
- data/grammars/source.js.regexp.replacement.json +1 -26
- data/grammars/source.jsdoc.json +1 -460
- data/grammars/source.json.json +1 -139
- data/grammars/source.jsonnet.json +1 -197
- data/grammars/source.julia.console.json +1 -51
- data/grammars/source.julia.json +1 -991
- data/grammars/source.kotlin.json +1 -704
- data/grammars/source.lark.json +1 -0
- data/grammars/source.lbnf.json +1 -0
- data/grammars/source.lcov.json +1 -398
- data/grammars/source.lean.json +1 -226
- data/grammars/source.lean.markdown.json +1 -2598
- data/grammars/source.lex.json +1 -232
- data/grammars/source.lex.regexp.json +1 -269
- data/grammars/source.lid.json +1 -19
- data/grammars/source.lilypond.json +1 -869
- data/grammars/source.lisp.json +1 -101
- data/grammars/source.litcoffee.json +1 -654
- data/grammars/source.livescript.json +1 -603
- data/grammars/source.llvm.json +1 -61
- data/grammars/source.logos.json +1 -24
- data/grammars/source.logtalk.json +1 -310
- data/grammars/source.loomscript.json +1 -208
- data/grammars/source.lsl.json +1 -241
- data/grammars/source.ltspice.symbol.json +1 -294
- data/grammars/source.lua.json +1 -275
- data/grammars/source.m2.json +1 -125
- data/grammars/source.m4.json +1 -229
- data/grammars/source.m68k.json +1 -412
- data/grammars/source.mailmap.json +1 -28
- data/grammars/source.makefile.json +1 -470
- data/grammars/source.makegen.json +1 -9
- data/grammars/source.man-conf.json +1 -153
- data/grammars/source.mask.json +1 -816
- data/grammars/source.mata.json +1 -125
- data/grammars/source.mathematica.json +1 -416
- data/grammars/source.matlab.json +1 -1096
- data/grammars/source.maxscript.json +1 -465
- data/grammars/source.mcfunction-snapshot.json +1 -24480
- data/grammars/source.mcfunction.json +1 -1354
- data/grammars/source.mercury.json +1 -246
- data/grammars/source.meson.json +1 -165
- data/grammars/source.meta-info.json +1 -146
- data/grammars/source.ml.json +1 -285
- data/grammars/source.mlir.json +1 -109
- data/grammars/source.modelica.json +1 -142
- data/grammars/source.modula-3.json +1 -88
- data/grammars/source.modula2.json +1 -94
- data/grammars/source.monkey.json +1 -694
- data/grammars/source.moonscript.json +1 -144
- data/grammars/source.mql5.json +1 -187
- data/grammars/source.msl.json +1 -755
- data/grammars/source.mupad.json +1 -131
- data/grammars/source.nanorc.json +1 -333
- data/grammars/source.nasl.json +1 -155
- data/grammars/source.ncl.json +1 -53
- data/grammars/source.ne.json +1 -105
- data/grammars/source.nemerle.json +1 -132
- data/grammars/source.neon.json +1 -381
- data/grammars/source.nesc.json +1 -21
- data/grammars/source.netlinx.erb.json +1 -34
- data/grammars/source.netlinx.json +1 -704
- data/grammars/source.nextflow-groovy.json +1 -1359
- data/grammars/source.nextflow.json +1 -94
- data/grammars/source.nginx.json +1 -815
- data/grammars/source.nim.comment.json +1 -82
- data/grammars/source.nim.json +1 -1083
- data/grammars/source.nim_filter.json +1 -113
- data/grammars/source.nimcfg.json +1 -103
- data/grammars/source.ninja.json +1 -248
- data/grammars/source.nit.json +1 -234
- data/grammars/source.nix.json +1 -1196
- data/grammars/source.nsis.json +1 -152
- data/grammars/source.nu.json +1 -516
- data/grammars/source.nunjucks.json +1 -0
- data/grammars/source.nut.json +1 -262
- data/grammars/source.objc++.json +1 -12
- data/grammars/source.objc.json +1 -910
- data/grammars/source.objc.platform.json +1 -842
- data/grammars/source.objectscript.json +1 -309
- data/grammars/source.objectscript_class.json +1 -674
- data/grammars/source.objectscript_csp.json +1 -19
- data/grammars/source.objectscript_macros.json +1 -226
- data/grammars/source.ocaml.json +1 -1418
- data/grammars/source.ocamllex.json +1 -298
- data/grammars/source.ocamlyacc.json +1 -339
- data/grammars/source.odin-ehr.json +1 -806
- data/grammars/source.odin.json +1 -402
- data/grammars/source.ooc.json +1 -685
- data/grammars/source.opa.json +1 -196
- data/grammars/source.opal.json +1 -410
- data/grammars/source.opalsysdefs.json +1 -66
- data/grammars/source.openbsd-pkg.contents.json +1 -128
- data/grammars/source.opencobol.json +1 -62
- data/grammars/source.opentype.json +1 -448
- data/grammars/source.opts.json +1 -108
- data/grammars/source.ox.json +1 -89
- data/grammars/source.oz.json +1 -77
- data/grammars/source.p4.json +1 -122
- data/grammars/source.paket.dependencies.json +1 -0
- data/grammars/source.paket.lock.json +1 -0
- data/grammars/source.pan.json +1 -706
- data/grammars/source.papyrus.skyrim.json +1 -1272
- data/grammars/source.parrot.pir.json +1 -145
- data/grammars/source.pascal.json +1 -143
- data/grammars/source.pawn.json +1 -1194
- data/grammars/source.pcb.board.json +1 -285
- data/grammars/source.pcb.schematic.json +1 -424
- data/grammars/source.pcb.sexp.json +1 -232
- data/grammars/source.pep8.json +1 -118
- data/grammars/source.perl.6.json +1 -309
- data/grammars/source.perl.json +1 -2519
- data/grammars/source.php.zephir.json +1 -353
- data/grammars/source.pic.json +1 -908
- data/grammars/source.pig_latin.json +1 -168
- data/grammars/source.pike.json +1 -49
- data/grammars/source.plist.json +1 -336
- data/grammars/source.po.json +1 -222
- data/grammars/source.pogoscript.json +1 -79
- data/grammars/source.pony.json +1 -245
- data/grammars/source.postcss.json +1 -370
- data/grammars/source.postscript.json +1 -477
- data/grammars/source.pov-ray sdl.json +1 -82
- data/grammars/source.powershell.json +1 -981
- data/grammars/source.prisma.json +1 -435
- data/grammars/source.processing.json +1 -872
- data/grammars/source.prolog.eclipse.json +1 -201
- data/grammars/source.prolog.json +1 -286
- data/grammars/source.protobuf.json +1 -471
- data/grammars/source.puppet.json +1 -433
- data/grammars/source.purescript.json +1 -861
- data/grammars/source.pyjade.json +1 -996
- data/grammars/source.python.django.json +1 -29
- data/grammars/source.python.json +1 -5292
- data/grammars/source.python.salt.json +1 -9
- data/grammars/source.q.json +1 -215
- data/grammars/source.q_output.json +1 -348
- data/grammars/source.qasm.json +1 -66
- data/grammars/source.ql.json +1 -1408
- data/grammars/source.qmake.json +1 -210
- data/grammars/source.qml.json +1 -174
- data/grammars/source.qsharp.json +1 -120
- data/grammars/source.quake.json +1 -44
- data/grammars/source.quoting.raku.json +1 -0
- data/grammars/source.r.json +1 -194
- data/grammars/source.racket.json +1 -98
- data/grammars/source.raku.json +1 -0
- data/grammars/source.rascal.json +1 -283
- data/grammars/source.reason.hover.type.json +1 -14
- data/grammars/source.reason.json +1 -3382
- data/grammars/source.rebol.json +1 -637
- data/grammars/source.record-jar.json +1 -0
- data/grammars/source.red.json +1 -644
- data/grammars/source.reg.json +1 -159
- data/grammars/source.regexp.extended.json +1 -558
- data/grammars/source.regexp.json +1 -1434
- data/grammars/source.regexp.posix.json +1 -0
- data/grammars/source.regexp.python.json +1 -490
- data/grammars/source.regexp.raku.json +1 -0
- data/grammars/source.regexp.spin.json +1 -179
- data/grammars/source.rego.json +1 -124
- data/grammars/source.renpy.json +1 -1948
- data/grammars/source.rescript.json +1 -0
- data/grammars/source.rexx.json +1 -52
- data/grammars/source.ring.json +1 -247
- data/grammars/source.rpm-spec.json +1 -765
- data/grammars/source.ruby.gemfile.json +1 -24
- data/grammars/source.ruby.json +1 -2605
- data/grammars/source.ruby.rspec.cucumber.steps.json +1 -261
- data/grammars/source.rust.json +1 -629
- data/grammars/source.sas.json +1 -286
- data/grammars/source.sass.json +1 -1089
- data/grammars/source.sassdoc.json +1 -346
- data/grammars/source.scad.json +1 -145
- data/grammars/source.scala.json +1 -1121
- data/grammars/source.scaml.json +1 -451
- data/grammars/source.scheme.json +1 -353
- data/grammars/source.scilab.json +1 -96
- data/grammars/source.sdbl.json +1 -90
- data/grammars/source.sed.json +1 -1520
- data/grammars/source.shaderlab.json +1 -198
- data/grammars/source.shell.json +1 -1272
- data/grammars/source.shen.json +1 -143
- data/grammars/source.sieve.json +1 -383
- data/grammars/source.slice.json +1 -2755
- data/grammars/source.smali.json +1 -1610
- data/grammars/source.smalltalk.json +1 -187
- data/grammars/source.smpl.json +1 -314
- data/grammars/source.smt.json +1 -158
- data/grammars/source.solidity.json +1 -189
- data/grammars/source.sourcepawn.json +1 -651
- data/grammars/source.sparql.json +1 -18
- data/grammars/source.spin.json +1 -916
- data/grammars/source.sqf.json +1 -111
- data/grammars/source.sql.json +1 -459
- data/grammars/source.ssh-config.json +1 -97
- data/grammars/source.stan.json +1 -388
- data/grammars/source.stata.json +1 -197
- data/grammars/source.strings.json +1 -49
- data/grammars/source.stylus.json +1 -1018
- data/grammars/source.supercollider.json +1 -93
- data/grammars/source.svelte.json +1 -827
- data/grammars/source.swift.json +1 -3134
- data/grammars/source.sy.json +1 -2954
- data/grammars/source.systemverilog.json +1 -1036
- data/grammars/source.tags.json +1 -266
- data/grammars/source.tcl.json +1 -260
- data/grammars/source.tea.json +1 -174
- data/grammars/source.terra.json +1 -138
- data/grammars/source.terraform.json +1 -694
- data/grammars/source.thrift.json +1 -698
- data/grammars/source.tl.json +1 -259
- data/grammars/source.tla.json +1 -140
- data/grammars/source.tnsaudit.json +1 -256
- data/grammars/source.toc.json +1 -52
- data/grammars/source.toml.json +1 -426
- data/grammars/source.ts.json +1 -5581
- data/grammars/source.tsql.json +1 -507
- data/grammars/source.tsx.json +1 -5834
- data/grammars/source.turing.json +1 -1553
- data/grammars/source.turtle.json +1 -489
- data/grammars/source.txl.json +1 -48
- data/grammars/source.ucd.nameslist.json +1 -444
- data/grammars/source.ucd.unidata.json +1 -570
- data/grammars/source.ucfconstraints.json +1 -67
- data/grammars/source.ur.json +1 -31
- data/grammars/source.v.json +1 -1010
- data/grammars/source.vala.json +1 -800
- data/grammars/source.varnish.vcl.json +1 -331
- data/grammars/source.vbnet.json +1 -239
- data/grammars/source.verilog.json +1 -296
- data/grammars/source.vhdl.json +1 -1374
- data/grammars/source.vim-snippet.json +1 -645
- data/grammars/source.viml.json +1 -1197
- data/grammars/source.vtt.json +1 -702
- data/grammars/source.vyper.json +1 -213
- data/grammars/source.wavefront.mtl.json +1 -1190
- data/grammars/source.wavefront.obj.json +1 -1341
- data/grammars/source.wdl.json +1 -220
- data/grammars/source.webassembly.json +1 -349
- data/grammars/source.webidl.json +1 -807
- data/grammars/source.wgetrc.json +1 -1640
- data/grammars/source.wollok.json +1 -100
- data/grammars/source.wsd.json +1 -781
- data/grammars/source.x10.json +1 -64
- data/grammars/source.x86.json +1 -299
- data/grammars/source.x86asm.json +1 -42
- data/grammars/source.xc.json +1 -371
- data/grammars/source.xlfd.json +1 -462
- data/grammars/source.xojo.json +1 -85
- data/grammars/source.xq.json +1 -230
- data/grammars/source.xtend.json +1 -724
- data/grammars/source.yacc.json +1 -626
- data/grammars/source.yaml.json +1 -443
- data/grammars/source.yaml.salt.json +1 -345
- data/grammars/source.yang.json +1 -78
- data/grammars/source.yara.json +1 -99
- data/grammars/source.yasnippet.json +1 -377
- data/grammars/source.zap.json +1 -260
- data/grammars/source.zeek.json +1 -412
- data/grammars/source.zenscript.json +1 -282
- data/grammars/source.zig.json +1 -547
- data/grammars/source.zil.json +1 -750
- data/grammars/text.bibtex.json +1 -246
- data/grammars/text.browserslist.json +1 -0
- data/grammars/text.cfml.basic.json +1 -735
- data/grammars/text.checksums.json +1 -0
- data/grammars/text.conllu.json +1 -45
- data/grammars/text.dfy.dafny.json +1 -188
- data/grammars/text.elixir.json +1 -52
- data/grammars/text.eml.basic.json +1 -296
- data/grammars/text.error-list.json +1 -53
- data/grammars/text.find-refs.json +1 -926
- data/grammars/text.gherkin.feature.json +1 -127
- data/grammars/text.haml.json +1 -518
- data/grammars/text.hamlc.json +1 -219
- data/grammars/text.html.asciidoc.json +1 -478
- data/grammars/text.html.asdoc.json +1 -529
- data/grammars/text.html.asp.json +1 -53
- data/grammars/text.html.basic.json +1 -908
- data/grammars/text.html.cfm.json +1 -802
- data/grammars/text.html.creole.json +1 -317
- data/grammars/text.html.cshtml.json +1 -356
- data/grammars/text.html.django.json +1 -63
- data/grammars/text.html.ecr.json +1 -48
- data/grammars/text.html.elixir.json +1 -21
- data/grammars/text.html.erb.json +1 -150
- data/grammars/text.html.erlang.yaws.json +1 -67
- data/grammars/text.html.factor.json +1 -19
- data/grammars/text.html.ftl.json +1 -76
- data/grammars/text.html.handlebars.json +1 -845
- data/grammars/text.html.javadoc.json +1 -426
- data/grammars/text.html.js.json +1 -24
- data/grammars/text.html.jsp.json +1 -1196
- data/grammars/text.html.liquid.json +1 -25
- data/grammars/text.html.mako.json +1 -726
- data/grammars/text.html.markdown.source.gfm.apib.json +1 -1298
- data/grammars/text.html.markdown.source.gfm.mson.json +1 -1156
- data/grammars/text.html.mediawiki.elm-build-output.json +1 -97
- data/grammars/text.html.mediawiki.elm-documentation.json +1 -17
- data/grammars/text.html.mediawiki.json +1 -946
- data/grammars/text.html.nunjucks.json +1 -0
- data/grammars/text.html.php.blade.json +1 -3833
- data/grammars/text.html.php.json +1 -2507
- data/grammars/text.html.riot.json +1 -788
- data/grammars/text.html.slash.json +1 -307
- data/grammars/text.html.smarty.json +1 -232
- data/grammars/text.html.soy.json +1 -606
- data/grammars/text.html.ssp.json +1 -43
- data/grammars/text.html.tcl.json +1 -37
- data/grammars/text.html.twig.json +1 -1344
- data/grammars/text.html.vue.json +1 -963
- data/grammars/text.idl-idldoc.json +1 -10
- data/grammars/text.jade.json +1 -963
- data/grammars/text.junit-test-report.json +1 -89
- data/grammars/text.log.latex.json +1 -84
- data/grammars/text.marko.json +1 -1662
- data/grammars/text.muse.json +1 -1471
- data/grammars/text.openbsd-pkg.desc.json +1 -78
- data/grammars/text.plain.json +1 -18
- data/grammars/text.python.console.json +1 -21
- data/grammars/text.python.traceback.json +1 -43
- data/grammars/text.rdoc.json +1 -44
- data/grammars/text.restructuredtext.clean.json +1 -24
- data/grammars/text.restructuredtext.json +1 -1765
- data/grammars/text.robot.json +1 -63
- data/grammars/text.roff.json +1 -6927
- data/grammars/text.rtf.json +1 -148
- data/grammars/text.runoff.json +1 -308
- data/grammars/text.sfd.json +1 -292
- data/grammars/text.shell-session.json +1 -29
- data/grammars/text.slim.json +1 -527
- data/grammars/text.srt.json +1 -166
- data/grammars/text.tex.json +1 -264
- data/grammars/text.tex.latex.beamer.json +1 -57
- data/grammars/text.tex.latex.haskell.json +1 -1826
- data/grammars/text.tex.latex.json +1 -1003
- data/grammars/text.tex.latex.memoir.json +1 -129
- data/grammars/text.tex.latex.rd.json +1 -111
- data/grammars/text.texinfo.json +1 -1525
- data/grammars/text.vim-help.json +1 -383
- data/grammars/text.xml.ant.json +1 -195
- data/grammars/text.xml.flex-config.json +1 -2628
- data/grammars/text.xml.genshi.json +1 -28
- data/grammars/text.xml.json +1 -351
- data/grammars/text.xml.plist.json +1 -664
- data/grammars/text.xml.pom.json +1 -769
- data/grammars/text.xml.svg.json +1 -562
- data/grammars/text.xml.xsl.json +1 -88
- data/grammars/text.zone_file.json +1 -67
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/classifier.rb +28 -17
- data/lib/linguist/generated.rb +23 -3
- data/lib/linguist/generic.yml +18 -0
- data/lib/linguist/heuristics.yml +57 -22
- data/lib/linguist/language.rb +4 -2
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +142 -25
- data/lib/linguist/linguist.bundle +0 -0
- data/lib/linguist/samples.json +1 -1
- data/lib/linguist/samples.rb +4 -4
- data/lib/linguist/{md5.rb → sha256.rb} +3 -3
- data/lib/linguist/strategy/extension.rb +13 -5
- data/lib/linguist/vendor.yml +1 -1
- metadata +23 -10
- data/ext/linguist/strndup.c +0 -10
- data/grammars/source.js.css.json +0 -328
- data/grammars/source.js.jsx.json +0 -2488
- data/grammars/source.perl6fe.json +0 -2769
- data/grammars/source.quoting.perl6fe.json +0 -2369
- data/grammars/source.regexp.perl6fe.json +0 -244
data/grammars/source.SASLog.json
CHANGED
@@ -1,18 +1 @@
|
|
1
|
-
{
|
2
|
-
"name": "SAS Log",
|
3
|
-
"scopeName": "source.SASLog",
|
4
|
-
"patterns": [
|
5
|
-
{
|
6
|
-
"name": "keyword.source.SASLog",
|
7
|
-
"match": "^NOTE:.*"
|
8
|
-
},
|
9
|
-
{
|
10
|
-
"name": "invalid.source.SASLog",
|
11
|
-
"match": "(^(ERROR|WARNING)|Uninitialized| remerg|invalid\\b).*"
|
12
|
-
},
|
13
|
-
{
|
14
|
-
"name": "entity.name.function.source.SASLog",
|
15
|
-
"match": "^INFO.*"
|
16
|
-
}
|
17
|
-
]
|
18
|
-
}
|
1
|
+
{"name":"SAS Log","scopeName":"source.SASLog","patterns":[{"name":"keyword.source.SASLog","match":"^NOTE:.*"},{"name":"invalid.source.SASLog","match":"(^(ERROR|WARNING)|Uninitialized| remerg|invalid\\b).*"},{"name":"entity.name.function.source.SASLog","match":"^INFO.*"}]}
|
data/grammars/source.abap.json
CHANGED
@@ -1,335 +1 @@
|
|
1
|
-
{
|
2
|
-
"name": "ABAP",
|
3
|
-
"scopeName": "source.abap",
|
4
|
-
"patterns": [
|
5
|
-
{
|
6
|
-
"name": "comment.line.full.abap",
|
7
|
-
"match": "^\\*.*\\n?",
|
8
|
-
"captures": {
|
9
|
-
"1": {
|
10
|
-
"name": "punctuation.definition.comment.abap"
|
11
|
-
}
|
12
|
-
}
|
13
|
-
},
|
14
|
-
{
|
15
|
-
"name": "comment.line.partial.abap",
|
16
|
-
"match": "\".*\\n?",
|
17
|
-
"captures": {
|
18
|
-
"1": {
|
19
|
-
"name": "punctuation.definition.comment.abap"
|
20
|
-
}
|
21
|
-
}
|
22
|
-
},
|
23
|
-
{
|
24
|
-
"name": "comment.line.pragma.abap",
|
25
|
-
"match": "(?\u003c![^\\s])##.*?(?=([\\.:,\\s]))"
|
26
|
-
},
|
27
|
-
{
|
28
|
-
"name": "variable.other.abap",
|
29
|
-
"match": "(?i)(?\u003c=\\s)([a-z_/][a-z_0-9/]*)(?=\\s+=\\s+)"
|
30
|
-
},
|
31
|
-
{
|
32
|
-
"name": "constant.numeric.abap",
|
33
|
-
"match": "\\b[0-9]+(\\b|\\.|,)"
|
34
|
-
},
|
35
|
-
{
|
36
|
-
"name": "storage.modifier.class.abap",
|
37
|
-
"match": "(?ix)(^|\\s+)((PUBLIC|PRIVATE|PROTECTED)\\sSECTION)(?=\\s+|:|\\.)"
|
38
|
-
},
|
39
|
-
{
|
40
|
-
"name": "string.interpolated.abap",
|
41
|
-
"begin": "(?\u003c!\\\\)(\\|)(.*?)",
|
42
|
-
"end": "(?\u003c!\\\\)(\\|)",
|
43
|
-
"patterns": [
|
44
|
-
{
|
45
|
-
"name": "constant.character.escape",
|
46
|
-
"match": "({ )|( })"
|
47
|
-
},
|
48
|
-
{
|
49
|
-
"name": "variable.other.abap",
|
50
|
-
"match": "(?\u003c={ ).*?(?= })"
|
51
|
-
},
|
52
|
-
{
|
53
|
-
"name": "constant.character.escape.abap",
|
54
|
-
"match": "\\\\\\|"
|
55
|
-
}
|
56
|
-
],
|
57
|
-
"beginCaptures": {
|
58
|
-
"1": {
|
59
|
-
"name": "constant.character.escape.abap"
|
60
|
-
}
|
61
|
-
},
|
62
|
-
"endCaptures": {
|
63
|
-
"1": {
|
64
|
-
"name": "constant.character.escape.abap"
|
65
|
-
}
|
66
|
-
}
|
67
|
-
},
|
68
|
-
{
|
69
|
-
"name": "string.quoted.single.abap",
|
70
|
-
"begin": "'",
|
71
|
-
"end": "'",
|
72
|
-
"patterns": [
|
73
|
-
{
|
74
|
-
"name": "constant.character.escape.abap",
|
75
|
-
"match": "''"
|
76
|
-
}
|
77
|
-
]
|
78
|
-
},
|
79
|
-
{
|
80
|
-
"name": "string.quoted.single.abap",
|
81
|
-
"begin": "`",
|
82
|
-
"end": "`",
|
83
|
-
"patterns": [
|
84
|
-
{
|
85
|
-
"name": "constant.character.escape.abap",
|
86
|
-
"match": "``"
|
87
|
-
}
|
88
|
-
]
|
89
|
-
},
|
90
|
-
{
|
91
|
-
"name": "meta.block.begin.implementation.abap",
|
92
|
-
"begin": "(?i)^\\s*(class)\\s([a-z_/][a-z_0-9/]*)",
|
93
|
-
"end": "\\s*\\.\\s*\\n?",
|
94
|
-
"patterns": [
|
95
|
-
{
|
96
|
-
"name": "storage.modifier.class.abap",
|
97
|
-
"match": "(?ix)(^|\\s+)(definition|implementation|public|inheriting\\s+from|final|deferred|abstract|shared\\s+memory\\s+enabled|(global|local)*\\s*friends|(create\\s+(public|protected|private))|for\\s+testing|risk\\s+level\\s+(critical|dangerous|harmless))|duration\\s(short|medium|long)(?=\\s+|\\.)"
|
98
|
-
},
|
99
|
-
{
|
100
|
-
"contentName": "entity.name.type.block.abap",
|
101
|
-
"begin": "(?=[A-Za-z_][A-Za-z0-9_]*)",
|
102
|
-
"end": "(?![A-Za-z0-9_])",
|
103
|
-
"patterns": [
|
104
|
-
{
|
105
|
-
"include": "#generic_names"
|
106
|
-
}
|
107
|
-
]
|
108
|
-
}
|
109
|
-
],
|
110
|
-
"beginCaptures": {
|
111
|
-
"1": {
|
112
|
-
"name": "storage.type.block.abap"
|
113
|
-
},
|
114
|
-
"2": {
|
115
|
-
"name": "entity.name.type.block.abap"
|
116
|
-
}
|
117
|
-
}
|
118
|
-
},
|
119
|
-
{
|
120
|
-
"begin": "(?ix)^\\s*(method)\\s(?:([a-z_\\/][a-z_0-9\\/]*)~)?([a-z_\\/][a-z_0-9\\/]*)",
|
121
|
-
"end": "\\s*\\.\\s*\\n?",
|
122
|
-
"patterns": [
|
123
|
-
{
|
124
|
-
"name": "storage.modifier.method.abap",
|
125
|
-
"match": "(?ix)(?\u003c=^|\\s)(BY\\s+DATABASE(\\s+PROCEDURE|\\s+FUNCTION))(?=\\s+|\\.)"
|
126
|
-
},
|
127
|
-
{
|
128
|
-
"name": "storage.modifier.method.abap",
|
129
|
-
"match": "(?ix)(?\u003c=^|\\s)(FOR\\s+(HDB|LLANG))(?=\\s+|\\.)"
|
130
|
-
},
|
131
|
-
{
|
132
|
-
"name": "storage.modifier.method.abap",
|
133
|
-
"match": "(?ix)(?\u003c=\\s)(OPTIONS\\s+(READ-ONLY|DETERMINISTIC|SUPPRESS\\s+SYNTAX\\s+ERRORS))(?=\\s+|\\.)"
|
134
|
-
},
|
135
|
-
{
|
136
|
-
"name": "storage.modifier.method.abap",
|
137
|
-
"match": "(?ix)(?\u003c=^|\\s)(LANGUAGE\\s+SQLSCRIPT)(?=\\s+|\\.)"
|
138
|
-
},
|
139
|
-
{
|
140
|
-
"match": "(?ix)(?\u003c=\\s)(USING)\\s+([a-z_\\/][a-z_0-9\\/]*)+(?=\\s+|\\.)",
|
141
|
-
"captures": {
|
142
|
-
"1": {
|
143
|
-
"name": "storage.modifier.method.abap"
|
144
|
-
}
|
145
|
-
}
|
146
|
-
},
|
147
|
-
{
|
148
|
-
"begin": "(?=[A-Za-z_][A-Za-z0-9_]*)",
|
149
|
-
"end": "(?![A-Za-z0-9_])",
|
150
|
-
"patterns": [
|
151
|
-
{
|
152
|
-
"include": "#generic_names"
|
153
|
-
}
|
154
|
-
]
|
155
|
-
}
|
156
|
-
],
|
157
|
-
"beginCaptures": {
|
158
|
-
"1": {
|
159
|
-
"name": "storage.type.block.abap"
|
160
|
-
},
|
161
|
-
"2": {
|
162
|
-
"name": "entity.name.type.abap"
|
163
|
-
},
|
164
|
-
"3": {
|
165
|
-
"name": "entity.name.function.abap"
|
166
|
-
}
|
167
|
-
}
|
168
|
-
},
|
169
|
-
{
|
170
|
-
"begin": "(?ix)^\\s*(INTERFACE)\\s([a-z_\\/][a-z_0-9\\/]*)",
|
171
|
-
"end": "\\s*\\.\\s*\\n?",
|
172
|
-
"patterns": [
|
173
|
-
{
|
174
|
-
"name": "storage.modifier.method.abap",
|
175
|
-
"match": "(?ix)(?\u003c=^|\\s)(DEFERRED|PUBLIC)(?=\\s+|\\.)"
|
176
|
-
}
|
177
|
-
],
|
178
|
-
"beginCaptures": {
|
179
|
-
"1": {
|
180
|
-
"name": "storage.type.block.abap"
|
181
|
-
},
|
182
|
-
"2": {
|
183
|
-
"name": "entity.name.type.abap"
|
184
|
-
}
|
185
|
-
}
|
186
|
-
},
|
187
|
-
{
|
188
|
-
"begin": "(?ix)^\\s*(FORM)\\s([a-z_\\/][a-z_0-9\\/]*)",
|
189
|
-
"end": "\\s*\\.\\s*\\n?",
|
190
|
-
"patterns": [
|
191
|
-
{
|
192
|
-
"name": "storage.modifier.form.abap",
|
193
|
-
"match": "(?ix)(?\u003c=^|\\s)(USING|TABLES|CHANGING|RAISING)(?=\\s+|\\.)"
|
194
|
-
},
|
195
|
-
{
|
196
|
-
"include": "#abaptypes"
|
197
|
-
}
|
198
|
-
],
|
199
|
-
"beginCaptures": {
|
200
|
-
"1": {
|
201
|
-
"name": "storage.type.block.abap"
|
202
|
-
},
|
203
|
-
"2": {
|
204
|
-
"name": "entity.name.type.abap"
|
205
|
-
}
|
206
|
-
}
|
207
|
-
},
|
208
|
-
{
|
209
|
-
"name": "storage.type.block.end.abap",
|
210
|
-
"match": "(?i)(endclass|endmethod|endform|endinterface)"
|
211
|
-
},
|
212
|
-
{
|
213
|
-
"name": "variable.other.field.symbol.abap",
|
214
|
-
"match": "(?i)(\u003c[A-Za-z_][A-Za-z0-9_]*\u003e)"
|
215
|
-
},
|
216
|
-
{
|
217
|
-
"include": "#keywords"
|
218
|
-
},
|
219
|
-
{
|
220
|
-
"include": "#abap_constants"
|
221
|
-
},
|
222
|
-
{
|
223
|
-
"include": "#reserved_names"
|
224
|
-
},
|
225
|
-
{
|
226
|
-
"include": "#operators"
|
227
|
-
},
|
228
|
-
{
|
229
|
-
"include": "#builtin_functions"
|
230
|
-
},
|
231
|
-
{
|
232
|
-
"include": "#abaptypes"
|
233
|
-
},
|
234
|
-
{
|
235
|
-
"include": "#system_fields"
|
236
|
-
}
|
237
|
-
],
|
238
|
-
"repository": {
|
239
|
-
"abap_constants": {
|
240
|
-
"name": "constant.language.abap",
|
241
|
-
"match": "(?ix)(?\u003c=\\s)(initial|null|space|abap_true|abap_false|table_line)(?=\\s|\\.|,)"
|
242
|
-
},
|
243
|
-
"abaptypes": {
|
244
|
-
"patterns": [
|
245
|
-
{
|
246
|
-
"name": "support.type.abap",
|
247
|
-
"match": "(?ix)\\s(abap_bool|string|xstring|any|clike|csequence|numeric|xsequence|c|n|i|p|f|d|t|x)(?=\\s|\\.|,)"
|
248
|
-
},
|
249
|
-
{
|
250
|
-
"name": "keyword.control.simple.abap",
|
251
|
-
"match": "(?ix)\\s(TYPE|REF|TO|STANDARD|SORTED|HASHED|INDEX|TABLE|WITH|UNIQUE|NON-UNIQUE|SECONDARY|DEFAULT|KEY)(?=\\s|\\.|,)"
|
252
|
-
}
|
253
|
-
]
|
254
|
-
},
|
255
|
-
"arithmetic_operator": {
|
256
|
-
"name": "keyword.operator.abap",
|
257
|
-
"match": "(?i)(?\u003c=\\s)(\\+|\\-|\\*|\\*\\*|/|%|DIV|MOD|BIT-AND|BIT-OR|BIT-XOR|BIT-NOT)(?=\\s)"
|
258
|
-
},
|
259
|
-
"builtin_functions": {
|
260
|
-
"name": "entity.name.function.builtin.abap",
|
261
|
-
"match": "(?ix)(?\u003c=\\s)(abs|sign|ceil|floor|trunc|frac|acos|asin|atan|cos|sin|tan|cosh|sinh|tanh|exp|log|log10|sqrt|strlen|xstrlen|charlen|lines|numofchar|dbmaxlen|round|rescale|nmax|nmin|cmax|cmin|boolc|boolx|xsdbool|contains|contains_any_of|contains_any_not_of|matches|line_exists|ipow|char_off|count|count_any_of|count_any_not_of|distance|condense|concat_lines_of|escape|find|find_end|find_any_of|find_any_not_of|insert|match|repeat|replace|reverse|segment|shift_left|shift_right|substring|substring_after|substring_from|substring_before|substring_to|to_upper|to_lower|to_mixed|from_mixed|translate|bit-set|line_index)(?=\\()"
|
262
|
-
},
|
263
|
-
"comparison_operator": {
|
264
|
-
"name": "keyword.operator.abap",
|
265
|
-
"match": "(?i)(?\u003c=\\s)(\u003c|\u003e|\u003c\\=|\u003e\\=|\\=|\u003c\u003e|eq|ne|lt|le|gt|ge|cs|cp)(?=\\s)"
|
266
|
-
},
|
267
|
-
"control_keywords": {
|
268
|
-
"name": "keyword.control.flow.abap",
|
269
|
-
"match": "(?ix)(^|\\s)(\n\t at|case|catch|continue|do|elseif|else|endat|endcase|enddo|endif|\n\t endloop|endon|if|loop|on|raise|try)(?=\\s|\\.|:)"
|
270
|
-
},
|
271
|
-
"generic_names": {
|
272
|
-
"match": "[A-Za-z_][A-Za-z0-9_]*"
|
273
|
-
},
|
274
|
-
"keywords": {
|
275
|
-
"patterns": [
|
276
|
-
{
|
277
|
-
"include": "#main_keywords"
|
278
|
-
},
|
279
|
-
{
|
280
|
-
"include": "#control_keywords"
|
281
|
-
},
|
282
|
-
{
|
283
|
-
"include": "#keywords_followed_by_braces"
|
284
|
-
}
|
285
|
-
]
|
286
|
-
},
|
287
|
-
"keywords_followed_by_braces": {
|
288
|
-
"match": "(?ix)\\b(data|value|field-symbol)\\((\u003c?[a-z_\\/][a-z_0-9\\/]*\u003e?)\\)",
|
289
|
-
"captures": {
|
290
|
-
"1": {
|
291
|
-
"name": "keyword.control.simple.abap"
|
292
|
-
},
|
293
|
-
"2": {
|
294
|
-
"name": "variable.other.abap"
|
295
|
-
}
|
296
|
-
}
|
297
|
-
},
|
298
|
-
"logical_operator": {
|
299
|
-
"name": "keyword.operator.abap",
|
300
|
-
"match": "(?i)(?\u003c=\\s)(not|or|and)(?=\\s)"
|
301
|
-
},
|
302
|
-
"main_keywords": {
|
303
|
-
"name": "keyword.control.simple.abap",
|
304
|
-
"match": "(?ix)(?\u003c=^|\\s)(\n\t abstract|add|add-corresponding|adjacent|alias|aliases|all|append|appending|ascending|as|assert|assign|assigned|assigning|association|authority-check|\n\t back|begin|binary|block|bound|break-point|by|byte|\n\t call|cast|changing|check|class-data|class-events|class-method|class-methods|class-pool|clear|close|cnt|collect|commit|comment|cond|character|\n\t corresponding|communication|component|compute|concatenate|condense|constants|conv|count|\n\t controls|convert|create|currency|\n\t data|descending|default|define|deferred|delete|describe|destination|detail|display|divide|divide-corresponding|display-mode|duplicates|\n\t deleting|\n\t editor-call|empty|end|endexec|endfunction|ending|endmodule|end-of-definition|end-of-page|end-of-selection|end-test-injection|end-test-seam|exit-command|\n\t endprovide|endselect|endtry|endwhile|enum|event|events|exec|exit|export|\n\t exporting|extract|exception|exceptions|\n\t field-symbols|field-groups|field|first|fetch|fields|format|frame|free|from|function|find|for|found|function-pool|\n\t generate|get|\n\t handle|handler|hide|hashed|header|help-request|\n\t include|import|importing|index|infotypes|initial|initialization|\n\t id|implemented|is|in|interface|interfaces|interface-pool|intervals|init|input|insert|instance|into|\n\t\t\tkey|\n\t left-justified|leave|like|line|lines|line-count|line-size|load|local|log-point|length|left|leading|lower|\n\t matchcode|method|mesh|message|message-id|methods|modify|module|move|move-corresponding|multiply|multiply-corresponding|match|modif|\n\t\t\tnew|new-line|new-page|new-section|next|no|no-display|no-gap|no-gaps|no-sign|no-zero|non-unique|number|\n\t occurrence|object|obligatory|of|output|overlay|optional|others|occurrences|occurs|offset|options|\n\t pack|parameters|partially|perform|places|position|print-control|private|program|protected|provide|public|put|\n\t radiobutton\\s+group|raising|range|ranges|receive|receiving|redefinition|reduce|reference|refresh|regex|reject|results|requested|\n\t ref|replace|report|reserve|restore|result\\s+xml|return|returning|right-justified|rollback|read|read-only|rp-provide-from-last|run|\n\t scan|screen|scroll|search|select|select-options|selection-screen|stamp|source|subkey|\n\t separated|set|shift|single|skip|sort|sorted|split|standard|stamp|starting|start-of-selection|sum|subtract-corresponding|statics|step|stop|structure|submatches|submit|subtract|summary|supplied|suppress|section|syntax-check|syntax-trace|system-call|switch|\n\t tables|table|task|testing|test-seam|test-injection|then|time|times|title|titlebar|to|top-of-page|trailing|transfer|transformation|translate|transporting|types|type|type-pool|type-pools|\n\t unassign|unique|uline|unpack|update|upper|using|user-command|\n\t value|value-request|\n\t when|while|window|write|where|with|work|\n\t\txml)(?=\\s|\\.|:|,)"
|
305
|
-
},
|
306
|
-
"operators": {
|
307
|
-
"patterns": [
|
308
|
-
{
|
309
|
-
"include": "#other_operator"
|
310
|
-
},
|
311
|
-
{
|
312
|
-
"include": "#arithmetic_operator"
|
313
|
-
},
|
314
|
-
{
|
315
|
-
"include": "#comparison_operator"
|
316
|
-
},
|
317
|
-
{
|
318
|
-
"include": "#logical_operator"
|
319
|
-
}
|
320
|
-
]
|
321
|
-
},
|
322
|
-
"other_operator": {
|
323
|
-
"name": "keyword.operator.abap",
|
324
|
-
"match": "(?\u003c=\\s)(\u0026\u0026|\\?=|\\+=|-=|\\/=|\\*=|\u0026\u0026=)(?=\\s)"
|
325
|
-
},
|
326
|
-
"reserved_names": {
|
327
|
-
"name": "constant.language.abap",
|
328
|
-
"match": "(?ix)(?\u003c=\\s)(me|super)(?=\\s|\\.|,|-\u003e)"
|
329
|
-
},
|
330
|
-
"system_fields": {
|
331
|
-
"name": "variable.language.abap",
|
332
|
-
"match": "(?ix)\\b(sy-)(abcde|batch|binpt|calld|callr|colno|cpage|cprog|cucol|curow|datar|datlo|datum|dayst|dbcnt|dbnam|dbsysc|dyngr|dynnr|fdayw|fdpos|host|index|langu|ldbpg|lilli|linct|linno|linsz|lisel|listi|loopc|lsind|macol|mandt|marow|modno|msgid|msgli|msgno|msgty|msgv[1-4]|opsysc|pagno|pfkey|repid|saprl|scols|slset|spono|srows|staco|staro|stepl|subrc|sysid|tabix|tcode|tfill|timlo|title|tleng|tvar[0-9]|tzone|ucomm|uline|uname|uzeit|vline|wtitl|zonlo)(?=\\.|\\s)"
|
333
|
-
}
|
334
|
-
}
|
335
|
-
}
|
1
|
+
{"name":"ABAP","scopeName":"source.abap","patterns":[{"name":"comment.line.full.abap","match":"^\\*.*\\n?","captures":{"1":{"name":"punctuation.definition.comment.abap"}}},{"name":"comment.line.partial.abap","match":"\".*\\n?","captures":{"1":{"name":"punctuation.definition.comment.abap"}}},{"name":"comment.line.pragma.abap","match":"(?\u003c![^\\s])##.*?(?=([\\.:,\\s]))"},{"name":"variable.other.abap"},{"name":"constant.numeric.abap","match":"\\b[0-9]+(\\b|\\.|,)"},{"name":"storage.modifier.class.abap","match":"(?ix)(^|\\s+)((PUBLIC|PRIVATE|PROTECTED)\\sSECTION)(?=\\s+|:|\\.)"},{"name":"string.interpolated.abap","begin":"(?\u003c!\\\\)(\\|)(.*?)","end":"(?\u003c!\\\\)(\\|)","patterns":[{"name":"constant.character.escape","match":"({ )|( })"},{"name":"variable.other.abap","match":"(?\u003c={ ).*?(?= })"},{"name":"constant.character.escape.abap","match":"\\\\\\|"}],"beginCaptures":{"1":{"name":"constant.character.escape.abap"}},"endCaptures":{"1":{"name":"constant.character.escape.abap"}}},{"name":"string.quoted.single.abap","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.abap","match":"''"}]},{"name":"string.quoted.single.abap","begin":"`","end":"`","patterns":[{"name":"constant.character.escape.abap","match":"``"}]},{"name":"meta.block.begin.implementation.abap","begin":"(?i)^\\s*(class)\\s([a-z_/][a-z_0-9/]*)","end":"\\s*\\.\\s*\\n?","patterns":[{"name":"storage.modifier.class.abap","match":"(?ix)(^|\\s+)(definition|implementation|public|inheriting\\s+from|final|deferred|abstract|shared\\s+memory\\s+enabled|(global|local)*\\s*friends|(create\\s+(public|protected|private))|for\\s+testing|risk\\s+level\\s+(critical|dangerous|harmless))|duration\\s(short|medium|long)(?=\\s+|\\.)"},{"contentName":"entity.name.type.block.abap","begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#generic_names"}]}],"beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.block.abap"}}},{"begin":"(?ix)^\\s*(method)\\s(?:([a-z_\\/][a-z_0-9\\/]*)~)?([a-z_\\/][a-z_0-9\\/]*)","end":"\\s*\\.\\s*\\n?","patterns":[{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=^|\\s)(BY\\s+DATABASE(\\s+PROCEDURE|\\s+FUNCTION))(?=\\s+|\\.)"},{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=^|\\s)(FOR\\s+(HDB|LLANG))(?=\\s+|\\.)"},{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=\\s)(OPTIONS\\s+(READ-ONLY|DETERMINISTIC|SUPPRESS\\s+SYNTAX\\s+ERRORS))(?=\\s+|\\.)"},{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=^|\\s)(LANGUAGE\\s+SQLSCRIPT)(?=\\s+|\\.)"},{"match":"(?ix)(?\u003c=\\s)(USING)\\s+([a-z_\\/][a-z_0-9\\/]*)+(?=\\s+|\\.)","captures":{"1":{"name":"storage.modifier.method.abap"}}},{"begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#generic_names"}]}],"beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"},"3":{"name":"entity.name.function.abap"}}},{"begin":"(?ix)^\\s*(INTERFACE)\\s([a-z_\\/][a-z_0-9\\/]*)","end":"\\s*\\.\\s*\\n?","patterns":[{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=^|\\s)(DEFERRED|PUBLIC)(?=\\s+|\\.)"}],"beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"}}},{"begin":"(?ix)^\\s*(FORM)\\s([a-z_\\/][a-z_0-9\\/]*)","end":"\\s*\\.\\s*\\n?","patterns":[{"name":"storage.modifier.form.abap","match":"(?ix)(?\u003c=^|\\s)(USING|TABLES|CHANGING|RAISING)(?=\\s+|\\.)"},{"include":"#abaptypes"}],"beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"}}},{"name":"storage.type.block.end.abap","match":"(?i)(endclass|endmethod|endform|endinterface)"},{"name":"variable.other.field.symbol.abap","match":"(?i)(\u003c[A-Za-z_][A-Za-z0-9_]*\u003e)"},{"include":"#keywords"},{"include":"#abap_constants"},{"include":"#reserved_names"},{"include":"#operators"},{"include":"#builtin_functions"},{"include":"#abaptypes"},{"include":"#system_fields"}],"repository":{"abap_constants":{"name":"constant.language.abap","match":"(?ix)(?\u003c=\\s)(initial|null|space|abap_true|abap_false|table_line)(?=\\s|\\.|,)"},"abaptypes":{"patterns":[{"name":"support.type.abap","match":"(?ix)\\s(abap_bool|string|xstring|any|clike|csequence|numeric|xsequence|c|n|i|p|f|d|t|x)(?=\\s|\\.|,)"},{"name":"keyword.control.simple.abap","match":"(?ix)\\s(TYPE|REF|TO|STANDARD|SORTED|HASHED|INDEX|TABLE|WITH|UNIQUE|NON-UNIQUE|SECONDARY|DEFAULT|KEY)(?=\\s|\\.|,)"}]},"arithmetic_operator":{"name":"keyword.control.simple.abap","match":"(?i)(?\u003c=\\s)(\\+|\\-|\\*|\\*\\*|/|%|DIV|MOD|BIT-AND|BIT-OR|BIT-XOR|BIT-NOT)(?=\\s)"},"builtin_functions":{"name":"entity.name.function.builtin.abap","match":"(?ix)(?\u003c=\\s)(abs|sign|ceil|floor|trunc|frac|acos|asin|atan|cos|sin|tan|cosh|sinh|tanh|exp|log|log10|sqrt|strlen|xstrlen|charlen|lines|numofchar|dbmaxlen|round|rescale|nmax|nmin|cmax|cmin|boolc|boolx|xsdbool|contains|contains_any_of|contains_any_not_of|matches|line_exists|ipow|char_off|count|count_any_of|count_any_not_of|distance|condense|concat_lines_of|escape|find|find_end|find_any_of|find_any_not_of|insert|match|repeat|replace|reverse|segment|shift_left|shift_right|substring|substring_after|substring_from|substring_before|substring_to|to_upper|to_lower|to_mixed|from_mixed|translate|bit-set|line_index)(?=\\()"},"comparison_operator":{"name":"keyword.control.simple.abap","match":"(?i)(?\u003c=\\s)(\u003c|\u003e|\u003c\\=|\u003e\\=|\\=|\u003c\u003e|eq|ne|lt|le|gt|ge|cs|cp)(?=\\s)"},"control_keywords":{"name":"keyword.control.flow.abap","match":"(?ix)(^|\\s)(\n\t at|case|catch|continue|do|elseif|else|endat|endcase|enddo|endif|\n\t endloop|endon|if|loop|on|raise|try)(?=\\s|\\.|:)"},"generic_names":{"match":"[A-Za-z_][A-Za-z0-9_]*"},"keywords":{"patterns":[{"include":"#main_keywords"},{"include":"#text_symbols"},{"include":"#control_keywords"},{"include":"#keywords_followed_by_braces"}]},"keywords_followed_by_braces":{"match":"(?ix)\\b(data|value|field-symbol)\\((\u003c?[a-z_\\/][a-z_0-9\\/]*\u003e?)\\)","captures":{"1":{"name":"keyword.control.simple.abap"},"2":{"name":"variable.other.abap"}}},"logical_operator":{"name":"keyword.control.simple.abap","match":"(?i)(?\u003c=\\s)(not|or|and)(?=\\s)"},"main_keywords":{"name":"keyword.control.simple.abap","match":"(?ix)(?\u003c=^|\\s)(\n\t abstract|access|add|add-corresponding|adjacent|alias|aliases|all|append|appending|ascending|as|assert|assign|assigned|assigning|association|authority-check|\n\t back|badi|begin|binary|block|bound|break-point|by|byte|\n\t call|cast|changing|check|checkbox|class-data|class-events|class-method|class-methods|class-pool|clear|close|cnt|collect|commit|comment|cond|character|\n\t corresponding|communication|comparing|component|compute|concatenate|condense|constants|conv|count|\n\t controls|convert|create|currency|\n\t data|descending|default|define|deferred|delete|describe|destination|detail|display|divide|divide-corresponding|display-mode|distinct|duplicates|\n\t deleting|\n\t editor-call|empty|end|endexec|endfunction|ending|endmodule|end-of-definition|end-of-page|end-of-selection|end-test-injection|end-test-seam|exit-command|\n\t endprovide|endselect|endtry|endwhile|enum|event|events|excluding|exec|exit|export|\n\t exporting|extract|exception|exceptions|\n\t field-symbols|field-groups|field|first|fetch|fields|format|frame|free|from|function|find|for|found|function-pool|\n\t generate|get|\n\t handle|handler|hide|hashed|header|help-request|\n\t include|import|importing|index|infotypes|initial|initialization|\n\t\t\t\t\tid|implemented|is|in|inner|interface|interfaces|interface-pool|intervals|init|input|insert|instance|into|\n\t\t\t\t\tjoin|\n\t\t\tkey|\n\t left-justified|leave|like|line|lines|line-count|line-size|list-processing|load|local|log-point|length|left|leading|lower|\n\t matchcode|memory|method|mesh|message|message-id|methods|modify|module|move|move-corresponding|multiply|multiply-corresponding|match|modif|\n\t\t\tnew|new-line|new-page|new-section|next|no|no-display|no-gap|no-gaps|no-sign|no-zero|non-unique|number|\n\t occurrence|object|obligatory|of|output|overlay|optional|others|occurrences|occurs|offset|options|\n\t pack|parameter|parameters|partially|perform|pf-status|places|position|print-control|private|privileged|program|protected|provide|public|put|\n\t radiobutton\\s+group|raising|range|ranges|receive|receiving|redefinition|reduce|reference|refresh|regex|reject|results|requested|\n\t ref|replace|report|reserve|restore|result\\s+xml|return|returning|right-justified|rollback|read|read-only|rp-provide-from-last|run|\n\t scan|screen|scroll|search|select|select-options|selection-screen|set|stamp|source|subkey|\n\t separated|set|shift|single|skip|sort|sorted|split|standard|stamp|starting|start-of-selection|sum|subtract-corresponding|statics|step|stop|structure|submatches|submit|subtract|summary|supplied|suppress|section|syntax-check|syntax-trace|system-call|switch|\n\t tables|table|task|testing|test-seam|test-injection|then|time|times|title|titlebar|to|top-of-page|trailing|transaction|transfer|transformation|translate|transporting|types|type|type-pool|type-pools|\n\t unassign|unique|uline|union|unpack|update|upper|using|user-command|\n\t value|value-request|\n\t when|while|window|write|where|with|work|\n\t\txml)(?=\\s|\\.|:|,)"},"operators":{"patterns":[{"include":"#other_operator"},{"include":"#arithmetic_operator"},{"include":"#comparison_operator"},{"include":"#logical_operator"}]},"other_operator":{"name":"keyword.control.simple.abap","match":"(?\u003c=\\s)(\u0026\u0026|\\?=|\\+=|-=|\\/=|\\*=|\u0026\u0026=)(?=\\s)"},"reserved_names":{"name":"constant.language.abap","match":"(?ix)(?\u003c=\\s)(me|super)(?=\\s|\\.|,|-\u003e)"},"system_fields":{"match":"(?ix)\\b(sy)-(abcde|batch|binpt|calld|callr|colno|cpage|cprog|cucol|curow|datar|datlo|datum|dayst|dbcnt|dbnam|dbsysc|dyngr|dynnr|fdayw|fdpos|host|index|langu|ldbpg|lilli|linct|linno|linsz|lisel|listi|loopc|lsind|macol|mandt|marow|modno|msgid|msgli|msgno|msgty|msgv[1-4]|opsysc|pagno|pfkey|repid|saprl|scols|slset|spono|srows|staco|staro|stepl|subrc|sysid|tabix|tcode|tfill|timlo|title|tleng|tvar[0-9]|tzone|ucomm|uline|uname|uzeit|vline|wtitl|zonlo)(?=\\.|\\s)","captures":{"1":{"name":"variable.language.abap"},"2":{"name":"variable.language.abap"}}},"text_symbols":{"match":"(?ix)(?\u003c=^|\\s)(text)-([A-Z0-9]{1,3})(?=\\s|\\.|:|,)","captures":{"1":{"name":"keyword.control.simple.abap"},"2":{"name":"constant.numeric.abap"}}}}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"CDS","scopeName":"source.abapcds","patterns":[{"include":"#keywords"},{"include":"#strings"},{"include":"#annotations"},{"include":"#functions"},{"include":"#enums"},{"include":"#booleans"},{"include":"#comments"},{"include":"#numbers"}],"repository":{"annotations":{"patterns":[{"begin":"(@\\\u003c?)","end":":|\\n","patterns":[{"match":"\\.?([a-zA-Z//][a-zA-Z//_0-9]+)\\.?","captures":{"1":{"name":"comment.line.annotation.property.abapcds"}}}],"beginCaptures":{"1":{"name":"comment.line.annotation.symbol.abapcds"}}}]},"booleans":{"patterns":[{"name":"constant.language.boolean.abapcds","match":"(true|false)"}]},"comments":{"patterns":[{"name":"comment.block.abapcds","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.abapcds"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.abapcds"}}},{"name":"comment.line.double-slash.abapcds","begin":"(?\u003c!/)//(?:(?!/)|(?=//))","end":"(?=$)","beginCaptures":{"0":{"name":"punctuation.definition.comment.abapcds"}}}]},"enums":{"patterns":[{"name":"support.variable.abapcds","match":"\\#[a-zA-Z_]+"}]},"functions":{"patterns":[{"name":"entity.name.function.abapcds","match":"\\b(abs|cast|ceil|div|division|floor|mod|round|concat|concat_with_space|instr|left|length|lpad|lower|ltrim|replace|right|rpad|rtrim|substring|upper|bintohex|hextobin|coalesce|fltp_to_dec|unit_conversion|currency_conversion|decimal_shift|dats_is_valid|dats_days_between|dats_add_days|dats_add_months|tims_is_valid|tstmp_is_valid|tstmp_current_utctimestamp|tstmp_seconds_between|tstmp_add_seconds|abap_system_timezone|abap_user_timezone|tstmp_to_dats|tstmp_to_tims|tstmp_to_dst|dats_tims_to_tstmp)\\("}]},"keywords":{"patterns":[{"name":"keyword.other.abapcds","match":"\\b(abstract|association|annotation|annotate|custom|dynamic|cache|accesspolicy|bypass|hierarchy|parent|child|source|start|siblings|order|projection|inheriting|conditions|define|entity|extend|view|as|select|from|key|where|select|distinct|with|parameters|inner|outer|left|right|join|on|group|by|having|union|all|define|table|function|implemented|method|returns|and|or|case|when|then|else|end|to|one|is|null|preserving|type|default|array|of|role|grant|inherit|aspect)\\b"}]},"numbers":{"patterns":[{"name":"constant.numeric.abapcds","match":"[0-9]+"}]},"strings":{"name":"string.quoted.single.abapcds","begin":"\\'","end":"\\'","patterns":[{"name":"constant.character.escape.abapcds","match":"\\\\."}]}}}
|
data/grammars/source.abl.json
CHANGED
@@ -1,734 +1 @@
|
|
1
|
-
{
|
2
|
-
"name": "OpenEdge ABL",
|
3
|
-
"scopeName": "source.abl",
|
4
|
-
"patterns": [
|
5
|
-
{
|
6
|
-
"include": "#procedure-definition"
|
7
|
-
},
|
8
|
-
{
|
9
|
-
"include": "#statements"
|
10
|
-
}
|
11
|
-
],
|
12
|
-
"repository": {
|
13
|
-
"analyze-suspend-resume": {
|
14
|
-
"name": "comment.preprocessor.analyze-suspend.abl",
|
15
|
-
"begin": "(?i)(\\\u0026analyze-suspend|\\\u0026analyze-resume)\\s*",
|
16
|
-
"end": "(?=(?://|/\\*))|$"
|
17
|
-
},
|
18
|
-
"argument-reference": {},
|
19
|
-
"array-literal": {
|
20
|
-
"name": "meta.array.literal.abl",
|
21
|
-
"begin": "\\[",
|
22
|
-
"end": "\\]",
|
23
|
-
"patterns": [
|
24
|
-
{
|
25
|
-
"include": "#expression"
|
26
|
-
},
|
27
|
-
{
|
28
|
-
"include": "#punctuation-comma"
|
29
|
-
}
|
30
|
-
],
|
31
|
-
"beginCaptures": {
|
32
|
-
"0": {
|
33
|
-
"name": "meta.brace.square.abl"
|
34
|
-
}
|
35
|
-
},
|
36
|
-
"endCaptures": {
|
37
|
-
"0": {
|
38
|
-
"name": "meta.brace.square.abl"
|
39
|
-
}
|
40
|
-
}
|
41
|
-
},
|
42
|
-
"code-block": {
|
43
|
-
"patterns": [
|
44
|
-
{
|
45
|
-
"include": "#singlelinecomment"
|
46
|
-
},
|
47
|
-
{
|
48
|
-
"include": "#multilinecomment"
|
49
|
-
},
|
50
|
-
{
|
51
|
-
"include": "#string"
|
52
|
-
},
|
53
|
-
{
|
54
|
-
"include": "#numeric"
|
55
|
-
},
|
56
|
-
{
|
57
|
-
"include": "#constant"
|
58
|
-
},
|
59
|
-
{
|
60
|
-
"include": "#operator"
|
61
|
-
},
|
62
|
-
{
|
63
|
-
"include": "#include-file"
|
64
|
-
},
|
65
|
-
{
|
66
|
-
"include": "#define"
|
67
|
-
},
|
68
|
-
{
|
69
|
-
"include": "#do-block"
|
70
|
-
},
|
71
|
-
{
|
72
|
-
"include": "#keywords"
|
73
|
-
},
|
74
|
-
{
|
75
|
-
"include": "#variable-name"
|
76
|
-
},
|
77
|
-
{
|
78
|
-
"include": "#method-call"
|
79
|
-
},
|
80
|
-
{
|
81
|
-
"include": "#function-call"
|
82
|
-
}
|
83
|
-
]
|
84
|
-
},
|
85
|
-
"constant": {
|
86
|
-
"name": "constant.language.source.abl",
|
87
|
-
"match": "(?i)(?\u003c=^|\\s)(true|false|yes|no)(?!\\w|-)"
|
88
|
-
},
|
89
|
-
"declarations": {
|
90
|
-
"patterns": [
|
91
|
-
{
|
92
|
-
"include": "#define"
|
93
|
-
}
|
94
|
-
]
|
95
|
-
},
|
96
|
-
"define": {
|
97
|
-
"name": "meta.define.abl",
|
98
|
-
"begin": "(?i)\\b(def|define)\\s+",
|
99
|
-
"end": "(?=\\.)",
|
100
|
-
"patterns": [
|
101
|
-
{
|
102
|
-
"name": "meta.define.variable.abl",
|
103
|
-
"begin": "(?i)\\b(new|shared|var|vari|varia|variab|variabl|variable|private|protected|public|static|serializable|non-serializable)\\b",
|
104
|
-
"end": "(?=\\.)",
|
105
|
-
"patterns": [
|
106
|
-
{
|
107
|
-
"include": "#string"
|
108
|
-
},
|
109
|
-
{
|
110
|
-
"include": "#primitive-type"
|
111
|
-
},
|
112
|
-
{
|
113
|
-
"include": "#numeric"
|
114
|
-
},
|
115
|
-
{
|
116
|
-
"include": "#constant"
|
117
|
-
},
|
118
|
-
{
|
119
|
-
"include": "#keywords"
|
120
|
-
},
|
121
|
-
{
|
122
|
-
"include": "#variable-name"
|
123
|
-
}
|
124
|
-
],
|
125
|
-
"beginCaptures": {
|
126
|
-
"1": {
|
127
|
-
"name": "keyword.other.abl"
|
128
|
-
}
|
129
|
-
}
|
130
|
-
},
|
131
|
-
{
|
132
|
-
"name": "meta.define.parameter.abl",
|
133
|
-
"match": "(?i)(?\u003c=^|\\s)(input|output|input-output|return)(?=\\s)([^\\.]*)",
|
134
|
-
"captures": {
|
135
|
-
"1": {
|
136
|
-
"name": "keyword.other.abl"
|
137
|
-
},
|
138
|
-
"2": {
|
139
|
-
"patterns": [
|
140
|
-
{
|
141
|
-
"include": "#string"
|
142
|
-
},
|
143
|
-
{
|
144
|
-
"include": "#primitive-type"
|
145
|
-
},
|
146
|
-
{
|
147
|
-
"include": "#numeric"
|
148
|
-
},
|
149
|
-
{
|
150
|
-
"include": "#constant"
|
151
|
-
},
|
152
|
-
{
|
153
|
-
"include": "#keywords"
|
154
|
-
},
|
155
|
-
{
|
156
|
-
"include": "#parameter-name"
|
157
|
-
}
|
158
|
-
]
|
159
|
-
}
|
160
|
-
}
|
161
|
-
},
|
162
|
-
{
|
163
|
-
"name": "meta.define.stream.abl",
|
164
|
-
"match": "(?i)\\b(stream)\\b([^\\.]*)",
|
165
|
-
"captures": {
|
166
|
-
"1": {
|
167
|
-
"name": "keyword.other.abl"
|
168
|
-
},
|
169
|
-
"2": {
|
170
|
-
"patterns": [
|
171
|
-
{
|
172
|
-
"include": "#variable-name"
|
173
|
-
}
|
174
|
-
]
|
175
|
-
}
|
176
|
-
}
|
177
|
-
},
|
178
|
-
{
|
179
|
-
"include": "#string"
|
180
|
-
},
|
181
|
-
{
|
182
|
-
"include": "#primitive-type"
|
183
|
-
},
|
184
|
-
{
|
185
|
-
"include": "#numeric"
|
186
|
-
},
|
187
|
-
{
|
188
|
-
"include": "#constant"
|
189
|
-
},
|
190
|
-
{
|
191
|
-
"include": "#keywords"
|
192
|
-
},
|
193
|
-
{
|
194
|
-
"include": "#singlelinecomment"
|
195
|
-
},
|
196
|
-
{
|
197
|
-
"include": "#multilinecomment"
|
198
|
-
}
|
199
|
-
],
|
200
|
-
"beginCaptures": {
|
201
|
-
"1": {
|
202
|
-
"name": "keyword.other.abl"
|
203
|
-
}
|
204
|
-
}
|
205
|
-
},
|
206
|
-
"do-block": {
|
207
|
-
"name": "meta.do.abl",
|
208
|
-
"begin": "(?i)\\b(do)\\b",
|
209
|
-
"end": "(?=\\.)",
|
210
|
-
"patterns": [
|
211
|
-
{
|
212
|
-
"name": "meta.do.while.abl",
|
213
|
-
"begin": "(?i)\\b(while)\\b",
|
214
|
-
"end": "(?=(?::))",
|
215
|
-
"patterns": [
|
216
|
-
{
|
217
|
-
"include": "#statements"
|
218
|
-
}
|
219
|
-
],
|
220
|
-
"beginCaptures": {
|
221
|
-
"1": {
|
222
|
-
"name": "keyword.other.abl"
|
223
|
-
}
|
224
|
-
}
|
225
|
-
},
|
226
|
-
{
|
227
|
-
"include": "#statements"
|
228
|
-
},
|
229
|
-
{
|
230
|
-
"name": "meta.do.body.abl",
|
231
|
-
"begin": ":",
|
232
|
-
"end": "(?i)(end\\s*do|end)",
|
233
|
-
"patterns": [
|
234
|
-
{
|
235
|
-
"include": "#code-block"
|
236
|
-
}
|
237
|
-
],
|
238
|
-
"endCaptures": {
|
239
|
-
"1": {
|
240
|
-
"name": "keyword.other.abl"
|
241
|
-
}
|
242
|
-
}
|
243
|
-
}
|
244
|
-
],
|
245
|
-
"beginCaptures": {
|
246
|
-
"1": {
|
247
|
-
"name": "keyword.other.abl"
|
248
|
-
}
|
249
|
-
}
|
250
|
-
},
|
251
|
-
"doublequotedstring": {
|
252
|
-
"name": "string.double.complex.abl",
|
253
|
-
"begin": "\"",
|
254
|
-
"end": "\"",
|
255
|
-
"patterns": [
|
256
|
-
{
|
257
|
-
"name": "constant.character.escape.abl",
|
258
|
-
"match": "~."
|
259
|
-
}
|
260
|
-
],
|
261
|
-
"beginCaptures": {
|
262
|
-
"0": {
|
263
|
-
"name": "punctuation.definition.string.begin.abl"
|
264
|
-
}
|
265
|
-
},
|
266
|
-
"endCaptures": {
|
267
|
-
"0": {
|
268
|
-
"name": "punctuation.definition.string.end.abl"
|
269
|
-
}
|
270
|
-
}
|
271
|
-
},
|
272
|
-
"expression": {
|
273
|
-
"patterns": [
|
274
|
-
{
|
275
|
-
"include": "#string"
|
276
|
-
},
|
277
|
-
{
|
278
|
-
"include": "#constant"
|
279
|
-
},
|
280
|
-
{
|
281
|
-
"include": "#numeric"
|
282
|
-
},
|
283
|
-
{
|
284
|
-
"include": "#variable-name"
|
285
|
-
}
|
286
|
-
]
|
287
|
-
},
|
288
|
-
"function-call": {
|
289
|
-
"name": "meta.function-call.abl",
|
290
|
-
"begin": "([\\w-]+)\\s*(\\()",
|
291
|
-
"end": "(\\))",
|
292
|
-
"patterns": [
|
293
|
-
{
|
294
|
-
"include": "#expression"
|
295
|
-
},
|
296
|
-
{
|
297
|
-
"include": "#punctuation-comma"
|
298
|
-
}
|
299
|
-
],
|
300
|
-
"beginCaptures": {
|
301
|
-
"1": {
|
302
|
-
"name": "entity.name.function.abl"
|
303
|
-
},
|
304
|
-
"2": {
|
305
|
-
"name": "meta.brace.round.js"
|
306
|
-
}
|
307
|
-
},
|
308
|
-
"endCaptures": {
|
309
|
-
"1": {
|
310
|
-
"name": "meta.brace.round.js"
|
311
|
-
}
|
312
|
-
}
|
313
|
-
},
|
314
|
-
"global-scoped-define": {
|
315
|
-
"name": "meta.preprocessor.define.abl",
|
316
|
-
"begin": "(?i)(\\\u0026scoped-define|\\\u0026global-define)\\s*([\\.\\w\\\\/-]*)\\s*",
|
317
|
-
"end": "(?=(?://|/\\*))|$",
|
318
|
-
"patterns": [
|
319
|
-
{
|
320
|
-
"include": "#string"
|
321
|
-
}
|
322
|
-
],
|
323
|
-
"beginCaptures": {
|
324
|
-
"1": {
|
325
|
-
"name": "keyword.other.abl"
|
326
|
-
},
|
327
|
-
"2": {
|
328
|
-
"name": "entity.name.function.preprocessor.abl"
|
329
|
-
}
|
330
|
-
}
|
331
|
-
},
|
332
|
-
"include-file": {
|
333
|
-
"name": "meta.include.abl",
|
334
|
-
"begin": "({)\\s*",
|
335
|
-
"end": "\\s*(})",
|
336
|
-
"patterns": [
|
337
|
-
{
|
338
|
-
"include": "#string"
|
339
|
-
},
|
340
|
-
{
|
341
|
-
"match": "([^}\\s]*)\\s*",
|
342
|
-
"captures": {
|
343
|
-
"1": {
|
344
|
-
"name": "string.unquoted.include-argument.abl"
|
345
|
-
}
|
346
|
-
}
|
347
|
-
}
|
348
|
-
],
|
349
|
-
"beginCaptures": {
|
350
|
-
"1": {
|
351
|
-
"name": "punctuation.section.abl"
|
352
|
-
}
|
353
|
-
},
|
354
|
-
"endCaptures": {
|
355
|
-
"1": {
|
356
|
-
"name": "punctuation.section.abl"
|
357
|
-
}
|
358
|
-
}
|
359
|
-
},
|
360
|
-
"keywords": {
|
361
|
-
"patterns": [
|
362
|
-
{
|
363
|
-
"include": "#keywords-a"
|
364
|
-
},
|
365
|
-
{
|
366
|
-
"include": "#keywords-b"
|
367
|
-
},
|
368
|
-
{
|
369
|
-
"include": "#keywords-c"
|
370
|
-
},
|
371
|
-
{
|
372
|
-
"include": "#keywords-d"
|
373
|
-
},
|
374
|
-
{
|
375
|
-
"include": "#keywords-e"
|
376
|
-
},
|
377
|
-
{
|
378
|
-
"include": "#keywords-f"
|
379
|
-
},
|
380
|
-
{
|
381
|
-
"include": "#keywords-g"
|
382
|
-
},
|
383
|
-
{
|
384
|
-
"include": "#keywords-h"
|
385
|
-
},
|
386
|
-
{
|
387
|
-
"include": "#keywords-i"
|
388
|
-
},
|
389
|
-
{
|
390
|
-
"include": "#keywords-j"
|
391
|
-
},
|
392
|
-
{
|
393
|
-
"include": "#keywords-k"
|
394
|
-
},
|
395
|
-
{
|
396
|
-
"include": "#keywords-l"
|
397
|
-
},
|
398
|
-
{
|
399
|
-
"include": "#keywords-m"
|
400
|
-
},
|
401
|
-
{
|
402
|
-
"include": "#keywords-n"
|
403
|
-
},
|
404
|
-
{
|
405
|
-
"include": "#keywords-o"
|
406
|
-
},
|
407
|
-
{
|
408
|
-
"include": "#keywords-p"
|
409
|
-
},
|
410
|
-
{
|
411
|
-
"include": "#keywords-q"
|
412
|
-
},
|
413
|
-
{
|
414
|
-
"include": "#keywords-r"
|
415
|
-
},
|
416
|
-
{
|
417
|
-
"include": "#keywords-s"
|
418
|
-
},
|
419
|
-
{
|
420
|
-
"include": "#keywords-t"
|
421
|
-
},
|
422
|
-
{
|
423
|
-
"include": "#keywords-u"
|
424
|
-
},
|
425
|
-
{
|
426
|
-
"include": "#keywords-v"
|
427
|
-
},
|
428
|
-
{
|
429
|
-
"include": "#keywords-w"
|
430
|
-
},
|
431
|
-
{
|
432
|
-
"include": "#keywords-x"
|
433
|
-
},
|
434
|
-
{
|
435
|
-
"include": "#keywords-y"
|
436
|
-
}
|
437
|
-
]
|
438
|
-
},
|
439
|
-
"keywords-a": {
|
440
|
-
"name": "keyword.other.abl",
|
441
|
-
"match": "(?i)(?\u003c![\\w-])(abort|abs|abso|absol|absolu|absolut|absolute|abstract|accelerator|accept-changes|accept-row-changes|accum|accumu|accumul|accumula|accumulat|accumulate|across|active|active-form|active-window|actor|add|add-buffer|add-calc-col|add-calc-colu|add-calc-colum|add-calc-column|add-columns-from|add-events-proc|add-events-proce|add-events-proced|add-events-procedu|add-events-procedur|add-events-procedure|add-fields-from|add-first|add-header-entry|add-index-field|add-interval|add-last|add-like-col|add-like-colu|add-like-colum|add-like-column|add-like-field|add-like-index|add-new-field|add-new-index|add-parent-id-relation|add-rel|add-rela|add-relat|add-relati|add-relatio|add-relation|add-schema-location|add-source-buffer|add-super-proc|add-super-proce|add-super-proced|add-super-procedu|add-super-procedur|add-super-procedure|adm-data|advise|after-buffer|after-rowid|after-table|alert-box|alias|all|allow-column-searching|allow-replication|alter|alternate-key|always-on-top|ambig|ambigu|ambiguo|ambiguou|ambiguous|and|ansi-only|any|any-key|any-printable|anywhere|append|append-child|append-line|appl-alert|appl-alert-|appl-alert-b|appl-alert-bo|appl-alert-box|appl-alert-boxe|appl-alert-boxes|appl-context-id|application|apply|apply-callback|appserver-info|appserver-password|appserver-userid|array-m|array-me|array-mes|array-mess|array-messa|array-messag|array-message|as|as-cursor|asc|asce|ascen|ascend|ascendi|ascendin|ascending|ask-overwrite|assembly|assign|async-request-count|async-request-handle|asynchronous|at|attach|attach-data-source|attached-pairlist|attachment|attr|attr-|attr-s|attr-sp|attr-spa|attr-spac|attr-space|attribute-names|attribute-type|audit-control|audit-enabled|audit-event-context|audit-policy|authentication-failed|authorization|auto-comp|auto-compl|auto-comple|auto-complet|auto-completi|auto-completio|auto-completion|auto-delete|auto-delete-xml|auto-end-key|auto-endkey|auto-go|auto-ind|auto-inde|auto-inden|auto-indent|auto-resize|auto-ret|auto-retu|auto-retur|auto-return|auto-synchronize|auto-val|auto-vali|auto-valid|auto-valida|auto-validat|auto-validate|auto-z|auto-za|auto-zap|automatic|avail|availa|availab|availabl|available|available-formats|ave|aver|avera|averag|average|avg)(?![\\w-])"
|
442
|
-
},
|
443
|
-
"keywords-b": {
|
444
|
-
"name": "keyword.other.abl",
|
445
|
-
"match": "(?i)(?\u003c![\\w-])(back|back-tab|backg|backgr|backgro|backgrou|backgroun|background|backspace|backward|backwards|base-ade|base-key|base64|base64-decode|base64-encode|basic-logging|batch|batch-mode|batch-size|before-buffer|before-h|before-hi|before-hid|before-hide|before-rowid|before-table|begin-event-group|begins|bell|bell|between|bgc|bgco|bgcol|bgcolo|bgcolor|big-endian|binary|bind|bind-where|blank|blob|block|block-iteration-display|block-lev|block-leve|block-level|border-b|border-bo|border-bot|border-bott|border-botto|border-bottom|border-bottom-c|border-bottom-ch|border-bottom-cha|border-bottom-char|border-bottom-chars|border-bottom-p|border-bottom-pi|border-bottom-pix|border-bottom-pixe|border-bottom-pixel|border-bottom-pixels|border-l|border-le|border-lef|border-left|border-left-c|border-left-ch|border-left-cha|border-left-char|border-left-chars|border-left-p|border-left-pi|border-left-pix|border-left-pixe|border-left-pixel|border-left-pixels|border-r|border-ri|border-rig|border-righ|border-right|border-right-c|border-right-ch|border-right-cha|border-right-char|border-right-chars|border-right-p|border-right-pi|border-right-pix|border-right-pixe|border-right-pixel|border-right-pixels|border-t|border-to|border-top|border-top-c|border-top-ch|border-top-cha|border-top-char|border-top-chars|border-top-p|border-top-pi|border-top-pix|border-top-pixe|border-top-pixel|border-top-pixels|both|bottom|bottom-column|box|box-select|box-selecta|box-selectab|box-selectabl|box-selectable|break|break-line|browse|browse-column-data-types|browse-column-formats|browse-column-labels|browse-header|btos|buffer|buffer-chars|buffer-comp|buffer-compa|buffer-compar|buffer-compare|buffer-copy|buffer-create|buffer-delete|buffer-field|buffer-group-id|buffer-group-name|buffer-handle|buffer-lines|buffer-n|buffer-na|buffer-nam|buffer-name|buffer-partition-id|buffer-releas|buffer-release|buffer-tenant-id|buffer-tenant-name|buffer-validate|buffer-value|button|buttons|by|by-pointer|by-reference|by-value|by-variant-point|by-variant-pointe|by-variant-pointer|byte|bytes-read|bytes-written)(?![\\w-])"
|
446
|
-
},
|
447
|
-
"keywords-c": {
|
448
|
-
"name": "keyword.other.abl",
|
449
|
-
"match": "(?i)(?\u003c![\\w-])(cache|cache-size|call|call-name|call-type|can-crea|can-creat|can-create|can-dele|can-delet|can-delete|can-do|can-do-domain-support|can-find|can-query|can-read|can-set|can-writ|can-write|cancel-break|cancel-button|cancel-pick|cancel-requests|cancel-requests-after|cancelled|caps|careful-paint|case|case-sen|case-sens|case-sensi|case-sensit|case-sensiti|case-sensitiv|case-sensitive|cast|catch|cdecl|center|centere|centered|chained|char|chara|charac|charact|characte|character|character_length|charset|check|check-mem-stomp|checked|child-buffer|child-num|choices|choose|choose|chr|class|class-type|clear|clear|clear-appl-context|clear-log|clear-select|clear-selecti|clear-selectio|clear-selection|clear-sort-arrow|clear-sort-arrows|client-connection-id|client-principal|client-tty|client-type|client-workstation|clipboard|clob|clone-node|close|close|close-log|code|codebase-locator|codepage|codepage-convert|col|col-of|collate|colon|colon-align|colon-aligne|colon-aligned|color|color-table|column|column-bgc|column-bgco|column-bgcol|column-bgcolo|column-bgcolor|column-codepage|column-dcolor|column-fgc|column-fgco|column-fgcol|column-fgcolo|column-fgcolor|column-font|column-lab|column-labe|column-label|column-label-bgc|column-label-bgco|column-label-bgcol|column-label-bgcolo|column-label-bgcolor|column-label-dcolor|column-label-fgc|column-label-fgco|column-label-fgcol|column-label-fgcolo|column-label-fgcolor|column-label-font|column-label-height-c|column-label-height-ch|column-label-height-cha|column-label-height-char|column-label-height-chars|column-label-height-p|column-label-height-pi|column-label-height-pix|column-label-height-pixe|column-label-height-pixel|column-label-height-pixels|column-movable|column-of|column-pfc|column-pfco|column-pfcol|column-pfcolo|column-pfcolor|column-read-only|column-resizable|column-sc|column-scr|column-scro|column-scrol|column-scroll|column-scrolli|column-scrollin|column-scrolling|columns|com-handle|com-self|combo-box|command|compare|compares|compile|compile|compiler|complete|component-handle|component-self|config-name|connect|connect|connected|constrained|constructor|container-event|contains|contents|context|context-help|context-help-file|context-help-id|context-pop|context-popu|context-popup|control|control-box|control-cont|control-conta|control-contai|control-contain|control-containe|control-container|control-fram|control-frame|convert|convert-3d|convert-3d-|convert-3d-c|convert-3d-co|convert-3d-col|convert-3d-colo|convert-3d-color|convert-3d-colors|convert-to-offs|convert-to-offse|convert-to-offset|copy|copy-dataset|copy-lob|copy-sax-attributes|copy-temp-table|count|count-of|coverage|cpcase|cpcoll|cpint|cpinte|cpinter|cpintern|cpinterna|cpinternal|cplog|cpprint|cprcodein|cprcodeout|cpstream|cpterm|crc-val|crc-valu|crc-value|create|create-like|create-like-sequential|create-node|create-node-namespace|create-on-add|create-result-list-entry|create-test-file|ctos|current|current-changed|current-column|current-env|current-envi|current-envir|current-enviro|current-environ|current-environm|current-environme|current-environmen|current-environment|current-iteration|current-lang|current-langu|current-langua|current-languag|current-language|current-query|current-request-info|current-response-info|current-result-row|current-row-modified|current-value|current-window|current_date|curs|curso|cursor|cursor-char|cursor-down|cursor-left|cursor-line|cursor-offset|cursor-right|cursor-up|cut)(?![\\w-])"
|
450
|
-
},
|
451
|
-
"keywords-d": {
|
452
|
-
"name": "keyword.other.abl",
|
453
|
-
"match": "(?i)(?\u003c![\\w-])(data-b|data-bi|data-bin|data-bind|data-entry-ret|data-entry-retu|data-entry-retur|data-entry-return|data-refresh-line|data-refresh-page|data-rel|data-rela|data-relat|data-relati|data-relatio|data-relation|data-source|data-source-complete-map|data-source-modified|data-source-rowid|data-t|data-ty|data-typ|data-type|database|dataservers|dataset|dataset-handle|date|date-f|date-fo|date-for|date-form|date-forma|date-format|datetime|datetime-tz|day|db-context|db-list|db-references|db-remote-host|dbcodepage|dbcollation|dbname|dbparam|dbrest|dbrestr|dbrestri|dbrestric|dbrestrict|dbrestricti|dbrestrictio|dbrestriction|dbrestrictions|dbtaskid|dbtype|dbvers|dbversi|dbversio|dbversion|dcolor|dde|dde-error|dde-i|dde-id|dde-item|dde-name|dde-notify|dde-topic|deblank|debu|debug|debug-alert|debug-list|debug-set-tenant|debugger|dec|deci|decim|decima|decimal|decimals|declare|declare-namespace|decrypt|def|default|default-action|default-buffer-handle|default-but|default-butt|default-butto|default-button|default-commit|default-ex|default-ext|default-exte|default-exten|default-extens|default-extensi|default-extensio|default-extension|default-noxl|default-noxla|default-noxlat|default-noxlate|default-pop-up|default-string|default-value|default-window|defer-lob-fetch|defi|defin|define|define-user-event-manager|defined|del|delegate|delete|delete|delete-char|delete-char|delete-character|delete-column|delete-current-row|delete-end-line|delete-field|delete-header-entry|delete-line|delete-line|delete-node|delete-result-list-entry|delete-selected-row|delete-selected-rows|delete-word|delimiter|desc|desce|descen|descend|descendi|descendin|descending|descript|descripti|descriptio|description|deselect|deselect-extend|deselect-focused-row|deselect-rows|deselect-selected-row|deselection|deselection-extend|destructor|detach|detach-data-source|dialog-box|dialog-help|dict|dicti|dictio|diction|dictiona|dictionar|dictionary|dir|directory|disable|disable-auto-zap|disable-connections|disable-dump-triggers|disable-load-triggers|disabled|discon|disconn|disconne|disconnec|disconnect|dismiss-menu|disp|displ|displa|display|display-message|display-t|display-timezone|display-ty|display-typ|display-type|distinct|dll-call-type|do|domain-description|domain-name|domain-type|dos|dos-end|dotnet-clr-loaded|double|down|down|drag-enabled|drop|drop-down|drop-down-list|drop-file-notify|drop-target|dslog-manager|dump|dump-logging-now|dynamic|dynamic-cast|dynamic-current-value|dynamic-enum|dynamic-func|dynamic-funct|dynamic-functi|dynamic-functio|dynamic-function|dynamic-invoke|dynamic-new|dynamic-next-value|dynamic-property)(?![\\w-])"
|
454
|
-
},
|
455
|
-
"keywords-e": {
|
456
|
-
"name": "keyword.other.abl",
|
457
|
-
"match": "(?i)(?\u003c![\\w-])(each|echo|edge|edge-c|edge-ch|edge-cha|edge-char|edge-chars|edge-p|edge-pi|edge-pix|edge-pixe|edge-pixel|edge-pixels|edit-can-paste|edit-can-undo|edit-clear|edit-copy|edit-cut|edit-paste|edit-undo|editing|editor|editor-backtab|editor-tab|else|empty|empty-dataset|empty-selection|empty-temp-table|enable|enable-connections|enabled|encode|encoding|encrypt|encrypt-audit-mac-key|encryption-salt|end|end|end-box-selection|end-document|end-element|end-error|end-event-group|end-file-drop|end-key|end-move|end-resize|end-row-resize|end-search|end-user-prompt|endkey|endkey|enter-menubar|entered|entity-expansion-limit|entry|entry|entry-types-list|enum|eq|error|error|error-col|error-colu|error-colum|error-column|error-object-detail|error-row|error-stack-trace|error-stat|error-statu|error-status|error-string|escape|etime|event|event-group-id|event-procedure|event-procedure-context|event-t|event-ty|event-typ|event-type|events|except|exclusive|exclusive-id|exclusive-l|exclusive-lo|exclusive-loc|exclusive-lock|exclusive-web|exclusive-web-|exclusive-web-u|exclusive-web-us|exclusive-web-use|exclusive-web-user|execute|execution-log|exists|exit|exp|expand|expandable|expire|explicit|export|export-principal|extended|extent|external|extract)(?![\\w-])"
|
458
|
-
},
|
459
|
-
"keywords-f": {
|
460
|
-
"name": "keyword.other.abl",
|
461
|
-
"match": "(?i)(?\u003c![\\w-])(false|false-leaks|fetch|fetch-selected-row|fgc|fgco|fgcol|fgcolo|fgcolor|field|fields|file|file-access-d|file-access-da|file-access-dat|file-access-date|file-access-t|file-access-ti|file-access-tim|file-access-time|file-create-d|file-create-da|file-create-dat|file-create-date|file-create-t|file-create-ti|file-create-tim|file-create-time|file-info|file-infor|file-inform|file-informa|file-informat|file-informati|file-informatio|file-information|file-mod-d|file-mod-da|file-mod-dat|file-mod-date|file-mod-t|file-mod-ti|file-mod-tim|file-mod-time|file-name|file-off|file-offs|file-offse|file-offset|file-size|file-type|filename|fill|fill-in|fill-mode|fill-where-string|filled|filters|final|finally|find|find|find-by-rowid|find-case-sensitive|find-current|find-first|find-global|find-last|find-next|find-next-occurrence|find-prev-occurrence|find-previous|find-select|find-unique|find-wrap-around|finder|firehose-cursor|first|first-async|first-async-|first-async-r|first-async-re|first-async-req|first-async-requ|first-async-reque|first-async-reques|first-async-request|first-buffer|first-child|first-column|first-data-source|first-dataset|first-form|first-object|first-of|first-proc|first-proce|first-proced|first-procedu|first-procedur|first-procedure|first-query|first-serv|first-serve|first-server|first-server-socket|first-socket|first-tab-i|first-tab-it|first-tab-ite|first-tab-item|fit-last-column|fix-codepage|fixed-only|flags|flat-button|float|focus|focus-in|focused-row|focused-row-selected|font|font-table|for|force-file|fore|foreg|foregr|foregro|foregrou|foregroun|foreground|foreign-key-hidden|form|form-input|form-long-input|forma|format|formatte|formatted|forward|forward-only|forwards|fragmen|fragment|fram|frame|frame-col|frame-db|frame-down|frame-field|frame-file|frame-inde|frame-index|frame-line|frame-name|frame-row|frame-spa|frame-spac|frame-spaci|frame-spacin|frame-spacing|frame-val|frame-valu|frame-value|frame-x|frame-y|frequency|from|from-c|from-ch|from-cha|from-char|from-chars|from-cur|from-curr|from-curre|from-curren|from-current|from-p|from-pi|from-pix|from-pixe|from-pixel|from-pixels|fromnoreorder|full-height|full-height-c|full-height-ch|full-height-cha|full-height-char|full-height-chars|full-height-p|full-height-pi|full-height-pix|full-height-pixe|full-height-pixel|full-height-pixels|full-pathn|full-pathna|full-pathnam|full-pathname|full-width|full-width-|full-width-c|full-width-ch|full-width-cha|full-width-char|full-width-chars|full-width-p|full-width-pi|full-width-pix|full-width-pixe|full-width-pixel|full-width-pixels|function|function-call-type)(?![\\w-])"
|
462
|
-
},
|
463
|
-
"keywords-g": {
|
464
|
-
"name": "keyword.other.abl",
|
465
|
-
"match": "(?i)(?\u003c![\\w-])(gateway|gateways|ge|generate-md5|generate-pbe-key|generate-pbe-salt|generate-random-key|generate-uuid|get|get|get-attr-call-type|get-attribute|get-attribute-node|get-binary-data|get-bits|get-blue|get-blue-|get-blue-v|get-blue-va|get-blue-val|get-blue-valu|get-blue-value|get-browse-col|get-browse-colu|get-browse-colum|get-browse-column|get-buffer-handle|get-byte|get-byte-order|get-bytes|get-bytes-available|get-callback-proc-context|get-callback-proc-name|get-cgi-list|get-cgi-long-value|get-cgi-value|get-changes|get-child|get-child-rel|get-child-rela|get-child-relat|get-child-relati|get-child-relatio|get-child-relation|get-class|get-client|get-codepage|get-codepages|get-coll|get-colla|get-collat|get-collati|get-collatio|get-collation|get-collations|get-column|get-config-value|get-curr|get-curre|get-curren|get-current|get-dataset-buffer|get-db-client|get-dir|get-document-element|get-double|get-dropped-file|get-dynamic|get-effective-tenant-id|get-effective-tenant-name|get-error-column|get-error-row|get-file|get-file-name|get-file-offse|get-file-offset|get-firs|get-first|get-float|get-green|get-green-|get-green-v|get-green-va|get-green-val|get-green-valu|get-green-value|get-header-entr|get-header-entry|get-index-by-namespace-name|get-index-by-qname|get-int64|get-iteration|get-key-val|get-key-valu|get-key-value|get-last|get-localname-by-index|get-long|get-message|get-message-type|get-next|get-node|get-number|get-parent|get-pointer-value|get-prev|get-printers|get-property|get-qname-by-index|get-red|get-red-|get-red-v|get-red-va|get-red-val|get-red-valu|get-red-value|get-rel|get-rela|get-relat|get-relati|get-relatio|get-relation|get-repositioned-row|get-rgb|get-rgb-|get-rgb-v|get-rgb-va|get-rgb-val|get-rgb-valu|get-rgb-value|get-row|get-selected|get-selected-|get-selected-w|get-selected-wi|get-selected-wid|get-selected-widg|get-selected-widge|get-selected-widget|get-serialized|get-short|get-signature|get-size|get-socket-option|get-source-buffer|get-string|get-tab-item|get-text-height|get-text-height-c|get-text-height-ch|get-text-height-cha|get-text-height-char|get-text-height-chars|get-text-height-p|get-text-height-pi|get-text-height-pix|get-text-height-pixe|get-text-height-pixel|get-text-height-pixels|get-text-width|get-text-width-c|get-text-width-ch|get-text-width-cha|get-text-width-char|get-text-width-chars|get-text-width-p|get-text-width-pi|get-text-width-pix|get-text-width-pixe|get-text-width-pixel|get-text-width-pixels|get-top-buffer|get-type-by-index|get-type-by-namespace-name|get-type-by-qname|get-unsigned-long|get-unsigned-short|get-uri-by-index|get-value-by-index|get-value-by-namespace-name|get-value-by-qname|get-wait|get-wait-|get-wait-s|get-wait-st|get-wait-sta|get-wait-stat|get-wait-state|getbyte|global|go|go-on|go-pend|go-pendi|go-pendin|go-pending|goto|grant|grant-archive|graphic-e|graphic-ed|graphic-edg|graphic-edge|grayed|grid-factor-h|grid-factor-ho|grid-factor-hor|grid-factor-hori|grid-factor-horiz|grid-factor-horizo|grid-factor-horizon|grid-factor-horizont|grid-factor-horizonta|grid-factor-horizontal|grid-factor-v|grid-factor-ve|grid-factor-ver|grid-factor-vert|grid-factor-verti|grid-factor-vertic|grid-factor-vertica|grid-factor-vertical|grid-set|grid-snap|grid-unit-height|grid-unit-height-c|grid-unit-height-ch|grid-unit-height-cha|grid-unit-height-char|grid-unit-height-chars|grid-unit-height-p|grid-unit-height-pi|grid-unit-height-pix|grid-unit-height-pixe|grid-unit-height-pixel|grid-unit-height-pixels|grid-unit-width|grid-unit-width-c|grid-unit-width-ch|grid-unit-width-cha|grid-unit-width-char|grid-unit-width-chars|grid-unit-width-p|grid-unit-width-pi|grid-unit-width-pix|grid-unit-width-pixe|grid-unit-width-pixel|grid-unit-width-pixels|grid-visible|group|group-box|gt|guid)(?![\\w-])"
|
466
|
-
},
|
467
|
-
"keywords-h": {
|
468
|
-
"name": "keyword.other.abl",
|
469
|
-
"match": "(?i)(?\u003c![\\w-])(handle|handler|has-lobs|has-records|having|header|height|height-c|height-ch|height-cha|height-char|height-chars|height-p|height-pi|height-pix|height-pixe|height-pixel|height-pixels|help|help|help-con|help-cont|help-conte|help-contex|help-context|help-topic|helpfile-n|helpfile-na|helpfile-nam|helpfile-name|hex-decode|hex-encode|hidden|hide|hint|home|hori|horiz|horiz-end|horiz-home|horiz-scroll-drag|horizo|horizon|horizont|horizonta|horizontal|host-byte-order|html-charset|html-end-of-line|html-end-of-page|html-frame-begin|html-frame-end|html-header-begin|html-header-end|html-title-begin|html-title-end|hwnd)(?![\\w-])"
|
470
|
-
},
|
471
|
-
"keywords-i": {
|
472
|
-
"name": "keyword.other.abl",
|
473
|
-
"match": "(?i)(?\u003c![\\w-])(icfparam|icfparame|icfparamet|icfparamete|icfparameter|icon|if|ignore-current-mod|ignore-current-modi|ignore-current-modif|ignore-current-modifi|ignore-current-modifie|ignore-current-modified|image|image-down|image-insensitive|image-size|image-size-c|image-size-ch|image-size-cha|image-size-char|image-size-chars|image-size-p|image-size-pi|image-size-pix|image-size-pixe|image-size-pixel|image-size-pixels|image-up|immediate-display|implements|import|import-node|import-principal|in|in-handle|increment-exclusive-id|index|index-hint|index-info|index-infor|index-inform|index-informa|index-informat|index-informati|index-informatio|index-information|indexed-reposition|indicator|info|infor|inform|informa|informat|informati|informatio|information|inherit-bgc|inherit-bgco|inherit-bgcol|inherit-bgcolo|inherit-bgcolor|inherit-color-mode|inherit-fgc|inherit-fgco|inherit-fgcol|inherit-fgcolo|inherit-fgcolor|inherits|init|initial|initial-dir|initial-filter|initialize|initialize-document-type|initiate|inner|inner-chars|inner-lines|input|input-o|input-ou|input-out|input-outp|input-outpu|input-output|input-value|insert|insert-attribute|insert-b|insert-ba|insert-bac|insert-back|insert-backt|insert-backta|insert-backtab|insert-before|insert-column|insert-field|insert-field-data|insert-field-label|insert-file|insert-mode|insert-row|insert-string|insert-t|insert-ta|insert-tab|instantiating-procedure|int|int64|inte|integ|intege|integer|interface|internal-entries|interval|into|invoke|is|is-attr|is-attr-|is-attr-s|is-attr-sp|is-attr-spa|is-attr-spac|is-attr-space|is-clas|is-class|is-codepage-fixed|is-column-codepage|is-db-multi-tenant|is-json|is-lead-byte|is-multi-tenant|is-open|is-parameter-set|is-partitione|is-partitioned|is-row-selected|is-selected|is-xml|iso-date|item|items-per-row|iteration-changed)(?![\\w-])"
|
474
|
-
},
|
475
|
-
"keywords-j": {
|
476
|
-
"name": "keyword.other.abl",
|
477
|
-
"match": "(?i)(?\u003c![\\w-])(join|join-by-sqldb|join-on-select)(?![\\w-])"
|
478
|
-
},
|
479
|
-
"keywords-k": {
|
480
|
-
"name": "keyword.other.abl",
|
481
|
-
"match": "(?i)(?\u003c![\\w-])(kblabel|keep-connection-open|keep-frame-z|keep-frame-z-|keep-frame-z-o|keep-frame-z-or|keep-frame-z-ord|keep-frame-z-orde|keep-frame-z-order|keep-messages|keep-security-cache|keep-tab-order|key|key-code|key-func|key-funct|key-functi|key-functio|key-function|key-label|keycode|keyfunc|keyfunct|keyfuncti|keyfunctio|keyfunction|keylabel|keys|keyword|keyword-all)(?![\\w-])"
|
482
|
-
},
|
483
|
-
"keywords-l": {
|
484
|
-
"name": "keyword.other.abl",
|
485
|
-
"match": "(?i)(?\u003c![\\w-])(label|label-bgc|label-bgco|label-bgcol|label-bgcolo|label-bgcolor|label-dc|label-dco|label-dcol|label-dcolo|label-dcolor|label-fgc|label-fgco|label-fgcol|label-fgcolo|label-fgcolor|label-font|label-pfc|label-pfco|label-pfcol|label-pfcolo|label-pfcolor|labels|labels-have-colons|landscape|language|languages|large|large-to-small|last|last-async|last-async-|last-async-r|last-async-re|last-async-req|last-async-requ|last-async-reque|last-async-reques|last-async-request|last-batch|last-child|last-even|last-event|last-form|last-key|last-object|last-of|last-proce|last-proced|last-procedu|last-procedur|last-procedure|last-serv|last-serve|last-server|last-server-socket|last-socket|last-tab-i|last-tab-it|last-tab-ite|last-tab-item|lastkey|lc|ldbname|le|leading|leak-detection|leave|leave|left|left|left-align|left-aligne|left-aligned|left-end|left-trim|length|library|library-calling-convention|like|like-sequential|line|line-count|line-counte|line-counter|line-down|line-left|line-right|line-up|list-events|list-item-pairs|list-items|list-property-names|list-query-attrs|list-set-attrs|list-widgets|listi|listin|listing|listings|literal-question|little-endian|load|load-domains|load-from|load-icon|load-image|load-image-down|load-image-insensitive|load-image-up|load-mouse-p|load-mouse-po|load-mouse-poi|load-mouse-poin|load-mouse-point|load-mouse-pointe|load-mouse-pointer|load-picture|load-result-into|load-small-icon|lob-dir|local-host|local-name|local-port|local-version-info|locator-column-number|locator-line-number|locator-public-id|locator-system-id|locator-type|lock-registration|locked|log|log-audit-event|log-entry-types|log-id|log-manager|log-threshold|logfile-name|logging-level|logical|login-expiration-timestamp|login-host|login-state|logout|long|longch|longcha|longchar|longchar-to-node-value|lookahead|lookup|lower|lt)(?![\\w-])"
|
486
|
-
},
|
487
|
-
"keywords-m": {
|
488
|
-
"name": "keyword.other.abl",
|
489
|
-
"match": "(?i)(?\u003c![\\w-])(machine-class|main-menu|mandatory|manual-highlight|map|margin-extra|margin-height|margin-height-c|margin-height-ch|margin-height-cha|margin-height-char|margin-height-chars|margin-height-p|margin-height-pi|margin-height-pix|margin-height-pixe|margin-height-pixel|margin-height-pixels|margin-width|margin-width-c|margin-width-ch|margin-width-cha|margin-width-char|margin-width-chars|margin-width-p|margin-width-pi|margin-width-pix|margin-width-pixe|margin-width-pixel|margin-width-pixels|mark-new|mark-row-state|matches|max|max-button|max-chars|max-data-guess|max-height|max-height-c|max-height-ch|max-height-cha|max-height-char|max-height-chars|max-height-p|max-height-pi|max-height-pix|max-height-pixe|max-height-pixel|max-height-pixels|max-rows|max-size|max-val|max-valu|max-value|max-width|max-width-c|max-width-ch|max-width-cha|max-width-char|max-width-chars|max-width-p|max-width-pi|max-width-pix|max-width-pixe|max-width-pixel|max-width-pixels|maximize|maximum|maximum-level|md5-digest|md5-value|member|memptr|memptr-to-node-value|menu|menu-bar|menu-drop|menu-item|menu-k|menu-ke|menu-key|menu-m|menu-mo|menu-mou|menu-mous|menu-mouse|menubar|merge-by-field|merge-changes|merge-row-changes|message|message-area|message-area-font|message-area-msg|message-digest|message-line|message-lines|method|min|min-button|min-column-width-c|min-column-width-ch|min-column-width-cha|min-column-width-char|min-column-width-chars|min-column-width-p|min-column-width-pi|min-column-width-pix|min-column-width-pixe|min-column-width-pixel|min-column-width-pixels|min-height|min-height-c|min-height-ch|min-height-cha|min-height-char|min-height-chars|min-height-p|min-height-pi|min-height-pix|min-height-pixe|min-height-pixel|min-height-pixels|min-schema-marshal|min-schema-marshall|min-size|min-val|min-valu|min-value|min-width|min-width-c|min-width-ch|min-width-cha|min-width-char|min-width-chars|min-width-p|min-width-pi|min-width-pix|min-width-pixe|min-width-pixel|min-width-pixels|mini|minim|minimu|minimum|mod|modified|modulo|month|mouse|mouse-p|mouse-po|mouse-poi|mouse-poin|mouse-point|mouse-pointe|mouse-pointer|movable|move|move-after|move-after-|move-after-t|move-after-ta|move-after-tab|move-after-tab-|move-after-tab-i|move-after-tab-it|move-after-tab-ite|move-after-tab-item|move-befor|move-before|move-before-|move-before-t|move-before-ta|move-before-tab|move-before-tab-|move-before-tab-i|move-before-tab-it|move-before-tab-ite|move-before-tab-item|move-col|move-colu|move-colum|move-column|move-to-b|move-to-bo|move-to-bot|move-to-bott|move-to-botto|move-to-bottom|move-to-eof|move-to-t|move-to-to|move-to-top|mpe|mtime|multi-compile|multiple|multiple-key|multitasking-interval|must-exist|must-understand)(?![\\w-])"
|
490
|
-
},
|
491
|
-
"keywords-n": {
|
492
|
-
"name": "keyword.other.abl",
|
493
|
-
"match": "(?i)(?\u003c![\\w-])(name|namespace-prefix|namespace-uri|native|ne|needs-appserver-prompt|needs-prompt|nested|new|new|new-instance|new-line|new-row|next|next-col|next-colu|next-colum|next-column|next-error|next-frame|next-prompt|next-rowid|next-sibling|next-tab-ite|next-tab-item|next-value|next-word|no|no-apply|no-array-m|no-array-me|no-array-mes|no-array-mess|no-array-messa|no-array-messag|no-array-message|no-assign|no-attr|no-attr-l|no-attr-li|no-attr-lis|no-attr-list|no-attr-s|no-attr-sp|no-attr-spa|no-attr-spac|no-attr-space|no-auto-tri|no-auto-trim|no-auto-validate|no-bind-where|no-box|no-column-sc|no-column-scr|no-column-scro|no-column-scrol|no-column-scroll|no-column-scrolli|no-column-scrollin|no-column-scrolling|no-console|no-convert|no-convert-3d|no-convert-3d-|no-convert-3d-c|no-convert-3d-co|no-convert-3d-col|no-convert-3d-colo|no-convert-3d-color|no-convert-3d-colors|no-current-value|no-debug|no-drag|no-echo|no-empty-space|no-error|no-f|no-fi|no-fil|no-fill|no-firehose-cursor|no-focus|no-help|no-hide|no-index-hint|no-inherit-bgc|no-inherit-bgco|no-inherit-bgcol|no-inherit-bgcolo|no-inherit-bgcolor|no-inherit-fgc|no-inherit-fgco|no-inherit-fgcol|no-inherit-fgcolo|no-inherit-fgcolor|no-join-by-sqldb|no-label|no-labels|no-lobs|no-lock|no-lookahead|no-map|no-mes|no-mess|no-messa|no-messag|no-message|no-pause|no-prefe|no-prefet|no-prefetc|no-prefetch|no-query-o|no-query-or|no-query-ord|no-query-orde|no-query-order|no-query-order-|no-query-order-a|no-query-order-ad|no-query-order-add|no-query-order-adde|no-query-order-added|no-query-u|no-query-un|no-query-uni|no-query-uniq|no-query-uniqu|no-query-unique|no-query-unique-|no-query-unique-a|no-query-unique-ad|no-query-unique-add|no-query-unique-adde|no-query-unique-added|no-return-val|no-return-valu|no-return-value|no-row-markers|no-schema-marshal|no-schema-marshall|no-scrollbar-v|no-scrollbar-ve|no-scrollbar-ver|no-scrollbar-vert|no-scrollbar-verti|no-scrollbar-vertic|no-scrollbar-vertica|no-scrollbar-vertical|no-scrolling|no-separate-connection|no-separators|no-tab|no-tab-|no-tab-s|no-tab-st|no-tab-sto|no-tab-stop|no-und|no-unde|no-under|no-underl|no-underli|no-underlin|no-underline|no-undo|no-val|no-vali|no-valid|no-valida|no-validat|no-validate|no-wait|no-word-wrap|node-type|node-value|node-value-to-longchar|node-value-to-memptr|nonamespace-schema-location|none|normalize|not|not-active|now|null|num-ali|num-alia|num-alias|num-aliase|num-aliases|num-buffers|num-but|num-butt|num-butto|num-button|num-buttons|num-child-relations|num-children|num-col|num-colu|num-colum|num-column|num-columns|num-copies|num-dbs|num-dropped-files|num-entries|num-fields|num-formats|num-header-entries|num-items|num-iterations|num-lines|num-locked-col|num-locked-colu|num-locked-colum|num-locked-column|num-locked-columns|num-log-files|num-messages|num-parameters|num-references|num-relations|num-repl|num-repla|num-replac|num-replace|num-replaced|num-results|num-selected|num-selected-rows|num-selected-widgets|num-source-buffers|num-tabs|num-to-retain|num-top-buffers|num-visible-col|num-visible-colu|num-visible-colum|num-visible-column|num-visible-columns|numeric|numeric-dec|numeric-deci|numeric-decim|numeric-decima|numeric-decimal|numeric-decimal-|numeric-decimal-p|numeric-decimal-po|numeric-decimal-poi|numeric-decimal-poin|numeric-decimal-point|numeric-f|numeric-fo|numeric-for|numeric-form|numeric-forma|numeric-format|numeric-sep|numeric-sepa|numeric-separ|numeric-separa|numeric-separat|numeric-separato|numeric-separator)(?![\\w-])"
|
494
|
-
},
|
495
|
-
"keywords-o": {
|
496
|
-
"name": "keyword.other.abl",
|
497
|
-
"match": "(?i)(?\u003c![\\w-])(object|octet_length|of|off|off-end|off-home|ok|ok-cancel|old|ole-invoke-loca|ole-invoke-local|ole-invoke-locale|ole-names-loca|ole-names-local|ole-names-locale|on|on-frame|on-frame-|on-frame-b|on-frame-bo|on-frame-bor|on-frame-bord|on-frame-borde|on-frame-border|open|open-line-above|opsys|option|options|or|ordered-join|ordinal|orientation|origin-handle|origin-rowid|os-append|os-command|os-copy|os-create-dir|os-delete|os-dir|os-drive|os-drives|os-error|os-getenv|os-rename|os2|os400|otherwise|out-of-data|outer|outer-join|output|overlay|override|owner|owner-document)(?![\\w-])"
|
498
|
-
},
|
499
|
-
"keywords-p": {
|
500
|
-
"name": "keyword.other.abl",
|
501
|
-
"match": "(?i)(?\u003c![\\w-])(page|page-bot|page-bott|page-botto|page-bottom|page-down|page-left|page-num|page-numb|page-numbe|page-number|page-right|page-right-text|page-size|page-top|page-up|page-wid|page-widt|page-width|paged|param|parame|paramet|paramete|parameter|parent|parent-buffer|parent-fields-after|parent-fields-before|parent-id-field|parent-id-relation|parent-rel|parent-rela|parent-relat|parent-relati|parent-relatio|parent-relation|parent-window-close|parse-status|partial-key|pascal|password-field|paste|pathname|pause|pbe-hash-alg|pbe-hash-algo|pbe-hash-algor|pbe-hash-algori|pbe-hash-algorit|pbe-hash-algorith|pbe-hash-algorithm|pbe-key-rounds|pdbname|perf|perfo|perfor|perform|performa|performan|performanc|performance|persist|persiste|persisten|persistent|persistent-cache-disabled|persistent-procedure|pfc|pfco|pfcol|pfcolo|pfcolor|pick|pick-area|pick-both|pixels|pixels-per-col|pixels-per-colu|pixels-per-colum|pixels-per-column|pixels-per-row|popup-m|popup-me|popup-men|popup-menu|popup-o|popup-on|popup-onl|popup-only|portrait|position|precision|prefer-dataset|prepare-string|prepared|preproc|preproce|preproces|preprocess|presel|presele|preselec|preselect|prev|prev-col|prev-colu|prev-colum|prev-column|prev-frame|prev-sibling|prev-tab-i|prev-tab-it|prev-tab-ite|prev-tab-item|prev-word|primary|primary-passphrase|printer|printer-control-handle|printer-hdc|printer-name|printer-port|printer-setup|private|private-d|private-da|private-dat|private-data|privileges|proc-ha|proc-han|proc-hand|proc-handl|proc-handle|proc-st|proc-sta|proc-stat|proc-statu|proc-status|proce|proced|procedu|procedur|procedure|procedure-call-type|procedure-complete|procedure-name|procedure-type|process|process-architecture|profile-file|profiler|profiling|program-name|progress|progress-s|progress-so|progress-sou|progress-sour|progress-sourc|progress-source|prompt|prompt-f|prompt-fo|prompt-for|promsgs|propath|property|protected|provers|proversi|proversio|proversion|proxy|proxy-password|proxy-userid|public|public-id|publish|published-events|put|put|put-bits|put-byte|put-bytes|put-double|put-float|put-int64|put-key-val|put-key-valu|put-key-value|put-long|put-short|put-string|put-unsigned-long|put-unsigned-short|putbyte)(?![\\w-])"
|
502
|
-
},
|
503
|
-
"keywords-q": {
|
504
|
-
"name": "keyword.other.abl",
|
505
|
-
"match": "(?i)(?\u003c![\\w-])(qualified-user-id|query|query-close|query-off-end|query-open|query-prepare|query-tuning|question|quit|quoter)(?![\\w-])"
|
506
|
-
},
|
507
|
-
"keywords-r": {
|
508
|
-
"name": "keyword.other.abl",
|
509
|
-
"match": "(?i)(?\u003c![\\w-])(r-index|radio-buttons|radio-set|random|raw|raw-transfer|rcode-info|rcode-infor|rcode-inform|rcode-informa|rcode-informat|rcode-informati|rcode-informatio|rcode-information|read|read-available|read-exact-num|read-file|read-json|read-only|read-response|read-xml|read-xmlschema|readkey|real|recall|recid|record-len|record-leng|record-lengt|record-length|rect|recta|rectan|rectang|rectangl|rectangle|recursive|reference-only|refresh|refresh-audit-policy|refreshable|register-domain|reinstate|reject-changes|reject-row-changes|rejected|relation-fi|relation-fie|relation-fiel|relation-field|relation-fields|relations-active|release|remote|remote-host|remote-port|remove-attribute|remove-child|remove-events-proc|remove-events-proce|remove-events-proced|remove-events-procedu|remove-events-procedur|remove-events-procedure|remove-super-proc|remove-super-proce|remove-super-proced|remove-super-procedu|remove-super-procedur|remove-super-procedure|repeat|replace|replace|replace-child|replace-selection-text|replication-create|replication-delete|replication-write|reports|reposition|reposition-back|reposition-backw|reposition-backwa|reposition-backwar|reposition-backward|reposition-backwards|reposition-forw|reposition-forwa|reposition-forwar|reposition-forward|reposition-forwards|reposition-parent-rel|reposition-parent-rela|reposition-parent-relat|reposition-parent-relati|reposition-parent-relatio|reposition-parent-relation|reposition-to-row|reposition-to-rowid|request|request-info|reset|resiza|resizab|resizabl|resizable|resize|response-info|restart-row|restart-rowid|result|resume-display|retain|retain-s|retain-sh|retain-sha|retain-shap|retain-shape|retry|retry-cancel|return|return|return-ins|return-inse|return-inser|return-insert|return-inserte|return-inserted|return-to-start-di|return-to-start-dir|return-val|return-valu|return-value|return-value-data-type|return-value-dll-type|returns|reverse-from|revert|revoke|rgb-v|rgb-va|rgb-val|rgb-valu|rgb-value|right|right|right-align|right-aligne|right-aligned|right-end|right-trim|role|roles|round|rounded|routine-level|row|row-created|row-deleted|row-display|row-entry|row-height|row-height-c|row-height-ch|row-height-cha|row-height-char|row-height-chars|row-height-p|row-height-pi|row-height-pix|row-height-pixe|row-height-pixel|row-height-pixels|row-leave|row-ma|row-mar|row-mark|row-marke|row-marker|row-markers|row-modified|row-of|row-resizable|row-state|row-unmodified|rowid|rule|rule-row|rule-y|run|run-proc|run-proce|run-proced|run-procedu|run-procedur|run-procedure)(?![\\w-])"
|
510
|
-
},
|
511
|
-
"keywords-s": {
|
512
|
-
"name": "keyword.other.abl",
|
513
|
-
"match": "(?i)(?\u003c![\\w-])(save|save-as|save-as|save-file|save-row-changes|save-where-string|sax-attributes|sax-comple|sax-complet|sax-complete|sax-parse|sax-parse-first|sax-parse-next|sax-parser-error|sax-reader|sax-running|sax-uninitialized|sax-write-begin|sax-write-complete|sax-write-content|sax-write-element|sax-write-error|sax-write-idle|sax-write-tag|sax-writer|sax-xml|schema|schema-change|schema-location|schema-marshal|schema-path|screen|screen-io|screen-lines|screen-val|screen-valu|screen-value|scroll|scroll-bars|scroll-horizontal|scroll-left|scroll-mode|scroll-notify|scroll-right|scroll-to-current-row|scroll-to-i|scroll-to-it|scroll-to-ite|scroll-to-item|scroll-to-selected-row|scroll-vertical|scrollable|scrollbar-drag|scrollbar-h|scrollbar-ho|scrollbar-hor|scrollbar-hori|scrollbar-horiz|scrollbar-horizo|scrollbar-horizon|scrollbar-horizont|scrollbar-horizonta|scrollbar-horizontal|scrollbar-v|scrollbar-ve|scrollbar-ver|scrollbar-vert|scrollbar-verti|scrollbar-vertic|scrollbar-vertica|scrollbar-vertical|scrolled-row-pos|scrolled-row-posi|scrolled-row-posit|scrolled-row-positi|scrolled-row-positio|scrolled-row-position|scrolling|sdbname|seal|seal-timestamp|search|search-self|search-target|section|security-policy|seek|select|select|select-all|select-extend|select-focused-row|select-next-row|select-on-join|select-prev-row|select-repositioned-row|select-row|selectable|selected|selected-items|selection|selection-end|selection-extend|selection-list|selection-start|selection-text|self|send|sensitive|separate-connection|separator-fgc|separator-fgco|separator-fgcol|separator-fgcolo|separator-fgcolor|separators|serializable|serialize-hidden|serialize-name|serialize-row|server|server-connection-bo|server-connection-bou|server-connection-boun|server-connection-bound|server-connection-bound-re|server-connection-bound-req|server-connection-bound-requ|server-connection-bound-reque|server-connection-bound-reques|server-connection-bound-request|server-connection-co|server-connection-con|server-connection-cont|server-connection-conte|server-connection-contex|server-connection-context|server-connection-id|server-operating-mode|server-socket|session|session-end|session-id|set|set-actor|set-appl-context|set-attr-call-type|set-attribute|set-attribute-node|set-blue|set-blue-|set-blue-v|set-blue-va|set-blue-val|set-blue-valu|set-blue-value|set-break|set-buffers|set-byte-order|set-callback|set-callback-procedure|set-cell-focus|set-client|set-commit|set-connect-procedure|set-contents|set-db-client|set-db-logging|set-dynamic|set-effective-tenant|set-event-manager-option|set-green|set-green-|set-green-v|set-green-va|set-green-val|set-green-valu|set-green-value|set-input-source|set-must-understand|set-node|set-numeric-form|set-numeric-forma|set-numeric-format|set-option|set-output-destination|set-parameter|set-pointer-val|set-pointer-valu|set-pointer-value|set-property|set-read-response-procedure|set-red|set-red-|set-red-v|set-red-va|set-red-val|set-red-valu|set-red-value|set-repositioned-row|set-rgb|set-rgb-|set-rgb-v|set-rgb-va|set-rgb-val|set-rgb-valu|set-rgb-value|set-role|set-rollback|set-selection|set-serialized|set-size|set-socket-option|set-sort-arrow|set-state|set-wait|set-wait-|set-wait-s|set-wait-st|set-wait-sta|set-wait-stat|set-wait-state|settings|setuser|setuseri|setuserid|sha1-digest|share|share-|share-l|share-lo|share-loc|share-lock|shared|short|show-in-task|show-in-taskb|show-in-taskba|show-in-taskbar|show-stat|show-stats|side-lab|side-labe|side-label|side-label-h|side-label-ha|side-label-han|side-label-hand|side-label-handl|side-label-handle|side-labels|signature|silent|simple|single|single-character|single-run|singleton|size|size-c|size-ch|size-cha|size-char|size-chars|size-p|size-pi|size-pix|size-pixe|size-pixel|size-pixels|skip|skip-deleted-rec|skip-deleted-reco|skip-deleted-recor|skip-deleted-record|skip-group-duplicates|skip-schema-check|slider|small-icon|small-title|smallint|soap-fault|soap-fault-actor|soap-fault-code|soap-fault-detail|soap-fault-misunderstood-header|soap-fault-node|soap-fault-role|soap-fault-string|soap-fault-subcode|soap-header|soap-header-entryref|soap-version|socket|some|sort|sort-ascending|sort-number|source|source-procedure|space|sql|sqrt|ssl-server-name|standalone|start|start-box-selection|start-document|start-element|start-extend-box-selection|start-mem-check|start-move|start-resize|start-row-resize|start-search|starting|startup-parameters|state-detail|static|statistics|status|status-area|status-area-font|status-area-msg|stdcall|stomp-detection|stomp-frequency|stop|stop|stop-after|stop-display|stop-mem-check|stop-parsing|stoppe|stopped|stored-proc|stored-proce|stored-proced|stored-procedu|stored-procedur|stored-procedure|stream|stream-handle|stream-io|stretch-to-fit|strict|strict-entity-resolution|string|string-value|string-xref|sub-ave|sub-aver|sub-avera|sub-averag|sub-average|sub-count|sub-max|sub-maxi|sub-maxim|sub-maximu|sub-maximum|sub-menu|sub-menu-help|sub-min|sub-mini|sub-minim|sub-minimu|sub-minimum|sub-total|subscribe|subst|substi|substit|substitu|substitut|substitute|substr|substri|substrin|substring|subtype|sum|summary|super|super-proc|super-proce|super-proced|super-procedu|super-procedur|super-procedure|super-procedures|suppress-namespace-processing|suppress-w|suppress-wa|suppress-war|suppress-warn|suppress-warni|suppress-warnin|suppress-warning|suppress-warnings|suppress-warnings-list|suspend|symmetric-encryption-algorithm|symmetric-encryption-iv|symmetric-encryption-key|symmetric-support|synchronize|system-alert|system-alert-|system-alert-b|system-alert-bo|system-alert-box|system-alert-boxe|system-alert-boxes|system-dialog|system-help|system-id)(?![\\w-])"
|
514
|
-
},
|
515
|
-
"keywords-t": {
|
516
|
-
"name": "keyword.other.abl",
|
517
|
-
"match": "(?i)(?\u003c![\\w-])(tab|tab-position|tab-stop|table|table-crc-list|table-handle|table-list|table-num|table-numb|table-numbe|table-number|table-scan|target|target-procedure|temp-dir|temp-dire|temp-direc|temp-direct|temp-directo|temp-director|temp-directory|temp-table|temp-table-prepar|temp-table-prepare|tenant|tenant-id|tenant-name|tenant-name-to-id|tenant-where|term|terminal|terminate|text|text-cursor|text-seg|text-seg-|text-seg-g|text-seg-gr|text-seg-gro|text-seg-grow|text-seg-growt|text-seg-growth|text-selected|then|this-object|this-procedure|thread-safe|three-d|through|throw|thru|tic-marks|time|time-source|timezone|title|title-bgc|title-bgco|title-bgcol|title-bgcolo|title-bgcolor|title-dc|title-dco|title-dcol|title-dcolo|title-dcolor|title-fgc|title-fgco|title-fgcol|title-fgcolo|title-fgcolor|title-fo|title-fon|title-font|to|to-rowid|today|toggle-box|tooltip|tooltips|top|top-column|top-nav-query|top-only|topic|total|trace-filter|tracing|tracking-changes|trailing|trans|trans-init-proc|trans-init-proce|trans-init-proced|trans-init-procedu|trans-init-procedur|trans-init-procedure|transact|transacti|transactio|transaction|transaction-mode|transpar|transpare|transparen|transparent|trigger|triggers|trim|true|trunc|trunca|truncat|truncate|ttcodepage|type|type-of)(?![\\w-])"
|
518
|
-
},
|
519
|
-
"keywords-u": {
|
520
|
-
"name": "keyword.other.abl",
|
521
|
-
"match": "(?i)(?\u003c![\\w-])(unbox|unbuff|unbuffe|unbuffer|unbuffere|unbuffered|underl|underli|underlin|underline|undo|undo-throw-scope|unform|unforma|unformat|unformatt|unformatte|unformatted|union|unique|unique-id|unique-match|unix|unix-end|unless-hidden|unload|unsigned-byte|unsigned-int64|unsigned-integer|unsigned-long|unsigned-short|unsubscribe|up|up|update|update-attribute|upper|url|url-decode|url-encode|url-password|url-userid|use|use-dic|use-dict|use-dict-|use-dict-e|use-dict-ex|use-dict-exp|use-dict-exps|use-filename|use-index|use-revvideo|use-text|use-underline|use-widget-pool|user|user-data|user-id|userid|using|utc-offset)(?![\\w-])"
|
522
|
-
},
|
523
|
-
"keywords-v": {
|
524
|
-
"name": "keyword.other.abl",
|
525
|
-
"match": "(?i)(?\u003c![\\w-])(v6display|v6frame|valid-event|valid-handle|valid-object|validate|validate-expressio|validate-expression|validate-message|validate-seal|validate-xml|validation-enabled|value|value-changed|values|var|vari|varia|variab|variabl|variable|verb|verbo|verbos|verbose|version|vert|verti|vertic|vertica|vertical|view|view-as|view-first-column-on-reopen|virtual-height|virtual-height-c|virtual-height-ch|virtual-height-cha|virtual-height-char|virtual-height-chars|virtual-height-p|virtual-height-pi|virtual-height-pix|virtual-height-pixe|virtual-height-pixel|virtual-height-pixels|virtual-width|virtual-width-c|virtual-width-ch|virtual-width-cha|virtual-width-char|virtual-width-chars|virtual-width-p|virtual-width-pi|virtual-width-pix|virtual-width-pixe|virtual-width-pixel|virtual-width-pixels|visible|vms|void)(?![\\w-])"
|
526
|
-
},
|
527
|
-
"keywords-w": {
|
528
|
-
"name": "keyword.other.abl",
|
529
|
-
"match": "(?i)(?\u003c![\\w-])(wait|wait-for|warning|wc-admin-app|web-con|web-cont|web-conte|web-contex|web-context|web-notify|weekday|when|where|where-string|while|widget|widget-e|widget-en|widget-ent|widget-ente|widget-enter|widget-h|widget-ha|widget-han|widget-hand|widget-handl|widget-handle|widget-id|widget-l|widget-le|widget-lea|widget-leav|widget-leave|widget-pool|width|width-c|width-ch|width-cha|width-char|width-chars|width-p|width-pi|width-pix|width-pixe|width-pixel|width-pixels|window|window-close|window-delayed-min|window-delayed-mini|window-delayed-minim|window-delayed-minimi|window-delayed-minimiz|window-delayed-minimize|window-maxim|window-maximi|window-maximiz|window-maximize|window-maximized|window-maximized|window-minim|window-minimi|window-minimiz|window-minimize|window-minimized|window-minimized|window-name|window-normal|window-resized|window-restored|window-sta|window-stat|window-state|window-sys|window-syst|window-syste|window-system|with|word-index|word-wrap|work-area-height-p|work-area-height-pi|work-area-height-pix|work-area-height-pixe|work-area-height-pixel|work-area-height-pixels|work-area-width-p|work-area-width-pi|work-area-width-pix|work-area-width-pixe|work-area-width-pixel|work-area-width-pixels|work-area-x|work-area-y|work-tab|work-tabl|work-table|workfile|write|write-cdata|write-characters|write-comment|write-data|write-data-element|write-empty-element|write-entity-ref|write-external-dtd|write-fragment|write-json|write-message|write-processing-instruction|write-status|write-xml|write-xmlschema)(?![\\w-])"
|
530
|
-
},
|
531
|
-
"keywords-x": {
|
532
|
-
"name": "keyword.other.abl",
|
533
|
-
"match": "(?i)(?\u003c![\\w-])(x|x-document|x-noderef|x-of|xcode|xcode-session-key|xml-data-type|xml-entity-expansion-limit|xml-node-name|xml-node-type|xml-schema-pat|xml-schema-path|xml-strict-entity-resolution|xml-suppress-namespace-processing|xor|xref|xref-xml)(?![\\w-])"
|
534
|
-
},
|
535
|
-
"keywords-y": {
|
536
|
-
"name": "keyword.other.abl",
|
537
|
-
"match": "(?i)(?\u003c![\\w-])(y|y-of|year|year-offset|yes|yes-no|yes-no-cancel)(?![\\w-])"
|
538
|
-
},
|
539
|
-
"method-call": {
|
540
|
-
"name": "support.function.abl",
|
541
|
-
"match": "(?\u003c=\\.|:)(\\w|-)+"
|
542
|
-
},
|
543
|
-
"multilinecomment": {
|
544
|
-
"name": "comment.block.source.abl",
|
545
|
-
"contentName": "comment",
|
546
|
-
"begin": "(?\u003c!=)\\/\\*",
|
547
|
-
"end": "\\*/",
|
548
|
-
"patterns": [
|
549
|
-
{
|
550
|
-
"name": "comment.block.source.abl",
|
551
|
-
"include": "#multilinecomment"
|
552
|
-
}
|
553
|
-
]
|
554
|
-
},
|
555
|
-
"numeric": {
|
556
|
-
"name": "constant.numeric.source.abl",
|
557
|
-
"match": "(?\u003c![\\w-])((0(x|X)[0-9a-fA-F]+)|([0-9]+(\\.[0-9]+)?))"
|
558
|
-
},
|
559
|
-
"operator": {
|
560
|
-
"patterns": [
|
561
|
-
{
|
562
|
-
"include": "#operator1"
|
563
|
-
},
|
564
|
-
{
|
565
|
-
"include": "#operator2"
|
566
|
-
}
|
567
|
-
]
|
568
|
-
},
|
569
|
-
"operator1": {
|
570
|
-
"name": "keyword.operator.source.abl",
|
571
|
-
"match": "(?i)(?\u003c=^|\\s)(or|and|not|is|eq|ge|ne|le|lt|gt)(?=\\s|\\.)"
|
572
|
-
},
|
573
|
-
"operator2": {
|
574
|
-
"name": "keyword.operator.source.abl",
|
575
|
-
"match": "(?i)(\u003c=|\u003c\u003e|\u003e=|=|\\+| - |/|\u003c|\u003e|,)"
|
576
|
-
},
|
577
|
-
"parameter-name": {
|
578
|
-
"name": "variable.parameter.abl",
|
579
|
-
"match": "(?\u003c=^|\\s)(\\w|-)+(?=\\s)"
|
580
|
-
},
|
581
|
-
"primitive-type": {
|
582
|
-
"name": "storage.type.abl",
|
583
|
-
"match": "(?i)(?\u003c=^|\\s)(blob|character|characte|charact|charac|chara|char|clob|com-handle|date|datetime|datetime-tz|decimal|decima|decim|deci|dec|handle|int64|integer|intege|integ|inte|int|logical|logica|logic|logi|log|longchar|longcha|longch|memptr|raw|recid|rowid|widget-handle)(?![=\\w-])"
|
584
|
-
},
|
585
|
-
"procedure-definition": {
|
586
|
-
"name": "meta.procedure.abl",
|
587
|
-
"begin": "(?i)\\b(proce|proced|procedu|procedur|procedure)\\b\\s+('[\\w\\.-]*':U|'[\\w\\.-]*'|[\\w\\.-]*)?(\\s+(EXTERNAL)\\s+(\")([\\w\\.-]*)(\"))?",
|
588
|
-
"end": "(?=\\.)",
|
589
|
-
"patterns": [
|
590
|
-
{
|
591
|
-
"name": "meta.procedure.body.abl",
|
592
|
-
"begin": ":",
|
593
|
-
"end": "(?i)(end\\s*procedure|end)",
|
594
|
-
"patterns": [
|
595
|
-
{
|
596
|
-
"include": "#code-block"
|
597
|
-
}
|
598
|
-
],
|
599
|
-
"endCaptures": {
|
600
|
-
"1": {
|
601
|
-
"name": "keyword.other.abl"
|
602
|
-
}
|
603
|
-
}
|
604
|
-
}
|
605
|
-
],
|
606
|
-
"beginCaptures": {
|
607
|
-
"1": {
|
608
|
-
"name": "keyword.other.abl"
|
609
|
-
},
|
610
|
-
"2": {
|
611
|
-
"name": "entity.name.function.abl"
|
612
|
-
},
|
613
|
-
"4": {
|
614
|
-
"name": "keyword.other.abl"
|
615
|
-
},
|
616
|
-
"5": {
|
617
|
-
"name": "punctuation.definition.string.begin.abl"
|
618
|
-
},
|
619
|
-
"6": {
|
620
|
-
"name": "string.double.complex.abl"
|
621
|
-
},
|
622
|
-
"7": {
|
623
|
-
"name": "punctuation.definition.string.begin.abl"
|
624
|
-
}
|
625
|
-
}
|
626
|
-
},
|
627
|
-
"punctuation-comma": {
|
628
|
-
"name": "punctuation.separator.comma.abl",
|
629
|
-
"match": ","
|
630
|
-
},
|
631
|
-
"punctuation-semicolon": {
|
632
|
-
"name": "punctuation.terminator.abl",
|
633
|
-
"match": "\\."
|
634
|
-
},
|
635
|
-
"singlelinecomment": {
|
636
|
-
"name": "comment.source.abl",
|
637
|
-
"match": "//.*$"
|
638
|
-
},
|
639
|
-
"singlequotedstring": {
|
640
|
-
"name": "string.single.complex.abl",
|
641
|
-
"begin": "'",
|
642
|
-
"end": "'",
|
643
|
-
"patterns": [
|
644
|
-
{
|
645
|
-
"name": "constant.character.escape.abl",
|
646
|
-
"match": "~."
|
647
|
-
}
|
648
|
-
],
|
649
|
-
"beginCaptures": {
|
650
|
-
"0": {
|
651
|
-
"name": "punctuation.definition.string.begin.abl"
|
652
|
-
}
|
653
|
-
},
|
654
|
-
"endCaptures": {
|
655
|
-
"0": {
|
656
|
-
"name": "punctuation.definition.string.end.abl"
|
657
|
-
}
|
658
|
-
}
|
659
|
-
},
|
660
|
-
"statements": {
|
661
|
-
"patterns": [
|
662
|
-
{
|
663
|
-
"include": "#string"
|
664
|
-
},
|
665
|
-
{
|
666
|
-
"include": "#singlelinecomment"
|
667
|
-
},
|
668
|
-
{
|
669
|
-
"include": "#multilinecomment"
|
670
|
-
},
|
671
|
-
{
|
672
|
-
"include": "#declarations"
|
673
|
-
},
|
674
|
-
{
|
675
|
-
"include": "#numeric"
|
676
|
-
},
|
677
|
-
{
|
678
|
-
"include": "#constant"
|
679
|
-
},
|
680
|
-
{
|
681
|
-
"include": "#operator"
|
682
|
-
},
|
683
|
-
{
|
684
|
-
"include": "#analyze-suspend-resume"
|
685
|
-
},
|
686
|
-
{
|
687
|
-
"include": "#global-scoped-define"
|
688
|
-
},
|
689
|
-
{
|
690
|
-
"name": "storage.type.function.abl",
|
691
|
-
"match": "(?i)(\\\u0026[\\w-]*)|({\\\u0026[\\w-]*})|(\u0026window-system|\u0026text-height|\u0026line-number|\u0026batch-mode|\u0026file-name|\u0026undefine|\u0026sequence|\u0026message|defined|\u0026elseif|\u0026scoped|\u0026global|\u0026opsys|\u0026endif|\u0026else|\u0026scop|\u0026then|\u0026glob|\u0026if)"
|
692
|
-
},
|
693
|
-
{
|
694
|
-
"include": "#primitive-type"
|
695
|
-
},
|
696
|
-
{
|
697
|
-
"include": "#method-call"
|
698
|
-
},
|
699
|
-
{
|
700
|
-
"include": "#function-call"
|
701
|
-
},
|
702
|
-
{
|
703
|
-
"include": "#code-block"
|
704
|
-
},
|
705
|
-
{
|
706
|
-
"include": "#keywords"
|
707
|
-
},
|
708
|
-
{
|
709
|
-
"include": "#variable-name"
|
710
|
-
},
|
711
|
-
{
|
712
|
-
"include": "#array-literal"
|
713
|
-
},
|
714
|
-
{
|
715
|
-
"include": "#punctuation-semicolon"
|
716
|
-
}
|
717
|
-
]
|
718
|
-
},
|
719
|
-
"string": {
|
720
|
-
"patterns": [
|
721
|
-
{
|
722
|
-
"include": "#singlequotedstring"
|
723
|
-
},
|
724
|
-
{
|
725
|
-
"include": "#doublequotedstring"
|
726
|
-
}
|
727
|
-
]
|
728
|
-
},
|
729
|
-
"variable-name": {
|
730
|
-
"name": "variable.other.abl",
|
731
|
-
"match": "(?\u003c=^|\\s|\\[|\\()([\\w-]+)"
|
732
|
-
}
|
733
|
-
}
|
734
|
-
}
|
1
|
+
{"name":"OpenEdge ABL","scopeName":"source.abl","patterns":[{"include":"#procedure-definition"},{"include":"#statements"}],"repository":{"analyze-suspend-resume":{"name":"comment.preprocessor.analyze-suspend.abl","begin":"(?i)(\\\u0026analyze-suspend|\\\u0026analyze-resume)\\s*","end":"(?=(?://|/\\*))|$"},"argument-reference":{},"array-literal":{"name":"meta.array.literal.abl","begin":"\\[","end":"\\]","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"meta.brace.square.abl"}},"endCaptures":{"0":{"name":"meta.brace.square.abl"}}},"code-block":{"patterns":[{"include":"#singlelinecomment"},{"include":"#multilinecomment"},{"include":"#string"},{"include":"#numeric"},{"include":"#constant"},{"include":"#operator"},{"include":"#include-file"},{"include":"#define"},{"include":"#do-block"},{"include":"#keywords"},{"include":"#variable-name"},{"include":"#method-call"},{"include":"#function-call"}]},"constant":{"name":"constant.language.source.abl","match":"(?i)(?\u003c=^|\\s)(true|false|yes|no)(?!\\w|-)"},"declarations":{"patterns":[{"include":"#define"}]},"define":{"name":"meta.define.abl","begin":"(?i)\\b(def|define)\\s+","end":"(?=\\.)","patterns":[{"name":"meta.define.variable.abl","begin":"(?i)\\b(new|shared|var|vari|varia|variab|variabl|variable|private|protected|public|static|serializable|non-serializable)\\b","end":"(?=\\.)","patterns":[{"include":"#string"},{"include":"#primitive-type"},{"include":"#numeric"},{"include":"#constant"},{"include":"#keywords"},{"include":"#variable-name"}],"beginCaptures":{"1":{"name":"keyword.other.abl"}}},{"name":"meta.define.parameter.abl","match":"(?i)(?\u003c=^|\\s)(input|output|input-output|return)(?=\\s)([^\\.]*)","captures":{"1":{"name":"keyword.other.abl"},"2":{"patterns":[{"include":"#string"},{"include":"#primitive-type"},{"include":"#numeric"},{"include":"#constant"},{"include":"#keywords"},{"include":"#parameter-name"}]}}},{"name":"meta.define.stream.abl","match":"(?i)\\b(stream)\\b([^\\.]*)","captures":{"1":{"name":"keyword.other.abl"},"2":{"patterns":[{"include":"#variable-name"}]}}},{"include":"#string"},{"include":"#primitive-type"},{"include":"#numeric"},{"include":"#constant"},{"include":"#keywords"},{"include":"#singlelinecomment"},{"include":"#multilinecomment"}],"beginCaptures":{"1":{"name":"keyword.other.abl"}}},"do-block":{"name":"meta.do.abl","begin":"(?i)\\b(do)\\b","end":"(?=\\.)","patterns":[{"name":"meta.do.while.abl","begin":"(?i)\\b(while)\\b","end":"(?=(?::))","patterns":[{"include":"#statements"}],"beginCaptures":{"1":{"name":"keyword.other.abl"}}},{"include":"#statements"},{"name":"meta.do.body.abl","begin":":","end":"(?i)(end\\s*do|end)","patterns":[{"include":"#code-block"}],"endCaptures":{"1":{"name":"keyword.other.abl"}}}],"beginCaptures":{"1":{"name":"keyword.other.abl"}}},"doublequotedstring":{"name":"string.double.complex.abl","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.abl","match":"~."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.abl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.abl"}}},"expression":{"patterns":[{"include":"#string"},{"include":"#constant"},{"include":"#numeric"},{"include":"#variable-name"}]},"function-call":{"name":"meta.function-call.abl","begin":"([\\w-]+)\\s*(\\()","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"entity.name.function.abl"},"2":{"name":"meta.brace.round.js"}},"endCaptures":{"1":{"name":"meta.brace.round.js"}}},"global-scoped-define":{"name":"meta.preprocessor.define.abl","begin":"(?i)(\\\u0026scoped-define|\\\u0026global-define)\\s*([\\.\\w\\\\/-]*)\\s*","end":"(?=(?://|/\\*))|$","patterns":[{"include":"#string"}],"beginCaptures":{"1":{"name":"keyword.other.abl"},"2":{"name":"entity.name.function.preprocessor.abl"}}},"include-file":{"name":"meta.include.abl","begin":"({)\\s*","end":"\\s*(})","patterns":[{"include":"#string"},{"match":"([^}\\s]*)\\s*","captures":{"1":{"name":"string.unquoted.include-argument.abl"}}}],"beginCaptures":{"1":{"name":"punctuation.section.abl"}},"endCaptures":{"1":{"name":"punctuation.section.abl"}}},"keywords":{"patterns":[{"include":"#keywords-a"},{"include":"#keywords-b"},{"include":"#keywords-c"},{"include":"#keywords-d"},{"include":"#keywords-e"},{"include":"#keywords-f"},{"include":"#keywords-g"},{"include":"#keywords-h"},{"include":"#keywords-i"},{"include":"#keywords-j"},{"include":"#keywords-k"},{"include":"#keywords-l"},{"include":"#keywords-m"},{"include":"#keywords-n"},{"include":"#keywords-o"},{"include":"#keywords-p"},{"include":"#keywords-q"},{"include":"#keywords-r"},{"include":"#keywords-s"},{"include":"#keywords-t"},{"include":"#keywords-u"},{"include":"#keywords-v"},{"include":"#keywords-w"},{"include":"#keywords-x"},{"include":"#keywords-y"}]},"keywords-a":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(abort|abs|abso|absol|absolu|absolut|absolute|abstract|accelerator|accept-changes|accept-row-changes|accum|accumu|accumul|accumula|accumulat|accumulate|across|active|active-form|active-window|actor|add|add-buffer|add-calc-col|add-calc-colu|add-calc-colum|add-calc-column|add-columns-from|add-events-proc|add-events-proce|add-events-proced|add-events-procedu|add-events-procedur|add-events-procedure|add-fields-from|add-first|add-header-entry|add-index-field|add-interval|add-last|add-like-col|add-like-colu|add-like-colum|add-like-column|add-like-field|add-like-index|add-new-field|add-new-index|add-parent-id-relation|add-rel|add-rela|add-relat|add-relati|add-relatio|add-relation|add-schema-location|add-source-buffer|add-super-proc|add-super-proce|add-super-proced|add-super-procedu|add-super-procedur|add-super-procedure|adm-data|advise|after-buffer|after-rowid|after-table|alert-box|alias|all|allow-column-searching|allow-replication|alter|alternate-key|always-on-top|ambig|ambigu|ambiguo|ambiguou|ambiguous|and|ansi-only|any|any-key|any-printable|anywhere|append|append-child|append-line|appl-alert|appl-alert-|appl-alert-b|appl-alert-bo|appl-alert-box|appl-alert-boxe|appl-alert-boxes|appl-context-id|application|apply|apply-callback|appserver-info|appserver-password|appserver-userid|array-m|array-me|array-mes|array-mess|array-messa|array-messag|array-message|as|as-cursor|asc|asce|ascen|ascend|ascendi|ascendin|ascending|ask-overwrite|assembly|assign|async-request-count|async-request-handle|asynchronous|at|attach|attach-data-source|attached-pairlist|attachment|attr|attr-|attr-s|attr-sp|attr-spa|attr-spac|attr-space|attribute-names|attribute-type|audit-control|audit-enabled|audit-event-context|audit-policy|authentication-failed|authorization|auto-comp|auto-compl|auto-comple|auto-complet|auto-completi|auto-completio|auto-completion|auto-delete|auto-delete-xml|auto-end-key|auto-endkey|auto-go|auto-ind|auto-inde|auto-inden|auto-indent|auto-resize|auto-ret|auto-retu|auto-retur|auto-return|auto-synchronize|auto-val|auto-vali|auto-valid|auto-valida|auto-validat|auto-validate|auto-z|auto-za|auto-zap|automatic|avail|availa|availab|availabl|available|available-formats|ave|aver|avera|averag|average|avg)(?![\\w-])"},"keywords-b":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(back|back-tab|backg|backgr|backgro|backgrou|backgroun|background|backspace|backward|backwards|base-ade|base-key|base64|base64-decode|base64-encode|basic-logging|batch|batch-mode|batch-size|before-buffer|before-h|before-hi|before-hid|before-hide|before-rowid|before-table|begin-event-group|begins|bell|bell|between|bgc|bgco|bgcol|bgcolo|bgcolor|big-endian|binary|bind|bind-where|blank|blob|block|block-iteration-display|block-lev|block-leve|block-level|border-b|border-bo|border-bot|border-bott|border-botto|border-bottom|border-bottom-c|border-bottom-ch|border-bottom-cha|border-bottom-char|border-bottom-chars|border-bottom-p|border-bottom-pi|border-bottom-pix|border-bottom-pixe|border-bottom-pixel|border-bottom-pixels|border-l|border-le|border-lef|border-left|border-left-c|border-left-ch|border-left-cha|border-left-char|border-left-chars|border-left-p|border-left-pi|border-left-pix|border-left-pixe|border-left-pixel|border-left-pixels|border-r|border-ri|border-rig|border-righ|border-right|border-right-c|border-right-ch|border-right-cha|border-right-char|border-right-chars|border-right-p|border-right-pi|border-right-pix|border-right-pixe|border-right-pixel|border-right-pixels|border-t|border-to|border-top|border-top-c|border-top-ch|border-top-cha|border-top-char|border-top-chars|border-top-p|border-top-pi|border-top-pix|border-top-pixe|border-top-pixel|border-top-pixels|both|bottom|bottom-column|box|box-select|box-selecta|box-selectab|box-selectabl|box-selectable|break|break-line|browse|browse-column-data-types|browse-column-formats|browse-column-labels|browse-header|btos|buffer|buffer-chars|buffer-comp|buffer-compa|buffer-compar|buffer-compare|buffer-copy|buffer-create|buffer-delete|buffer-field|buffer-group-id|buffer-group-name|buffer-handle|buffer-lines|buffer-n|buffer-na|buffer-nam|buffer-name|buffer-partition-id|buffer-releas|buffer-release|buffer-tenant-id|buffer-tenant-name|buffer-validate|buffer-value|button|buttons|by|by-pointer|by-reference|by-value|by-variant-point|by-variant-pointe|by-variant-pointer|byte|bytes-read|bytes-written)(?![\\w-])"},"keywords-c":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(cache|cache-size|call|call-name|call-type|can-crea|can-creat|can-create|can-dele|can-delet|can-delete|can-do|can-do-domain-support|can-find|can-query|can-read|can-set|can-writ|can-write|cancel-break|cancel-button|cancel-pick|cancel-requests|cancel-requests-after|cancelled|caps|careful-paint|case|case-sen|case-sens|case-sensi|case-sensit|case-sensiti|case-sensitiv|case-sensitive|cast|catch|cdecl|center|centere|centered|chained|char|chara|charac|charact|characte|character|character_length|charset|check|check-mem-stomp|checked|child-buffer|child-num|choices|choose|choose|chr|class|class-type|clear|clear|clear-appl-context|clear-log|clear-select|clear-selecti|clear-selectio|clear-selection|clear-sort-arrow|clear-sort-arrows|client-connection-id|client-principal|client-tty|client-type|client-workstation|clipboard|clob|clone-node|close|close|close-log|code|codebase-locator|codepage|codepage-convert|col|col-of|collate|colon|colon-align|colon-aligne|colon-aligned|color|color-table|column|column-bgc|column-bgco|column-bgcol|column-bgcolo|column-bgcolor|column-codepage|column-dcolor|column-fgc|column-fgco|column-fgcol|column-fgcolo|column-fgcolor|column-font|column-lab|column-labe|column-label|column-label-bgc|column-label-bgco|column-label-bgcol|column-label-bgcolo|column-label-bgcolor|column-label-dcolor|column-label-fgc|column-label-fgco|column-label-fgcol|column-label-fgcolo|column-label-fgcolor|column-label-font|column-label-height-c|column-label-height-ch|column-label-height-cha|column-label-height-char|column-label-height-chars|column-label-height-p|column-label-height-pi|column-label-height-pix|column-label-height-pixe|column-label-height-pixel|column-label-height-pixels|column-movable|column-of|column-pfc|column-pfco|column-pfcol|column-pfcolo|column-pfcolor|column-read-only|column-resizable|column-sc|column-scr|column-scro|column-scrol|column-scroll|column-scrolli|column-scrollin|column-scrolling|columns|com-handle|com-self|combo-box|command|compare|compares|compile|compile|compiler|complete|component-handle|component-self|config-name|connect|connect|connected|constrained|constructor|container-event|contains|contents|context|context-help|context-help-file|context-help-id|context-pop|context-popu|context-popup|control|control-box|control-cont|control-conta|control-contai|control-contain|control-containe|control-container|control-fram|control-frame|convert|convert-3d|convert-3d-|convert-3d-c|convert-3d-co|convert-3d-col|convert-3d-colo|convert-3d-color|convert-3d-colors|convert-to-offs|convert-to-offse|convert-to-offset|copy|copy-dataset|copy-lob|copy-sax-attributes|copy-temp-table|count|count-of|coverage|cpcase|cpcoll|cpint|cpinte|cpinter|cpintern|cpinterna|cpinternal|cplog|cpprint|cprcodein|cprcodeout|cpstream|cpterm|crc-val|crc-valu|crc-value|create|create-like|create-like-sequential|create-node|create-node-namespace|create-on-add|create-result-list-entry|create-test-file|ctos|current|current-changed|current-column|current-env|current-envi|current-envir|current-enviro|current-environ|current-environm|current-environme|current-environmen|current-environment|current-iteration|current-lang|current-langu|current-langua|current-languag|current-language|current-query|current-request-info|current-response-info|current-result-row|current-row-modified|current-value|current-window|current_date|curs|curso|cursor|cursor-char|cursor-down|cursor-left|cursor-line|cursor-offset|cursor-right|cursor-up|cut)(?![\\w-])"},"keywords-d":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(data-b|data-bi|data-bin|data-bind|data-entry-ret|data-entry-retu|data-entry-retur|data-entry-return|data-refresh-line|data-refresh-page|data-rel|data-rela|data-relat|data-relati|data-relatio|data-relation|data-source|data-source-complete-map|data-source-modified|data-source-rowid|data-t|data-ty|data-typ|data-type|database|dataservers|dataset|dataset-handle|date|date-f|date-fo|date-for|date-form|date-forma|date-format|datetime|datetime-tz|day|db-context|db-list|db-references|db-remote-host|dbcodepage|dbcollation|dbname|dbparam|dbrest|dbrestr|dbrestri|dbrestric|dbrestrict|dbrestricti|dbrestrictio|dbrestriction|dbrestrictions|dbtaskid|dbtype|dbvers|dbversi|dbversio|dbversion|dcolor|dde|dde-error|dde-i|dde-id|dde-item|dde-name|dde-notify|dde-topic|deblank|debu|debug|debug-alert|debug-list|debug-set-tenant|debugger|dec|deci|decim|decima|decimal|decimals|declare|declare-namespace|decrypt|def|default|default-action|default-buffer-handle|default-but|default-butt|default-butto|default-button|default-commit|default-ex|default-ext|default-exte|default-exten|default-extens|default-extensi|default-extensio|default-extension|default-noxl|default-noxla|default-noxlat|default-noxlate|default-pop-up|default-string|default-value|default-window|defer-lob-fetch|defi|defin|define|define-user-event-manager|defined|del|delegate|delete|delete|delete-char|delete-char|delete-character|delete-column|delete-current-row|delete-end-line|delete-field|delete-header-entry|delete-line|delete-line|delete-node|delete-result-list-entry|delete-selected-row|delete-selected-rows|delete-word|delimiter|desc|desce|descen|descend|descendi|descendin|descending|descript|descripti|descriptio|description|deselect|deselect-extend|deselect-focused-row|deselect-rows|deselect-selected-row|deselection|deselection-extend|destructor|detach|detach-data-source|dialog-box|dialog-help|dict|dicti|dictio|diction|dictiona|dictionar|dictionary|dir|directory|disable|disable-auto-zap|disable-connections|disable-dump-triggers|disable-load-triggers|disabled|discon|disconn|disconne|disconnec|disconnect|dismiss-menu|disp|displ|displa|display|display-message|display-t|display-timezone|display-ty|display-typ|display-type|distinct|dll-call-type|do|domain-description|domain-name|domain-type|dos|dos-end|dotnet-clr-loaded|double|down|down|drag-enabled|drop|drop-down|drop-down-list|drop-file-notify|drop-target|dslog-manager|dump|dump-logging-now|dynamic|dynamic-cast|dynamic-current-value|dynamic-enum|dynamic-func|dynamic-funct|dynamic-functi|dynamic-functio|dynamic-function|dynamic-invoke|dynamic-new|dynamic-next-value|dynamic-property)(?![\\w-])"},"keywords-e":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(each|echo|edge|edge-c|edge-ch|edge-cha|edge-char|edge-chars|edge-p|edge-pi|edge-pix|edge-pixe|edge-pixel|edge-pixels|edit-can-paste|edit-can-undo|edit-clear|edit-copy|edit-cut|edit-paste|edit-undo|editing|editor|editor-backtab|editor-tab|else|empty|empty-dataset|empty-selection|empty-temp-table|enable|enable-connections|enabled|encode|encoding|encrypt|encrypt-audit-mac-key|encryption-salt|end|end|end-box-selection|end-document|end-element|end-error|end-event-group|end-file-drop|end-key|end-move|end-resize|end-row-resize|end-search|end-user-prompt|endkey|endkey|enter-menubar|entered|entity-expansion-limit|entry|entry|entry-types-list|enum|eq|error|error|error-col|error-colu|error-colum|error-column|error-object-detail|error-row|error-stack-trace|error-stat|error-statu|error-status|error-string|escape|etime|event|event-group-id|event-procedure|event-procedure-context|event-t|event-ty|event-typ|event-type|events|except|exclusive|exclusive-id|exclusive-l|exclusive-lo|exclusive-loc|exclusive-lock|exclusive-web|exclusive-web-|exclusive-web-u|exclusive-web-us|exclusive-web-use|exclusive-web-user|execute|execution-log|exists|exit|exp|expand|expandable|expire|explicit|export|export-principal|extended|extent|external|extract)(?![\\w-])"},"keywords-f":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(false|false-leaks|fetch|fetch-selected-row|fgc|fgco|fgcol|fgcolo|fgcolor|field|fields|file|file-access-d|file-access-da|file-access-dat|file-access-date|file-access-t|file-access-ti|file-access-tim|file-access-time|file-create-d|file-create-da|file-create-dat|file-create-date|file-create-t|file-create-ti|file-create-tim|file-create-time|file-info|file-infor|file-inform|file-informa|file-informat|file-informati|file-informatio|file-information|file-mod-d|file-mod-da|file-mod-dat|file-mod-date|file-mod-t|file-mod-ti|file-mod-tim|file-mod-time|file-name|file-off|file-offs|file-offse|file-offset|file-size|file-type|filename|fill|fill-in|fill-mode|fill-where-string|filled|filters|final|finally|find|find|find-by-rowid|find-case-sensitive|find-current|find-first|find-global|find-last|find-next|find-next-occurrence|find-prev-occurrence|find-previous|find-select|find-unique|find-wrap-around|finder|firehose-cursor|first|first-async|first-async-|first-async-r|first-async-re|first-async-req|first-async-requ|first-async-reque|first-async-reques|first-async-request|first-buffer|first-child|first-column|first-data-source|first-dataset|first-form|first-object|first-of|first-proc|first-proce|first-proced|first-procedu|first-procedur|first-procedure|first-query|first-serv|first-serve|first-server|first-server-socket|first-socket|first-tab-i|first-tab-it|first-tab-ite|first-tab-item|fit-last-column|fix-codepage|fixed-only|flags|flat-button|float|focus|focus-in|focused-row|focused-row-selected|font|font-table|for|force-file|fore|foreg|foregr|foregro|foregrou|foregroun|foreground|foreign-key-hidden|form|form-input|form-long-input|forma|format|formatte|formatted|forward|forward-only|forwards|fragmen|fragment|fram|frame|frame-col|frame-db|frame-down|frame-field|frame-file|frame-inde|frame-index|frame-line|frame-name|frame-row|frame-spa|frame-spac|frame-spaci|frame-spacin|frame-spacing|frame-val|frame-valu|frame-value|frame-x|frame-y|frequency|from|from-c|from-ch|from-cha|from-char|from-chars|from-cur|from-curr|from-curre|from-curren|from-current|from-p|from-pi|from-pix|from-pixe|from-pixel|from-pixels|fromnoreorder|full-height|full-height-c|full-height-ch|full-height-cha|full-height-char|full-height-chars|full-height-p|full-height-pi|full-height-pix|full-height-pixe|full-height-pixel|full-height-pixels|full-pathn|full-pathna|full-pathnam|full-pathname|full-width|full-width-|full-width-c|full-width-ch|full-width-cha|full-width-char|full-width-chars|full-width-p|full-width-pi|full-width-pix|full-width-pixe|full-width-pixel|full-width-pixels|function|function-call-type)(?![\\w-])"},"keywords-g":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(gateway|gateways|ge|generate-md5|generate-pbe-key|generate-pbe-salt|generate-random-key|generate-uuid|get|get|get-attr-call-type|get-attribute|get-attribute-node|get-binary-data|get-bits|get-blue|get-blue-|get-blue-v|get-blue-va|get-blue-val|get-blue-valu|get-blue-value|get-browse-col|get-browse-colu|get-browse-colum|get-browse-column|get-buffer-handle|get-byte|get-byte-order|get-bytes|get-bytes-available|get-callback-proc-context|get-callback-proc-name|get-cgi-list|get-cgi-long-value|get-cgi-value|get-changes|get-child|get-child-rel|get-child-rela|get-child-relat|get-child-relati|get-child-relatio|get-child-relation|get-class|get-client|get-codepage|get-codepages|get-coll|get-colla|get-collat|get-collati|get-collatio|get-collation|get-collations|get-column|get-config-value|get-curr|get-curre|get-curren|get-current|get-dataset-buffer|get-db-client|get-dir|get-document-element|get-double|get-dropped-file|get-dynamic|get-effective-tenant-id|get-effective-tenant-name|get-error-column|get-error-row|get-file|get-file-name|get-file-offse|get-file-offset|get-firs|get-first|get-float|get-green|get-green-|get-green-v|get-green-va|get-green-val|get-green-valu|get-green-value|get-header-entr|get-header-entry|get-index-by-namespace-name|get-index-by-qname|get-int64|get-iteration|get-key-val|get-key-valu|get-key-value|get-last|get-localname-by-index|get-long|get-message|get-message-type|get-next|get-node|get-number|get-parent|get-pointer-value|get-prev|get-printers|get-property|get-qname-by-index|get-red|get-red-|get-red-v|get-red-va|get-red-val|get-red-valu|get-red-value|get-rel|get-rela|get-relat|get-relati|get-relatio|get-relation|get-repositioned-row|get-rgb|get-rgb-|get-rgb-v|get-rgb-va|get-rgb-val|get-rgb-valu|get-rgb-value|get-row|get-selected|get-selected-|get-selected-w|get-selected-wi|get-selected-wid|get-selected-widg|get-selected-widge|get-selected-widget|get-serialized|get-short|get-signature|get-size|get-socket-option|get-source-buffer|get-string|get-tab-item|get-text-height|get-text-height-c|get-text-height-ch|get-text-height-cha|get-text-height-char|get-text-height-chars|get-text-height-p|get-text-height-pi|get-text-height-pix|get-text-height-pixe|get-text-height-pixel|get-text-height-pixels|get-text-width|get-text-width-c|get-text-width-ch|get-text-width-cha|get-text-width-char|get-text-width-chars|get-text-width-p|get-text-width-pi|get-text-width-pix|get-text-width-pixe|get-text-width-pixel|get-text-width-pixels|get-top-buffer|get-type-by-index|get-type-by-namespace-name|get-type-by-qname|get-unsigned-long|get-unsigned-short|get-uri-by-index|get-value-by-index|get-value-by-namespace-name|get-value-by-qname|get-wait|get-wait-|get-wait-s|get-wait-st|get-wait-sta|get-wait-stat|get-wait-state|getbyte|global|go|go-on|go-pend|go-pendi|go-pendin|go-pending|goto|grant|grant-archive|graphic-e|graphic-ed|graphic-edg|graphic-edge|grayed|grid-factor-h|grid-factor-ho|grid-factor-hor|grid-factor-hori|grid-factor-horiz|grid-factor-horizo|grid-factor-horizon|grid-factor-horizont|grid-factor-horizonta|grid-factor-horizontal|grid-factor-v|grid-factor-ve|grid-factor-ver|grid-factor-vert|grid-factor-verti|grid-factor-vertic|grid-factor-vertica|grid-factor-vertical|grid-set|grid-snap|grid-unit-height|grid-unit-height-c|grid-unit-height-ch|grid-unit-height-cha|grid-unit-height-char|grid-unit-height-chars|grid-unit-height-p|grid-unit-height-pi|grid-unit-height-pix|grid-unit-height-pixe|grid-unit-height-pixel|grid-unit-height-pixels|grid-unit-width|grid-unit-width-c|grid-unit-width-ch|grid-unit-width-cha|grid-unit-width-char|grid-unit-width-chars|grid-unit-width-p|grid-unit-width-pi|grid-unit-width-pix|grid-unit-width-pixe|grid-unit-width-pixel|grid-unit-width-pixels|grid-visible|group|group-box|gt|guid)(?![\\w-])"},"keywords-h":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(handle|handler|has-lobs|has-records|having|header|height|height-c|height-ch|height-cha|height-char|height-chars|height-p|height-pi|height-pix|height-pixe|height-pixel|height-pixels|help|help|help-con|help-cont|help-conte|help-contex|help-context|help-topic|helpfile-n|helpfile-na|helpfile-nam|helpfile-name|hex-decode|hex-encode|hidden|hide|hint|home|hori|horiz|horiz-end|horiz-home|horiz-scroll-drag|horizo|horizon|horizont|horizonta|horizontal|host-byte-order|html-charset|html-end-of-line|html-end-of-page|html-frame-begin|html-frame-end|html-header-begin|html-header-end|html-title-begin|html-title-end|hwnd)(?![\\w-])"},"keywords-i":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(icfparam|icfparame|icfparamet|icfparamete|icfparameter|icon|if|ignore-current-mod|ignore-current-modi|ignore-current-modif|ignore-current-modifi|ignore-current-modifie|ignore-current-modified|image|image-down|image-insensitive|image-size|image-size-c|image-size-ch|image-size-cha|image-size-char|image-size-chars|image-size-p|image-size-pi|image-size-pix|image-size-pixe|image-size-pixel|image-size-pixels|image-up|immediate-display|implements|import|import-node|import-principal|in|in-handle|increment-exclusive-id|index|index-hint|index-info|index-infor|index-inform|index-informa|index-informat|index-informati|index-informatio|index-information|indexed-reposition|indicator|info|infor|inform|informa|informat|informati|informatio|information|inherit-bgc|inherit-bgco|inherit-bgcol|inherit-bgcolo|inherit-bgcolor|inherit-color-mode|inherit-fgc|inherit-fgco|inherit-fgcol|inherit-fgcolo|inherit-fgcolor|inherits|init|initial|initial-dir|initial-filter|initialize|initialize-document-type|initiate|inner|inner-chars|inner-lines|input|input-o|input-ou|input-out|input-outp|input-outpu|input-output|input-value|insert|insert-attribute|insert-b|insert-ba|insert-bac|insert-back|insert-backt|insert-backta|insert-backtab|insert-before|insert-column|insert-field|insert-field-data|insert-field-label|insert-file|insert-mode|insert-row|insert-string|insert-t|insert-ta|insert-tab|instantiating-procedure|int|int64|inte|integ|intege|integer|interface|internal-entries|interval|into|invoke|is|is-attr|is-attr-|is-attr-s|is-attr-sp|is-attr-spa|is-attr-spac|is-attr-space|is-clas|is-class|is-codepage-fixed|is-column-codepage|is-db-multi-tenant|is-json|is-lead-byte|is-multi-tenant|is-open|is-parameter-set|is-partitione|is-partitioned|is-row-selected|is-selected|is-xml|iso-date|item|items-per-row|iteration-changed)(?![\\w-])"},"keywords-j":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(join|join-by-sqldb|join-on-select)(?![\\w-])"},"keywords-k":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(kblabel|keep-connection-open|keep-frame-z|keep-frame-z-|keep-frame-z-o|keep-frame-z-or|keep-frame-z-ord|keep-frame-z-orde|keep-frame-z-order|keep-messages|keep-security-cache|keep-tab-order|key|key-code|key-func|key-funct|key-functi|key-functio|key-function|key-label|keycode|keyfunc|keyfunct|keyfuncti|keyfunctio|keyfunction|keylabel|keys|keyword|keyword-all)(?![\\w-])"},"keywords-l":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(label|label-bgc|label-bgco|label-bgcol|label-bgcolo|label-bgcolor|label-dc|label-dco|label-dcol|label-dcolo|label-dcolor|label-fgc|label-fgco|label-fgcol|label-fgcolo|label-fgcolor|label-font|label-pfc|label-pfco|label-pfcol|label-pfcolo|label-pfcolor|labels|labels-have-colons|landscape|language|languages|large|large-to-small|last|last-async|last-async-|last-async-r|last-async-re|last-async-req|last-async-requ|last-async-reque|last-async-reques|last-async-request|last-batch|last-child|last-even|last-event|last-form|last-key|last-object|last-of|last-proce|last-proced|last-procedu|last-procedur|last-procedure|last-serv|last-serve|last-server|last-server-socket|last-socket|last-tab-i|last-tab-it|last-tab-ite|last-tab-item|lastkey|lc|ldbname|le|leading|leak-detection|leave|leave|left|left|left-align|left-aligne|left-aligned|left-end|left-trim|length|library|library-calling-convention|like|like-sequential|line|line-count|line-counte|line-counter|line-down|line-left|line-right|line-up|list-events|list-item-pairs|list-items|list-property-names|list-query-attrs|list-set-attrs|list-widgets|listi|listin|listing|listings|literal-question|little-endian|load|load-domains|load-from|load-icon|load-image|load-image-down|load-image-insensitive|load-image-up|load-mouse-p|load-mouse-po|load-mouse-poi|load-mouse-poin|load-mouse-point|load-mouse-pointe|load-mouse-pointer|load-picture|load-result-into|load-small-icon|lob-dir|local-host|local-name|local-port|local-version-info|locator-column-number|locator-line-number|locator-public-id|locator-system-id|locator-type|lock-registration|locked|log|log-audit-event|log-entry-types|log-id|log-manager|log-threshold|logfile-name|logging-level|logical|login-expiration-timestamp|login-host|login-state|logout|long|longch|longcha|longchar|longchar-to-node-value|lookahead|lookup|lower|lt)(?![\\w-])"},"keywords-m":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(machine-class|main-menu|mandatory|manual-highlight|map|margin-extra|margin-height|margin-height-c|margin-height-ch|margin-height-cha|margin-height-char|margin-height-chars|margin-height-p|margin-height-pi|margin-height-pix|margin-height-pixe|margin-height-pixel|margin-height-pixels|margin-width|margin-width-c|margin-width-ch|margin-width-cha|margin-width-char|margin-width-chars|margin-width-p|margin-width-pi|margin-width-pix|margin-width-pixe|margin-width-pixel|margin-width-pixels|mark-new|mark-row-state|matches|max|max-button|max-chars|max-data-guess|max-height|max-height-c|max-height-ch|max-height-cha|max-height-char|max-height-chars|max-height-p|max-height-pi|max-height-pix|max-height-pixe|max-height-pixel|max-height-pixels|max-rows|max-size|max-val|max-valu|max-value|max-width|max-width-c|max-width-ch|max-width-cha|max-width-char|max-width-chars|max-width-p|max-width-pi|max-width-pix|max-width-pixe|max-width-pixel|max-width-pixels|maximize|maximum|maximum-level|md5-digest|md5-value|member|memptr|memptr-to-node-value|menu|menu-bar|menu-drop|menu-item|menu-k|menu-ke|menu-key|menu-m|menu-mo|menu-mou|menu-mous|menu-mouse|menubar|merge-by-field|merge-changes|merge-row-changes|message|message-area|message-area-font|message-area-msg|message-digest|message-line|message-lines|method|min|min-button|min-column-width-c|min-column-width-ch|min-column-width-cha|min-column-width-char|min-column-width-chars|min-column-width-p|min-column-width-pi|min-column-width-pix|min-column-width-pixe|min-column-width-pixel|min-column-width-pixels|min-height|min-height-c|min-height-ch|min-height-cha|min-height-char|min-height-chars|min-height-p|min-height-pi|min-height-pix|min-height-pixe|min-height-pixel|min-height-pixels|min-schema-marshal|min-schema-marshall|min-size|min-val|min-valu|min-value|min-width|min-width-c|min-width-ch|min-width-cha|min-width-char|min-width-chars|min-width-p|min-width-pi|min-width-pix|min-width-pixe|min-width-pixel|min-width-pixels|mini|minim|minimu|minimum|mod|modified|modulo|month|mouse|mouse-p|mouse-po|mouse-poi|mouse-poin|mouse-point|mouse-pointe|mouse-pointer|movable|move|move-after|move-after-|move-after-t|move-after-ta|move-after-tab|move-after-tab-|move-after-tab-i|move-after-tab-it|move-after-tab-ite|move-after-tab-item|move-befor|move-before|move-before-|move-before-t|move-before-ta|move-before-tab|move-before-tab-|move-before-tab-i|move-before-tab-it|move-before-tab-ite|move-before-tab-item|move-col|move-colu|move-colum|move-column|move-to-b|move-to-bo|move-to-bot|move-to-bott|move-to-botto|move-to-bottom|move-to-eof|move-to-t|move-to-to|move-to-top|mpe|mtime|multi-compile|multiple|multiple-key|multitasking-interval|must-exist|must-understand)(?![\\w-])"},"keywords-n":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(name|namespace-prefix|namespace-uri|native|ne|needs-appserver-prompt|needs-prompt|nested|new|new|new-instance|new-line|new-row|next|next-col|next-colu|next-colum|next-column|next-error|next-frame|next-prompt|next-rowid|next-sibling|next-tab-ite|next-tab-item|next-value|next-word|no|no-apply|no-array-m|no-array-me|no-array-mes|no-array-mess|no-array-messa|no-array-messag|no-array-message|no-assign|no-attr|no-attr-l|no-attr-li|no-attr-lis|no-attr-list|no-attr-s|no-attr-sp|no-attr-spa|no-attr-spac|no-attr-space|no-auto-tri|no-auto-trim|no-auto-validate|no-bind-where|no-box|no-column-sc|no-column-scr|no-column-scro|no-column-scrol|no-column-scroll|no-column-scrolli|no-column-scrollin|no-column-scrolling|no-console|no-convert|no-convert-3d|no-convert-3d-|no-convert-3d-c|no-convert-3d-co|no-convert-3d-col|no-convert-3d-colo|no-convert-3d-color|no-convert-3d-colors|no-current-value|no-debug|no-drag|no-echo|no-empty-space|no-error|no-f|no-fi|no-fil|no-fill|no-firehose-cursor|no-focus|no-help|no-hide|no-index-hint|no-inherit-bgc|no-inherit-bgco|no-inherit-bgcol|no-inherit-bgcolo|no-inherit-bgcolor|no-inherit-fgc|no-inherit-fgco|no-inherit-fgcol|no-inherit-fgcolo|no-inherit-fgcolor|no-join-by-sqldb|no-label|no-labels|no-lobs|no-lock|no-lookahead|no-map|no-mes|no-mess|no-messa|no-messag|no-message|no-pause|no-prefe|no-prefet|no-prefetc|no-prefetch|no-query-o|no-query-or|no-query-ord|no-query-orde|no-query-order|no-query-order-|no-query-order-a|no-query-order-ad|no-query-order-add|no-query-order-adde|no-query-order-added|no-query-u|no-query-un|no-query-uni|no-query-uniq|no-query-uniqu|no-query-unique|no-query-unique-|no-query-unique-a|no-query-unique-ad|no-query-unique-add|no-query-unique-adde|no-query-unique-added|no-return-val|no-return-valu|no-return-value|no-row-markers|no-schema-marshal|no-schema-marshall|no-scrollbar-v|no-scrollbar-ve|no-scrollbar-ver|no-scrollbar-vert|no-scrollbar-verti|no-scrollbar-vertic|no-scrollbar-vertica|no-scrollbar-vertical|no-scrolling|no-separate-connection|no-separators|no-tab|no-tab-|no-tab-s|no-tab-st|no-tab-sto|no-tab-stop|no-und|no-unde|no-under|no-underl|no-underli|no-underlin|no-underline|no-undo|no-val|no-vali|no-valid|no-valida|no-validat|no-validate|no-wait|no-word-wrap|node-type|node-value|node-value-to-longchar|node-value-to-memptr|nonamespace-schema-location|none|normalize|not|not-active|now|null|num-ali|num-alia|num-alias|num-aliase|num-aliases|num-buffers|num-but|num-butt|num-butto|num-button|num-buttons|num-child-relations|num-children|num-col|num-colu|num-colum|num-column|num-columns|num-copies|num-dbs|num-dropped-files|num-entries|num-fields|num-formats|num-header-entries|num-items|num-iterations|num-lines|num-locked-col|num-locked-colu|num-locked-colum|num-locked-column|num-locked-columns|num-log-files|num-messages|num-parameters|num-references|num-relations|num-repl|num-repla|num-replac|num-replace|num-replaced|num-results|num-selected|num-selected-rows|num-selected-widgets|num-source-buffers|num-tabs|num-to-retain|num-top-buffers|num-visible-col|num-visible-colu|num-visible-colum|num-visible-column|num-visible-columns|numeric|numeric-dec|numeric-deci|numeric-decim|numeric-decima|numeric-decimal|numeric-decimal-|numeric-decimal-p|numeric-decimal-po|numeric-decimal-poi|numeric-decimal-poin|numeric-decimal-point|numeric-f|numeric-fo|numeric-for|numeric-form|numeric-forma|numeric-format|numeric-sep|numeric-sepa|numeric-separ|numeric-separa|numeric-separat|numeric-separato|numeric-separator)(?![\\w-])"},"keywords-o":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(object|octet_length|of|off|off-end|off-home|ok|ok-cancel|old|ole-invoke-loca|ole-invoke-local|ole-invoke-locale|ole-names-loca|ole-names-local|ole-names-locale|on|on-frame|on-frame-|on-frame-b|on-frame-bo|on-frame-bor|on-frame-bord|on-frame-borde|on-frame-border|open|open-line-above|opsys|option|options|or|ordered-join|ordinal|orientation|origin-handle|origin-rowid|os-append|os-command|os-copy|os-create-dir|os-delete|os-dir|os-drive|os-drives|os-error|os-getenv|os-rename|os2|os400|otherwise|out-of-data|outer|outer-join|output|overlay|override|owner|owner-document)(?![\\w-])"},"keywords-p":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(page|page-bot|page-bott|page-botto|page-bottom|page-down|page-left|page-num|page-numb|page-numbe|page-number|page-right|page-right-text|page-size|page-top|page-up|page-wid|page-widt|page-width|paged|param|parame|paramet|paramete|parameter|parent|parent-buffer|parent-fields-after|parent-fields-before|parent-id-field|parent-id-relation|parent-rel|parent-rela|parent-relat|parent-relati|parent-relatio|parent-relation|parent-window-close|parse-status|partial-key|pascal|password-field|paste|pathname|pause|pbe-hash-alg|pbe-hash-algo|pbe-hash-algor|pbe-hash-algori|pbe-hash-algorit|pbe-hash-algorith|pbe-hash-algorithm|pbe-key-rounds|pdbname|perf|perfo|perfor|perform|performa|performan|performanc|performance|persist|persiste|persisten|persistent|persistent-cache-disabled|persistent-procedure|pfc|pfco|pfcol|pfcolo|pfcolor|pick|pick-area|pick-both|pixels|pixels-per-col|pixels-per-colu|pixels-per-colum|pixels-per-column|pixels-per-row|popup-m|popup-me|popup-men|popup-menu|popup-o|popup-on|popup-onl|popup-only|portrait|position|precision|prefer-dataset|prepare-string|prepared|preproc|preproce|preproces|preprocess|presel|presele|preselec|preselect|prev|prev-col|prev-colu|prev-colum|prev-column|prev-frame|prev-sibling|prev-tab-i|prev-tab-it|prev-tab-ite|prev-tab-item|prev-word|primary|primary-passphrase|printer|printer-control-handle|printer-hdc|printer-name|printer-port|printer-setup|private|private-d|private-da|private-dat|private-data|privileges|proc-ha|proc-han|proc-hand|proc-handl|proc-handle|proc-st|proc-sta|proc-stat|proc-statu|proc-status|proce|proced|procedu|procedur|procedure|procedure-call-type|procedure-complete|procedure-name|procedure-type|process|process-architecture|profile-file|profiler|profiling|program-name|progress|progress-s|progress-so|progress-sou|progress-sour|progress-sourc|progress-source|prompt|prompt-f|prompt-fo|prompt-for|promsgs|propath|property|protected|provers|proversi|proversio|proversion|proxy|proxy-password|proxy-userid|public|public-id|publish|published-events|put|put|put-bits|put-byte|put-bytes|put-double|put-float|put-int64|put-key-val|put-key-valu|put-key-value|put-long|put-short|put-string|put-unsigned-long|put-unsigned-short|putbyte)(?![\\w-])"},"keywords-q":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(qualified-user-id|query|query-close|query-off-end|query-open|query-prepare|query-tuning|question|quit|quoter)(?![\\w-])"},"keywords-r":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(r-index|radio-buttons|radio-set|random|raw|raw-transfer|rcode-info|rcode-infor|rcode-inform|rcode-informa|rcode-informat|rcode-informati|rcode-informatio|rcode-information|read|read-available|read-exact-num|read-file|read-json|read-only|read-response|read-xml|read-xmlschema|readkey|real|recall|recid|record-len|record-leng|record-lengt|record-length|rect|recta|rectan|rectang|rectangl|rectangle|recursive|reference-only|refresh|refresh-audit-policy|refreshable|register-domain|reinstate|reject-changes|reject-row-changes|rejected|relation-fi|relation-fie|relation-fiel|relation-field|relation-fields|relations-active|release|remote|remote-host|remote-port|remove-attribute|remove-child|remove-events-proc|remove-events-proce|remove-events-proced|remove-events-procedu|remove-events-procedur|remove-events-procedure|remove-super-proc|remove-super-proce|remove-super-proced|remove-super-procedu|remove-super-procedur|remove-super-procedure|repeat|replace|replace|replace-child|replace-selection-text|replication-create|replication-delete|replication-write|reports|reposition|reposition-back|reposition-backw|reposition-backwa|reposition-backwar|reposition-backward|reposition-backwards|reposition-forw|reposition-forwa|reposition-forwar|reposition-forward|reposition-forwards|reposition-parent-rel|reposition-parent-rela|reposition-parent-relat|reposition-parent-relati|reposition-parent-relatio|reposition-parent-relation|reposition-to-row|reposition-to-rowid|request|request-info|reset|resiza|resizab|resizabl|resizable|resize|response-info|restart-row|restart-rowid|result|resume-display|retain|retain-s|retain-sh|retain-sha|retain-shap|retain-shape|retry|retry-cancel|return|return|return-ins|return-inse|return-inser|return-insert|return-inserte|return-inserted|return-to-start-di|return-to-start-dir|return-val|return-valu|return-value|return-value-data-type|return-value-dll-type|returns|reverse-from|revert|revoke|rgb-v|rgb-va|rgb-val|rgb-valu|rgb-value|right|right|right-align|right-aligne|right-aligned|right-end|right-trim|role|roles|round|rounded|routine-level|row|row-created|row-deleted|row-display|row-entry|row-height|row-height-c|row-height-ch|row-height-cha|row-height-char|row-height-chars|row-height-p|row-height-pi|row-height-pix|row-height-pixe|row-height-pixel|row-height-pixels|row-leave|row-ma|row-mar|row-mark|row-marke|row-marker|row-markers|row-modified|row-of|row-resizable|row-state|row-unmodified|rowid|rule|rule-row|rule-y|run|run-proc|run-proce|run-proced|run-procedu|run-procedur|run-procedure)(?![\\w-])"},"keywords-s":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(save|save-as|save-as|save-file|save-row-changes|save-where-string|sax-attributes|sax-comple|sax-complet|sax-complete|sax-parse|sax-parse-first|sax-parse-next|sax-parser-error|sax-reader|sax-running|sax-uninitialized|sax-write-begin|sax-write-complete|sax-write-content|sax-write-element|sax-write-error|sax-write-idle|sax-write-tag|sax-writer|sax-xml|schema|schema-change|schema-location|schema-marshal|schema-path|screen|screen-io|screen-lines|screen-val|screen-valu|screen-value|scroll|scroll-bars|scroll-horizontal|scroll-left|scroll-mode|scroll-notify|scroll-right|scroll-to-current-row|scroll-to-i|scroll-to-it|scroll-to-ite|scroll-to-item|scroll-to-selected-row|scroll-vertical|scrollable|scrollbar-drag|scrollbar-h|scrollbar-ho|scrollbar-hor|scrollbar-hori|scrollbar-horiz|scrollbar-horizo|scrollbar-horizon|scrollbar-horizont|scrollbar-horizonta|scrollbar-horizontal|scrollbar-v|scrollbar-ve|scrollbar-ver|scrollbar-vert|scrollbar-verti|scrollbar-vertic|scrollbar-vertica|scrollbar-vertical|scrolled-row-pos|scrolled-row-posi|scrolled-row-posit|scrolled-row-positi|scrolled-row-positio|scrolled-row-position|scrolling|sdbname|seal|seal-timestamp|search|search-self|search-target|section|security-policy|seek|select|select|select-all|select-extend|select-focused-row|select-next-row|select-on-join|select-prev-row|select-repositioned-row|select-row|selectable|selected|selected-items|selection|selection-end|selection-extend|selection-list|selection-start|selection-text|self|send|sensitive|separate-connection|separator-fgc|separator-fgco|separator-fgcol|separator-fgcolo|separator-fgcolor|separators|serializable|serialize-hidden|serialize-name|serialize-row|server|server-connection-bo|server-connection-bou|server-connection-boun|server-connection-bound|server-connection-bound-re|server-connection-bound-req|server-connection-bound-requ|server-connection-bound-reque|server-connection-bound-reques|server-connection-bound-request|server-connection-co|server-connection-con|server-connection-cont|server-connection-conte|server-connection-contex|server-connection-context|server-connection-id|server-operating-mode|server-socket|session|session-end|session-id|set|set-actor|set-appl-context|set-attr-call-type|set-attribute|set-attribute-node|set-blue|set-blue-|set-blue-v|set-blue-va|set-blue-val|set-blue-valu|set-blue-value|set-break|set-buffers|set-byte-order|set-callback|set-callback-procedure|set-cell-focus|set-client|set-commit|set-connect-procedure|set-contents|set-db-client|set-db-logging|set-dynamic|set-effective-tenant|set-event-manager-option|set-green|set-green-|set-green-v|set-green-va|set-green-val|set-green-valu|set-green-value|set-input-source|set-must-understand|set-node|set-numeric-form|set-numeric-forma|set-numeric-format|set-option|set-output-destination|set-parameter|set-pointer-val|set-pointer-valu|set-pointer-value|set-property|set-read-response-procedure|set-red|set-red-|set-red-v|set-red-va|set-red-val|set-red-valu|set-red-value|set-repositioned-row|set-rgb|set-rgb-|set-rgb-v|set-rgb-va|set-rgb-val|set-rgb-valu|set-rgb-value|set-role|set-rollback|set-selection|set-serialized|set-size|set-socket-option|set-sort-arrow|set-state|set-wait|set-wait-|set-wait-s|set-wait-st|set-wait-sta|set-wait-stat|set-wait-state|settings|setuser|setuseri|setuserid|sha1-digest|share|share-|share-l|share-lo|share-loc|share-lock|shared|short|show-in-task|show-in-taskb|show-in-taskba|show-in-taskbar|show-stat|show-stats|side-lab|side-labe|side-label|side-label-h|side-label-ha|side-label-han|side-label-hand|side-label-handl|side-label-handle|side-labels|signature|silent|simple|single|single-character|single-run|singleton|size|size-c|size-ch|size-cha|size-char|size-chars|size-p|size-pi|size-pix|size-pixe|size-pixel|size-pixels|skip|skip-deleted-rec|skip-deleted-reco|skip-deleted-recor|skip-deleted-record|skip-group-duplicates|skip-schema-check|slider|small-icon|small-title|smallint|soap-fault|soap-fault-actor|soap-fault-code|soap-fault-detail|soap-fault-misunderstood-header|soap-fault-node|soap-fault-role|soap-fault-string|soap-fault-subcode|soap-header|soap-header-entryref|soap-version|socket|some|sort|sort-ascending|sort-number|source|source-procedure|space|sql|sqrt|ssl-server-name|standalone|start|start-box-selection|start-document|start-element|start-extend-box-selection|start-mem-check|start-move|start-resize|start-row-resize|start-search|starting|startup-parameters|state-detail|static|statistics|status|status-area|status-area-font|status-area-msg|stdcall|stomp-detection|stomp-frequency|stop|stop|stop-after|stop-display|stop-mem-check|stop-parsing|stoppe|stopped|stored-proc|stored-proce|stored-proced|stored-procedu|stored-procedur|stored-procedure|stream|stream-handle|stream-io|stretch-to-fit|strict|strict-entity-resolution|string|string-value|string-xref|sub-ave|sub-aver|sub-avera|sub-averag|sub-average|sub-count|sub-max|sub-maxi|sub-maxim|sub-maximu|sub-maximum|sub-menu|sub-menu-help|sub-min|sub-mini|sub-minim|sub-minimu|sub-minimum|sub-total|subscribe|subst|substi|substit|substitu|substitut|substitute|substr|substri|substrin|substring|subtype|sum|summary|super|super-proc|super-proce|super-proced|super-procedu|super-procedur|super-procedure|super-procedures|suppress-namespace-processing|suppress-w|suppress-wa|suppress-war|suppress-warn|suppress-warni|suppress-warnin|suppress-warning|suppress-warnings|suppress-warnings-list|suspend|symmetric-encryption-algorithm|symmetric-encryption-iv|symmetric-encryption-key|symmetric-support|synchronize|system-alert|system-alert-|system-alert-b|system-alert-bo|system-alert-box|system-alert-boxe|system-alert-boxes|system-dialog|system-help|system-id)(?![\\w-])"},"keywords-t":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(tab|tab-position|tab-stop|table|table-crc-list|table-handle|table-list|table-num|table-numb|table-numbe|table-number|table-scan|target|target-procedure|temp-dir|temp-dire|temp-direc|temp-direct|temp-directo|temp-director|temp-directory|temp-table|temp-table-prepar|temp-table-prepare|tenant|tenant-id|tenant-name|tenant-name-to-id|tenant-where|term|terminal|terminate|text|text-cursor|text-seg|text-seg-|text-seg-g|text-seg-gr|text-seg-gro|text-seg-grow|text-seg-growt|text-seg-growth|text-selected|then|this-object|this-procedure|thread-safe|three-d|through|throw|thru|tic-marks|time|time-source|timezone|title|title-bgc|title-bgco|title-bgcol|title-bgcolo|title-bgcolor|title-dc|title-dco|title-dcol|title-dcolo|title-dcolor|title-fgc|title-fgco|title-fgcol|title-fgcolo|title-fgcolor|title-fo|title-fon|title-font|to|to-rowid|today|toggle-box|tooltip|tooltips|top|top-column|top-nav-query|top-only|topic|total|trace-filter|tracing|tracking-changes|trailing|trans|trans-init-proc|trans-init-proce|trans-init-proced|trans-init-procedu|trans-init-procedur|trans-init-procedure|transact|transacti|transactio|transaction|transaction-mode|transpar|transpare|transparen|transparent|trigger|triggers|trim|true|trunc|trunca|truncat|truncate|ttcodepage|type|type-of)(?![\\w-])"},"keywords-u":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(unbox|unbuff|unbuffe|unbuffer|unbuffere|unbuffered|underl|underli|underlin|underline|undo|undo-throw-scope|unform|unforma|unformat|unformatt|unformatte|unformatted|union|unique|unique-id|unique-match|unix|unix-end|unless-hidden|unload|unsigned-byte|unsigned-int64|unsigned-integer|unsigned-long|unsigned-short|unsubscribe|up|up|update|update-attribute|upper|url|url-decode|url-encode|url-password|url-userid|use|use-dic|use-dict|use-dict-|use-dict-e|use-dict-ex|use-dict-exp|use-dict-exps|use-filename|use-index|use-revvideo|use-text|use-underline|use-widget-pool|user|user-data|user-id|userid|using|utc-offset)(?![\\w-])"},"keywords-v":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(v6display|v6frame|valid-event|valid-handle|valid-object|validate|validate-expressio|validate-expression|validate-message|validate-seal|validate-xml|validation-enabled|value|value-changed|values|var|vari|varia|variab|variabl|variable|verb|verbo|verbos|verbose|version|vert|verti|vertic|vertica|vertical|view|view-as|view-first-column-on-reopen|virtual-height|virtual-height-c|virtual-height-ch|virtual-height-cha|virtual-height-char|virtual-height-chars|virtual-height-p|virtual-height-pi|virtual-height-pix|virtual-height-pixe|virtual-height-pixel|virtual-height-pixels|virtual-width|virtual-width-c|virtual-width-ch|virtual-width-cha|virtual-width-char|virtual-width-chars|virtual-width-p|virtual-width-pi|virtual-width-pix|virtual-width-pixe|virtual-width-pixel|virtual-width-pixels|visible|vms|void)(?![\\w-])"},"keywords-w":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(wait|wait-for|warning|wc-admin-app|web-con|web-cont|web-conte|web-contex|web-context|web-notify|weekday|when|where|where-string|while|widget|widget-e|widget-en|widget-ent|widget-ente|widget-enter|widget-h|widget-ha|widget-han|widget-hand|widget-handl|widget-handle|widget-id|widget-l|widget-le|widget-lea|widget-leav|widget-leave|widget-pool|width|width-c|width-ch|width-cha|width-char|width-chars|width-p|width-pi|width-pix|width-pixe|width-pixel|width-pixels|window|window-close|window-delayed-min|window-delayed-mini|window-delayed-minim|window-delayed-minimi|window-delayed-minimiz|window-delayed-minimize|window-maxim|window-maximi|window-maximiz|window-maximize|window-maximized|window-maximized|window-minim|window-minimi|window-minimiz|window-minimize|window-minimized|window-minimized|window-name|window-normal|window-resized|window-restored|window-sta|window-stat|window-state|window-sys|window-syst|window-syste|window-system|with|word-index|word-wrap|work-area-height-p|work-area-height-pi|work-area-height-pix|work-area-height-pixe|work-area-height-pixel|work-area-height-pixels|work-area-width-p|work-area-width-pi|work-area-width-pix|work-area-width-pixe|work-area-width-pixel|work-area-width-pixels|work-area-x|work-area-y|work-tab|work-tabl|work-table|workfile|write|write-cdata|write-characters|write-comment|write-data|write-data-element|write-empty-element|write-entity-ref|write-external-dtd|write-fragment|write-json|write-message|write-processing-instruction|write-status|write-xml|write-xmlschema)(?![\\w-])"},"keywords-x":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(x|x-document|x-noderef|x-of|xcode|xcode-session-key|xml-data-type|xml-entity-expansion-limit|xml-node-name|xml-node-type|xml-schema-pat|xml-schema-path|xml-strict-entity-resolution|xml-suppress-namespace-processing|xor|xref|xref-xml)(?![\\w-])"},"keywords-y":{"name":"keyword.other.abl","match":"(?i)(?\u003c![\\w-])(y|y-of|year|year-offset|yes|yes-no|yes-no-cancel)(?![\\w-])"},"method-call":{"name":"support.function.abl","match":"(?\u003c=\\.|:)(\\w|-)+"},"multilinecomment":{"name":"comment.block.source.abl","contentName":"comment","begin":"(?\u003c!=)\\/\\*","end":"\\*/","patterns":[{"name":"comment.block.source.abl","include":"#multilinecomment"}]},"numeric":{"name":"constant.numeric.source.abl","match":"(?\u003c![\\w-])((0(x|X)[0-9a-fA-F]+)|([0-9]+(\\.[0-9]+)?))"},"operator":{"patterns":[{"include":"#operator1"},{"include":"#operator2"}]},"operator1":{"name":"keyword.operator.source.abl","match":"(?i)(?\u003c=^|\\s)(or|and|not|is|eq|ge|ne|le|lt|gt)(?=\\s|\\.)"},"operator2":{"name":"keyword.operator.source.abl","match":"(?i)(\u003c=|\u003c\u003e|\u003e=|=|\\+| - |/|\u003c|\u003e|,)"},"parameter-name":{"name":"variable.parameter.abl","match":"(?\u003c=^|\\s)(\\w|-)+(?=\\s)"},"primitive-type":{"name":"storage.type.abl","match":"(?i)(?\u003c=^|\\s)(blob|character|characte|charact|charac|chara|char|clob|com-handle|date|datetime|datetime-tz|decimal|decima|decim|deci|dec|handle|int64|integer|intege|integ|inte|int|logical|logica|logic|logi|log|longchar|longcha|longch|memptr|raw|recid|rowid|widget-handle)(?![=\\w-])"},"procedure-definition":{"name":"meta.procedure.abl","begin":"(?i)\\b(proce|proced|procedu|procedur|procedure)\\b\\s+('[\\w\\.-]*':U|'[\\w\\.-]*'|[\\w\\.-]*)?(\\s+(EXTERNAL)\\s+(\")([\\w\\.-]*)(\"))?","end":"(?=\\.)","patterns":[{"name":"meta.procedure.body.abl","begin":":","end":"(?i)(end\\s*procedure|end)","patterns":[{"include":"#code-block"}],"endCaptures":{"1":{"name":"keyword.other.abl"}}}],"beginCaptures":{"1":{"name":"keyword.other.abl"},"2":{"name":"entity.name.function.abl"},"4":{"name":"keyword.other.abl"},"5":{"name":"punctuation.definition.string.begin.abl"},"6":{"name":"string.double.complex.abl"},"7":{"name":"punctuation.definition.string.begin.abl"}}},"punctuation-comma":{"name":"punctuation.separator.comma.abl","match":","},"punctuation-semicolon":{"name":"punctuation.terminator.abl","match":"\\."},"singlelinecomment":{"name":"comment.source.abl","match":"//.*$"},"singlequotedstring":{"name":"string.single.complex.abl","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.abl","match":"~."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.abl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.abl"}}},"statements":{"patterns":[{"include":"#string"},{"include":"#singlelinecomment"},{"include":"#multilinecomment"},{"include":"#declarations"},{"include":"#numeric"},{"include":"#constant"},{"include":"#operator"},{"include":"#analyze-suspend-resume"},{"include":"#global-scoped-define"},{"name":"storage.type.function.abl","match":"(?i)(\\\u0026[\\w-]*)|({\\\u0026[\\w-]*})|(\u0026window-system|\u0026text-height|\u0026line-number|\u0026batch-mode|\u0026file-name|\u0026undefine|\u0026sequence|\u0026message|defined|\u0026elseif|\u0026scoped|\u0026global|\u0026opsys|\u0026endif|\u0026else|\u0026scop|\u0026then|\u0026glob|\u0026if)"},{"include":"#primitive-type"},{"include":"#method-call"},{"include":"#function-call"},{"include":"#code-block"},{"include":"#keywords"},{"include":"#variable-name"},{"include":"#array-literal"},{"include":"#punctuation-semicolon"}]},"string":{"patterns":[{"include":"#singlequotedstring"},{"include":"#doublequotedstring"}]},"variable-name":{"name":"variable.other.abl","match":"(?\u003c=^|\\s|\\[|\\()([\\w-]+)"}}}
|