Skip to content

Commit 1a3aa30

Browse files
committed
ST6RI-645 Revised the Jupyter highlighting to account for new # operator
- Also updated org.omg.sysml.editor.feature version to 0.32.0.
1 parent 7150e54 commit 1a3aa30

7 files changed

Lines changed: 38 additions & 10 deletions

File tree

org.omg.sysml.editor.feature/feature.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
<feature
33
id="org.omg.sysml.editor.feature"
44
label="SysML v2 XMI Editor Feature"
5-
version="0.31.0.qualifier">
5+
version="0.32.0.qualifier"
6+
provider-name="SysML v2 Submission Team">
67

78
<description url="http://www.example.com/description">
89
UI plugins for the SysML v2 pilot implementation of editors for

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ export function defineSysMLv2Mode(): void {
7979
return false;
8080
},
8181
"#": function(stream: CodeMirror.StringStream) {
82+
let b_first = true;
8283
do {
8384
if (stream.match("'", true)) {
8485
let b_escaped = false;
@@ -87,9 +88,12 @@ export function defineSysMLv2Mode(): void {
8788
if(s_next === "'" && !b_escaped) break;
8889
b_escaped = !b_escaped && s_next === '\\';
8990
}
90-
} else {
91+
} else if (stream.match(/\w/, true)) {
9192
stream.eatWhile(/\w/);
93+
} else if (b_first) {
94+
return 'operator';
9295
}
96+
b_first = false;
9397
} while (stream.match('::', true))
9498
return 'keyword';
9599
},

org.omg.sysml.jupyter.kernel/src/main/resources/kernel/kernel.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ var enableMode = function (CodeMirror) {
9292
return false;
9393
},
9494
"#": function(stream: CodeMirror.StringStream) {
95+
do {
96+
let b_first = true;
9597
do {
9698
if (stream.match("'", true)) {
9799
let b_escaped = false;
@@ -100,10 +102,13 @@ var enableMode = function (CodeMirror) {
100102
if(s_next === "'" && !b_escaped) break;
101103
b_escaped = !b_escaped && s_next === '\\';
102104
}
103-
} else {
105+
} else if (stream.match(/\w/, true)) {
104106
stream.eatWhile(/\w/);
107+
} else if (b_first) {
108+
return 'operator';
105109
}
106-
} while (stream.match('::', true))
110+
b_first = false;
111+
} while (stream.match('::', true))
107112
return 'keyword';
108113
},
109114
}

tool-support/syntax-highlighting/jupyter/kernel.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ var enableMode = function (CodeMirror) {
9292
return false;
9393
},
9494
"#": function(stream: CodeMirror.StringStream) {
95+
do {
96+
let b_first = true;
9597
do {
9698
if (stream.match("'", true)) {
9799
let b_escaped = false;
@@ -100,10 +102,13 @@ var enableMode = function (CodeMirror) {
100102
if(s_next === "'" && !b_escaped) break;
101103
b_escaped = !b_escaped && s_next === '\\';
102104
}
103-
} else {
105+
} else if (stream.match(/\w/, true)) {
104106
stream.eatWhile(/\w/);
107+
} else if (b_first) {
108+
return 'operator';
105109
}
106-
} while (stream.match('::', true))
110+
b_first = false;
111+
} while (stream.match('::', true))
107112
return 'keyword';
108113
},
109114
}

tool-support/syntax-highlighting/jupyter/kernel_template.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ var enableMode = function (CodeMirror) {
7777
return false;
7878
},
7979
"#": function(stream: CodeMirror.StringStream) {
80+
do {
81+
let b_first = true;
8082
do {
8183
if (stream.match("'", true)) {
8284
let b_escaped = false;
@@ -85,10 +87,13 @@ var enableMode = function (CodeMirror) {
8587
if(s_next === "'" && !b_escaped) break;
8688
b_escaped = !b_escaped && s_next === '\\';
8789
}
88-
} else {
90+
} else if (stream.match(/\w/, true)) {
8991
stream.eatWhile(/\w/);
92+
} else if (b_first) {
93+
return 'operator';
9094
}
91-
} while (stream.match('::', true))
95+
b_first = false;
96+
} while (stream.match('::', true))
9297
return 'keyword';
9398
},
9499
}

tool-support/syntax-highlighting/jupyter/mode.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ export function defineSysMLv2Mode(): void {
7979
return false;
8080
},
8181
"#": function(stream: CodeMirror.StringStream) {
82+
let b_first = true;
8283
do {
8384
if (stream.match("'", true)) {
8485
let b_escaped = false;
@@ -87,9 +88,12 @@ export function defineSysMLv2Mode(): void {
8788
if(s_next === "'" && !b_escaped) break;
8889
b_escaped = !b_escaped && s_next === '\\';
8990
}
90-
} else {
91+
} else if (stream.match(/\w/, true)) {
9192
stream.eatWhile(/\w/);
93+
} else if (b_first) {
94+
return 'operator';
9295
}
96+
b_first = false;
9397
} while (stream.match('::', true))
9498
return 'keyword';
9599
},

tool-support/syntax-highlighting/jupyter/mode_template.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ export function defineSysMLv2Mode(): void {
6464
return false;
6565
},
6666
"#": function(stream: CodeMirror.StringStream) {
67+
let b_first = true;
6768
do {
6869
if (stream.match("'", true)) {
6970
let b_escaped = false;
@@ -72,9 +73,12 @@ export function defineSysMLv2Mode(): void {
7273
if(s_next === "'" && !b_escaped) break;
7374
b_escaped = !b_escaped && s_next === '\\';
7475
}
75-
} else {
76+
} else if (stream.match(/\w/, true)) {
7677
stream.eatWhile(/\w/);
78+
} else if (b_first) {
79+
return 'operator';
7780
}
81+
b_first = false;
7882
} while (stream.match('::', true))
7983
return 'keyword';
8084
},

0 commit comments

Comments
 (0)