github-linguist 9.1.0 → 9.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/github-linguist +24 -5
- data/grammars/etc.json +1 -1
- data/grammars/injection.interpolated-ruby.json +1 -0
- data/grammars/injections.etc.json +1 -1
- data/grammars/inline.edgeql.json +1 -1
- data/grammars/liquid.injection.json +1 -1
- data/grammars/markdown.move.codeblock.json +1 -1
- data/grammars/source.4dm.json +1 -1
- data/grammars/source.QB64.json +1 -1
- data/grammars/source.abl.json +1 -1
- data/grammars/source.aiken.json +1 -0
- data/grammars/source.apex.json +1 -1
- data/grammars/source.ash.json +1 -0
- data/grammars/source.ats.json +1 -1
- data/grammars/source.ballerina.json +1 -1
- data/grammars/source.brs.json +1 -1
- data/grammars/source.bru.json +1 -0
- data/grammars/source.c++.json +1 -1
- data/grammars/source.c.calendar.json +1 -0
- data/grammars/source.c.json +1 -1
- data/grammars/source.c.linker.json +1 -1
- data/grammars/source.c3.json +1 -0
- data/grammars/source.cl.json +1 -1
- data/grammars/source.clue.json +1 -0
- data/grammars/source.cmake.json +1 -1
- data/grammars/source.cobol.json +1 -1
- data/grammars/source.cooklang.json +1 -0
- data/grammars/source.cs.json +1 -1
- data/grammars/source.curlrc.json +1 -1
- data/grammars/source.daslang.json +1 -0
- data/grammars/source.dds.dspf.json +1 -1
- data/grammars/source.dotenv.json +1 -1
- data/grammars/source.edgeql.json +1 -1
- data/grammars/source.erlang.json +1 -1
- data/grammars/source.flix.json +1 -0
- data/grammars/source.fsharp.json +1 -1
- data/grammars/source.gdscript.json +1 -1
- data/grammars/source.git-revlist.json +1 -1
- data/grammars/source.gitignore.json +1 -1
- data/grammars/source.gleam.json +1 -1
- data/grammars/source.harbour.json +1 -1
- data/grammars/source.httpspec.json +1 -1
- data/grammars/source.hx.json +1 -1
- data/grammars/source.ilecobol.json +1 -0
- data/grammars/source.inputrc.json +1 -1
- data/grammars/source.jai.json +1 -1
- data/grammars/source.jq.json +1 -1
- data/grammars/source.json.comments.json +1 -1
- data/grammars/source.julia.console.json +1 -1
- data/grammars/source.julia.json +1 -1
- data/grammars/source.just.json +1 -1
- data/grammars/source.koka.json +1 -0
- data/grammars/source.lean4.json +1 -1
- data/grammars/source.leo.json +1 -0
- data/grammars/source.livescript.json +1 -1
- data/grammars/source.luau.json +1 -1
- data/grammars/source.m2.json +1 -1
- data/grammars/source.m3u.json +1 -0
- data/grammars/source.mermaid.flowchart.json +1 -1
- data/grammars/source.mermaid.gantt.json +1 -1
- data/grammars/source.mermaid.json +1 -1
- data/grammars/source.mermaid.pie-chart.json +1 -1
- data/grammars/source.mermaid.quad-chart.json +1 -0
- data/grammars/source.mermaid.sankey.json +1 -0
- data/grammars/source.mermaid.timeline.json +1 -0
- data/grammars/source.mermaid.user-journey.json +1 -1
- data/grammars/source.mermaid.zenuml.json +1 -0
- data/grammars/source.moonbit.json +1 -1
- data/grammars/source.move.json +1 -1
- data/grammars/source.nasl.json +1 -1
- data/grammars/source.nginx.json +1 -1
- data/grammars/source.nickel.json +1 -0
- data/grammars/source.nim.json +1 -1
- data/grammars/source.nr.json +1 -1
- data/grammars/source.nushell.json +1 -1
- data/grammars/source.objc.json +1 -1
- data/grammars/source.odin-ehr.json +1 -1
- data/grammars/source.odin.json +1 -1
- data/grammars/source.openqasm.json +1 -0
- data/grammars/source.postscript.json +1 -1
- data/grammars/source.psl.json +1 -0
- data/grammars/source.quakec.json +1 -0
- data/grammars/source.record-jar.json +1 -1
- data/grammars/source.rescript.json +1 -1
- data/grammars/source.roc.json +1 -1
- data/grammars/source.rosmsg.json +1 -0
- data/grammars/source.rust.json +1 -1
- data/grammars/source.sail.json +1 -0
- data/grammars/source.sieve.json +1 -1
- data/grammars/source.slang.json +1 -1
- data/grammars/source.slint.json +1 -1
- data/grammars/source.smithy.json +1 -1
- data/grammars/source.soql.json +1 -1
- data/grammars/source.stan.json +1 -1
- data/grammars/source.sway.json +1 -1
- data/grammars/source.swift.json +1 -1
- data/grammars/source.tact.json +1 -1
- data/grammars/source.talon.json +1 -1
- data/grammars/source.templ.json +1 -1
- data/grammars/source.toc.json +1 -1
- data/grammars/source.torrc.json +1 -0
- data/grammars/source.typst.json +1 -1
- data/grammars/source.uplc.json +1 -0
- data/grammars/source.vba.json +1 -1
- data/grammars/source.vcl.json +1 -0
- data/grammars/source.vento.json +1 -0
- data/grammars/source.vhdl.json +1 -1
- data/grammars/source.vue.json +1 -1
- data/grammars/source.wdl.json +1 -1
- data/grammars/source.wesl.json +1 -0
- data/grammars/source.wgsl.json +1 -1
- data/grammars/source.wit.json +1 -1
- data/grammars/source.zmodel.json +1 -0
- data/grammars/text.adblock.json +1 -1
- data/grammars/text.codeowners.json +1 -1
- data/grammars/text.html.jte.json +1 -1
- data/grammars/text.html.liquid.json +1 -1
- data/grammars/text.html.vento.json +1 -0
- data/grammars/text.jira.json +1 -0
- data/grammars/text.marko.json +1 -1
- data/grammars/text.slim.json +1 -1
- data/grammars/text.srt.json +1 -1
- data/grammars/text.valve-cfg.json +1 -1
- data/grammars/text.xml.svg.json +1 -1
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generated.rb +28 -6
- data/lib/linguist/generic.yml +2 -0
- data/lib/linguist/heuristics.yml +47 -9
- data/lib/linguist/instrumenter.rb +19 -0
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +327 -102
- data/lib/linguist/samples.json +1 -1
- data/lib/linguist.rb +1 -0
- metadata +39 -12
- data/grammars/source.c.platform.json +0 -1
- data/grammars/source.varnish.vcl.json +0 -1
data/grammars/source.4dm.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"4D","scopeName":"source.4dm","patterns":[{"include":"#comments"},{"include":"#for_loop"},{"include":"#keywords"},{"include":"#parameters"},{"include":"#affectation_variable"},{"include":"#long_int_variable"},{"include":"#real_variable"},{"include":"#text_variable"},{"include":"#boolean_variable"},{"include":"#picture_variable"},{"include":"#pointer_variable"},{"include":"#object_variable"},{"include":"#variant_variable"},{"include":"#collection_variable"},{"include":"#strings"},{"include":"#interprocess_variable"},{"include":"#local_variables"},{"include":"#operators"},{"include":"#boolean_values"},{"include":"#constant_4d"},{"include":"#this-function"},{"include":"#numbers"},{"include":"#block"},{"include":"#table_reference"},{"include":"#function-call-innards"},{"name":"punctuation.terminator.statement.4d","match":"\\n"},{"include":"#param_separator"},{"name":"meta.bracket.square.access.4d","begin":"([a-zA-Z_][a-zA-Z_0-9]*|(?\u003c=[\\]\\)]))?(\\[)(?!\\])","end":"\\]","patterns":[{"include":"#function-call-innards"}],"beginCaptures":{"1":{"name":"variable.object.4d"},"2":{"name":"punctuation.definition.begin.bracket.square.4d"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.4d"}}},{"include":"#member_access"},{"include":"#method_access"},{"name":"entity.name.class.4d","match":"^\\n*[\\t ]*(?i)(Class constructor)"},{"name":"variable.language.function.4d","match":"^\\n*[\\t ]*(?i)(Function)(\\s[a-z_0-9]+[a-z_0-9 ]*)"},{"name":"entity.name.class.4d","match":"^\\n*[\\t ]*(?i)(Class extends)(\\s[a-z_0-9]+[a-z_0-9 ]*)"},{"name":"variable.language.super.4d","match":"^\\n*[\\t ]*(?i)(Super(\\:C1705)?)"}],"repository":{"affectation_variable":{"name":"meta.block.affectation.4d","begin":"^((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)(:=)","end":"(\\n)","patterns":[{"include":"#this-function"},{"include":"#function-call-innards"},{"include":"#member_access"},{"include":"#method_access"},{"include":"#local_variables"},{"include":"#numbers"},{"include":"#strings"},{"include":"#interprocess_variable"},{"name":"meta.probably_variable.4d","match":"(?i)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"}],"beginCaptures":{"1":{"name":"variable.name.4d"},"2":{"name":"keyword.operator.assignment.4d"}},"endCaptures":{"1":{"name":"punctuation.section.end.affectaction.4d"}}},"block":{"patterns":[{"name":"meta.block.4d","begin":"(?i)\\b(for each)\\b","end":"(?i)\\b(end for each)\\b","beginCaptures":{"0":{"name":"punctuation.section.block.begin.for_each.curly.4d"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.for_each.curly.4d"}}}]},"boolean_values":{"name":"constant.language.4d","match":"(?i)(NULL|true(\\:C214)?|false(\\:C215)?)"},"boolean_variable":{"name":"storage.type.boolean.4d","begin":"^\\n*[\\t ]*(?i)(C_BOOLEAN(\\:C305)?)(\\()((?i)[\\$a-z_0-9 ]+)","end":"(\\))","patterns":[{"name":"variable.name.boolean.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.boolean.4d"},"2":{"name":"meta.c_boolean.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.boolean.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"collection_variable":{"name":"storage.type.collection.4d","begin":"^\\n*[\\t ]*(?i)(C_COLLECTION(\\:C1488)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.collection.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.collection.4d"},"2":{"name":"meta.c_collection.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.collection.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"comments":{"patterns":[{"name":"comment.line.double-slash.4d","begin":"\\s*+(\\/\\/)","end":"(?\u003c=\\n)(?\u003c!\\\\\\n)","beginCaptures":{"1":{"name":"punctuation.definition.comment.4d"}}},{"name":"comment.block.4d","match":"^/\\*\\* =(\\s*.*?)\\s*= \\*\\*/$\\n?","captures":{"1":{"name":"meta.toc-list.banner.block.4d"}}},{"name":"comment.block.4d","begin":"/\\*\\*","end":"\\*\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.4d"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.4d"}}},{"name":"comment.block.4d","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.4d"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.4d"}}},{"name":"comment.line.banner.4d","match":"^//=(\\s*.*?)\\s*=\\s*$\\n?","captures":{"1":{"name":"meta.toc-list.banner.line.4d"}}},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.4d","begin":"//","end":"(?=\\n)","beginCaptures":{"0":{"name":"punctuation.definition.comment.4d"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.4d"}}}]},"constant_4d":{"name":"constant.numeric.4d","match":"(?i)([a-z_0-9 ]*)(\\:K[0-9]+)?(\\:[0-9]+)"},"for_loop":{"name":"meta.block.loop.for.4d","begin":"^(?i)(for)\\((\\$[a-z]+);([0-9]+);([0-9]+)\\)","end":"(\\n)","beginCaptures":{"1":{"name":"keyword.control.4d"},"2":{"name":"variable.name.4d"},"3":{"name":"constant.range.begin.4d"},"4":{"name":"constant.range.end.4d"}},"endCaptures":{"1":{"name":"punctuation.section.end.for.4d"}}},"function-call-innards":{"patterns":[{"include":"#comments"},{"include":"#storage_types"},{"include":"#operators"},{"begin":"(?x)\n(?!\\s*\\()\n(\n(?:[A-Za-z_ ][A-Za-z0-9_]*+)++(\\:C[0-9]+)? # actual name\n|\n(?:(?\u003c=operator)(?:[-*\u0026\u003c\u003e=+#]+|\\(\\)))\n)\n\\s*(\\()","end":"\\)","patterns":[{"include":"#this-function"},{"include":"#function-call-innards"},{"include":"#strings"},{"include":"#numbers"},{"include":"#parameters"},{"include":"#local_variables"},{"include":"#boolean_values"},{"include":"#constant_4d"},{"include":"#param_separator"},{"include":"#operators"},{"include":"#member_access"},{"include":"#table_reference"}],"beginCaptures":{"1":{"name":"entity.name.function.4d"},"2":{"name":"entity.command.number.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"#function-call-innards"},{"include":"#member_access"},{"include":"#table_reference"},{"include":"#this-function"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.4d"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.4d"}}}]},"interprocess_variable":{"name":"variable.interprocess.name.4d","match":"\u003c\u003e(?i)[a-z_0-9 ]+"},"keywords":{"patterns":[{"name":"keyword.control.4d","match":"^\\n*[\\t ]*(?i)(If|While|Else|End if|For each|End for each|End for|Begin SQL|End SQL|while|End while|Use|End use|Case of|End case|Repeat|Until|For)\\b"}]},"local_variables":{"name":"variable.local.name.4d","match":"\\$[a-zA-Z_0-9 ]*"},"long_int_variable":{"name":"storage.type.4d","begin":"^\\n*[\\t ]*(?i)(C_LONGINT(\\:C283)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.longint.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.longint.4d"},"2":{"name":"meta.c_longint.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.longint.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"member_access":{"match":"((?:[a-zA-Z_\\s*]*(\\:C[0-9]+)?|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))((?:[a-zA-Z_]\\w*\\s*(?:(?:(?:\\.\\*|\\.))|(?:(?:-\u003e\\*|-\u003e)))\\s*)*)\\s*(\\b[a-zA-Z_]\\w*\\b(?!\\())","captures":{"1":{"name":"variable.other.object.access.4d"},"2":{"name":"entity.command.number.4d"},"3":{"name":"punctuation.separator.dot-access.4d"},"4":{"name":"punctuation.separator.pointer-access.4d"},"5":{"patterns":[{"include":"#this-function"},{"include":"#member_access"},{"include":"#method_access"},{"match":"((?:[a-zA-Z_]\\w*|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))","captures":{"1":{"name":"variable.other.object.access.4d"},"2":{"name":"punctuation.separator.dot-access.4d"},"3":{"name":"punctuation.separator.pointer-access.4d"}}}]},"6":{"name":"variable.other.member.4d"}}},"method_access":{"contentName":"meta.function-call.member.4d","begin":"((?:[a-zA-Z_\\s*]*(\\:C[0-9]+)?|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))((?:[a-zA-Z_]\\w*\\s*(?:(?:(?:\\.\\*|\\.))|(?:(?:-\u003e\\*|-\u003e)))\\s*)*)\\s*([a-zA-Z_]\\w*)(\\()","end":"(\\))","patterns":[{"include":"#strings"},{"include":"#numbers"},{"include":"#parameters"},{"include":"#local_variables"},{"include":"#boolean_values"},{"include":"#constant_4d"},{"include":"#param_separator"},{"include":"#function-call-innards"},{"include":"#table_reference"},{"include":"#this-function"}],"beginCaptures":{"1":{"name":"variable.other.object.access.4d"},"2":{"name":"entity.command.number.4d"},"3":{"name":"punctuation.separator.dot-access.4d"},"4":{"name":"punctuation.separator.pointer-access.4d"},"5":{"patterns":[{"include":"#member_access"},{"include":"#method_access"},{"include":"#this-function"},{"match":"((?:[a-zA-Z_]\\w*|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))","captures":{"1":{"name":"variable.other.object.access.4d"},"2":{"name":"punctuation.separator.dot-access.4d"},"3":{"name":"punctuation.separator.pointer-access.4d"}}}]},"6":{"name":"entity.name.function.member.4d"},"7":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.function.member.4d"}}},"numbers":{"begin":"(?\u003c!\\w)(?=\\d|\\.\\d)","end":"(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","patterns":[{"match":"(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?\u003c=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?\u003c!')([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?([lLfF](?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"1":{"name":"keyword.other.unit.hexadecimal.4d"},"10":{"name":"keyword.operator.minus.exponent.hexadecimal.4d"},"11":{"name":"constant.numeric.exponent.hexadecimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"12":{"name":"keyword.other.unit.suffix.floating-point.4d"},"2":{"name":"constant.numeric.hexadecimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"4":{"name":"constant.numeric.hexadecimal.4d"},"5":{"name":"constant.numeric.hexadecimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"6":{"name":"punctuation.separator.constant.numeric.4d"},"8":{"name":"keyword.other.unit.exponent.hexadecimal.4d"},"9":{"name":"keyword.operator.plus.exponent.hexadecimal.4d"}}},{"match":"(\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?\u003c=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?\u003c!')([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?([lLfF](?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"10":{"name":"keyword.operator.minus.exponent.decimal.4d"},"11":{"name":"constant.numeric.exponent.decimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"12":{"name":"keyword.other.unit.suffix.floating-point.4d"},"2":{"name":"constant.numeric.decimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"4":{"name":"constant.numeric.decimal.point.4d"},"5":{"name":"constant.numeric.decimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"6":{"name":"punctuation.separator.constant.numeric.4d"},"8":{"name":"keyword.other.unit.exponent.decimal.4d"},"9":{"name":"keyword.operator.plus.exponent.decimal.4d"}}},{"match":"(\\G0[bB])([01](?:[01]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"1":{"name":"keyword.other.unit.binary.4d"},"2":{"name":"constant.numeric.binary.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"4":{"name":"keyword.other.unit.suffix.integer.4d"}}},{"match":"(\\G0)((?:[0-7]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"1":{"name":"keyword.other.unit.octal.4d"},"2":{"name":"constant.numeric.octal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"4":{"name":"keyword.other.unit.suffix.integer.4d"}}},{"match":"(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?\u003c!')([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"1":{"name":"keyword.other.unit.hexadecimal.4d"},"2":{"name":"constant.numeric.hexadecimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"5":{"name":"keyword.other.unit.exponent.hexadecimal.4d"},"6":{"name":"keyword.operator.plus.exponent.hexadecimal.4d"},"7":{"name":"keyword.operator.minus.exponent.hexadecimal.4d"},"8":{"name":"constant.numeric.exponent.hexadecimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"9":{"name":"keyword.other.unit.suffix.integer.4d"}}},{"match":"(\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?\u003c!')([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"2":{"name":"constant.numeric.decimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"5":{"name":"keyword.other.unit.exponent.decimal.4d"},"6":{"name":"keyword.operator.plus.exponent.decimal.4d"},"7":{"name":"keyword.operator.minus.exponent.decimal.4d"},"8":{"name":"constant.numeric.exponent.decimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"9":{"name":"keyword.other.unit.suffix.integer.4d"}}}]},"object_variable":{"name":"storage.type.object.4d","begin":"^\\n*[\\t ]*(?i)(C_OBJECT(\\:C1216)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.object.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.object.4d"},"2":{"name":"meta.c_object.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.object.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"operators":{"patterns":[{"name":"keyword.operator.assignment.4d","match":":="},{"name":"keyword.operator.comparison.4d","match":"#|\u003c=|\u003e=|\u003c|\u003e|="},{"name":"keyword.operator.4d","match":"%|\\*|/|-|\\+"}]},"param_separator":{"name":"punctuation.separator.delimiter.4d","match":";"},"parameters":{"name":"variable.parameter.4d","match":"\\$[0-9]"},"picture_variable":{"name":"storage.type.picture.4d","begin":"^\\n*[\\t ]*(?i)(C_PICTURE(\\:C286)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.picture.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.picture.4d"},"2":{"name":"meta.c_picture.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.picture.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"pointer_variable":{"name":"storage.type.pointer.4d","begin":"^\\n*[\\t ]*(?i)(C_POINTER(\\:C301)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.pointer.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.pointer.4d"},"2":{"name":"meta.c_pointer.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.pointer.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"real_variable":{"name":"storage.type.real.4d","begin":"^\\n*[\\t ]*(?i)(C_REAL(\\:C285)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.real.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.real.4d"},"2":{"name":"meta.c_real.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.real.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"strings":{"name":"string.quoted.double.4d","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.4d","match":"\\\\."}]},"table_reference":{"begin":"(?i)\\[((?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)(\\:[0-9]+)?","end":"\\]","beginCaptures":{"1":{"name":"support.table.name.4d"},"2":{"name":"support.table.index.4d"}}},"text_variable":{"name":"storage.type.text.4d","begin":"^\\n*[\\t ]*(?i)(C_TEXT(\\:C284)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.text.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.text.4d"},"2":{"name":"meta.c_text.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.text.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"this-function":{"name":"variable.language.this.4d","match":"(^\\n*[\\t ]*(?i)(This(\\:C1470)?))|((?i)(This(\\:C1470)?))"},"variant_variable":{"name":"storage.type.variant.4d","begin":"^\\n*[\\t ]*(?i)(C_VARIANT(\\:C1683)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.variant.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.variant.4d"},"2":{"name":"meta.c_variant.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.variant.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}}}}
|
1
|
+
{"name":"4D","scopeName":"source.4dm","patterns":[{"include":"#comments"},{"include":"#for_loop"},{"include":"#keywords"},{"include":"#parameters"},{"include":"#affectation_variable"},{"include":"#long_int_variable"},{"include":"#real_variable"},{"include":"#text_variable"},{"include":"#boolean_variable"},{"include":"#picture_variable"},{"include":"#pointer_variable"},{"include":"#object_variable"},{"include":"#variant_variable"},{"include":"#collection_variable"},{"include":"#strings"},{"include":"#interprocess_variable"},{"include":"#local_variables"},{"include":"#operators"},{"include":"#boolean_values"},{"include":"#constant_4d"},{"include":"#this-function"},{"include":"#numbers"},{"include":"#block"},{"include":"#table_reference"},{"include":"#function-call-innards"},{"name":"punctuation.terminator.statement.4d","match":"\\n"},{"include":"#param_separator"},{"name":"meta.bracket.square.access.4d","begin":"([a-zA-Z_][a-zA-Z_0-9]*|(?\u003c=[\\]\\)]))?(\\[)(?!\\])","end":"\\]","patterns":[{"include":"#function-call-innards"}],"beginCaptures":{"1":{"name":"variable.object.4d"},"2":{"name":"punctuation.definition.begin.bracket.square.4d"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.4d"}}},{"include":"#member_access"},{"include":"#method_access"},{"name":"entity.name.class.4d","match":"^\\n*[\\t ]*(?i)(Class constructor)"},{"name":"variable.language.function.4d","match":"^\\n*[\\t ]*(?i)(Function)(\\s[a-z_0-9]+[a-z_0-9 ]*)"},{"name":"entity.name.class.4d","match":"^\\n*[\\t ]*(?i)(Class extends)(\\s[a-z_0-9]+[a-z_0-9 ]*)"},{"name":"variable.language.super.4d","match":"^\\n*[\\t ]*(?i)(Super(\\:C1705)?)"}],"repository":{"affectation_variable":{"name":"meta.block.affectation.4d","begin":"^((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)(:=)","end":"(\\n)","patterns":[{"include":"#this-function"},{"include":"#function-call-innards"},{"include":"#member_access"},{"include":"#method_access"},{"include":"#local_variables"},{"include":"#numbers"},{"include":"#strings"},{"include":"#interprocess_variable"},{"name":"meta.probably_variable.4d","match":"(?i)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"}],"beginCaptures":{"1":{"name":"variable.name.4d"},"2":{"name":"keyword.operator.assignment.4d"}},"endCaptures":{"1":{"name":"punctuation.section.end.affectaction.4d"}}},"block":{"patterns":[{"name":"meta.block.4d","begin":"(?i)\\b(for each)\\b","end":"(?i)\\b(end for each)\\b","beginCaptures":{"0":{"name":"punctuation.section.block.begin.for_each.curly.4d"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.for_each.curly.4d"}}}]},"boolean_values":{"name":"constant.language.4d","match":"(?i)(NULL|true(\\:C214)?|false(\\:C215)?)"},"boolean_variable":{"name":"storage.type.boolean.4d","begin":"^\\n*[\\t ]*(?i)(C_BOOLEAN(\\:C305)?)(\\()((?i)[\\$a-z_0-9 ]+)","end":"(\\))","patterns":[{"name":"variable.name.boolean.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.boolean.4d"},"2":{"name":"meta.c_boolean.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.boolean.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"collection_variable":{"name":"storage.type.collection.4d","begin":"^\\n*[\\t ]*(?i)(C_COLLECTION(\\:C1488)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.collection.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.collection.4d"},"2":{"name":"meta.c_collection.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.collection.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"comments":{"patterns":[{"name":"comment.line.double-slash.4d","begin":"\\s*+(\\/\\/)","end":"(?\u003c=\\n)(?\u003c!\\\\\\n)","beginCaptures":{"1":{"name":"punctuation.definition.comment.4d"}}},{"name":"comment.block.4d","match":"^/\\*\\* =(\\s*.*?)\\s*= \\*\\*/$\\n?","captures":{"1":{"name":"meta.toc-list.banner.block.4d"}}},{"name":"comment.block.4d","begin":"/\\*\\*","end":"\\*\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.4d"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.4d"}}},{"name":"comment.block.4d","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.4d"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.4d"}}},{"name":"comment.line.banner.4d","match":"^//=(\\s*.*?)\\s*=\\s*$\\n?","captures":{"1":{"name":"meta.toc-list.banner.line.4d"}}},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.4d","begin":"//","end":"(?=\\n)","beginCaptures":{"0":{"name":"punctuation.definition.comment.4d"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.4d"}}}]},"constant_4d":{"name":"constant.numeric.4d","match":"(?i)([a-z_0-9 ]*)(\\:K[0-9]+)?(\\:[0-9]+)"},"for_loop":{"name":"meta.block.loop.for.4d","begin":"^(?i)(for)\\((\\$[a-z]+);([0-9]+);([0-9]+)\\)","end":"(\\n)","beginCaptures":{"1":{"name":"keyword.control.4d"},"2":{"name":"variable.name.4d"},"3":{"name":"constant.range.begin.4d"},"4":{"name":"constant.range.end.4d"}},"endCaptures":{"1":{"name":"punctuation.section.end.for.4d"}}},"function-call-innards":{"patterns":[{"include":"#comments"},{"include":"#storage_types"},{"include":"#operators"},{"begin":"(?x)\n(?!\\s*\\()\n(\n(?:[A-Za-z_ ][A-Za-z0-9_]*+)++(\\:C[0-9]+)? # actual name\n|\n(?:(?\u003c=operator)(?:[-*\u0026\u003c\u003e=+#]+|\\(\\)))\n)\n\\s*(\\()","end":"\\)","patterns":[{"include":"#this-function"},{"include":"#function-call-innards"},{"include":"#strings"},{"include":"#numbers"},{"include":"#parameters"},{"include":"#local_variables"},{"include":"#boolean_values"},{"include":"#constant_4d"},{"include":"#param_separator"},{"include":"#operators"},{"include":"#member_access"},{"include":"#table_reference"}],"beginCaptures":{"1":{"name":"entity.name.function.4d"},"2":{"name":"entity.command.number.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"#function-call-innards"},{"include":"#member_access"},{"include":"#table_reference"},{"include":"#this-function"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.4d"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.4d"}}}]},"interprocess_variable":{"name":"variable.interprocess.name.4d","match":"\u003c\u003e(?i)[a-z_0-9 ]+"},"keywords":{"patterns":[{"name":"keyword.control.4d","match":"^\\n*[\\t ]*(?i)(If|While|Else|End if|For each|End for each|End for|Begin SQL|End SQL|while|End while|Use|End use|Case of|End case|Repeat|Until|For|End try|Try|Catch|Throw|return|continue|break|property|var)\\b"}]},"local_variables":{"name":"variable.local.name.4d","match":"\\$[a-zA-Z_0-9 ]*"},"long_int_variable":{"name":"storage.type.4d","begin":"^\\n*[\\t ]*(?i)(C_LONGINT(\\:C283)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.longint.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.longint.4d"},"2":{"name":"meta.c_longint.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.longint.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"member_access":{"match":"((?:[a-zA-Z_\\s*]*(\\:C[0-9]+)?|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))((?:[a-zA-Z_]\\w*\\s*(?:(?:(?:\\.\\*|\\.))|(?:(?:-\u003e\\*|-\u003e)))\\s*)*)\\s*(\\b[a-zA-Z_]\\w*\\b(?!\\())","captures":{"1":{"name":"variable.other.object.access.4d"},"2":{"name":"entity.command.number.4d"},"3":{"name":"punctuation.separator.dot-access.4d"},"4":{"name":"punctuation.separator.pointer-access.4d"},"5":{"patterns":[{"include":"#this-function"},{"include":"#member_access"},{"include":"#method_access"},{"match":"((?:[a-zA-Z_]\\w*|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))","captures":{"1":{"name":"variable.other.object.access.4d"},"2":{"name":"punctuation.separator.dot-access.4d"},"3":{"name":"punctuation.separator.pointer-access.4d"}}}]},"6":{"name":"variable.other.member.4d"}}},"method_access":{"contentName":"meta.function-call.member.4d","begin":"((?:[a-zA-Z_\\s*]*(\\:C[0-9]+)?|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))((?:[a-zA-Z_]\\w*\\s*(?:(?:(?:\\.\\*|\\.))|(?:(?:-\u003e\\*|-\u003e)))\\s*)*)\\s*([a-zA-Z_]\\w*)(\\()","end":"(\\))","patterns":[{"include":"#strings"},{"include":"#numbers"},{"include":"#parameters"},{"include":"#local_variables"},{"include":"#boolean_values"},{"include":"#constant_4d"},{"include":"#param_separator"},{"include":"#function-call-innards"},{"include":"#table_reference"},{"include":"#this-function"}],"beginCaptures":{"1":{"name":"variable.other.object.access.4d"},"2":{"name":"entity.command.number.4d"},"3":{"name":"punctuation.separator.dot-access.4d"},"4":{"name":"punctuation.separator.pointer-access.4d"},"5":{"patterns":[{"include":"#member_access"},{"include":"#method_access"},{"include":"#this-function"},{"match":"((?:[a-zA-Z_]\\w*|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))","captures":{"1":{"name":"variable.other.object.access.4d"},"2":{"name":"punctuation.separator.dot-access.4d"},"3":{"name":"punctuation.separator.pointer-access.4d"}}}]},"6":{"name":"entity.name.function.member.4d"},"7":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.function.member.4d"}}},"numbers":{"begin":"(?\u003c!\\w)(?=\\d|\\.\\d)","end":"(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","patterns":[{"match":"(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?\u003c=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?\u003c!')([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?([lLfF](?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"1":{"name":"keyword.other.unit.hexadecimal.4d"},"10":{"name":"keyword.operator.minus.exponent.hexadecimal.4d"},"11":{"name":"constant.numeric.exponent.hexadecimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"12":{"name":"keyword.other.unit.suffix.floating-point.4d"},"2":{"name":"constant.numeric.hexadecimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"4":{"name":"constant.numeric.hexadecimal.4d"},"5":{"name":"constant.numeric.hexadecimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"6":{"name":"punctuation.separator.constant.numeric.4d"},"8":{"name":"keyword.other.unit.exponent.hexadecimal.4d"},"9":{"name":"keyword.operator.plus.exponent.hexadecimal.4d"}}},{"match":"(\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?\u003c=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?\u003c!')([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?([lLfF](?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"10":{"name":"keyword.operator.minus.exponent.decimal.4d"},"11":{"name":"constant.numeric.exponent.decimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"12":{"name":"keyword.other.unit.suffix.floating-point.4d"},"2":{"name":"constant.numeric.decimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"4":{"name":"constant.numeric.decimal.point.4d"},"5":{"name":"constant.numeric.decimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"6":{"name":"punctuation.separator.constant.numeric.4d"},"8":{"name":"keyword.other.unit.exponent.decimal.4d"},"9":{"name":"keyword.operator.plus.exponent.decimal.4d"}}},{"match":"(\\G0[bB])([01](?:[01]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"1":{"name":"keyword.other.unit.binary.4d"},"2":{"name":"constant.numeric.binary.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"4":{"name":"keyword.other.unit.suffix.integer.4d"}}},{"match":"(\\G0)((?:[0-7]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"1":{"name":"keyword.other.unit.octal.4d"},"2":{"name":"constant.numeric.octal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"4":{"name":"keyword.other.unit.suffix.integer.4d"}}},{"match":"(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?\u003c!')([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"1":{"name":"keyword.other.unit.hexadecimal.4d"},"2":{"name":"constant.numeric.hexadecimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"5":{"name":"keyword.other.unit.exponent.hexadecimal.4d"},"6":{"name":"keyword.operator.plus.exponent.hexadecimal.4d"},"7":{"name":"keyword.operator.minus.exponent.hexadecimal.4d"},"8":{"name":"constant.numeric.exponent.hexadecimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"9":{"name":"keyword.other.unit.suffix.integer.4d"}}},{"match":"(\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?\u003c!')([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"2":{"name":"constant.numeric.decimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"5":{"name":"keyword.other.unit.exponent.decimal.4d"},"6":{"name":"keyword.operator.plus.exponent.decimal.4d"},"7":{"name":"keyword.operator.minus.exponent.decimal.4d"},"8":{"name":"constant.numeric.exponent.decimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"9":{"name":"keyword.other.unit.suffix.integer.4d"}}}]},"object_variable":{"name":"storage.type.object.4d","begin":"^\\n*[\\t ]*(?i)(C_OBJECT(\\:C1216)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.object.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.object.4d"},"2":{"name":"meta.c_object.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.object.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"operators":{"patterns":[{"name":"keyword.operator.assignment.4d","match":":="},{"name":"keyword.operator.comparison.4d","match":"#|\u003c=|\u003e=|\u003c|\u003e|="},{"name":"keyword.operator.4d","match":"%|\\*|/|-|\\+"}]},"param_separator":{"name":"punctuation.separator.delimiter.4d","match":";"},"parameters":{"name":"variable.parameter.4d","match":"\\$[0-9]"},"picture_variable":{"name":"storage.type.picture.4d","begin":"^\\n*[\\t ]*(?i)(C_PICTURE(\\:C286)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.picture.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.picture.4d"},"2":{"name":"meta.c_picture.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.picture.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"pointer_variable":{"name":"storage.type.pointer.4d","begin":"^\\n*[\\t ]*(?i)(C_POINTER(\\:C301)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.pointer.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.pointer.4d"},"2":{"name":"meta.c_pointer.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.pointer.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"real_variable":{"name":"storage.type.real.4d","begin":"^\\n*[\\t ]*(?i)(C_REAL(\\:C285)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.real.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.real.4d"},"2":{"name":"meta.c_real.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.real.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"strings":{"name":"string.quoted.double.4d","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.4d","match":"\\\\."}]},"table_reference":{"begin":"(?i)\\[((?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)(\\:[0-9]+)?","end":"\\]","beginCaptures":{"1":{"name":"support.table.name.4d"},"2":{"name":"support.table.index.4d"}}},"text_variable":{"name":"storage.type.text.4d","begin":"^\\n*[\\t ]*(?i)(C_TEXT(\\:C284)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.text.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.text.4d"},"2":{"name":"meta.c_text.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.text.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"this-function":{"name":"variable.language.this.4d","match":"(^\\n*[\\t ]*(?i)(This(\\:C1470)?))|((?i)(This(\\:C1470)?))"},"variant_variable":{"name":"storage.type.variant.4d","begin":"^\\n*[\\t ]*(?i)(C_VARIANT(\\:C1683)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.variant.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.variant.4d"},"2":{"name":"meta.c_variant.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.variant.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}}}}
|
data/grammars/source.QB64.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"QB64","scopeName":"source.QB64","patterns":[{"name":"meta.ending-space","match":"\\n"},{"include":"#round-brackets"},{"name":"meta.leading-space","begin":"^(?=\\t)","end":"(?=[^\\t])","patterns":[{"match":"(\\t)(\\t)?","captures":{"1":{"name":"meta.odd-tab.tabs"},"2":{"name":"meta.even-tab.tabs"}}}]},{"name":"meta.leading-space","begin":"^(?= )","end":"(?=[^ ])","patterns":[{"match":"( )( )?","captures":{"1":{"name":"meta.odd-tab.spaces"},"2":{"name":"meta.even-tab.spaces"}}}]},{"name":"meta.function.QB64","match":"^\\s*((?i:function|sub))\\s*([a-zA-Z_]\\w*)\\s*(\\()([^)]*)(\\)).*\\n?","captures":{"1":{"name":"storage.type.function.QB64"},"2":{"name":"entity.name.function.QB64"},"3":{"name":"punctuation.definition.parameters.QB64"},"4":{"name":"variable.parameter.function.QB64"},"5":{"name":"punctuation.definition.parameters.QB64"}}},{"name":"userfunctions.QB64","match":"^\\\\s*((function|sub|FUNCTION|SUB|Function|Sub|fUNCTION|sUB)\\\\s+)([a-zA-Z_]\\\\w*)"},{"name":"debug.QB64","match":"(?i:\\s*\\b(assert)\\b\\s*)"},{"begin":"(^[ \\t]+)?(?='|rem|REM|Rem|rEm|reM|rEM|ReM)","end":"(?!\\G)","patterns":[{"name":"comment.line.apostrophe.QB64","begin":"'|","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.QB64"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.QB64"}}},{"name":"keyword.control.QB64","match":"(?i:\\b(?!open\\s)(If|Then|Else|ElseIf|Else If|End If|Not|Or|And|Xor|Mod|While|Wend|For|Step|To|Each|Case|Select|End Select|Return|Continue|_Continue|Do|Until|Loop|Next|With|Exit Do|Exit For|Exit Function|Exit Property|Exit Sub|IIf|Limit|_Limit|Delay|_Delay|sleep|Key|Off)\\b)"},{"name":"variable.other.dim.QB64","match":"(?i:(dim shared?|dim|redim))\\s*(?:(\\b[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?\\b)\\s*(,?))","captures":{"1":{"name":"storage.type.QB64"},"2":{"name":"variable.other.dim.QB64"},"3":{"name":"meta.separator.comma.QB64"},"4":{"name":"graphics.QB64"},"5":{"name":"sound.QB64"}}},{"name":"storage.type.QB64","match":"(?i:\\s*\\b(Shell|_Hide|Hide|Command|_Startdir|_CONSOLE OFF|CONSOLE OFF|_CONSOLE ON|CONSOLE On|echo|_echo|_DEST _CONSOLE|DEST CONSOLE|cv|_cv|startdir|Date|Time|on timer|_FREETIMER|_commandcount|commandcountCall|Screenhide|_Screenhide|_screenshow|_screenmove|screenmove|screen|screenshow|_screenmove|screenmove|os|_os|title|_title|_CONSOLETITLE|CONSOLETITLE|_newimage|newimage|DECLARE|DEF|SEG|resume|Rest|Timer|gosub|call|DEFINT|Cls|Const|As|_PRESERVE|PRESERVE|Function|End Function|Sub|End Sub|Title|Type|End Type|Randomize|option base|Print|Color|On Error Resume Next|On Error GoTo|Error|_errormessage|errormessage|errorline|_errorline|_INCLERRORFILE|INCLERRORFILE|Goto|FileExists|_FileExists|String|Integer|Long|_INTEGER64|INTEGER64|_Bit|Bit|_BYTE|BYTE|SINGLE|DOUBLE|_FLOAT|FLOAT|_OFFSET|OFFSET|_UNSIGNED|UNSIGNED|_MEM|MEM|LTrim|RTrim|Trim|Right|Left|LCase|UCase|Locate|Str|CVL|MKL|MKI|_mk|mk|CVI|Val|Mid|abs|_keyclear|keyclear)\\b\\s*)"},{"name":"storage.type.QB64","match":"(?i:\\s*\\b(ByVal|Dynamic|Library|Inkey|Name|Open|For|Eof|Poke|Data|Close|Get|Read|Input|Random|Kill|Put|Write|Append|Output|FreeFile|Files|_openhost|openhost|_OPENCLIENT|_openconnection|openconnection|OPENCLIENT|_CONNECTED|CONNECTED|_CONNECTIONADDRESS|CONNECTIONADDRESS|_direxists|direxists|_fileexists|fileexists|mkdir|rmdir|_cwd|cwd)\\b\\s*)"},{"name":"storage.type.QB64","match":"(?i:\\b(End|Stop|System|Environ|_ENVIRONCOUNT|ENVIRONCOUNT)\\b)"},{"name":"debug.QB64","match":"(?i:\\b(_assert)\\b)"},{"name":"todo.QB64","match":"(\\b(?:TODO|FIXME|FIXIT):?\\b)"},{"name":"metacommand.QB64","match":"(?i:\\b(REM|'|$DYNAMIC|$STATIC|Option _Explicit|option _explicitarray|option explicitarray|$RESIZE:|$ASSERTS|$Noprefix|$CHECKING|$COLOR|$CONSOLE|$DEBUG|$ERROR|$EXEICON|$LET|$IF|$ELSEIF|$END IF|$SCREENHIDE|$SCREENSHOW|$VIRTUALKEYBOARD|$VERSIONINFO:Comments|$VERSIONINFO:CompanyName|$VERSIONINFO:FileDescription|$VERSIONINFO:FileVersion|$VERSIONINFO:InternalName|$VERSIONINFO:LegalCopyright|$VERSIONINFO:LegalTrademarks|$VERSIONINFO:OriginalFilename|$VERSIONINFO:ProductName|$VERSIONINFO:ProductVersion|$VERSIONINFO:Web)\\b)"},{"name":"sound.QB64","match":"(?i:\\b(beep|play|sound|sndbal|sndclose|sndcopy|sndgetpos|sndlen|sndlimit|sndloop|sndopen|sndopenraw|sndpause|sndpaused|sndplay|sndplaycopy|sndplayfile|sndplaying|sndrate|sndraw|sndrawdone|sndrawlen|sndsetpos|sndstop|sndvol)\\b)"},{"name":"sound.QB64","match":"(?i:\\b(_sndbal|_sndclose|_sndcopy|_sndgetpos|_sndlen|_sndlimit|_sndloop|_sndopen|_sndopenraw|_sndpause|_sndpaused|_sndplay|_sndplaycopy|_sndplayfile|_sndplaying|_sndrate|_sndraw|_sndrawdone|_sndrawlen|_sndsetpos|_sndstop|_sndvol)\\b)"},{"name":"graphics.QB64","match":"(?i:\\b(line|circle|point|glrender|glaccum|glalphafunc|glaretexturesresident|glarrayelement|glbegin|glbindtexture|glbitmap|glblendfunc|glcalllist|glcalllists|glclear|glclearaccum|glclearcolor|glcleardepth|glclearindex|glclearstencil|glclipplane|glcolor3b|glcolor3bv|glcolor3d|glcolor3dv|glcolor3f|glcolor3fv|glcolor3i|glcolor3iv|glcolor3s|glcolor3sv|glcolor3ub|glcolor3ubv|glcolor3ui|glcolor3uiv|glcolor3us|glcolor3usv|glcolor4b|glcolor4bv|glcolor4d|glcolor4dv|glcolor4f|glcolor4fv|glcolor4i|glcolor4iv|glcolor4s|glcolor4sv|glcolor4ub|glcolor4ubv|glcolor4ui|glcolor4uiv|glcolor4us|glcolor4usv|glcolormask|glcolormaterial|glcolorpointer|glcopypixels|glcopyteximage1d|glcopyteximage2d|glcopytexsubimage1d|glcopytexsubimage2d|glcullface|gldeletelists|gldeletetextures|gldepthfunc|gldepthmask|gldepthrange|gldisable|gldisableclientstate|gldrawarrays|gldrawbuffer|gldrawelements|gldrawpixels|gledgeflag|gledgeflagpointer|gledgeflagv|glenable|glenableclientstate|glend|glendlist|glevalcoord1d|glevalcoord1dv|glevalcoord1f|glevalcoord1fv|glevalcoord2d|glevalcoord2dv|glevalcoord2f|glevalcoord2fv|glevalmesh1|glevalmesh2|glevalpoint1|glevalpoint2|glfeedbackbuffer|glfinish|glflush|glfogf|glfogfv|glfogi|glfogiv|glfrontface|glfrustum|glgenlists|glgentextures|glgetbooleanv|glgetclipplane|glgetdoublev|glgeterror|glgetfloatv|glgetintegerv|glgetlightfv|glgetlightiv|glgetmapdv|glgetmapfv|glgetmapiv|glgetmaterialfv|glgetmaterialiv|glgetpixelmapfv|glgetpixelmapuiv|glgetpixelmapusv|glgetpointerv|glgetpolygonstipple|glgetstring|glgettexenvfv|glgettexenviv|glgettexgendv|glgettexgenfv|glgettexgeniv|glgetteximage|glgettexlevelparameterfv|glgettexlevelparameteriv|glgettexparameterfv|glgettexparameteriv|glhint|glindexmask|glindexpointer|glindexd|glindexdv|glindexf|glindexfv|glindexi|glindexiv|glindexs|glindexsv|glindexub|glindexubv|glinitnames|glinterleavedarrays|glisenabled|glislist|glistexture|gllightmodelf|gllightmodelfv|gllightmodeli|gllightmodeliv|gllightf|gllightfv|gllighti|gllightiv|gllinestipple|gllinewidth|gllistbase|glloadidentity|glloadmatrixd|glloadmatrixf|glloadname|gllogicop|glmap1d|glmap1f|glmap2d|glmap2f|glmapgrid1d|glmapgrid1f|glmapgrid2d|glmapgrid2f|glmaterialf|glmaterialfv|glmateriali|glmaterialiv|glmatrixmode|glmultmatrixd|glmultmatrixf|glnewlist|glnormal3b|glnormal3bv|glnormal3d|glnormal3dv|glnormal3f|glnormal3fv|glnormal3i|glnormal3iv|glnormal3s|glnormal3sv|glnormalpointer|glortho|glpassthrough|glpixelmapfv|glpixelmapuiv|glpixelmapusv|glpixelstoref|glpixelstorei|glpixeltransferf|glpixeltransferi|glpixelzoom|glpointsize|glpolygonmode|glpolygonoffset|glpolygonstipple|glpopattrib|glpopclientattrib|glpopmatrix|glpopname|glprioritizetextures|glpushattrib|glpushclientattrib|glpushmatrix|glpushname|glrasterpos2d|glrasterpos2dv|glrasterpos2f|glrasterpos2fv|glrasterpos2i|glrasterpos2iv|glrasterpos2s|glrasterpos2sv|glrasterpos3d|glrasterpos3dv|glrasterpos3f|glrasterpos3fv|glrasterpos3i|glrasterpos3iv|glrasterpos3s|glrasterpos3sv|glrasterpos4d|glrasterpos4dv|glrasterpos4f|glrasterpos4fv|glrasterpos4i|glrasterpos4iv|glrasterpos4s|glrasterpos4sv|glreadbuffer|glreadpixels|glrectd|glrectdv|glrectf|glrectfv|glrecti|glrectiv|glrects|glrectsv|glrendermode|glrotated|glrotatef|glscaled|glscalef|glscissor|glselectbuffer|glshademodel|glstencilfunc|glstencilmask|glstencilop|gltexcoord1d|gltexcoord1dv|gltexcoord1f|gltexcoord1fv|gltexcoord1i|gltexcoord1iv|gltexcoord1s|gltexcoord1sv|gltexcoord2d|gltexcoord2dv|gltexcoord2f|gltexcoord2fv|gltexcoord2i|gltexcoord2iv|gltexcoord2s|gltexcoord2sv|gltexcoord3d|gltexcoord3dv|gltexcoord3f|gltexcoord3fv|gltexcoord3i|gltexcoord3iv|gltexcoord3s|gltexcoord3sv|gltexcoord4d|gltexcoord4dv|gltexcoord4f|gltexcoord4fv|gltexcoord4i|gltexcoord4iv|gltexcoord4s|gltexcoord4sv|gltexcoordpointer|gltexenvf|gltexenvfv|gltexenvi|gltexenviv|gltexgend|gltexgendv|gltexgenf|gltexgenfv|gltexgeni|gltexgeniv|glteximage1d|glteximage2d|gltexparameterf|gltexparameterfv|gltexparameteri|gltexparameteriv|gltexsubimage1d|gltexsubimage2d|gltranslated|gltranslatef|glvertex2d|glvertex2dv|glvertex2f|glvertex2fv|glvertex2i|glvertex2iv|glvertex2s|glvertex2sv|glvertex3d|glvertex3dv|glvertex3f|glvertex3fv|glvertex3i|glvertex3iv|glvertex3s|glvertex3sv|glvertex4d|glvertex4dv|glvertex4f|glvertex4fv|glvertex4i|glvertex4iv|glvertex4s|glvertex4sv|glvertexpointer|glviewport)\\b)"},{"name":"graphics.QB64","match":"(?i:\\b(_glrender|_glaccum|_glalphafunc|_glaretexturesresident|_glarrayelement|_glbegin|_glbindtexture|_glbitmap|_glblendfunc|_glcalllist|_glcalllists|_glclear|_glclearaccum|_glclearcolor|_glcleardepth|_glclearindex|_glclearstencil|_glclipplane|_glcolor3b|_glcolor3bv|_glcolor3d|_glcolor3dv|_glcolor3f|_glcolor3fv|_glcolor3i|_glcolor3iv|_glcolor3s|_glcolor3sv|_glcolor3ub|_glcolor3ubv|_glcolor3ui|_glcolor3uiv|_glcolor3us|_glcolor3usv|_glcolor4b|_glcolor4bv|_glcolor4d|_glcolor4dv|_glcolor4f|_glcolor4fv|_glcolor4i|_glcolor4iv|_glcolor4s|_glcolor4sv|_glcolor4ub|_glcolor4ubv|_glcolor4ui|_glcolor4uiv|_glcolor4us|_glcolor4usv|_glcolormask|_glcolormaterial|_glcolorpointer|_glcopypixels|_glcopyteximage1d|_glcopyteximage2d|_glcopytexsubimage1d|_glcopytexsubimage2d|_glcullface|_gldeletelists|_gldeletetextures|_gldepthfunc|_gldepthmask|_gldepthrange|_gldisable|_gldisableclientstate|_gldrawarrays|_gldrawbuffer|_gldrawelements|_gldrawpixels|_gledgeflag|_gledgeflagpointer|_gledgeflagv|_glenable|_glenableclientstate|_glend|_glendlist|_glevalcoord1d|_glevalcoord1dv|_glevalcoord1f|_glevalcoord1fv|_glevalcoord2d|_glevalcoord2dv|_glevalcoord2f|_glevalcoord2fv|_glevalmesh1|_glevalmesh2|_glevalpoint1|_glevalpoint2|_glfeedbackbuffer|_glfinish|_glflush|_glfogf|_glfogfv|_glfogi|_glfogiv|_glfrontface|_glfrustum|_glgenlists|_glgentextures|_glgetbooleanv|_glgetclipplane|_glgetdoublev|_glgeterror|_glgetfloatv|_glgetintegerv|_glgetlightfv|_glgetlightiv|_glgetmapdv|_glgetmapfv|_glgetmapiv|_glgetmaterialfv|_glgetmaterialiv|_glgetpixelmapfv|_glgetpixelmapuiv|_glgetpixelmapusv|_glgetpointerv|_glgetpolygonstipple|_glgetstring|_glgettexenvfv|_glgettexenviv|_glgettexgendv|_glgettexgenfv|_glgettexgeniv|_glgetteximage|_glgettexlevelparameterfv|_glgettexlevelparameteriv|_glgettexparameterfv|_glgettexparameteriv|_glhint|_glindexmask|_glindexpointer|_glindexd|_glindexdv|_glindexf|_glindexfv|_glindexi|_glindexiv|_glindexs|_glindexsv|_glindexub|_glindexubv|_glinitnames|_glinterleavedarrays|_glisenabled|_glislist|_glistexture|_gllightmodelf|_gllightmodelfv|_gllightmodeli|_gllightmodeliv|_gllightf|_gllightfv|_gllighti|_gllightiv|_gllinestipple|_gllinewidth|_gllistbase|_glloadidentity|_glloadmatrixd|_glloadmatrixf|_glloadname|_gllogicop|_glmap1d|_glmap1f|_glmap2d|_glmap2f|_glmapgrid1d|_glmapgrid1f|_glmapgrid2d|_glmapgrid2f|_glmaterialf|_glmaterialfv|_glmateriali|_glmaterialiv|_glmatrixmode|_glmultmatrixd|_glmultmatrixf|_glnewlist|_glnormal3b|_glnormal3bv|_glnormal3d|_glnormal3dv|_glnormal3f|_glnormal3fv|_glnormal3i|_glnormal3iv|_glnormal3s|_glnormal3sv|_glnormalpointer|_glortho|_glpassthrough|_glpixelmapfv|_glpixelmapuiv|_glpixelmapusv|_glpixelstoref|_glpixelstorei|_glpixeltransferf|_glpixeltransferi|_glpixelzoom|_glpointsize|_glpolygonmode|_glpolygonoffset|_glpolygonstipple|_glpopattrib|_glpopclientattrib|_glpopmatrix|_glpopname|_glprioritizetextures|_glpushattrib|_glpushclientattrib|_glpushmatrix|_glpushname|_glrasterpos2d|_glrasterpos2dv|_glrasterpos2f|_glrasterpos2fv|_glrasterpos2i|_glrasterpos2iv|_glrasterpos2s|_glrasterpos2sv|_glrasterpos3d|_glrasterpos3dv|_glrasterpos3f|_glrasterpos3fv|_glrasterpos3i|_glrasterpos3iv|_glrasterpos3s|_glrasterpos3sv|_glrasterpos4d|_glrasterpos4dv|_glrasterpos4f|_glrasterpos4fv|_glrasterpos4i|_glrasterpos4iv|_glrasterpos4s|_glrasterpos4sv|_glreadbuffer|_glreadpixels|_glrectd|_glrectdv|_glrectf|_glrectfv|_glrecti|_glrectiv|_glrects|_glrectsv|_glrendermode|_glrotated|_glrotatef|_glscaled|_glscalef|_glscissor|_glselectbuffer|_glshademodel|_glstencilfunc|_glstencilmask|_glstencilop|_gltexcoord1d|_gltexcoord1dv|_gltexcoord1f|_gltexcoord1fv|_gltexcoord1i|_gltexcoord1iv|_gltexcoord1s|_gltexcoord1sv|_gltexcoord2d|_gltexcoord2dv|_gltexcoord2f|_gltexcoord2fv|_gltexcoord2i|_gltexcoord2iv|_gltexcoord2s|_gltexcoord2sv|_gltexcoord3d|_gltexcoord3dv|_gltexcoord3f|_gltexcoord3fv|_gltexcoord3i|_gltexcoord3iv|_gltexcoord3s|_gltexcoord3sv|_gltexcoord4d|_gltexcoord4dv|_gltexcoord4f|_gltexcoord4fv|_gltexcoord4i|_gltexcoord4iv|_gltexcoord4s|_gltexcoord4sv|_gltexcoordpointer|_gltexenvf|_gltexenvfv|_gltexenvi|_gltexenviv|_gltexgend|_gltexgendv|_gltexgenf|_gltexgenfv|_gltexgeni|_gltexgeniv|_glteximage1d|_glteximage2d|_gltexparameterf|_gltexparameterfv|_gltexparameteri|_gltexparameteriv|_gltexsubimage1d|_gltexsubimage2d|_gltranslated|_gltranslatef|_glvertex2d|_glvertex2dv|_glvertex2f|_glvertex2fv|_glvertex2i|_glvertex2iv|_glvertex2s|_glvertex2sv|_glvertex3d|_glvertex3dv|_glvertex3f|_glvertex3fv|_glvertex3i|_glvertex3iv|_glvertex3s|_glvertex3sv|_glvertex4d|_glvertex4dv|_glvertex4f|_glvertex4fv|_glvertex4i|_glvertex4iv|_glvertex4s|_glvertex4sv|_glvertexpointer|_glviewport)\\b)"},{"name":"storage.type.QB64","match":"(?i:\\b(Array|Add|Asc|Atn|CBool|CByte|CCur|CDate|CDbl|Chr|CInt|CLng|Conversions|Cos|CSng|CStr|Date|DateAdd|DateDiff|DatePart|DateSerial|DateValue|Day|Derived|Math|Escape|Eval|Exp|Filter|FormatCurrency|FormatDateTime|FormatNumber|FormatPercent|GetLocale|GetRef|Hex|Hour|InputBox|InStr|InStrRev|Int|Fix|IsDate|IsNull|IsNumeric|Item|Items|Join|Keys|LBound|LCase|Left|Len|LoadPicture|Log|Maths|Mid|Minute|Month|MonthName|Oct|Rgb|_Rgb|_rgba|rgba|Right|Rnd|Round|ScriptEngine|ScriptEngineBuildVersion|ScriptEngineMajorVersion|ScriptEngineMinorVersion|Second|SetLocale|Sgn|Sin|Space|Sqr|StrComp|String|StrReverse|Tan|Time|TimeSerial|TimeValue|TypeName|UBound|UCase|Unescape|VarType|Weekday|WeekdayName|Year)\\b)"},{"name":"string.quoted.double.QB64","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.apostrophe.QB64","match":"\"\""}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.QB64"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.QB64"}}},{"name":"variable.other.QB64","match":"(\\$)[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?\\b\\s*","captures":{"1":{"name":"punctuation.definition.variable.QB64"},"2":{"name":"support.function.QB64"}}},{"name":"support.function.QB64","match":"(?i:\\b(Lock|Unlock|SetAbort|SetComplete|BinaryRead|AddHeader|AppendToLog|BinaryWrite|Clear|End|Flush|Redirect|HTMLEncode|MapPath|URLEncode|Abandon|Convert|Regex)\\b)"},{"name":"support.type.QB64","match":"\\b\\w+\\s+as\\s+\\w+\u0008(?!\\s*\\))"},{"name":"constant.numeric.QB64","match":"-?\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f)?\\b"},{"name":"support.function.QB64","match":"(?i:(\\b[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?\\b)(?=\\(\\)?))","captures":{"1":{"name":"entity.name.function.QB64"}}},{"name":"variable.other.QB64","match":"(?i:((?\u003c=(\\+|=|-|\\\u0026|\\\\|/|\u003c|\u003e|\\(|,))\\s*\\b([a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?)\\b(?!(\\(|\\.))|\\b([a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?)\\b(?=\\s*(\\+|=|-|\\\u0026|\\\\|/|\u003c|\u003e|\\(|\\)))))"}],"repository":{"round-brackets":{"name":"meta.round-brackets","begin":"\\(","end":"\\)","patterns":[{"include":"source.QB64"}],"beginCaptures":{"0":{"name":"punctuation.section.round-brackets.begin.QB64"}},"endCaptures":{"0":{"name":"punctuation.section.round-brackets.end.QB64"}}}}}
|
1
|
+
{"name":"QB64","scopeName":"source.QB64","patterns":[{"name":"meta.ending-space","match":"\\r?\\n"},{"include":"#round-brackets"},{"name":"meta.leading-space","begin":"^(?=\\t)","end":"(?=[^\\t])","patterns":[{"match":"(\\t)(\\t)?","captures":{"1":{"name":"meta.odd-tab.tabs"},"2":{"name":"meta.even-tab.tabs"}}}]},{"name":"meta.leading-space","begin":"^(?= )","end":"(?=[^ ])","patterns":[{"match":"( )( )?","captures":{"1":{"name":"meta.odd-tab.spaces"},"2":{"name":"meta.even-tab.spaces"}}}]},{"name":"meta.function.QB64","match":"^\\s*((?i:function|sub))\\s*([a-zA-Z_]\\w*)\\s*(\\()([^)]*)(\\)).*\\r?\\n?","captures":{"1":{"name":"storage.type.function.QB64"},"2":{"name":"entity.name.function.QB64"},"3":{"name":"punctuation.definition.parameters.QB64"},"4":{"name":"variable.parameter.function.QB64"},"5":{"name":"punctuation.definition.parameters.QB64"}}},{"name":"userfunctions.QB64","match":"^\\\\s*((function|sub|FUNCTION|SUB|Function|Sub|fUNCTION|sUB)\\\\s+)([a-zA-Z_]\\\\w*)"},{"name":"debug.QB64","match":"(?i:\\s*\\b(assert)\\b\\s*)"},{"begin":"(^[ \\t]+)?(?='|rem|REM|Rem|rEm|reM|rEM|ReM)","end":"(?!\\G)","patterns":[{"name":"comment.line.apostrophe.QB64","begin":"'|","end":"\\r?\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.QB64"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.QB64"}}},{"name":"keyword.control.QB64","match":"(?i:\\b(?!open\\s)(If|Then|Else|ElseIf|Else If|End If|Not|Or|And|Xor|Mod|While|Wend|For|Step|To|Each|Case|Select|End Select|Return|Continue|_Continue|Do|Until|Loop|Next|With|Exit Do|Exit For|Exit Function|Exit Property|Exit Sub|IIf|Limit|_Limit|Delay|_Delay|sleep|Key|Off)\\b)"},{"name":"variable.other.dim.QB64","match":"(?i:(dim shared?|dim|redim))\\s*(?:(\\b[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?\\b)\\s*(,?))","captures":{"1":{"name":"storage.type.QB64"},"2":{"name":"variable.other.dim.QB64"},"3":{"name":"meta.separator.comma.QB64"},"4":{"name":"graphics.QB64"},"5":{"name":"sound.QB64"}}},{"name":"storage.type.QB64","match":"(?i:\\s*\\b(Shell|_Hide|Hide|Command|_Startdir|_CONSOLE OFF|CONSOLE OFF|_CONSOLE ON|CONSOLE On|echo|_echo|_DEST _CONSOLE|DEST CONSOLE|cv|_cv|startdir|Date|Time|on timer|_FREETIMER|_commandcount|commandcountCall|Screenhide|_Screenhide|_screenshow|_screenmove|screenmove|screen|screenshow|_screenmove|screenmove|os|_os|title|_title|_CONSOLETITLE|CONSOLETITLE|_newimage|newimage|DECLARE|DEF|SEG|resume|Rest|Timer|gosub|call|DEFINT|Cls|Const|As|_PRESERVE|PRESERVE|Function|End Function|Sub|End Sub|Title|Type|End Type|Randomize|option base|Print|Color|On Error Resume Next|On Error GoTo|Error|_errormessage|errormessage|errorline|_errorline|_INCLERRORFILE|INCLERRORFILE|Goto|FileExists|_FileExists|String|Integer|Long|_INTEGER64|INTEGER64|_Bit|Bit|_BYTE|BYTE|SINGLE|DOUBLE|_FLOAT|FLOAT|_OFFSET|OFFSET|_UNSIGNED|UNSIGNED|_MEM|MEM|LTrim|RTrim|Trim|Right|Left|LCase|UCase|Locate|Str|CVL|MKL|MKI|_mk|mk|CVI|Val|Mid|abs|_keyclear|keyclear)\\b\\s*)"},{"name":"storage.type.QB64","match":"(?i:\\s*\\b(ByVal|Dynamic|Library|Inkey|Name|Open|For|Eof|Poke|Data|Close|Get|Read|Input|Random|Kill|Put|Write|Append|Output|FreeFile|Files|_openhost|openhost|_OPENCLIENT|_openconnection|openconnection|OPENCLIENT|_CONNECTED|CONNECTED|_CONNECTIONADDRESS|CONNECTIONADDRESS|_direxists|direxists|_fileexists|fileexists|mkdir|rmdir|_cwd|cwd)\\b\\s*)"},{"name":"storage.type.QB64","match":"(?i:\\b(End|Stop|System|Environ|_ENVIRONCOUNT|ENVIRONCOUNT)\\b)"},{"name":"debug.QB64","match":"(?i:\\b(_assert)\\b)"},{"name":"todo.QB64","match":"(\\b(?:TODO|FIXME|FIXIT):?\\b)"},{"name":"metacommand.QB64","match":"(?i:\\b(REM|'|$DYNAMIC|$STATIC|Option _Explicit|option _explicitarray|option explicitarray|$RESIZE:|$ASSERTS|$Noprefix|$CHECKING|$COLOR|$CONSOLE|$DEBUG|$ERROR|$EXEICON|$LET|$IF|$ELSEIF|$END IF|$SCREENHIDE|$SCREENSHOW|$VIRTUALKEYBOARD|$VERSIONINFO:Comments|$VERSIONINFO:CompanyName|$VERSIONINFO:FileDescription|$VERSIONINFO:FileVersion|$VERSIONINFO:InternalName|$VERSIONINFO:LegalCopyright|$VERSIONINFO:LegalTrademarks|$VERSIONINFO:OriginalFilename|$VERSIONINFO:ProductName|$VERSIONINFO:ProductVersion|$VERSIONINFO:Web)\\b)"},{"name":"sound.QB64","match":"(?i:\\b(beep|play|sound|sndbal|sndclose|sndcopy|sndgetpos|sndlen|sndlimit|sndloop|sndopen|sndopenraw|sndpause|sndpaused|sndplay|sndplaycopy|sndplayfile|sndplaying|sndrate|sndraw|sndrawdone|sndrawlen|sndsetpos|sndstop|sndvol)\\b)"},{"name":"sound.QB64","match":"(?i:\\b(_sndbal|_sndclose|_sndcopy|_sndgetpos|_sndlen|_sndlimit|_sndloop|_sndopen|_sndopenraw|_sndpause|_sndpaused|_sndplay|_sndplaycopy|_sndplayfile|_sndplaying|_sndrate|_sndraw|_sndrawdone|_sndrawlen|_sndsetpos|_sndstop|_sndvol)\\b)"},{"name":"graphics.QB64","match":"(?i:\\b(line|circle|point|glrender|glaccum|glalphafunc|glaretexturesresident|glarrayelement|glbegin|glbindtexture|glbitmap|glblendfunc|glcalllist|glcalllists|glclear|glclearaccum|glclearcolor|glcleardepth|glclearindex|glclearstencil|glclipplane|glcolor3b|glcolor3bv|glcolor3d|glcolor3dv|glcolor3f|glcolor3fv|glcolor3i|glcolor3iv|glcolor3s|glcolor3sv|glcolor3ub|glcolor3ubv|glcolor3ui|glcolor3uiv|glcolor3us|glcolor3usv|glcolor4b|glcolor4bv|glcolor4d|glcolor4dv|glcolor4f|glcolor4fv|glcolor4i|glcolor4iv|glcolor4s|glcolor4sv|glcolor4ub|glcolor4ubv|glcolor4ui|glcolor4uiv|glcolor4us|glcolor4usv|glcolormask|glcolormaterial|glcolorpointer|glcopypixels|glcopyteximage1d|glcopyteximage2d|glcopytexsubimage1d|glcopytexsubimage2d|glcullface|gldeletelists|gldeletetextures|gldepthfunc|gldepthmask|gldepthrange|gldisable|gldisableclientstate|gldrawarrays|gldrawbuffer|gldrawelements|gldrawpixels|gledgeflag|gledgeflagpointer|gledgeflagv|glenable|glenableclientstate|glend|glendlist|glevalcoord1d|glevalcoord1dv|glevalcoord1f|glevalcoord1fv|glevalcoord2d|glevalcoord2dv|glevalcoord2f|glevalcoord2fv|glevalmesh1|glevalmesh2|glevalpoint1|glevalpoint2|glfeedbackbuffer|glfinish|glflush|glfogf|glfogfv|glfogi|glfogiv|glfrontface|glfrustum|glgenlists|glgentextures|glgetbooleanv|glgetclipplane|glgetdoublev|glgeterror|glgetfloatv|glgetintegerv|glgetlightfv|glgetlightiv|glgetmapdv|glgetmapfv|glgetmapiv|glgetmaterialfv|glgetmaterialiv|glgetpixelmapfv|glgetpixelmapuiv|glgetpixelmapusv|glgetpointerv|glgetpolygonstipple|glgetstring|glgettexenvfv|glgettexenviv|glgettexgendv|glgettexgenfv|glgettexgeniv|glgetteximage|glgettexlevelparameterfv|glgettexlevelparameteriv|glgettexparameterfv|glgettexparameteriv|glhint|glindexmask|glindexpointer|glindexd|glindexdv|glindexf|glindexfv|glindexi|glindexiv|glindexs|glindexsv|glindexub|glindexubv|glinitnames|glinterleavedarrays|glisenabled|glislist|glistexture|gllightmodelf|gllightmodelfv|gllightmodeli|gllightmodeliv|gllightf|gllightfv|gllighti|gllightiv|gllinestipple|gllinewidth|gllistbase|glloadidentity|glloadmatrixd|glloadmatrixf|glloadname|gllogicop|glmap1d|glmap1f|glmap2d|glmap2f|glmapgrid1d|glmapgrid1f|glmapgrid2d|glmapgrid2f|glmaterialf|glmaterialfv|glmateriali|glmaterialiv|glmatrixmode|glmultmatrixd|glmultmatrixf|glnewlist|glnormal3b|glnormal3bv|glnormal3d|glnormal3dv|glnormal3f|glnormal3fv|glnormal3i|glnormal3iv|glnormal3s|glnormal3sv|glnormalpointer|glortho|glpassthrough|glpixelmapfv|glpixelmapuiv|glpixelmapusv|glpixelstoref|glpixelstorei|glpixeltransferf|glpixeltransferi|glpixelzoom|glpointsize|glpolygonmode|glpolygonoffset|glpolygonstipple|glpopattrib|glpopclientattrib|glpopmatrix|glpopname|glprioritizetextures|glpushattrib|glpushclientattrib|glpushmatrix|glpushname|glrasterpos2d|glrasterpos2dv|glrasterpos2f|glrasterpos2fv|glrasterpos2i|glrasterpos2iv|glrasterpos2s|glrasterpos2sv|glrasterpos3d|glrasterpos3dv|glrasterpos3f|glrasterpos3fv|glrasterpos3i|glrasterpos3iv|glrasterpos3s|glrasterpos3sv|glrasterpos4d|glrasterpos4dv|glrasterpos4f|glrasterpos4fv|glrasterpos4i|glrasterpos4iv|glrasterpos4s|glrasterpos4sv|glreadbuffer|glreadpixels|glrectd|glrectdv|glrectf|glrectfv|glrecti|glrectiv|glrects|glrectsv|glrendermode|glrotated|glrotatef|glscaled|glscalef|glscissor|glselectbuffer|glshademodel|glstencilfunc|glstencilmask|glstencilop|gltexcoord1d|gltexcoord1dv|gltexcoord1f|gltexcoord1fv|gltexcoord1i|gltexcoord1iv|gltexcoord1s|gltexcoord1sv|gltexcoord2d|gltexcoord2dv|gltexcoord2f|gltexcoord2fv|gltexcoord2i|gltexcoord2iv|gltexcoord2s|gltexcoord2sv|gltexcoord3d|gltexcoord3dv|gltexcoord3f|gltexcoord3fv|gltexcoord3i|gltexcoord3iv|gltexcoord3s|gltexcoord3sv|gltexcoord4d|gltexcoord4dv|gltexcoord4f|gltexcoord4fv|gltexcoord4i|gltexcoord4iv|gltexcoord4s|gltexcoord4sv|gltexcoordpointer|gltexenvf|gltexenvfv|gltexenvi|gltexenviv|gltexgend|gltexgendv|gltexgenf|gltexgenfv|gltexgeni|gltexgeniv|glteximage1d|glteximage2d|gltexparameterf|gltexparameterfv|gltexparameteri|gltexparameteriv|gltexsubimage1d|gltexsubimage2d|gltranslated|gltranslatef|glvertex2d|glvertex2dv|glvertex2f|glvertex2fv|glvertex2i|glvertex2iv|glvertex2s|glvertex2sv|glvertex3d|glvertex3dv|glvertex3f|glvertex3fv|glvertex3i|glvertex3iv|glvertex3s|glvertex3sv|glvertex4d|glvertex4dv|glvertex4f|glvertex4fv|glvertex4i|glvertex4iv|glvertex4s|glvertex4sv|glvertexpointer|glviewport)\\b)"},{"name":"graphics.QB64","match":"(?i:\\b(_glrender|_glaccum|_glalphafunc|_glaretexturesresident|_glarrayelement|_glbegin|_glbindtexture|_glbitmap|_glblendfunc|_glcalllist|_glcalllists|_glclear|_glclearaccum|_glclearcolor|_glcleardepth|_glclearindex|_glclearstencil|_glclipplane|_glcolor3b|_glcolor3bv|_glcolor3d|_glcolor3dv|_glcolor3f|_glcolor3fv|_glcolor3i|_glcolor3iv|_glcolor3s|_glcolor3sv|_glcolor3ub|_glcolor3ubv|_glcolor3ui|_glcolor3uiv|_glcolor3us|_glcolor3usv|_glcolor4b|_glcolor4bv|_glcolor4d|_glcolor4dv|_glcolor4f|_glcolor4fv|_glcolor4i|_glcolor4iv|_glcolor4s|_glcolor4sv|_glcolor4ub|_glcolor4ubv|_glcolor4ui|_glcolor4uiv|_glcolor4us|_glcolor4usv|_glcolormask|_glcolormaterial|_glcolorpointer|_glcopypixels|_glcopyteximage1d|_glcopyteximage2d|_glcopytexsubimage1d|_glcopytexsubimage2d|_glcullface|_gldeletelists|_gldeletetextures|_gldepthfunc|_gldepthmask|_gldepthrange|_gldisable|_gldisableclientstate|_gldrawarrays|_gldrawbuffer|_gldrawelements|_gldrawpixels|_gledgeflag|_gledgeflagpointer|_gledgeflagv|_glenable|_glenableclientstate|_glend|_glendlist|_glevalcoord1d|_glevalcoord1dv|_glevalcoord1f|_glevalcoord1fv|_glevalcoord2d|_glevalcoord2dv|_glevalcoord2f|_glevalcoord2fv|_glevalmesh1|_glevalmesh2|_glevalpoint1|_glevalpoint2|_glfeedbackbuffer|_glfinish|_glflush|_glfogf|_glfogfv|_glfogi|_glfogiv|_glfrontface|_glfrustum|_glgenlists|_glgentextures|_glgetbooleanv|_glgetclipplane|_glgetdoublev|_glgeterror|_glgetfloatv|_glgetintegerv|_glgetlightfv|_glgetlightiv|_glgetmapdv|_glgetmapfv|_glgetmapiv|_glgetmaterialfv|_glgetmaterialiv|_glgetpixelmapfv|_glgetpixelmapuiv|_glgetpixelmapusv|_glgetpointerv|_glgetpolygonstipple|_glgetstring|_glgettexenvfv|_glgettexenviv|_glgettexgendv|_glgettexgenfv|_glgettexgeniv|_glgetteximage|_glgettexlevelparameterfv|_glgettexlevelparameteriv|_glgettexparameterfv|_glgettexparameteriv|_glhint|_glindexmask|_glindexpointer|_glindexd|_glindexdv|_glindexf|_glindexfv|_glindexi|_glindexiv|_glindexs|_glindexsv|_glindexub|_glindexubv|_glinitnames|_glinterleavedarrays|_glisenabled|_glislist|_glistexture|_gllightmodelf|_gllightmodelfv|_gllightmodeli|_gllightmodeliv|_gllightf|_gllightfv|_gllighti|_gllightiv|_gllinestipple|_gllinewidth|_gllistbase|_glloadidentity|_glloadmatrixd|_glloadmatrixf|_glloadname|_gllogicop|_glmap1d|_glmap1f|_glmap2d|_glmap2f|_glmapgrid1d|_glmapgrid1f|_glmapgrid2d|_glmapgrid2f|_glmaterialf|_glmaterialfv|_glmateriali|_glmaterialiv|_glmatrixmode|_glmultmatrixd|_glmultmatrixf|_glnewlist|_glnormal3b|_glnormal3bv|_glnormal3d|_glnormal3dv|_glnormal3f|_glnormal3fv|_glnormal3i|_glnormal3iv|_glnormal3s|_glnormal3sv|_glnormalpointer|_glortho|_glpassthrough|_glpixelmapfv|_glpixelmapuiv|_glpixelmapusv|_glpixelstoref|_glpixelstorei|_glpixeltransferf|_glpixeltransferi|_glpixelzoom|_glpointsize|_glpolygonmode|_glpolygonoffset|_glpolygonstipple|_glpopattrib|_glpopclientattrib|_glpopmatrix|_glpopname|_glprioritizetextures|_glpushattrib|_glpushclientattrib|_glpushmatrix|_glpushname|_glrasterpos2d|_glrasterpos2dv|_glrasterpos2f|_glrasterpos2fv|_glrasterpos2i|_glrasterpos2iv|_glrasterpos2s|_glrasterpos2sv|_glrasterpos3d|_glrasterpos3dv|_glrasterpos3f|_glrasterpos3fv|_glrasterpos3i|_glrasterpos3iv|_glrasterpos3s|_glrasterpos3sv|_glrasterpos4d|_glrasterpos4dv|_glrasterpos4f|_glrasterpos4fv|_glrasterpos4i|_glrasterpos4iv|_glrasterpos4s|_glrasterpos4sv|_glreadbuffer|_glreadpixels|_glrectd|_glrectdv|_glrectf|_glrectfv|_glrecti|_glrectiv|_glrects|_glrectsv|_glrendermode|_glrotated|_glrotatef|_glscaled|_glscalef|_glscissor|_glselectbuffer|_glshademodel|_glstencilfunc|_glstencilmask|_glstencilop|_gltexcoord1d|_gltexcoord1dv|_gltexcoord1f|_gltexcoord1fv|_gltexcoord1i|_gltexcoord1iv|_gltexcoord1s|_gltexcoord1sv|_gltexcoord2d|_gltexcoord2dv|_gltexcoord2f|_gltexcoord2fv|_gltexcoord2i|_gltexcoord2iv|_gltexcoord2s|_gltexcoord2sv|_gltexcoord3d|_gltexcoord3dv|_gltexcoord3f|_gltexcoord3fv|_gltexcoord3i|_gltexcoord3iv|_gltexcoord3s|_gltexcoord3sv|_gltexcoord4d|_gltexcoord4dv|_gltexcoord4f|_gltexcoord4fv|_gltexcoord4i|_gltexcoord4iv|_gltexcoord4s|_gltexcoord4sv|_gltexcoordpointer|_gltexenvf|_gltexenvfv|_gltexenvi|_gltexenviv|_gltexgend|_gltexgendv|_gltexgenf|_gltexgenfv|_gltexgeni|_gltexgeniv|_glteximage1d|_glteximage2d|_gltexparameterf|_gltexparameterfv|_gltexparameteri|_gltexparameteriv|_gltexsubimage1d|_gltexsubimage2d|_gltranslated|_gltranslatef|_glvertex2d|_glvertex2dv|_glvertex2f|_glvertex2fv|_glvertex2i|_glvertex2iv|_glvertex2s|_glvertex2sv|_glvertex3d|_glvertex3dv|_glvertex3f|_glvertex3fv|_glvertex3i|_glvertex3iv|_glvertex3s|_glvertex3sv|_glvertex4d|_glvertex4dv|_glvertex4f|_glvertex4fv|_glvertex4i|_glvertex4iv|_glvertex4s|_glvertex4sv|_glvertexpointer|_glviewport)\\b)"},{"name":"storage.type.QB64","match":"(?i:\\b(Array|Add|Asc|Atn|CBool|CByte|CCur|CDate|CDbl|Chr|CInt|CLng|Conversions|Cos|CSng|CStr|Date|DateAdd|DateDiff|DatePart|DateSerial|DateValue|Day|Derived|Math|Escape|Eval|Exp|Filter|FormatCurrency|FormatDateTime|FormatNumber|FormatPercent|GetLocale|GetRef|Hex|Hour|InputBox|InStr|InStrRev|Int|Fix|IsDate|IsNull|IsNumeric|Item|Items|Join|Keys|LBound|LCase|Left|Len|LoadPicture|Log|Maths|Mid|Minute|Month|MonthName|Oct|Rgb|_Rgb|_rgba|rgba|Right|Rnd|Round|ScriptEngine|ScriptEngineBuildVersion|ScriptEngineMajorVersion|ScriptEngineMinorVersion|Second|SetLocale|Sgn|Sin|Space|Sqr|StrComp|String|StrReverse|Tan|Time|TimeSerial|TimeValue|TypeName|UBound|UCase|Unescape|VarType|Weekday|WeekdayName|Year)\\b)"},{"name":"string.quoted.double.QB64","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.apostrophe.QB64","match":"\"\""}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.QB64"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.QB64"}}},{"name":"variable.other.QB64","match":"(\\$)[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?\\b\\s*","captures":{"1":{"name":"punctuation.definition.variable.QB64"},"2":{"name":"support.function.QB64"}}},{"name":"support.function.QB64","match":"(?i:\\b(Lock|Unlock|SetAbort|SetComplete|BinaryRead|AddHeader|AppendToLog|BinaryWrite|Clear|End|Flush|Redirect|HTMLEncode|MapPath|URLEncode|Abandon|Convert|Regex)\\b)"},{"name":"support.type.QB64","match":"\\b\\w+\\s+as\\s+\\w+\u0008(?!\\s*\\))"},{"name":"constant.numeric.QB64","match":"-?\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f)?\\b"},{"name":"support.function.QB64","match":"(?i:(\\b[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?\\b)(?=\\(\\)?))","captures":{"1":{"name":"entity.name.function.QB64"}}},{"name":"variable.other.QB64","match":"(?i:((?\u003c=(\\+|=|-|\\\u0026|\\\\|/|\u003c|\u003e|\\(|,))\\s*\\b([a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?)\\b(?!(\\(|\\.))|\\b([a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?)\\b(?=\\s*(\\+|=|-|\\\u0026|\\\\|/|\u003c|\u003e|\\(|\\)))))"}],"repository":{"round-brackets":{"name":"meta.round-brackets","begin":"\\(","end":"\\)","patterns":[{"include":"source.QB64"}],"beginCaptures":{"0":{"name":"punctuation.section.round-brackets.begin.QB64"}},"endCaptures":{"0":{"name":"punctuation.section.round-brackets.end.QB64"}}}}}
|