diff --git a/CHANGELOG.md b/CHANGELOG.md
index ce34aa1..9109635 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
## Change Log
+### 0.21.9
+
+- HTML preview for template markdown text
+
### 0.21.8
- Support triggering templates without a `state.json` file
diff --git a/README.md b/README.md
index 2badb10..c365d53 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@
The Accord Project extension helps developers to create, test and debug [Accord Project](https://accordproject.org) templates.
-For a step-by-step guide on getting started with the extension's features, access our [Beginner Tutorial](https://docs.accordproject.org). For more comprehensive documentation, [follow this link.](https://docs.accordproject.org)
+For a step-by-step guide on getting started with the extension's features, access our [VS Code Tutorial](https://docs.accordproject.org/docs/next/tutorial-vscode.html). For more comprehensive documentation, [follow this link.](https://docs.accordproject.org)
![Accord Project Extension Homepage](assets/VSCodeImage.png)
@@ -29,6 +29,7 @@ Please visit the [Visual Studio Code Marketplace](https://marketplace.visualstud
- Trigger templates (send them data and view the results)
- Syntax highlighting for all files
- Compilation and problem markers
+- HTML preview for template markdown text
### Commands
@@ -37,6 +38,9 @@ Please visit the [Visual Studio Code Marketplace](https://marketplace.visualstud
- Generate PlantUML class diagram (context-click on root folder)
- Trigger a template, parsing data from sample.md and passing in `request.json` and `state.json` (context-click on root folder)
+### Views
+- HTML preview for template text (open `grammar.tem.md` and then press the _Show Preview_ icon in the editor menu)
+
### Quick Fixes
- Add a variable to the template model if an undeclared variable is used in `grammar.tem.md`. _Note that the `model.cto` file must be open for the quick fix to be available._
diff --git a/assets/dark/open-preview.svg b/assets/dark/open-preview.svg
new file mode 100644
index 0000000..fb64df5
--- /dev/null
+++ b/assets/dark/open-preview.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/assets/light/open-preview.svg b/assets/light/open-preview.svg
new file mode 100644
index 0000000..072cf29
--- /dev/null
+++ b/assets/light/open-preview.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/client/package-lock.json b/client/package-lock.json
index de56368..7f75272 100644
--- a/client/package-lock.json
+++ b/client/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "cicero-vscode-extension-client",
- "version": "0.21.6",
+ "version": "0.21.9",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@accordproject/cicero-core": {
- "version": "0.21.0",
- "resolved": "https://registry.npmjs.org/@accordproject/cicero-core/-/cicero-core-0.21.0.tgz",
- "integrity": "sha512-EK2HyAxyLbogMJtKZN8E0zjBVtW1eOFN4nfdfLRjd8FqcftC90PpxjumRNgUWuDeNXgRDxTO5bzO5VQRRNXX/Q==",
- "requires": {
- "@accordproject/concerto-core": "0.82.7",
- "@accordproject/ergo-compiler": "^0.21.0",
- "@accordproject/ergo-engine": "^0.21.0",
- "@accordproject/markdown-cicero": "^0.12.0",
- "@accordproject/markdown-common": "^0.12.0",
- "@accordproject/markdown-html": "^0.12.0",
- "@accordproject/markdown-slate": "^0.12.0",
- "@accordproject/markdown-template": "^0.12.0",
+ "version": "0.21.1",
+ "resolved": "https://registry.npmjs.org/@accordproject/cicero-core/-/cicero-core-0.21.1.tgz",
+ "integrity": "sha512-L3BpH8irGIC3endojvr/nf1gHGAsyvDkiwJlpCNNlL9uaL82jYwooSWcgSSeYqnWZgkh3E5gEUhL6fm8Sk/g9w==",
+ "requires": {
+ "@accordproject/concerto-core": "0.82.8",
+ "@accordproject/ergo-compiler": "0.21.1",
+ "@accordproject/ergo-engine": "0.21.1",
+ "@accordproject/markdown-cicero": "^0.12.2",
+ "@accordproject/markdown-common": "^0.12.2",
+ "@accordproject/markdown-html": "^0.12.2",
+ "@accordproject/markdown-slate": "^0.12.2",
+ "@accordproject/markdown-template": "^0.12.2",
"axios": "0.19.0",
"debug": "4.1.0",
"ietf-language-tag-regex": "0.0.5",
@@ -30,50 +30,15 @@
"slash": "3.0.0",
"uuid": "3.3.2",
"xregexp": "4.2.4"
- },
- "dependencies": {
- "@accordproject/concerto-core": {
- "version": "0.82.7",
- "resolved": "https://registry.npmjs.org/@accordproject/concerto-core/-/concerto-core-0.82.7.tgz",
- "integrity": "sha512-b5zARaPPuQAppKj0NbJU49BYWHFO0+NKzeyk4oPSYCRgu3Ld4v5Yy3leWlMHspXSRZFRm/xpHGPh0CVBvgfC5Q==",
- "requires": {
- "axios": "0.19.0",
- "debug": "4.1.1",
- "fast-safe-stringify": "2.0.7",
- "jsome": "2.5.0",
- "lorem-ipsum": "1.0.6",
- "moment-mini": "2.22.1",
- "slash": "3.0.0",
- "triple-beam": "1.3.0",
- "urijs": "1.19.1",
- "uuid": "3.3.2",
- "winston": "3.2.1"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "requires": {
- "ms": "^2.1.1"
- }
- }
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- }
}
},
"@accordproject/cicero-engine": {
- "version": "0.21.0",
- "resolved": "https://registry.npmjs.org/@accordproject/cicero-engine/-/cicero-engine-0.21.0.tgz",
- "integrity": "sha512-MylhOuLB7N9HbIuOuP4Wf0YIIvuxZti69lqZhudLr1JoZ5o0C9evFYJYYnlOLq4UFC9A4LFvlWKElkcxnfvmBA==",
+ "version": "0.21.1",
+ "resolved": "https://registry.npmjs.org/@accordproject/cicero-engine/-/cicero-engine-0.21.1.tgz",
+ "integrity": "sha512-lRW7cPbsvbFBbY1YvP4wHjoE2b0jmGPbo+7BIIrazj7L324mcBC4c0ebw1RCBQCMe8nXVIWMsbxJ5ZqoHGuZMg==",
"requires": {
- "@accordproject/cicero-core": "0.21.0",
- "@accordproject/ergo-engine": "^0.21.0",
+ "@accordproject/cicero-core": "0.21.1",
+ "@accordproject/ergo-engine": "0.21.1",
"moment-mini": "2.22.1"
}
},
@@ -265,11 +230,11 @@
}
},
"@accordproject/ergo-compiler": {
- "version": "0.21.0",
- "resolved": "https://registry.npmjs.org/@accordproject/ergo-compiler/-/ergo-compiler-0.21.0.tgz",
- "integrity": "sha512-/FJhx4gGJbIMoigAoFjyoWYLDLLGzcsjDneTJhlqpLgBE2IuyaV305N98cUJxavIHQytmbqX2m0kmpG0eP2gKA==",
+ "version": "0.21.1",
+ "resolved": "https://registry.npmjs.org/@accordproject/ergo-compiler/-/ergo-compiler-0.21.1.tgz",
+ "integrity": "sha512-AIBL4Ef73mXX3vFZFcxs2tx5F0735aA2ANSN7VN0jyl5Jm1AaF+k7+uDMT/lkhU4k9hi2GVXhU4tKXX5+HTudQ==",
"requires": {
- "@accordproject/concerto-core": "0.82.7",
+ "@accordproject/concerto-core": "0.82.8",
"acorn": "5.1.2",
"debug": "4.1.0",
"doctrine": "3.0.0",
@@ -281,128 +246,90 @@
"winston": "3.2.1"
},
"dependencies": {
- "@accordproject/concerto-core": {
- "version": "0.82.7",
- "resolved": "https://registry.npmjs.org/@accordproject/concerto-core/-/concerto-core-0.82.7.tgz",
- "integrity": "sha512-b5zARaPPuQAppKj0NbJU49BYWHFO0+NKzeyk4oPSYCRgu3Ld4v5Yy3leWlMHspXSRZFRm/xpHGPh0CVBvgfC5Q==",
- "requires": {
- "axios": "0.19.0",
- "debug": "4.1.1",
- "fast-safe-stringify": "2.0.7",
- "jsome": "2.5.0",
- "lorem-ipsum": "1.0.6",
- "moment-mini": "2.22.1",
- "slash": "3.0.0",
- "triple-beam": "1.3.0",
- "urijs": "1.19.1",
- "uuid": "3.3.2",
- "winston": "3.2.1"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "fast-safe-stringify": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz",
- "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA=="
- }
- }
- },
"fast-safe-stringify": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.5.tgz",
"integrity": "sha512-QHbbCj2PmRSMNL9P7EuNBCeNXO06/E3t3XyQgb32AZul8wLmRa1Wbt2cm7GeUsX9OZGyXTQxMYcPOEBqARyhNw=="
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
}
}
},
"@accordproject/ergo-engine": {
- "version": "0.21.0",
- "resolved": "https://registry.npmjs.org/@accordproject/ergo-engine/-/ergo-engine-0.21.0.tgz",
- "integrity": "sha512-ZeC0wqcVTNHJGaZQeRVtZ3GVAvnBbJhTwKC0fGWlUgeAAQ9AwuGVRiM45/TXFifdJxcrwMbLI1OlZiNfxvvbIw==",
+ "version": "0.21.1",
+ "resolved": "https://registry.npmjs.org/@accordproject/ergo-engine/-/ergo-engine-0.21.1.tgz",
+ "integrity": "sha512-RPEZffxFNMzm3iA/u+vfhxh0zy3HtEZExd+uEEq7wbESGmtHbOoz9QkUZK5Y7JlwdqGQVHATDXYuCmtFhTdaFQ==",
"requires": {
- "@accordproject/ergo-compiler": "0.21.0",
+ "@accordproject/ergo-compiler": "0.21.1",
"moment-mini": "2.22.1",
"vm2": "3.5.0"
}
},
"@accordproject/markdown-cicero": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@accordproject/markdown-cicero/-/markdown-cicero-0.12.0.tgz",
- "integrity": "sha512-5/PISqpOAgux77gA2pxxC72LVzgtnaiVw0UwfS121KV/wKmzwshQtKBcfCTqM3WkIkl6Jqb7so4Ipco7PRzSWw==",
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/@accordproject/markdown-cicero/-/markdown-cicero-0.12.2.tgz",
+ "integrity": "sha512-XYpSoeirvXj0jbF7pgWBL6r4ODapEV4D3sxOmeDl91iPORQTSFP1jbnpCiJonwJk4Wk0cvP9QkC7VLqh4CMUWQ==",
"requires": {
- "@accordproject/concerto-core": "^0.82.7",
- "@accordproject/markdown-common": "0.12.0",
- "@accordproject/markdown-it-cicero": "0.12.0",
+ "@accordproject/concerto-core": "^0.82.8",
+ "@accordproject/markdown-common": "0.12.2",
+ "@accordproject/markdown-it-cicero": "0.12.2",
"markdown-it": "^11.0.0",
"winston": "3.2.1"
}
},
"@accordproject/markdown-common": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@accordproject/markdown-common/-/markdown-common-0.12.0.tgz",
- "integrity": "sha512-YxankKheItZobiYvkrKAcWr4DaQkRMhQslSIRAJhjZJNNZJ49GkiuKay+AhLExHTHVBlcl+0js6UtyTBEZjhQA==",
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/@accordproject/markdown-common/-/markdown-common-0.12.2.tgz",
+ "integrity": "sha512-bnpGTDClMlYMBr3jfD/SG6lWbIxhc05RTiTFKOdC8gjR0cDfbrKGBGMOcyEAmNJAVtkcu6d5Lf1+5nhqRzbWUA==",
"requires": {
- "@accordproject/concerto-core": "^0.82.7",
+ "@accordproject/concerto-core": "^0.82.8",
"markdown-it": "^11.0.0",
"winston": "3.2.1",
"xmldom": "^0.1.27"
}
},
"@accordproject/markdown-html": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@accordproject/markdown-html/-/markdown-html-0.12.0.tgz",
- "integrity": "sha512-zMBNC0oFiTwmOPi1RzEdULZSsg8Up+ha7BMMOfO2TF/DuQL68Xunn23qLs/P4niKahB5iT3OfRqJCu/9XWfWqQ==",
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/@accordproject/markdown-html/-/markdown-html-0.12.2.tgz",
+ "integrity": "sha512-QpSwmNVJ6/eLXJzJpdxROw5lcKxr37E+oLFTzLctsp8JloMe9Npmse55nXNvA8OZoT/yAPsJfU/z87eTgg/Vwg==",
"requires": {
- "@accordproject/markdown-cicero": "0.12.0",
- "@accordproject/markdown-common": "0.12.0",
+ "@accordproject/markdown-cicero": "0.12.2",
+ "@accordproject/markdown-common": "0.12.2",
"jsdom": "^15.2.1",
"type-of": "^2.0.1"
}
},
"@accordproject/markdown-it-cicero": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@accordproject/markdown-it-cicero/-/markdown-it-cicero-0.12.0.tgz",
- "integrity": "sha512-ESs6MVPFoGszCFcv0owaXqmvpeKb/PzSeEd5JHxFLszLTD/v0dQ7iUXRYhXHRhyQRIiNpLseRWRAWqasQ9cRFw==",
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/@accordproject/markdown-it-cicero/-/markdown-it-cicero-0.12.2.tgz",
+ "integrity": "sha512-LE6owBVG3SNy5w7Kckb+iIAiTIY8E7EXhPpacYNjnv3W0WhxjP4gCiebVyv/f0jwtynO8/iKft2fNvGNd0r3qQ==",
"requires": {
"markdown-it": "^11.0.0"
}
},
"@accordproject/markdown-it-template": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@accordproject/markdown-it-template/-/markdown-it-template-0.12.0.tgz",
- "integrity": "sha512-d24V3OH8nG6SgwY3dyUVkEd4+bQDjfZnyzd9NWM9Jmo7VXgl3dM962IP5yVTxJ458873Exk+07aAqccX0dBnbQ==",
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/@accordproject/markdown-it-template/-/markdown-it-template-0.12.2.tgz",
+ "integrity": "sha512-1muf83fSfrB9d5vwoXXj3qVVmUeL432hIJl7yltN4vvOd5i+olJO7gCmUZ7xUGCGwpx6B2AEMtir4vcUobtxwg==",
"requires": {
"markdown-it": "^11.0.0"
}
},
"@accordproject/markdown-slate": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@accordproject/markdown-slate/-/markdown-slate-0.12.0.tgz",
- "integrity": "sha512-K0z6oLJmhuWTLp51zweK6hrMUMCvsPvLrf+Z+GWGgLUePa8lmy7mMXv/H4UiX+hzKj0ty2Ab53eJ6soFY2J/EQ==",
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/@accordproject/markdown-slate/-/markdown-slate-0.12.2.tgz",
+ "integrity": "sha512-qw1LOHdRnePeSYQ0swWKkW6P/BORL08eJ0ACxCcnqLI9uXHENr5MMW/wk/20Iro0HXCJnDSiHgBUdw3mNw2OOw==",
"requires": {
- "@accordproject/markdown-cicero": "0.12.0"
+ "@accordproject/markdown-cicero": "0.12.2"
}
},
"@accordproject/markdown-template": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@accordproject/markdown-template/-/markdown-template-0.12.0.tgz",
- "integrity": "sha512-AoS4Es2PvmQwrMGmRJRRoAYvagnAUGYlOIydU23aMY7c48VdVvllwZu1PoqoU+9wDOYOiiYynEmNxp6uCfxaug==",
- "requires": {
- "@accordproject/concerto-core": "^0.82.7",
- "@accordproject/markdown-cicero": "0.12.0",
- "@accordproject/markdown-common": "0.12.0",
- "@accordproject/markdown-it-template": "0.12.0",
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/@accordproject/markdown-template/-/markdown-template-0.12.2.tgz",
+ "integrity": "sha512-xDV8T/WjTVuIQhkg141vRGoK3Pns049kc960JtM/sCdXIRmi6W7rSZj9hjG5aSBo6nHB8lkBuelLNtsdldJ/RA==",
+ "requires": {
+ "@accordproject/concerto-core": "^0.82.8",
+ "@accordproject/markdown-cicero": "0.12.2",
+ "@accordproject/markdown-common": "0.12.2",
+ "@accordproject/markdown-it-template": "0.12.2",
"markdown-it": "^11.0.0",
"moment-mini": "2.22.1",
"parsimmon": "^1.13.0",
@@ -410,9 +337,9 @@
}
},
"@babel/runtime-corejs2": {
- "version": "7.10.5",
- "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.10.5.tgz",
- "integrity": "sha512-LJwyb1ac//Jr2zrGTTaNJhrP1wYCgVw9rzHbQPogKXCTLQ60EEWgeNtuqs6cLsq64O557SYzziCrOxNp0rRi8w==",
+ "version": "7.11.2",
+ "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.11.2.tgz",
+ "integrity": "sha512-AC/ciV28adSSpEkBglONBWq4/Lvm6GAZuxIoyVtsnUpZMl0bxLtoChEnYAkP+47KyOCayZanojtflUEUJtR/6Q==",
"requires": {
"core-js": "^2.6.5",
"regenerator-runtime": "^0.13.4"
@@ -1237,9 +1164,9 @@
},
"dependencies": {
"acorn": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz",
- "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA=="
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz",
+ "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w=="
}
}
},
diff --git a/client/package.json b/client/package.json
index 7a76959..9031a2c 100755
--- a/client/package.json
+++ b/client/package.json
@@ -4,7 +4,7 @@
"description": "Accord Project extension for Visual Studio Code, providing tools for template development.",
"author": "Accord Project",
"license": "Apache-2.0",
- "version": "0.21.8",
+ "version": "0.21.9",
"publisher": "accordproject",
"repository": {
"type": "git",
@@ -18,12 +18,12 @@
"vscode-test": "^1.3.0"
},
"dependencies": {
- "@accordproject/cicero-core": "^0.21.0",
- "@accordproject/cicero-engine": "^0.21.0",
+ "@accordproject/cicero-core": "^0.21.1",
+ "@accordproject/cicero-engine": "^0.21.1",
"@accordproject/concerto-core": "^0.82.8",
"@accordproject/concerto-tools": "^0.82.8",
- "@accordproject/markdown-it-cicero": "^0.12.0",
- "@accordproject/markdown-it-template": "^0.12.0",
+ "@accordproject/markdown-it-cicero": "^0.12.2",
+ "@accordproject/markdown-it-template": "^0.12.2",
"vscode-languageclient": "^6.1.3"
}
}
diff --git a/client/src/commandHandlers.ts b/client/src/commandHandlers.ts
index 121ee4c..b1b08a1 100755
--- a/client/src/commandHandlers.ts
+++ b/client/src/commandHandlers.ts
@@ -17,7 +17,10 @@ import * as vscode from 'vscode';
import * as fs from 'fs';
import * as path from 'path';
import { TypeDefinitionRequest } from 'vscode-languageclient';
-
+var md = require('markdown-it')()
+ .use(require('@accordproject/markdown-it-template'))
+ .use(require('@accordproject/markdown-it-cicero'));
+
let outputChannel: vscode.OutputChannel
export function setOutputChannel(oc : vscode.OutputChannel) {
@@ -167,4 +170,132 @@ export async function triggerClause(file: vscode.Uri) {
}
return false;
-}
\ No newline at end of file
+}
+
+
+export function getWebviewContent() {
+ const html = vscode.window.activeTextEditor ? md.render(vscode.window.activeTextEditor.document.getText()) : 'To display preview please open a grammar.tem.md file.';
+ const styles = `
+ .variable {
+ border: #A4BBE7 1px solid;
+ padding: 0px 3px;
+ border-radius: 2px;
+ background-color: grey;
+ }
+
+ a {
+ color: #0f52ba;
+ }
+
+ .formula {
+ border: #AF54C4 1px solid;
+ border-radius: 2px;
+ background-color: grey;
+ cursor: pointer;
+ }
+
+ .clause_block {
+ position: relative;
+ margin: 10px -10px;
+ background-color: darkgrey;
+ border: 1px solid black;
+ border-radius: 3px;
+ }
+
+ .ulist_block {
+ border: #A4BBE7 1px solid;
+ padding: 0px 3px;
+ border-radius: 2px;
+ background-color: grey;
+ }
+
+ .olist_block {
+ border: #A4BBE7 1px solid;
+ padding: 0px 3px;
+ border-radius: 2px;
+ background-color: grey;
+ }
+
+ .join_inline {
+ border: #A4BBE7 1px solid;
+ padding: 0px 3px;
+ border-radius: 2px;
+ background-color: grey;
+ }
+
+ .if_inline {
+ border: #A4BBE7 1px solid;
+ padding: 0px 3px;
+ border-radius: 2px;
+ background-color: grey;
+ }
+
+ .else_inline {
+ border: #A4BBE7 1px solid;
+ padding: 0px 3px;
+ border-radius: 2px;
+ background-color: grey;
+ }
+
+ .optional_inline {
+ border: #A4BBE7 1px solid;
+ padding: 0px 3px;
+ border-radius: 2px;
+ background-color: grey;
+ }
+
+ span {
+ position: relative;
+ display: inline;
+ }
+ span:after{
+ display: block;
+ visibility: hidden;
+ position: absolute;
+ bottom: 0;
+ left: 20%;
+ opacity: 1 !important;
+ content: attr(class); /* might also use attr(title) */
+ height: auto;
+ min-width: 100px;
+ padding: 1px 3px;
+ z-index: 999;
+ color: #FFFFFF;
+ text-decoration: none;
+ text-align: center;
+ border: 1px solid #141F3C;
+ background-color: #141F3C;
+ transition-duration: 0.25s;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 2px;
+ }
+ span:before {
+ position: absolute;
+ visibility: hidden;
+ width: 0;
+ height: 0;
+ left: 50%;
+ bottom: 0px;
+ opacity: 0;
+ content: "";
+ border-style: solid;
+ border-width: 6px 6px 0 6px;
+ border-color: rgba(0,0,0,0.85) transparent transparent transparent;
+ }
+ span:hover:after{ visibility: visible; opacity: 1; bottom: 20px; }
+ span:hover:before{ visibility: visible; opacity: 1; bottom: 14px; }
+ `
+ return `
+
+
+
+
+ Template Preview
+
+
+
+ ${html}
+
+ `;
+ }
\ No newline at end of file
diff --git a/client/src/extension.ts b/client/src/extension.ts
index bd36b6a..08462e3 100755
--- a/client/src/extension.ts
+++ b/client/src/extension.ts
@@ -16,9 +16,22 @@
import * as path from 'path';
import * as vscode from 'vscode';
-import { LanguageClient, LanguageClientOptions, ServerOptions, TransportKind } from 'vscode-languageclient';
+import {
+ LanguageClient,
+ LanguageClientOptions,
+ ServerOptions,
+ TransportKind
+} from 'vscode-languageclient';
+
+import {
+ exportArchive,
+ downloadModels,
+ exportClassDiagram,
+ triggerClause,
+ getWebviewContent,
+ setOutputChannel
+} from './commandHandlers';
-import { exportArchive, downloadModels, exportClassDiagram, triggerClause, setOutputChannel } from './commandHandlers';
let client: LanguageClient;
@@ -32,26 +45,47 @@ export function activate(context: vscode.ExtensionContext) {
(process as any).browser = true;
// The server is implemented in node
- let serverModule = context.asAbsolutePath(path.join('server', 'out', 'server.js'));
-
+ let serverModule = context.asAbsolutePath(path.join('server', 'out', 'server.js'));
+
// The debug options for the server
- let debugOptions = { execArgv: ["--nolazy", "--inspect=6009"] };
-
+ let debugOptions = {
+ execArgv: ["--nolazy", "--inspect=6009"]
+ };
+
// If the extension is launched in debug mode then the debug server options are used
// Otherwise the run options are used
let serverOptions: ServerOptions = {
- run : { module: serverModule, transport: TransportKind.ipc },
- debug: { module: serverModule, transport: TransportKind.ipc, options: debugOptions }
+ run: {
+ module: serverModule,
+ transport: TransportKind.ipc
+ },
+ debug: {
+ module: serverModule,
+ transport: TransportKind.ipc,
+ options: debugOptions
+ }
};
-
+
// Options to control the language client
let clientOptions: LanguageClientOptions = {
// Register the server for documents
- documentSelector: [
- {scheme: 'file', language: 'ergo'},
- {scheme: 'file', language: 'concerto'},
- {scheme: 'file', language: 'ciceroMark'},
- {scheme: 'file', language: 'markdown', pattern: '**/sample*.md'}
+ documentSelector: [{
+ scheme: 'file',
+ language: 'ergo'
+ },
+ {
+ scheme: 'file',
+ language: 'concerto'
+ },
+ {
+ scheme: 'file',
+ language: 'ciceroMark'
+ },
+ {
+ scheme: 'file',
+ language: 'markdown',
+ pattern: '**/sample*.md'
+ }
],
synchronize: {
// Synchronize the setting section 'Cicero' to the server
@@ -72,9 +106,54 @@ export function activate(context: vscode.ExtensionContext) {
.registerCommand('cicero-vscode-extension.downloadModels', downloadModels));
context.subscriptions.push(vscode.commands
.registerCommand('cicero-vscode-extension.exportClassDiagram', exportClassDiagram));
- context.subscriptions.push(vscode.commands
- .registerCommand('cicero-vscode-extension.triggerClause', triggerClause));
-
+ context.subscriptions.push(vscode.commands
+ .registerCommand('cicero-vscode-extension.triggerClause', triggerClause));
+
+ let currentPanel: vscode.WebviewPanel | undefined = undefined;
+
+ context.subscriptions.push(
+ vscode.commands.registerCommand('cicero-vscode-extension.showPreview', (file: vscode.Uri) => {
+ const columnToShowIn = vscode.ViewColumn.Beside;
+
+ if (currentPanel) {
+ // If we already have a panel, show it in the target column
+ currentPanel.reveal(columnToShowIn);
+ } else {
+ // Otherwise, create a new panel
+ currentPanel = vscode.window.createWebviewPanel(
+ 'cicero',
+ 'Template Preview',
+ columnToShowIn, {}
+ );
+
+ currentPanel.webview.html = getWebviewContent();
+
+ // Reset when the current panel is closed
+ currentPanel.onDidDispose(
+ () => {
+ currentPanel = undefined;
+ },
+ null,
+ context.subscriptions
+ );
+
+ // update the preview when the template grammar changes
+ vscode.workspace.onDidChangeTextDocument((event) => {
+ if (event.document.languageId === 'ciceroMark') {
+ currentPanel.webview.html = getWebviewContent();;
+ }
+ });
+
+ // update the preview when the active editor changes
+ vscode.window.onDidChangeActiveTextEditor((event) => {
+ if (event.document && event.document.languageId === 'ciceroMark') {
+ currentPanel.webview.html = getWebviewContent();;
+ }
+ });
+ }
+ })
+ );
+
// Create the language client and start the client.
client = new LanguageClient(
'cicero',
@@ -85,17 +164,9 @@ export function activate(context: vscode.ExtensionContext) {
// Start the client. This will also launch the server
client.start();
-
- // extend markdown preview
- return {
- extendMarkdownIt(md) {
- return md.use(require('@accordproject/markdown-it-template'))
- .use(require('@accordproject/markdown-it-cicero'))
- }
- }
}
-
-export function deactivate(): Thenable | undefined {
+
+export function deactivate(): Thenable < void > | undefined {
if (!client) {
return undefined;
}
diff --git a/client/src/test/suite/extension.test.ts b/client/src/test/suite/extension.test.ts
index 1bd733a..5298f8d 100755
--- a/client/src/test/suite/extension.test.ts
+++ b/client/src/test/suite/extension.test.ts
@@ -81,4 +81,9 @@ suite('Extension Tests', () => {
});
});
+ test('should execute showPreview command', () => {
+ vscode.commands.executeCommand('cicero-vscode-extension.showPreview').then((result) => {
+ assert.ok(result);
+ });
+ });
});
diff --git a/package.json b/package.json
index 89a6642..ee32d8f 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"description": "Accord Project extension for Visual Studio Code, providing tools for template development.",
"author": "Accord Project",
"license": "Apache-2.0",
- "version": "0.21.8",
+ "version": "0.21.9",
"icon": "icon.png",
"repository": {
"type": "git",
@@ -33,7 +33,8 @@
"onCommand:cicero-vscode-extension.exportArchive",
"onCommand:cicero-vscode-extension.downloadModels",
"onCommand:cicero-vscode-extension.viewClassDiagram",
- "onCommand:cicero-vscode-extension.triggerClause"
+ "onCommand:cicero-vscode-extension.triggerClause",
+ "onCommand:cicero-vscode-extension.showPreview"
],
"main": "./client/out/extension",
"contributes": {
@@ -118,6 +119,15 @@
"command": "cicero-vscode-extension.triggerClause",
"title": "Trigger",
"category": "Accord Project"
+ },
+ {
+ "command": "cicero-vscode-extension.showPreview",
+ "title": "Show Preview",
+ "icon": {
+ "light": "./assets/light/open-preview.svg",
+ "dark": "./assets/dark/open-preview.svg"
+ },
+ "category": "Accord Project"
}
],
"menus": {
@@ -140,7 +150,14 @@
{
"when": "explorerResourceIsFolder",
"command": "cicero-vscode-extension.triggerClause",
- "group": "AccordProject@3"
+ "group": "AccordProject@4"
+ }
+ ],
+ "editor/title": [
+ {
+ "when": "resourceLangId == ciceroMark",
+ "command": "cicero-vscode-extension.showPreview",
+ "group": "navigation"
}
],
"commandPalette": [
@@ -161,8 +178,7 @@
"when": "false"
}
]
- },
- "markdown.markdownItPlugins": true
+ }
},
"scripts": {
"vscode:prepublish": "npm run compile",
diff --git a/server/package-lock.json b/server/package-lock.json
index c801036..c6e5927 100644
--- a/server/package-lock.json
+++ b/server/package-lock.json
@@ -1,22 +1,22 @@
{
"name": "cicero-vscode-extension-server",
- "version": "0.21.5",
+ "version": "0.21.9",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@accordproject/cicero-core": {
- "version": "0.21.0",
- "resolved": "https://registry.npmjs.org/@accordproject/cicero-core/-/cicero-core-0.21.0.tgz",
- "integrity": "sha512-EK2HyAxyLbogMJtKZN8E0zjBVtW1eOFN4nfdfLRjd8FqcftC90PpxjumRNgUWuDeNXgRDxTO5bzO5VQRRNXX/Q==",
- "requires": {
- "@accordproject/concerto-core": "0.82.7",
- "@accordproject/ergo-compiler": "^0.21.0",
- "@accordproject/ergo-engine": "^0.21.0",
- "@accordproject/markdown-cicero": "^0.12.0",
- "@accordproject/markdown-common": "^0.12.0",
- "@accordproject/markdown-html": "^0.12.0",
- "@accordproject/markdown-slate": "^0.12.0",
- "@accordproject/markdown-template": "^0.12.0",
+ "version": "0.21.1",
+ "resolved": "https://registry.npmjs.org/@accordproject/cicero-core/-/cicero-core-0.21.1.tgz",
+ "integrity": "sha512-L3BpH8irGIC3endojvr/nf1gHGAsyvDkiwJlpCNNlL9uaL82jYwooSWcgSSeYqnWZgkh3E5gEUhL6fm8Sk/g9w==",
+ "requires": {
+ "@accordproject/concerto-core": "0.82.8",
+ "@accordproject/ergo-compiler": "0.21.1",
+ "@accordproject/ergo-engine": "0.21.1",
+ "@accordproject/markdown-cicero": "^0.12.2",
+ "@accordproject/markdown-common": "^0.12.2",
+ "@accordproject/markdown-html": "^0.12.2",
+ "@accordproject/markdown-slate": "^0.12.2",
+ "@accordproject/markdown-template": "^0.12.2",
"axios": "0.19.0",
"debug": "4.1.0",
"ietf-language-tag-regex": "0.0.5",
@@ -32,44 +32,6 @@
"xregexp": "4.2.4"
},
"dependencies": {
- "@accordproject/concerto-core": {
- "version": "0.82.7",
- "resolved": "https://registry.npmjs.org/@accordproject/concerto-core/-/concerto-core-0.82.7.tgz",
- "integrity": "sha512-b5zARaPPuQAppKj0NbJU49BYWHFO0+NKzeyk4oPSYCRgu3Ld4v5Yy3leWlMHspXSRZFRm/xpHGPh0CVBvgfC5Q==",
- "requires": {
- "axios": "0.19.0",
- "debug": "4.1.1",
- "fast-safe-stringify": "2.0.7",
- "jsome": "2.5.0",
- "lorem-ipsum": "1.0.6",
- "moment-mini": "2.22.1",
- "slash": "3.0.0",
- "triple-beam": "1.3.0",
- "urijs": "1.19.1",
- "uuid": "3.3.2",
- "winston": "3.2.1"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "requires": {
- "ms": "^2.1.1"
- }
- }
- }
- },
- "fast-safe-stringify": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz",
- "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA=="
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- },
"semver": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz",
@@ -116,11 +78,11 @@
}
},
"@accordproject/ergo-compiler": {
- "version": "0.21.0",
- "resolved": "https://registry.npmjs.org/@accordproject/ergo-compiler/-/ergo-compiler-0.21.0.tgz",
- "integrity": "sha512-/FJhx4gGJbIMoigAoFjyoWYLDLLGzcsjDneTJhlqpLgBE2IuyaV305N98cUJxavIHQytmbqX2m0kmpG0eP2gKA==",
+ "version": "0.21.1",
+ "resolved": "https://registry.npmjs.org/@accordproject/ergo-compiler/-/ergo-compiler-0.21.1.tgz",
+ "integrity": "sha512-AIBL4Ef73mXX3vFZFcxs2tx5F0735aA2ANSN7VN0jyl5Jm1AaF+k7+uDMT/lkhU4k9hi2GVXhU4tKXX5+HTudQ==",
"requires": {
- "@accordproject/concerto-core": "0.82.7",
+ "@accordproject/concerto-core": "0.82.8",
"acorn": "5.1.2",
"debug": "4.1.0",
"doctrine": "3.0.0",
@@ -132,128 +94,90 @@
"winston": "3.2.1"
},
"dependencies": {
- "@accordproject/concerto-core": {
- "version": "0.82.7",
- "resolved": "https://registry.npmjs.org/@accordproject/concerto-core/-/concerto-core-0.82.7.tgz",
- "integrity": "sha512-b5zARaPPuQAppKj0NbJU49BYWHFO0+NKzeyk4oPSYCRgu3Ld4v5Yy3leWlMHspXSRZFRm/xpHGPh0CVBvgfC5Q==",
- "requires": {
- "axios": "0.19.0",
- "debug": "4.1.1",
- "fast-safe-stringify": "2.0.7",
- "jsome": "2.5.0",
- "lorem-ipsum": "1.0.6",
- "moment-mini": "2.22.1",
- "slash": "3.0.0",
- "triple-beam": "1.3.0",
- "urijs": "1.19.1",
- "uuid": "3.3.2",
- "winston": "3.2.1"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "fast-safe-stringify": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz",
- "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA=="
- }
- }
- },
"fast-safe-stringify": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.5.tgz",
"integrity": "sha512-QHbbCj2PmRSMNL9P7EuNBCeNXO06/E3t3XyQgb32AZul8wLmRa1Wbt2cm7GeUsX9OZGyXTQxMYcPOEBqARyhNw=="
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
}
}
},
"@accordproject/ergo-engine": {
- "version": "0.21.0",
- "resolved": "https://registry.npmjs.org/@accordproject/ergo-engine/-/ergo-engine-0.21.0.tgz",
- "integrity": "sha512-ZeC0wqcVTNHJGaZQeRVtZ3GVAvnBbJhTwKC0fGWlUgeAAQ9AwuGVRiM45/TXFifdJxcrwMbLI1OlZiNfxvvbIw==",
+ "version": "0.21.1",
+ "resolved": "https://registry.npmjs.org/@accordproject/ergo-engine/-/ergo-engine-0.21.1.tgz",
+ "integrity": "sha512-RPEZffxFNMzm3iA/u+vfhxh0zy3HtEZExd+uEEq7wbESGmtHbOoz9QkUZK5Y7JlwdqGQVHATDXYuCmtFhTdaFQ==",
"requires": {
- "@accordproject/ergo-compiler": "0.21.0",
+ "@accordproject/ergo-compiler": "0.21.1",
"moment-mini": "2.22.1",
"vm2": "3.5.0"
}
},
"@accordproject/markdown-cicero": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@accordproject/markdown-cicero/-/markdown-cicero-0.12.0.tgz",
- "integrity": "sha512-5/PISqpOAgux77gA2pxxC72LVzgtnaiVw0UwfS121KV/wKmzwshQtKBcfCTqM3WkIkl6Jqb7so4Ipco7PRzSWw==",
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/@accordproject/markdown-cicero/-/markdown-cicero-0.12.2.tgz",
+ "integrity": "sha512-XYpSoeirvXj0jbF7pgWBL6r4ODapEV4D3sxOmeDl91iPORQTSFP1jbnpCiJonwJk4Wk0cvP9QkC7VLqh4CMUWQ==",
"requires": {
- "@accordproject/concerto-core": "^0.82.7",
- "@accordproject/markdown-common": "0.12.0",
- "@accordproject/markdown-it-cicero": "0.12.0",
+ "@accordproject/concerto-core": "^0.82.8",
+ "@accordproject/markdown-common": "0.12.2",
+ "@accordproject/markdown-it-cicero": "0.12.2",
"markdown-it": "^11.0.0",
"winston": "3.2.1"
}
},
"@accordproject/markdown-common": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@accordproject/markdown-common/-/markdown-common-0.12.0.tgz",
- "integrity": "sha512-YxankKheItZobiYvkrKAcWr4DaQkRMhQslSIRAJhjZJNNZJ49GkiuKay+AhLExHTHVBlcl+0js6UtyTBEZjhQA==",
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/@accordproject/markdown-common/-/markdown-common-0.12.2.tgz",
+ "integrity": "sha512-bnpGTDClMlYMBr3jfD/SG6lWbIxhc05RTiTFKOdC8gjR0cDfbrKGBGMOcyEAmNJAVtkcu6d5Lf1+5nhqRzbWUA==",
"requires": {
- "@accordproject/concerto-core": "^0.82.7",
+ "@accordproject/concerto-core": "^0.82.8",
"markdown-it": "^11.0.0",
"winston": "3.2.1",
"xmldom": "^0.1.27"
}
},
"@accordproject/markdown-html": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@accordproject/markdown-html/-/markdown-html-0.12.0.tgz",
- "integrity": "sha512-zMBNC0oFiTwmOPi1RzEdULZSsg8Up+ha7BMMOfO2TF/DuQL68Xunn23qLs/P4niKahB5iT3OfRqJCu/9XWfWqQ==",
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/@accordproject/markdown-html/-/markdown-html-0.12.2.tgz",
+ "integrity": "sha512-QpSwmNVJ6/eLXJzJpdxROw5lcKxr37E+oLFTzLctsp8JloMe9Npmse55nXNvA8OZoT/yAPsJfU/z87eTgg/Vwg==",
"requires": {
- "@accordproject/markdown-cicero": "0.12.0",
- "@accordproject/markdown-common": "0.12.0",
+ "@accordproject/markdown-cicero": "0.12.2",
+ "@accordproject/markdown-common": "0.12.2",
"jsdom": "^15.2.1",
"type-of": "^2.0.1"
}
},
"@accordproject/markdown-it-cicero": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@accordproject/markdown-it-cicero/-/markdown-it-cicero-0.12.0.tgz",
- "integrity": "sha512-ESs6MVPFoGszCFcv0owaXqmvpeKb/PzSeEd5JHxFLszLTD/v0dQ7iUXRYhXHRhyQRIiNpLseRWRAWqasQ9cRFw==",
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/@accordproject/markdown-it-cicero/-/markdown-it-cicero-0.12.2.tgz",
+ "integrity": "sha512-LE6owBVG3SNy5w7Kckb+iIAiTIY8E7EXhPpacYNjnv3W0WhxjP4gCiebVyv/f0jwtynO8/iKft2fNvGNd0r3qQ==",
"requires": {
"markdown-it": "^11.0.0"
}
},
"@accordproject/markdown-it-template": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@accordproject/markdown-it-template/-/markdown-it-template-0.12.0.tgz",
- "integrity": "sha512-d24V3OH8nG6SgwY3dyUVkEd4+bQDjfZnyzd9NWM9Jmo7VXgl3dM962IP5yVTxJ458873Exk+07aAqccX0dBnbQ==",
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/@accordproject/markdown-it-template/-/markdown-it-template-0.12.2.tgz",
+ "integrity": "sha512-1muf83fSfrB9d5vwoXXj3qVVmUeL432hIJl7yltN4vvOd5i+olJO7gCmUZ7xUGCGwpx6B2AEMtir4vcUobtxwg==",
"requires": {
"markdown-it": "^11.0.0"
}
},
"@accordproject/markdown-slate": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@accordproject/markdown-slate/-/markdown-slate-0.12.0.tgz",
- "integrity": "sha512-K0z6oLJmhuWTLp51zweK6hrMUMCvsPvLrf+Z+GWGgLUePa8lmy7mMXv/H4UiX+hzKj0ty2Ab53eJ6soFY2J/EQ==",
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/@accordproject/markdown-slate/-/markdown-slate-0.12.2.tgz",
+ "integrity": "sha512-qw1LOHdRnePeSYQ0swWKkW6P/BORL08eJ0ACxCcnqLI9uXHENr5MMW/wk/20Iro0HXCJnDSiHgBUdw3mNw2OOw==",
"requires": {
- "@accordproject/markdown-cicero": "0.12.0"
+ "@accordproject/markdown-cicero": "0.12.2"
}
},
"@accordproject/markdown-template": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@accordproject/markdown-template/-/markdown-template-0.12.0.tgz",
- "integrity": "sha512-AoS4Es2PvmQwrMGmRJRRoAYvagnAUGYlOIydU23aMY7c48VdVvllwZu1PoqoU+9wDOYOiiYynEmNxp6uCfxaug==",
- "requires": {
- "@accordproject/concerto-core": "^0.82.7",
- "@accordproject/markdown-cicero": "0.12.0",
- "@accordproject/markdown-common": "0.12.0",
- "@accordproject/markdown-it-template": "0.12.0",
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/@accordproject/markdown-template/-/markdown-template-0.12.2.tgz",
+ "integrity": "sha512-xDV8T/WjTVuIQhkg141vRGoK3Pns049kc960JtM/sCdXIRmi6W7rSZj9hjG5aSBo6nHB8lkBuelLNtsdldJ/RA==",
+ "requires": {
+ "@accordproject/concerto-core": "^0.82.8",
+ "@accordproject/markdown-cicero": "0.12.2",
+ "@accordproject/markdown-common": "0.12.2",
+ "@accordproject/markdown-it-template": "0.12.2",
"markdown-it": "^11.0.0",
"moment-mini": "2.22.1",
"parsimmon": "^1.13.0",
@@ -261,9 +185,9 @@
}
},
"@babel/runtime-corejs2": {
- "version": "7.10.5",
- "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.10.5.tgz",
- "integrity": "sha512-LJwyb1ac//Jr2zrGTTaNJhrP1wYCgVw9rzHbQPogKXCTLQ60EEWgeNtuqs6cLsq64O557SYzziCrOxNp0rRi8w==",
+ "version": "7.11.2",
+ "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.11.2.tgz",
+ "integrity": "sha512-AC/ciV28adSSpEkBglONBWq4/Lvm6GAZuxIoyVtsnUpZMl0bxLtoChEnYAkP+47KyOCayZanojtflUEUJtR/6Q==",
"requires": {
"core-js": "^2.6.5",
"regenerator-runtime": "^0.13.4"
@@ -673,14 +597,6 @@
"esutils": "^2.0.2",
"optionator": "^0.8.1",
"source-map": "~0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "optional": true
- }
}
},
"esprima": {
@@ -694,9 +610,9 @@
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
},
"esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
},
"execa": {
"version": "1.0.0",
@@ -807,9 +723,9 @@
}
},
"glob": {
- "version": "7.1.4",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
- "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -825,11 +741,11 @@
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
},
"har-validator": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
- "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
+ "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
"requires": {
- "ajv": "^6.5.5",
+ "ajv": "^6.12.3",
"har-schema": "^2.0.0"
}
},
@@ -987,9 +903,9 @@
},
"dependencies": {
"acorn": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz",
- "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA=="
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz",
+ "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w=="
}
}
},
@@ -1554,6 +1470,12 @@
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
},
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "optional": true
+ },
"sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
diff --git a/server/package.json b/server/package.json
index 96839fe..023fc94 100755
--- a/server/package.json
+++ b/server/package.json
@@ -1,7 +1,7 @@
{
"name": "cicero-vscode-extension-server",
"description": "A language server for Accord Project templates",
- "version": "0.21.8",
+ "version": "0.21.9",
"license": "Apache-2.0",
"engines": {
"node": "*"
@@ -11,13 +11,13 @@
"url": "https://github.com/accordproject/cicero-vscode-extension"
},
"dependencies": {
- "@accordproject/cicero-core": "^0.21.0",
+ "@accordproject/cicero-core": "^0.21.1",
"@accordproject/concerto-core": "^0.82.8",
- "@accordproject/ergo-compiler": "^0.21.0",
- "@accordproject/ergo-engine": "^0.21.0",
- "@accordproject/markdown-template": "^0.12.0",
+ "@accordproject/ergo-compiler": "^0.21.1",
+ "@accordproject/ergo-engine": "^0.21.1",
+ "@accordproject/markdown-template": "^0.12.2",
"fast-safe-stringify": "2.0.6",
- "glob": "^7.1.4",
+ "glob": "^7.1.6",
"vscode-languageserver": "^6.1.1",
"vscode-languageserver-textdocument": "^1.0.1",
"vscode-uri": "^1.0.6"