--- 
name: F-Script
fileTypes: 
- fscript
scopeName: source.fscript
uuid: C2CB9A74-C9FC-4F63-8BAF-E64B72A60DD4
foldingStartMarker: \[
patterns: 
- name: meta.dummy.symbol.ignore.fscript
  match: "(:|\\w):"
- name: constant.other.symbol.fscript
  captures: 
    "1": 
      name: punctuation.definition.symbol.fscript
  match: (:)\w+\b
- name: constant.numeric.fscript
  match: \b((([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b
- name: constant.other.block.compact.fscript
  match: "#([[:lower:]]|_|[+=\\-/!%&*|><~?])(\\w|[+=\\-/!%&*|><~?:])*"
- name: meta.block.empty.fscript
  captures: 
    "1": 
      name: punctuation.section.block.fscript
    "2": 
      name: variable.parameter.block.fscript
    "3": 
      name: punctuation.section.block.fscript
  match: (\[)(?:\s*((?::\w+\s+)*:\w+)\s*\|)?\s*(\])
- name: meta.block.fscript
  endCaptures: 
    "0": 
      name: punctuation.section.block.fscript
  begin: (\[)(?:\s*((?::\w+\s+)*:\w+)\s*\|)?
  beginCaptures: 
    "1": 
      name: punctuation.section.block.fscript
    "2": 
      name: variable.parameter.block.fscript
  end: \]
  patterns: 
  - name: meta.block.header.fscript
    match: \s+
  - name: meta.block.content.fscript
    captures: 
      "1": 
        name: variable.other.local.fscript
    begin: (?:\|(\s*(?:\w+\s+)*\w+\s*)?\||(?=[^\s|]))
    end: (?=\])
    patterns: 
    - include: $base
- name: constant.language.fscript
  match: \b(true|YES|false|NO|sys|nil)\b
- captures: 
    "1": 
      name: entity.name.function.fscript
  match: ^(\w+)\s*:=\s*(?=\[)
  comment: a hack for the symbol popup
- name: comment.block.quotes.fscript
  endCaptures: 
    "0": 
      name: punctuation.definition.comment.end.fscript
  begin: "\""
  beginCaptures: 
    "0": 
      name: punctuation.definition.comment.begin.fscript
  end: "\""
- name: string.quoted.single.fscript
  endCaptures: 
    "0": 
      name: punctuation.definition.string.end.fscript
  begin: "'"
  beginCaptures: 
    "0": 
      name: punctuation.definition.string.begin.fscript
  end: "'"
  patterns: 
  - name: constant.character.escape.fscript
    match: \\.
foldingStopMarker: \]
keyEquivalent: ^~F
