name: Modula-3 fileTypes:
-
m3
-
cm3
scopeName: source.modula-3 uuid: 479D53FA-6ED6-11D9-8471-0011242E4184 patterns:
-
name: keyword.other.modula-3 match: b(ANY|ARRAY|AS|BEGIN|BITS|BRANDED|BY|CASE|CONST|DIV|DO|ELSE|ELSIF|END|EVAL|EXCEPT|EXCEPTION|EXIT|EXPORTS|FINALLY|FOR|FROM|GENERIC|IF|IMPORT|INTERFACE|LOCK|LOOP|METHODS|MOD|MODULE|OBJECT|OF|OVERRIDES|PROCEDURE|RAISE|RAISES|READONLY|RECORD|REF|REPEAT|RETURN|REVEAL|ROOT|SET|THEN|TO|TRY|TYPE|TYPECASE|UNSAFE|UNTIL|UNTRACED|VALUE|VAR|WHILE|WITH|IN|NOT|AND|OR)b
-
name: storage.type.modula-3 match: b(ABS|ADDRESS|ADR|ADRSIZE|BITSIZE|BOOLEAN|BYTESIZE|CARDINAL|CEILING|CHAR|DEC|DISPOSE|EXTENDED|FIRST|FLOAT|FLOOR|INC|INTEGER|ISTYPE|LAST|LONGREAL|LOOPHOLE|MAX|MIN|MUTEX|NARROW|NEW|NUMBER|ORD|REAL|REFANY|ROUND|SUBARRAY|TEXT|TRUNC|TYPECODE|VAL)b
-
name: constant.language.modula-3 match: b(FALSE|NIL|NULL|TRUE)b
-
name: constant.numeric.modula-3 match: b((0(x|X)[0-9a-fA-F]*)|(([0-9]+.?*)|(.[0-9]+))((e|E)(+|-)?+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?b
-
name: string.quoted.single.modula-3 endCaptures:
"0": name: punctuation.definition.string.end.modula-3
begin: “'” beginCaptures:
"0": name: punctuation.definition.string.begin.modula-3
end: “'” patterns:
-
name: constant.character.escape.modula-3 match: \([ntrf\‘“]|({3}))
-
-
name: string.quoted.double.modula-3 endCaptures:
"0": name: punctuation.definition.string.end.modula-3
begin: “"” beginCaptures:
"0": name: punctuation.definition.string.begin.modula-3
end: “"” patterns:
-
name: constant.character.escape.modula-3 match: \([ntrf\‘“]|({3}))
-
-
name: comment.block.modula-3 captures:
"0": name: punctuation.definition.comment.modula-3
begin: (* end: *)
keyEquivalent: ^~M