name: Active4D fileTypes: []

scopeName: source.active4d repository:

escaped_char: 
  name: constant.character.escape.active4d
  match: \\.
interpolated_variable: 
  name: variable.other.interpolated.local.active4d
  captures: 
    "1": 
      name: punctuation.definition.variable.active4d
  match: (\$)[\w_]+({(".+?"|\d+|\$[\w_]+)})*(\[\[\d+\]\])*
interpolated_table_field: 
  name: variable.other.interpolated.table-field.active4d
  match: \[\w[\w_ ]*\][\w_]+(\[\[\d+\]\])*
interpolated_string: 
  patterns: 
  - include: "#escaped_char"
  - include: "#interpolated_code"
  - include: "#interpolated_table_field"
  - include: "#interpolated_variable"
  - include: "#interpolated_collection_ref"
interpolated_code: 
  name: source.interpolated.active4d
  endCaptures: 
    "0": 
      name: punctuation.definition.string.end.active4d
  begin: "`"
  beginCaptures: 
    "0": 
      name: punctuation.definition.string.begin.active4d
  end: "`"
  patterns: 
  - include: $self
interpolated_collection_ref: 
  name: variable.other.interpolated.collection-ref.active4d
  match: (_form|_query|_request|globals|session)({(".+?"|\d+|\$[\w_]+)})+(\[\[\d+\]\])*
fusedoc: 
  name: text.xml
  begin: (?=^\s*<fusedoc )
  end: (?<=</fusedoc>)
  patterns: 
  - include: text.xml

uuid: 8C2BF09D-AE95-479B-B516-F8DB62C86A0C foldingStartMarker: |-

(?x)
              (^\s*(?i:if|while|for\ each|for|case\ of|repeat|method|save output)\b
              )

patterns:

foldingStopMarker: |-

(?x)
              (^\s*(?i:end\ (if|while|for\ each|for|case|method|save output)|until)\b
              )

keyEquivalent: ^~A