diff --git a/package-lock.json b/package-lock.json
index 0f89c5e..3b6f35f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,15 +1,16 @@
{
"name": "rcheck",
- "version": "0.0.1",
+ "version": "0.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "rcheck",
- "version": "0.0.1",
+ "version": "0.1.0",
"dependencies": {
"@types/ejs": "^3.1.5",
"@vscode-elements/elements": "^2.3.1",
+ "@vscode/codicons": "^0.0.44",
"axios": "^1.9.0",
"chalk": "~5.6.0",
"commander": "~11.0.0",
@@ -2537,8 +2538,7 @@
"version": "0.0.44",
"resolved": "https://registry.npmjs.org/@vscode/codicons/-/codicons-0.0.44.tgz",
"integrity": "sha512-F7qPRumUK3EHjNdopfICLGRf3iNPoZQt+McTHAn4AlOWPB3W2kL4H0S7uqEqbyZ6rCxaeDjpAn3MCUnwTu/VJQ==",
- "license": "CC-BY-4.0",
- "peer": true
+ "license": "CC-BY-4.0"
},
"node_modules/@vscode/iconv-lite-umd": {
"version": "0.7.0",
diff --git a/package.json b/package.json
index f4e6343..38524d6 100644
--- a/package.json
+++ b/package.json
@@ -46,6 +46,7 @@
"dependencies": {
"@types/ejs": "^3.1.5",
"@vscode-elements/elements": "^2.3.1",
+ "@vscode/codicons": "^0.0.44",
"axios": "^1.9.0",
"chalk": "~5.6.0",
"commander": "~11.0.0",
diff --git a/src/extension/cex.ts b/src/extension/cex.ts
index 017d56b..5480794 100644
--- a/src/extension/cex.ts
+++ b/src/extension/cex.ts
@@ -32,32 +32,3 @@ export function renderStep(trace: Step[], x: Step) {
return render;
}
-export function formatStep(render: State) {
- return `
-
-${Object.keys(render).sort().map(agent => (
- `
- | ${agent}: |
- ${
- Object.keys(render[agent])
- .sort()
- .filter(k => (k === "**state**") || !k.startsWith("**"))
- .map(k => `${(k === "**state**") ? "state" : k}: ${render[agent][k]}`)
- .filter(s => s.trim().length > 0)
- .join(", ")
- } |
-
`
-)).join("\n")}
-
`
-}
-
-export function formatTransition(t: Transition) {
- const isSupplyGet = t.hasOwnProperty("___get-supply___");
- return `
- | ${isSupplyGet ? "Supplier" : "Sender"}: |
- ${t.sender} |
- | Command: | ${t.send} |
- | ${isSupplyGet ? "Getter" : "Receivers"}: |
- ${t.receivers.join(", ")} |
-
`
- }
diff --git a/src/extension/common.ts b/src/extension/common.ts
index 6b74cdf..2d80a50 100644
--- a/src/extension/common.ts
+++ b/src/extension/common.ts
@@ -54,13 +54,19 @@ export async function renderTemplate(ctx: vscode.ExtensionContext, fname: string
const elementsUri = webview.asWebviewUri(
vscode.Uri.joinPath(
ctx.extensionUri,
- "node_modules",
- "@vscode-elements/elements",
- "dist",
- "bundled.js"
+ "node_modules", "@vscode-elements",
+ "elements", "dist", "bundled.js"
+ )
+ );
+ const codiconsUri = webview.asWebviewUri(
+ vscode.Uri.joinPath(
+ ctx.extensionUri,
+ "node_modules", "@vscode", "codicons",
+ "dist", "codicon.css"
)
);
data["elementsUri"] = elementsUri;
+ data["codiconsUri"] = codiconsUri;
data["cspSource"] = webview.cspSource;
const html = ejs.renderFile(filePath, data);
return html;
diff --git a/src/extension/html/_step.html b/src/extension/html/_step.html
new file mode 100644
index 0000000..bcd5376
--- /dev/null
+++ b/src/extension/html/_step.html
@@ -0,0 +1,38 @@
+{% if (transition != undefined) { %}
+
+
+
+
+ | {%= isSupplyGet ? "Supplier" : "Sender" %}: |
+ {%= transition.sender %} |
+ | Command: | {%= transition.send %} |
+ | {%= isSupplyGet ? "Getter" : "Receivers" %}: |
+ {%= transition.receivers.join(", ") %} |
+
+
+
+{% } %}
+
+
+{%= depth %}
+{% if (loop) { %}
Loop starts here{% } %}
+{% if (deadlock) { %}
Deadlock state{% } %}
+
+
+
+ {% Object.keys(step).sort().forEach(function(agent) { %}
+
+ {%= agent %}: |
+
+ {% Object.keys(step[agent]).filter(k => (k === "**state**") || !k.startsWith("**")).sort().forEach(function(varName) { %}
+ {% if (varName === "**state**") { %}
+ state
+ {% } else { %}
+ {%= varName %}
+ {% } %}: {%= step[agent][varName] %}
+ {% }); %}
+ |
+ {% }); %}
+
+
+
\ No newline at end of file
diff --git a/src/extension/html/_verify.single.html b/src/extension/html/_verify.single.html
new file mode 100644
index 0000000..476acb8
--- /dev/null
+++ b/src/extension/html/_verify.single.html
@@ -0,0 +1,21 @@
+{%= spec %}
+{% if (isTrue) { %} ✅
+{% } else if (isFalse) { %} ❌
+{% } else { %} ❔ {% } %}
+
+
+
+
+#
+Changed Variables
+
+
+ {%- tbody %}
+
+
+
+
\ No newline at end of file
diff --git a/src/extension/html/simulate.html b/src/extension/html/simulate.html
index f04f6a0..c017118 100644
--- a/src/extension/html/simulate.html
+++ b/src/extension/html/simulate.html
@@ -4,7 +4,7 @@
- Simulator: {%=fname%}
+ R-CHECK simulator: {%=fname%}