name: Slate fileTypes:
-
slate
scopeName: source.slate repository:
unary-selector: match: \b([A-Za-z_][A-Za-z_0-9]+)\b escaped-char: match: \\. binary-selector: match: \b([=+-\/?<>,;^*]+[A-Za-z0-9_=+-\/?<>,;^*]+[=+-\/?<>,;^*]+)\b nest_parens: begin: \( end: \) patterns: - include: "#nest_parens" keyword: name: variable.other.slate match: \b([A-Za-z_][A-Za-z_0-9]+:)\b nest_curly: begin: \{ end: \} patterns: - include: "#nest_curly"
uuid: A7676F36-C7D2-4C3E-8519-944577C66C6A foldingStartMarker: ^s*+@.+$ patterns:
-
name: keyword.control.slate match: b(ifTrue:|ifFalse:|whileTrue:|whileFalse:|loop|ifNil:|ifNotNil:|ifNotNilDo:|if:|then:|else:|do:|^|error:|warn:|signal)b
-
name: keyword.operator.slate match: b(clone|new|copy|resend|forwardTo:|is:|isReally:|as:|[-+=<>,;/*]+)b
-
name: keyword.other.name-of-parameter.slate match: “&[A-Za-z0-9_]+:?”
-
name: variable.language.slate match: b(lobby|it|thisContext|here)b
-
name: string.quoted.double.slate endCaptures:
"0": name: punctuation.definition.string.end.slate
begin: “"” beginCaptures:
"0": name: punctuation.definition.string.begin.slate
end: “"” patterns:
-
name: constant.character.escape.slate match: \.
-
-
name: string.quoted.single.slate endCaptures:
"0": name: punctuation.definition.string.end.slate
begin: “'” beginCaptures:
"0": name: punctuation.definition.string.begin.slate
end: “'” patterns:
-
name: constant.character.escape.slate match: \.
-
-
name: meta.array.slate endCaptures:
"0": name: punctuation.definition.array.end.slate
begin: #{ beginCaptures:
"0": name: punctuation.definition.array.begin.slate
end: } patterns:
-
include: “#nest_curly”
-
include: $self
-
-
name: meta.array.literal.slate endCaptures:
"0": name: punctuation.definition.array.end.slate
begin: #( beginCaptures:
"0": name: punctuation.definition.array.begin.slate
end: ) patterns:
-
include: “#nest_parens”
comment: Should restrict contents to literals.
-
-
name: meta.block.compact.slate match: “#([[:lower:]]|_|)(\w|[+=\-/!%&*|><~?:])*”
-
name: meta.block.slate captures:
"1": name: punctuation.section.block.slate "2": name: variable.parameter.block.slate
begin: ([)(?:s*|s*((?::w+s+)*:w+)s*|)? end: (]) patterns:
-
name: meta.block.header.slate match: s+
-
name: meta.block.content.slate captures:
"1": name: variable.other.local.slate
begin: (?:|(s*(?:w+s+)*w+s*)?||(?=[^s|])) end: (?=]) patterns:
-
include: $base
-
-
-
name: meta.definition.slate begin: “define: #(\w+)” beginCaptures:
"1": name: entity.name.type.slate
end: s
-
name: variable.parameter.slate match: b(:w+|w+@)
-
name: keyword.operator.logical.slate match: b(/\|\/|and:|or:|not|xor:)b
-
name: constant.language.slate match: b(True|False|Nil|NoRole)b
-
name: constant.numeric.slate match: b[+-]?([0-9]
[Rr][0-9A-Za-z]
([0-9A-Za-z]+)?|+([.][0-9]+)?)b -
name: constant.character.slate captures:
"1": name: punctuation.definition.constant.slate
match: ($)(S|\[\ntsbre0avf])
-
name: constant.other.slate captures:
"1": name: punctuation.definition.constant.slate
match: (#)S+
-
name: support.class.slate match: (bw+ traitsb)
-
name: keyword.control.import.slate match: `[-A-Za-z0-9+=*^<>?,;/\]+:?
-
name: invalid.deprecated.trailing-whitespace.slate match: s+$
-
include: “#keyword”
-
name: meta.function.unary.slate endCaptures:
"1": name: entity.name.function.slate
begin: (w+)@ beginCaptures:
"1": name: variable.parameter.function.slate
end: ($|[) patterns:
-
include: $self
-
foldingStopMarker: ^.*(])[A-z ]*.$ keyEquivalent: ^~S