name: Eiffel fileTypes:
-
e
scopeName: source.eiffel repository:
number: match: "[0-9]+" variable: match: "[a-zA-Z0-9_]+"
uuid: 34672373-DED9-45B8-AF7E-2E4B6C3D6B76 foldingStartMarker: (class|once|do|external) patterns:
-
name: comment.line.double-dash.eiffel captures:
"1": name: punctuation.definition.comment.eiffel
match: (–).*$n?
-
name: keyword.control.eiffel match: b(Indexing|indexing|deferred|expanded|class|inherit|rename|as|export|undefine|redefine|select|all|create|creation|feature|prefix|infix|separate|frozen|obsolete|local|is|unique|do|once|external|alias|require|ensure|invariant|variant|rescue|retry|like|check|if|else|elseif|then|inspect|when|from|loop|until|debug|not|or|and|xor|implies|old|end)b
-
name: variable.other.eiffel match: “[a-zA-Z_]+”
-
name: constant.language.eiffel match: b(True|true|False|false|Void|void|Result|result)b
-
name: meta.features.eiffel begin: feature end: end
-
name: meta.effective_routine_body.eiffel begin: (do|once) end: (ensure|end)
-
name: meta.rescue.eiffel begin: rescue end: end
-
name: string.quoted.double.eiffel endCaptures:
"0": name: punctuation.definition.string.end.eiffel
begin: “"” beginCaptures:
"0": name: punctuation.definition.string.begin.eiffel
end: “"” patterns:
-
name: constant.character.escape.eiffel match: \.
-
-
name: constant.numeric.eiffel match: “[0-9]+”
-
name: storage.modifier.eiffel match: b(deferred|expanded)b
-
name: meta.definition.class.eiffel captures:
"1": name: storage.modifier.eiffel
begin: |-
^\s* ((?:\b(deferred|expanded)\b\s*)*) # modifier (class)\s+ (\w+)\s* # identifier
end: (?=end) patterns:
-
name: meta.definition.class.extends.java captures:
"1": name: storage.modifier.java
begin: b(extends)bs+ end: (?={|implements) patterns:
-
include: “#all-types”
-
-
name: meta.definition.class.implements.java captures:
"1": name: storage.modifier.java
begin: b(implements)bs+ end: (?={|extends) patterns:
-
include: “#all-types”
-
-
foldingStopMarker: (ensure|end) keyEquivalent: ^~E