--- 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"