Skip to content

Commit 99b3a57

Browse files
committed
ST6RI-521 Added user-keyword highlighting for Jupyter.
- Also ran the syntax highlighting generation tool.
1 parent 4d47e10 commit 99b3a57

1 file changed

Lines changed: 22 additions & 7 deletions

File tree

  • org.omg.sysml.jupyter.jupyterlab/src/main

org.omg.sysml.jupyter.jupyterlab/src/main/mode.ts

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@ export function defineSysMLv2Mode(): void {
4242
"analysis", "and", "as", "assert", "assign", "assume", "at", "attribute", "bind", "binding", "by",
4343
"calc", "case", "comment", "concern", "connect", "connection", "constraint", "decide", "def", "default",
4444
"defined", "dependency", "derived", "do", "doc", "else", "end", "entry", "enum", "event", "exhibit",
45-
"exit", "expose", "feature", "filter", "first", "flow", "for", "fork", "frame", "from", "hastype", "if",
46-
"implies", "import", "in", "include", "individual", "inout", "interface", "istype", "item", "join",
47-
"language", "loop", "merge", "message", "metadata", "nonunique", "not", "objective", "occurrence", "of",
48-
"or", "ordered", "out", "package", "parallel", "part", "perform", "port", "private", "protected",
49-
"public", "readonly", "redefines", "ref", "render", "rendering", "rep", "require", "requirement",
50-
"return", "satisfy", "send", "snapshot", "specializes", "stakeholder", "state", "subject", "subsets",
45+
"exit", "expose", "filter", "first", "flow", "for", "fork", "frame", "from", "hastype", "if", "implies",
46+
"import", "in", "include", "individual", "inout", "interface", "istype", "item", "join", "language",
47+
"loop", "merge", "message", "metadata", "nonunique", "not", "objective", "occurrence", "of", "or",
48+
"ordered", "out", "package", "parallel", "part", "perform", "port", "private", "protected", "public",
49+
"readonly", "redefines", "ref", "render", "rendering", "rep", "require", "requirement", "return",
50+
"satisfy", "send", "snapshot", "specializes", "stakeholder", "state", "subject", "subsets",
5151
"succession", "then", "timeslice", "to", "transition", "until", "use", "variant", "variation",
5252
"verification", "verify", "via", "view", "viewpoint", "when", "while", "xor"
5353
].reduce(f_wordify, {}),
@@ -77,7 +77,22 @@ export function defineSysMLv2Mode(): void {
7777
if(stream.match('/*', false)) stream.next();
7878
return false;
7979
},
80-
},
80+
"#": function(stream: CodeMirror.StringStream) {
81+
do {
82+
if (stream.match("'", true)) {
83+
let b_escaped = false;
84+
let s_next;
85+
while(s_next = stream.next()) {
86+
if(s_next === "'" && !b_escaped) break;
87+
b_escaped = !b_escaped && s_next === '\\';
88+
}
89+
} else {
90+
stream.eatWhile(/\w/);
91+
}
92+
} while (stream.match('::', true))
93+
return 'keyword';
94+
},
95+
},
8196
});
8297
});
8398

0 commit comments

Comments
 (0)