diff --git a/package-lock.json b/package-lock.json
index 3347d58e30..572edbfb88 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,7 +14,6 @@
"xpackages/bundle",
"packages/chart",
"packages/codemirror",
- "packages/codemirror-shim",
"packages/common",
"packages/comms",
"packages/composite",
@@ -1191,10 +1190,6 @@
"resolved": "packages/codemirror",
"link": true
},
- "node_modules/@hpcc-js/codemirror-shim": {
- "resolved": "packages/codemirror-shim",
- "link": true
- },
"node_modules/@hpcc-js/common": {
"resolved": "packages/common",
"link": true
@@ -22654,13 +22649,14 @@
"@hpcc-js/common": "^3.1.0"
},
"devDependencies": {
- "@hpcc-js/codemirror-shim": "^3.0.0",
- "@hpcc-js/esbuild-plugins": "^1.2.0"
+ "@hpcc-js/esbuild-plugins": "^1.2.0",
+ "codemirror": "5.65.18"
}
},
"packages/codemirror-shim": {
"name": "@hpcc-js/codemirror-shim",
"version": "3.0.0",
+ "extraneous": true,
"license": "Apache-2.0",
"devDependencies": {
"@hpcc-js/esbuild-plugins": "^1.2.0",
diff --git a/package.json b/package.json
index 782345b064..16d95240d5 100644
--- a/package.json
+++ b/package.json
@@ -11,7 +11,6 @@
"xpackages/bundle",
"packages/chart",
"packages/codemirror",
- "packages/codemirror-shim",
"packages/common",
"packages/comms",
"packages/composite",
diff --git a/packages/codemirror-shim/.vscode/tasks.json b/packages/codemirror-shim/.vscode/tasks.json
deleted file mode 100644
index 120545d06c..0000000000
--- a/packages/codemirror-shim/.vscode/tasks.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "version": "2.0.0",
- "tasks": [
- {
- "label": "gen-types-watch",
- "type": "npm",
- "script": "gen-types-watch",
- "problemMatcher": [
- "$tsc-watch"
- ],
- "presentation": {
- "group": "group-build"
- }
- },
- {
- "label": "bundle-watch",
- "type": "npm",
- "script": "bundle-watch",
- "problemMatcher": [],
- "presentation": {
- "group": "group-build"
- }
- },
- {
- "label": "build",
- "dependsOn": [
- "gen-types-watch",
- "bundle-watch",
- ],
- "group": {
- "kind": "build",
- "isDefault": true
- }
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/codemirror-shim/CHANGELOG.md b/packages/codemirror-shim/CHANGELOG.md
deleted file mode 100644
index 94beaf4bd1..0000000000
--- a/packages/codemirror-shim/CHANGELOG.md
+++ /dev/null
@@ -1,5154 +0,0 @@
-# Change Log
-
-All notable changes to this project will be documented in this file.
-See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-
-# 2.36.0 (2024-07-23)
-
-
-### Bug Fixes
-
-* **build:** Source maps not referencing TS files ([08c3cf3](https://github.com/hpcc-systems/Visualization/commit/08c3cf369d6d4081f0f5d9285bf3b1fd9b5b5999))
-
-
-### Features
-
-* Add observable web component ([33fbe07](https://github.com/hpcc-systems/Visualization/commit/33fbe07eb8a5deeabd98467b1bce1fcda0d2dbab))
-* Add SQL support to codemirror ([e66a715](https://github.com/hpcc-systems/Visualization/commit/e66a715ff3e378e393d2eef03e78f81b0cbd2472))
-* Add search/replace to Editor ([0a83029](https://github.com/hpcc-systems/Visualization/commit/0a830298d0d1e7ad690fedb1b95bd0d8c9e5c13e))
-* Added MarkdownEditor and sample ([cb1792b](https://github.com/hpcc-systems/Visualization/commit/cb1792bf1fa246dd9215c4de01617eb1ac779b29))
-* **codemirror:** Add HTMLEditor and CSSEditor ([d3fc39d](https://github.com/hpcc-systems/Visualization/commit/d3fc39d12e274bcc56f6da922084007d39a168ba))
-* **CodeMirror:** Add support for DOT Language ([d56bc98](https://github.com/hpcc-systems/Visualization/commit/d56bc986168dfba5f7e1211188aad0916f3fa01d))
-* **codemirror:** Add XML support ([74c4ea0](https://github.com/hpcc-systems/Visualization/commit/74c4ea06560b3f239fba7df0bd2d4d3a8ba5c51a))
-* **codemirror:** Switch Markdown to GitHub Flavour Markdown ([ed41395](https://github.com/hpcc-systems/Visualization/commit/ed41395abd80b1219a2450d4c31310d12902907b))
-* Integrate Web Components ([ed1b14f](https://github.com/hpcc-systems/Visualization/commit/ed1b14f1cc8a82a4fbde1cf6767a0195bc16933b))
-* **loader:** Improved loader to manage specific versions ([cfcdfac](https://github.com/hpcc-systems/Visualization/commit/cfcdfacc1b162f1a5d02b06d434375424b7d225f))
-
-
-### Reverts
-
-* Revert "chore(security): Bump versions" ([cfd8239](https://github.com/hpcc-systems/Visualization/commit/cfd8239224493eacb8805cf43c2ca2c7cedf915b))
-* Revert "chore: Rework shim inclusion" ([462d55c](https://github.com/hpcc-systems/Visualization/commit/462d55c0b89cb74c6f2aacc29ccafebaf5a2c46c))
-
-
-
-
-
-## [2.37.0](https://github.com/hpcc-systems/Visualization/compare/codemirror-shim-v2.36.0...codemirror-shim-v2.37.0) (2024-10-23)
-
-
-### Features
-
-* Add SQL support to codemirror ([e66a715](https://github.com/hpcc-systems/Visualization/commit/e66a715ff3e378e393d2eef03e78f81b0cbd2472))
-* Rename "lint" to "lint-all" and revert "lint" to break on error. ([227ab65](https://github.com/hpcc-systems/Visualization/commit/227ab656f9ce64580a0c8a7015e53ac455b16be4))
-
-## [2.35.1](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.35.0...@hpcc-js/codemirror-shim@2.35.1) (2024-07-02)
-
-
-
-## 2.105.11 (2024-06-25)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-# [2.35.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.34.7...@hpcc-js/codemirror-shim@2.35.0) (2024-06-25)
-
-
-### Features
-
-* Add SQL support to codemirror ([e66a715](https://github.com/hpcc-systems/Visualization/commit/e66a715ff3e378e393d2eef03e78f81b0cbd2472))
-
-
-
-## 2.105.10 (2024-06-19)
-
-
-
-## 2.105.9 (2024-05-24)
-
-
-
-## 2.105.8 (2024-04-24)
-
-
-
-## 2.105.7 (2024-04-22)
-
-
-
-## 2.105.6 (2024-04-17)
-
-
-
-## 2.105.5 (2024-03-28)
-
-
-
-## 2.105.4 (2024-03-21)
-
-
-
-## 2.105.3 (2024-03-19)
-
-
-
-## 2.105.2 (2024-03-15)
-
-
-
-## 2.105.1 (2024-03-15)
-
-
-
-# 2.105.0 (2024-03-08)
-
-
-
-## 2.104.42 (2024-02-28)
-
-
-
-## 2.104.41 (2024-02-16)
-
-
-
-## 2.104.40 (2024-02-15)
-
-
-
-## 2.104.39 (2024-02-06)
-
-
-
-## 2.104.38 (2024-02-06)
-
-
-
-## 2.104.37 (2024-01-25)
-
-
-
-## 2.104.36 (2024-01-23)
-
-
-
-## 2.104.35 (2024-01-18)
-
-
-
-
-
-## [2.34.7](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.34.6...@hpcc-js/codemirror-shim@2.34.7) (2024-01-18)
-
-
-
-## 2.104.34 (2024-01-02)
-
-
-
-## 2.104.33 (2023-11-16)
-
-
-
-## 2.104.32 (2023-11-09)
-
-
-
-## 2.104.31 (2023-11-03)
-
-
-
-## 2.104.30 (2023-10-26)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-## [2.34.6](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.34.5...@hpcc-js/codemirror-shim@2.34.6) (2023-10-26)
-
-
-
-## 2.104.29 (2023-09-18)
-
-
-
-## 2.104.28 (2023-09-14)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-## [2.34.5](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.34.4...@hpcc-js/codemirror-shim@2.34.5) (2023-09-14)
-
-
-
-## 2.104.27 (2023-09-14)
-
-
-
-## 2.104.26 (2023-09-14)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-## [2.34.4](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.34.3...@hpcc-js/codemirror-shim@2.34.4) (2023-09-14)
-
-
-
-## 2.104.25 (2023-07-17)
-
-
-
-## 2.104.24 (2023-07-13)
-
-
-
-## 2.104.23 (2023-06-28)
-
-
-
-## 2.104.22 (2023-06-27)
-
-
-
-## 2.104.21 (2023-06-14)
-
-
-
-## 2.104.20 (2023-06-08)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-## [2.34.3](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.34.2...@hpcc-js/codemirror-shim@2.34.3) (2023-06-08)
-
-
-
-## 2.104.19 (2023-03-14)
-
-
-
-## 2.104.18 (2023-02-22)
-
-
-
-## 2.104.17 (2023-01-20)
-
-
-
-## 2.104.16 (2023-01-19)
-
-
-
-## 2.104.15 (2022-11-15)
-
-
-
-## 2.104.14 (2022-11-11)
-
-
-
-## 2.104.13 (2022-11-09)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-## [2.34.2](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.34.1...@hpcc-js/codemirror-shim@2.34.2) (2022-11-09)
-
-
-
-## 2.104.12 (2022-10-16)
-
-
-
-## 2.104.11 (2022-10-11)
-
-
-
-## 2.104.10 (2022-10-04)
-
-
-
-## 2.104.9 (2022-10-03)
-
-
-
-## 2.104.8 (2022-09-29)
-
-
-
-## 2.104.7 (2022-09-28)
-
-
-
-## 2.104.6 (2022-09-21)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-## [2.34.1](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.34.0...@hpcc-js/codemirror-shim@2.34.1) (2022-09-15)
-
-
-
-## 2.104.4 (2022-09-08)
-
-
-
-## 2.104.3 (2022-08-18)
-
-
-
-## 2.104.2 (2022-08-17)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-# [2.34.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.33.2...@hpcc-js/codemirror-shim@2.34.0) (2022-08-17)
-
-
-
-## 2.104.1 (2022-08-16)
-
-
-
-# 2.104.0 (2022-07-26)
-
-
-### Features
-
-* Add observable web component ([33fbe07](https://github.com/hpcc-systems/Visualization/commit/33fbe07eb8a5deeabd98467b1bce1fcda0d2dbab))
-
-
-
-## 2.103.6 (2022-06-27)
-
-
-
-## 2.103.5 (2022-06-23)
-
-
-
-## 2.103.4 (2022-05-31)
-
-
-
-## 2.103.3 (2022-05-13)
-
-
-
-## 2.103.2 (2022-04-27)
-
-
-
-## 2.103.1 (2022-04-20)
-
-
-
-# 2.103.0 (2022-04-07)
-
-
-
-## 2.102.11 (2022-03-24)
-
-
-
-
-
-## [2.33.2](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.33.1...@hpcc-js/codemirror-shim@2.33.2) (2022-03-24)
-
-
-
-## 2.102.10 (2022-03-15)
-
-
-
-## 2.102.9 (2022-03-15)
-
-
-
-## 2.102.8 (2022-03-15)
-
-
-
-## 2.102.7 (2022-03-14)
-
-
-
-## 2.102.6 (2022-03-11)
-
-
-
-## 2.102.5 (2022-03-11)
-
-
-
-## 2.102.4 (2022-03-10)
-
-
-
-## 2.102.3 (2022-03-10)
-
-
-
-## 2.102.2 (2022-03-08)
-
-
-
-## 2.102.1 (2022-03-08)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-## [2.33.1](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.33.0...@hpcc-js/codemirror-shim@2.33.1) (2022-03-08)
-
-
-
-# 2.102.0 (2022-03-07)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-# [2.33.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.32.0...@hpcc-js/codemirror-shim@2.33.0) (2022-03-07)
-
-
-### Features
-
-* Integrate Web Components ([ed1b14f](https://github.com/hpcc-systems/Visualization/commit/ed1b14f1cc8a82a4fbde1cf6767a0195bc16933b))
-
-
-
-## 2.101.2 (2022-03-05)
-
-
-
-## 2.101.1 (2022-03-04)
-
-
-
-
-
-# [2.32.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.32.0) (2022-02-23)
-
-
-
-# 2.100.0 (2022-02-18)
-
-
-
-# 2.99.0 (2022-02-10)
-
-
-
-# 2.98.0 (2022-02-10)
-
-
-### Reverts
-
-* Revert "chore(security): Bump versions" ([cfd8239](https://github.com/hpcc-systems/Visualization/commit/cfd8239224493eacb8805cf43c2ca2c7cedf915b))
-
-
-
-# 2.97.0 (2022-02-09)
-
-
-
-# 2.96.0 (2022-01-22)
-
-
-
-# 2.95.0 (2022-01-20)
-
-
-
-# 2.94.0 (2022-01-19)
-
-
-
-# 2.93.0 (2021-11-18)
-
-
-
-# 2.92.0 (2021-11-08)
-
-
-
-# 2.91.0 (2021-10-15)
-
-
-
-# 2.89.0 (2021-10-08)
-
-
-
-# 2.88.0 (2021-10-03)
-
-
-
-# 2.87.0 (2021-10-01)
-
-
-
-# 2.86.0 (2021-09-28)
-
-
-
-# 2.85.0 (2021-09-13)
-
-
-
-# 2.84.0 (2021-09-13)
-
-
-
-# 2.83.0 (2021-09-08)
-
-
-
-# 2.82.0 (2021-08-25)
-
-
-
-# 2.81.0 (2021-08-25)
-
-
-
-# 2.80.0 (2021-08-16)
-
-
-
-# 2.79.0 (2021-08-04)
-
-
-
-# 2.76.0 (2021-07-28)
-
-
-
-# 2.75.0 (2021-07-21)
-
-
-
-# 2.74.0 (2021-07-19)
-
-
-
-# 2.73.0 (2021-07-16)
-
-
-
-# 2.72.0 (2021-07-07)
-
-
-
-# 2.71.0 (2021-07-02)
-
-
-
-# 2.70.0 (2021-06-23)
-
-
-
-# 2.69.0 (2021-06-23)
-
-
-
-# 2.68.0 (2021-06-16)
-
-
-
-# 2.67.0 (2021-06-15)
-
-
-
-# 2.66.0 (2021-05-26)
-
-
-
-# 2.65.0 (2021-05-19)
-
-
-
-# 2.64.0 (2021-05-13)
-
-
-
-# 2.63.0 (2021-05-08)
-
-
-
-# 2.62.0 (2021-04-29)
-
-
-
-# 2.61.0 (2021-04-06)
-
-
-
-# 2.60.0 (2021-03-16)
-
-
-
-# 2.59.0 (2021-02-24)
-
-
-
-# 2.58.0 (2021-02-24)
-
-
-
-# 2.57.0 (2021-02-22)
-
-
-
-# 2.56.0 (2021-02-19)
-
-
-
-# 2.55.0 (2021-02-12)
-
-
-
-# 2.54.0 (2021-02-05)
-
-
-
-# 2.53.0 (2021-02-02)
-
-
-
-# 2.52.0 (2021-02-01)
-
-
-
-# 2.51.0 (2020-12-15)
-
-
-
-# 2.50.0 (2020-12-01)
-
-
-
-# 2.49.0 (2020-11-10)
-
-
-
-# 2.48.0 (2020-11-03)
-
-
-
-# 2.47.0 (2020-10-28)
-
-
-
-# 2.46.0 (2020-10-23)
-
-
-
-# 2.45.0 (2020-10-16)
-
-
-
-# 2.44.0 (2020-10-09)
-
-
-
-# 2.43.0 (2020-10-08)
-
-
-
-# 2.42.0 (2020-09-24)
-
-
-
-# 2.41.0 (2020-09-18)
-
-
-
-# 2.40.0 (2020-09-15)
-
-
-
-# 2.39.0 (2020-09-09)
-
-
-
-# 2.38.0 (2020-09-03)
-
-
-
-# 2.37.0 (2020-08-26)
-
-
-
-# 2.36.0 (2020-08-25)
-
-
-
-# 2.35.0 (2020-08-24)
-
-
-
-# 2.34.0 (2020-08-22)
-
-
-
-# 2.33.0 (2020-08-08)
-
-
-
-# 2.32.0 (2020-08-05)
-
-
-
-# 2.31.0 (2020-07-29)
-
-
-
-# 2.30.0 (2020-07-29)
-
-
-
-# 2.29.0 (2020-07-28)
-
-
-
-# 2.28.0 (2020-07-22)
-
-
-
-# 2.26.0 (2020-06-26)
-
-
-
-# 2.25.0 (2020-06-24)
-
-
-
-# 2.24.0 (2020-06-23)
-
-
-
-# 2.23.0 (2020-06-23)
-
-
-
-# 2.22.0 (2020-06-17)
-
-
-
-# 2.21.0 (2020-06-17)
-
-
-
-# 2.20.0 (2020-06-17)
-
-
-
-# 2.19.0 (2020-06-15)
-
-
-
-# 2.18.0 (2020-06-02)
-
-
-
-# 2.17.0 (2020-05-31)
-
-
-### Features
-
-* Add search/replace to Editor ([0a83029](https://github.com/hpcc-systems/Visualization/commit/0a830298d0d1e7ad690fedb1b95bd0d8c9e5c13e))
-
-
-
-# 2.16.0 (2020-05-21)
-
-
-
-## 2.15.21 (2020-05-20)
-
-
-
-## 2.15.20 (2020-05-20)
-
-
-
-## 2.15.19 (2020-05-19)
-
-
-
-## 2.15.18 (2020-05-15)
-
-
-
-## 2.15.17 (2020-05-15)
-
-
-
-## 2.15.16 (2020-05-14)
-
-
-
-## 2.15.15 (2020-05-12)
-
-
-
-## 2.15.14 (2020-05-07)
-
-
-
-## 2.15.13 (2020-04-24)
-
-
-
-## 2.15.12 (2020-04-22)
-
-
-
-## 2.15.11 (2020-04-21)
-
-
-
-## 2.15.10 (2020-04-21)
-
-
-
-## 2.15.9 (2020-04-17)
-
-
-
-## 2.15.7 (2020-04-11)
-
-
-### Features
-
-* **codemirror:** Switch Markdown to GitHub Flavour Markdown ([ed41395](https://github.com/hpcc-systems/Visualization/commit/ed41395abd80b1219a2450d4c31310d12902907b))
-
-
-
-
-
-
-# [2.31.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.31.0) (2022-02-10)
-
-
-
-# 2.98.0 (2022-02-10)
-
-
-### Reverts
-
-* Revert "chore(security): Bump versions" ([cfd8239](https://github.com/hpcc-systems/Visualization/commit/cfd8239224493eacb8805cf43c2ca2c7cedf915b))
-
-
-
-# 2.97.0 (2022-02-09)
-
-
-
-# 2.96.0 (2022-01-22)
-
-
-
-# 2.95.0 (2022-01-20)
-
-
-
-# 2.94.0 (2022-01-19)
-
-
-
-# 2.93.0 (2021-11-18)
-
-
-
-# 2.92.0 (2021-11-08)
-
-
-
-# 2.91.0 (2021-10-15)
-
-
-
-# 2.89.0 (2021-10-08)
-
-
-
-# 2.88.0 (2021-10-03)
-
-
-
-# 2.87.0 (2021-10-01)
-
-
-
-# 2.86.0 (2021-09-28)
-
-
-
-# 2.85.0 (2021-09-13)
-
-
-
-# 2.84.0 (2021-09-13)
-
-
-
-# 2.83.0 (2021-09-08)
-
-
-
-# 2.82.0 (2021-08-25)
-
-
-
-# 2.81.0 (2021-08-25)
-
-
-
-# 2.80.0 (2021-08-16)
-
-
-
-# 2.79.0 (2021-08-04)
-
-
-
-# 2.76.0 (2021-07-28)
-
-
-
-# 2.75.0 (2021-07-21)
-
-
-
-# 2.74.0 (2021-07-19)
-
-
-
-# 2.73.0 (2021-07-16)
-
-
-
-# 2.72.0 (2021-07-07)
-
-
-
-# 2.71.0 (2021-07-02)
-
-
-
-# 2.70.0 (2021-06-23)
-
-
-
-# 2.69.0 (2021-06-23)
-
-
-
-# 2.68.0 (2021-06-16)
-
-
-
-# 2.67.0 (2021-06-15)
-
-
-
-# 2.66.0 (2021-05-26)
-
-
-
-# 2.65.0 (2021-05-19)
-
-
-
-# 2.64.0 (2021-05-13)
-
-
-
-# 2.63.0 (2021-05-08)
-
-
-
-# 2.62.0 (2021-04-29)
-
-
-
-# 2.61.0 (2021-04-06)
-
-
-
-# 2.60.0 (2021-03-16)
-
-
-
-# 2.59.0 (2021-02-24)
-
-
-
-# 2.58.0 (2021-02-24)
-
-
-
-# 2.57.0 (2021-02-22)
-
-
-
-# 2.56.0 (2021-02-19)
-
-
-
-# 2.55.0 (2021-02-12)
-
-
-
-# 2.54.0 (2021-02-05)
-
-
-
-# 2.53.0 (2021-02-02)
-
-
-
-# 2.52.0 (2021-02-01)
-
-
-
-# 2.51.0 (2020-12-15)
-
-
-
-# 2.50.0 (2020-12-01)
-
-
-
-# 2.49.0 (2020-11-10)
-
-
-
-# 2.48.0 (2020-11-03)
-
-
-
-# 2.47.0 (2020-10-28)
-
-
-
-# 2.46.0 (2020-10-23)
-
-
-
-# 2.45.0 (2020-10-16)
-
-
-
-# 2.44.0 (2020-10-09)
-
-
-
-# 2.43.0 (2020-10-08)
-
-
-
-# 2.42.0 (2020-09-24)
-
-
-
-# 2.41.0 (2020-09-18)
-
-
-
-# 2.40.0 (2020-09-15)
-
-
-
-# 2.39.0 (2020-09-09)
-
-
-
-# 2.38.0 (2020-09-03)
-
-
-
-# 2.37.0 (2020-08-26)
-
-
-
-# 2.36.0 (2020-08-25)
-
-
-
-# 2.35.0 (2020-08-24)
-
-
-
-# 2.34.0 (2020-08-22)
-
-
-
-# 2.33.0 (2020-08-08)
-
-
-
-# 2.32.0 (2020-08-05)
-
-
-
-# 2.31.0 (2020-07-29)
-
-
-
-# 2.30.0 (2020-07-29)
-
-
-
-# 2.29.0 (2020-07-28)
-
-
-
-# 2.28.0 (2020-07-22)
-
-
-
-# 2.26.0 (2020-06-26)
-
-
-
-# 2.25.0 (2020-06-24)
-
-
-
-# 2.24.0 (2020-06-23)
-
-
-
-# 2.23.0 (2020-06-23)
-
-
-
-# 2.22.0 (2020-06-17)
-
-
-
-# 2.21.0 (2020-06-17)
-
-
-
-# 2.20.0 (2020-06-17)
-
-
-
-# 2.19.0 (2020-06-15)
-
-
-
-# 2.18.0 (2020-06-02)
-
-
-
-# 2.17.0 (2020-05-31)
-
-
-### Features
-
-* Add search/replace to Editor ([0a83029](https://github.com/hpcc-systems/Visualization/commit/0a830298d0d1e7ad690fedb1b95bd0d8c9e5c13e))
-
-
-
-# 2.16.0 (2020-05-21)
-
-
-
-## 2.15.21 (2020-05-20)
-
-
-
-## 2.15.20 (2020-05-20)
-
-
-
-## 2.15.19 (2020-05-19)
-
-
-
-## 2.15.18 (2020-05-15)
-
-
-
-## 2.15.17 (2020-05-15)
-
-
-
-## 2.15.16 (2020-05-14)
-
-
-
-## 2.15.15 (2020-05-12)
-
-
-
-## 2.15.14 (2020-05-07)
-
-
-
-## 2.15.13 (2020-04-24)
-
-
-
-## 2.15.12 (2020-04-22)
-
-
-
-## 2.15.11 (2020-04-21)
-
-
-
-## 2.15.10 (2020-04-21)
-
-
-
-## 2.15.9 (2020-04-17)
-
-
-
-## 2.15.7 (2020-04-11)
-
-
-### Features
-
-* **codemirror:** Switch Markdown to GitHub Flavour Markdown ([ed41395](https://github.com/hpcc-systems/Visualization/commit/ed41395abd80b1219a2450d4c31310d12902907b))
-
-
-
-
-
-
-# [2.30.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.30.0) (2022-02-10)
-
-
-### Reverts
-
-* Revert "chore(security): Bump versions" ([cfd8239](https://github.com/hpcc-systems/Visualization/commit/cfd8239224493eacb8805cf43c2ca2c7cedf915b))
-
-
-
-# 2.97.0 (2022-02-09)
-
-
-
-# 2.96.0 (2022-01-22)
-
-
-
-# 2.95.0 (2022-01-20)
-
-
-
-# 2.94.0 (2022-01-19)
-
-
-
-# 2.93.0 (2021-11-18)
-
-
-
-# 2.92.0 (2021-11-08)
-
-
-
-# 2.91.0 (2021-10-15)
-
-
-
-# 2.89.0 (2021-10-08)
-
-
-
-# 2.88.0 (2021-10-03)
-
-
-
-# 2.87.0 (2021-10-01)
-
-
-
-# 2.86.0 (2021-09-28)
-
-
-
-# 2.85.0 (2021-09-13)
-
-
-
-# 2.84.0 (2021-09-13)
-
-
-
-# 2.83.0 (2021-09-08)
-
-
-
-# 2.82.0 (2021-08-25)
-
-
-
-# 2.81.0 (2021-08-25)
-
-
-
-# 2.80.0 (2021-08-16)
-
-
-
-# 2.79.0 (2021-08-04)
-
-
-
-# 2.76.0 (2021-07-28)
-
-
-
-# 2.75.0 (2021-07-21)
-
-
-
-# 2.74.0 (2021-07-19)
-
-
-
-# 2.73.0 (2021-07-16)
-
-
-
-# 2.72.0 (2021-07-07)
-
-
-
-# 2.71.0 (2021-07-02)
-
-
-
-# 2.70.0 (2021-06-23)
-
-
-
-# 2.69.0 (2021-06-23)
-
-
-
-# 2.68.0 (2021-06-16)
-
-
-
-# 2.67.0 (2021-06-15)
-
-
-
-# 2.66.0 (2021-05-26)
-
-
-
-# 2.65.0 (2021-05-19)
-
-
-
-# 2.64.0 (2021-05-13)
-
-
-
-# 2.63.0 (2021-05-08)
-
-
-
-# 2.62.0 (2021-04-29)
-
-
-
-# 2.61.0 (2021-04-06)
-
-
-
-# 2.60.0 (2021-03-16)
-
-
-
-# 2.59.0 (2021-02-24)
-
-
-
-# 2.58.0 (2021-02-24)
-
-
-
-# 2.57.0 (2021-02-22)
-
-
-
-# 2.56.0 (2021-02-19)
-
-
-
-# 2.55.0 (2021-02-12)
-
-
-
-# 2.54.0 (2021-02-05)
-
-
-
-# 2.53.0 (2021-02-02)
-
-
-
-# 2.52.0 (2021-02-01)
-
-
-
-# 2.51.0 (2020-12-15)
-
-
-
-# 2.50.0 (2020-12-01)
-
-
-
-# 2.49.0 (2020-11-10)
-
-
-
-# 2.48.0 (2020-11-03)
-
-
-
-# 2.47.0 (2020-10-28)
-
-
-
-# 2.46.0 (2020-10-23)
-
-
-
-# 2.45.0 (2020-10-16)
-
-
-
-# 2.44.0 (2020-10-09)
-
-
-
-# 2.43.0 (2020-10-08)
-
-
-
-# 2.42.0 (2020-09-24)
-
-
-
-# 2.41.0 (2020-09-18)
-
-
-
-# 2.40.0 (2020-09-15)
-
-
-
-# 2.39.0 (2020-09-09)
-
-
-
-# 2.38.0 (2020-09-03)
-
-
-
-# 2.37.0 (2020-08-26)
-
-
-
-# 2.36.0 (2020-08-25)
-
-
-
-# 2.35.0 (2020-08-24)
-
-
-
-# 2.34.0 (2020-08-22)
-
-
-
-# 2.33.0 (2020-08-08)
-
-
-
-# 2.32.0 (2020-08-05)
-
-
-
-# 2.31.0 (2020-07-29)
-
-
-
-# 2.30.0 (2020-07-29)
-
-
-
-# 2.29.0 (2020-07-28)
-
-
-
-# 2.28.0 (2020-07-22)
-
-
-
-# 2.26.0 (2020-06-26)
-
-
-
-# 2.25.0 (2020-06-24)
-
-
-
-# 2.24.0 (2020-06-23)
-
-
-
-# 2.23.0 (2020-06-23)
-
-
-
-# 2.22.0 (2020-06-17)
-
-
-
-# 2.21.0 (2020-06-17)
-
-
-
-# 2.20.0 (2020-06-17)
-
-
-
-# 2.19.0 (2020-06-15)
-
-
-
-# 2.18.0 (2020-06-02)
-
-
-
-# 2.17.0 (2020-05-31)
-
-
-### Features
-
-* Add search/replace to Editor ([0a83029](https://github.com/hpcc-systems/Visualization/commit/0a830298d0d1e7ad690fedb1b95bd0d8c9e5c13e))
-
-
-
-# 2.16.0 (2020-05-21)
-
-
-
-## 2.15.21 (2020-05-20)
-
-
-
-## 2.15.20 (2020-05-20)
-
-
-
-## 2.15.19 (2020-05-19)
-
-
-
-## 2.15.18 (2020-05-15)
-
-
-
-## 2.15.17 (2020-05-15)
-
-
-
-## 2.15.16 (2020-05-14)
-
-
-
-## 2.15.15 (2020-05-12)
-
-
-
-## 2.15.14 (2020-05-07)
-
-
-
-## 2.15.13 (2020-04-24)
-
-
-
-## 2.15.12 (2020-04-22)
-
-
-
-## 2.15.11 (2020-04-21)
-
-
-
-## 2.15.10 (2020-04-21)
-
-
-
-## 2.15.9 (2020-04-17)
-
-
-
-## 2.15.7 (2020-04-11)
-
-
-### Features
-
-* **codemirror:** Switch Markdown to GitHub Flavour Markdown ([ed41395](https://github.com/hpcc-systems/Visualization/commit/ed41395abd80b1219a2450d4c31310d12902907b))
-
-
-
-
-
-
-# [2.29.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.29.0) (2022-02-09)
-
-
-
-# 2.96.0 (2022-01-22)
-
-
-
-# 2.95.0 (2022-01-20)
-
-
-
-# 2.94.0 (2022-01-19)
-
-
-
-# 2.93.0 (2021-11-18)
-
-
-
-# 2.92.0 (2021-11-08)
-
-
-
-# 2.91.0 (2021-10-15)
-
-
-
-# 2.89.0 (2021-10-08)
-
-
-
-# 2.88.0 (2021-10-03)
-
-
-
-# 2.87.0 (2021-10-01)
-
-
-
-# 2.86.0 (2021-09-28)
-
-
-
-# 2.85.0 (2021-09-13)
-
-
-
-# 2.84.0 (2021-09-13)
-
-
-
-# 2.83.0 (2021-09-08)
-
-
-
-# 2.82.0 (2021-08-25)
-
-
-
-# 2.81.0 (2021-08-25)
-
-
-
-# 2.80.0 (2021-08-16)
-
-
-
-# 2.79.0 (2021-08-04)
-
-
-
-# 2.76.0 (2021-07-28)
-
-
-
-# 2.75.0 (2021-07-21)
-
-
-
-# 2.74.0 (2021-07-19)
-
-
-
-# 2.73.0 (2021-07-16)
-
-
-
-# 2.72.0 (2021-07-07)
-
-
-
-# 2.71.0 (2021-07-02)
-
-
-
-# 2.70.0 (2021-06-23)
-
-
-
-# 2.69.0 (2021-06-23)
-
-
-
-# 2.68.0 (2021-06-16)
-
-
-
-# 2.67.0 (2021-06-15)
-
-
-
-# 2.66.0 (2021-05-26)
-
-
-
-# 2.65.0 (2021-05-19)
-
-
-
-# 2.64.0 (2021-05-13)
-
-
-
-# 2.63.0 (2021-05-08)
-
-
-
-# 2.62.0 (2021-04-29)
-
-
-
-# 2.61.0 (2021-04-06)
-
-
-
-# 2.60.0 (2021-03-16)
-
-
-
-# 2.59.0 (2021-02-24)
-
-
-
-# 2.58.0 (2021-02-24)
-
-
-
-# 2.57.0 (2021-02-22)
-
-
-
-# 2.56.0 (2021-02-19)
-
-
-
-# 2.55.0 (2021-02-12)
-
-
-
-# 2.54.0 (2021-02-05)
-
-
-
-# 2.53.0 (2021-02-02)
-
-
-
-# 2.52.0 (2021-02-01)
-
-
-
-# 2.51.0 (2020-12-15)
-
-
-
-# 2.50.0 (2020-12-01)
-
-
-
-# 2.49.0 (2020-11-10)
-
-
-
-# 2.48.0 (2020-11-03)
-
-
-
-# 2.47.0 (2020-10-28)
-
-
-
-# 2.46.0 (2020-10-23)
-
-
-
-# 2.45.0 (2020-10-16)
-
-
-
-# 2.44.0 (2020-10-09)
-
-
-
-# 2.43.0 (2020-10-08)
-
-
-
-# 2.42.0 (2020-09-24)
-
-
-
-# 2.41.0 (2020-09-18)
-
-
-
-# 2.40.0 (2020-09-15)
-
-
-
-# 2.39.0 (2020-09-09)
-
-
-
-# 2.38.0 (2020-09-03)
-
-
-
-# 2.37.0 (2020-08-26)
-
-
-
-# 2.36.0 (2020-08-25)
-
-
-
-# 2.35.0 (2020-08-24)
-
-
-
-# 2.34.0 (2020-08-22)
-
-
-
-# 2.33.0 (2020-08-08)
-
-
-
-# 2.32.0 (2020-08-05)
-
-
-
-# 2.31.0 (2020-07-29)
-
-
-
-# 2.30.0 (2020-07-29)
-
-
-
-# 2.29.0 (2020-07-28)
-
-
-
-# 2.28.0 (2020-07-22)
-
-
-
-# 2.26.0 (2020-06-26)
-
-
-
-# 2.25.0 (2020-06-24)
-
-
-
-# 2.24.0 (2020-06-23)
-
-
-
-# 2.23.0 (2020-06-23)
-
-
-
-# 2.22.0 (2020-06-17)
-
-
-
-# 2.21.0 (2020-06-17)
-
-
-
-# 2.20.0 (2020-06-17)
-
-
-
-# 2.19.0 (2020-06-15)
-
-
-
-# 2.18.0 (2020-06-02)
-
-
-
-# 2.17.0 (2020-05-31)
-
-
-### Features
-
-* Add search/replace to Editor ([0a83029](https://github.com/hpcc-systems/Visualization/commit/0a830298d0d1e7ad690fedb1b95bd0d8c9e5c13e))
-
-
-
-# 2.16.0 (2020-05-21)
-
-
-
-## 2.15.21 (2020-05-20)
-
-
-
-## 2.15.20 (2020-05-20)
-
-
-
-## 2.15.19 (2020-05-19)
-
-
-
-## 2.15.18 (2020-05-15)
-
-
-
-## 2.15.17 (2020-05-15)
-
-
-
-## 2.15.16 (2020-05-14)
-
-
-
-## 2.15.15 (2020-05-12)
-
-
-
-## 2.15.14 (2020-05-07)
-
-
-
-## 2.15.13 (2020-04-24)
-
-
-
-## 2.15.12 (2020-04-22)
-
-
-
-## 2.15.11 (2020-04-21)
-
-
-
-## 2.15.10 (2020-04-21)
-
-
-
-## 2.15.9 (2020-04-17)
-
-
-
-## 2.15.7 (2020-04-11)
-
-
-### Features
-
-* **codemirror:** Switch Markdown to GitHub Flavour Markdown ([ed41395](https://github.com/hpcc-systems/Visualization/commit/ed41395abd80b1219a2450d4c31310d12902907b))
-
-
-
-
-
-# [2.28.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.28.0) (2022-01-20)
-
-
-
-# 2.94.0 (2022-01-19)
-
-
-
-# 2.93.0 (2021-11-18)
-
-
-
-# 2.92.0 (2021-11-08)
-
-
-
-# 2.91.0 (2021-10-15)
-
-
-
-# 2.89.0 (2021-10-08)
-
-
-
-# 2.88.0 (2021-10-03)
-
-
-
-# 2.87.0 (2021-10-01)
-
-
-
-# 2.86.0 (2021-09-28)
-
-
-
-# 2.85.0 (2021-09-13)
-
-
-
-# 2.84.0 (2021-09-13)
-
-
-
-# 2.83.0 (2021-09-08)
-
-
-
-# 2.82.0 (2021-08-25)
-
-
-
-# 2.81.0 (2021-08-25)
-
-
-
-# 2.80.0 (2021-08-16)
-
-
-
-# 2.79.0 (2021-08-04)
-
-
-
-# 2.76.0 (2021-07-28)
-
-
-
-# 2.75.0 (2021-07-21)
-
-
-
-# 2.74.0 (2021-07-19)
-
-
-
-# 2.73.0 (2021-07-16)
-
-
-
-# 2.72.0 (2021-07-07)
-
-
-
-# 2.71.0 (2021-07-02)
-
-
-
-# 2.70.0 (2021-06-23)
-
-
-
-# 2.69.0 (2021-06-23)
-
-
-
-# 2.68.0 (2021-06-16)
-
-
-
-# 2.67.0 (2021-06-15)
-
-
-
-# 2.66.0 (2021-05-26)
-
-
-
-# 2.65.0 (2021-05-19)
-
-
-
-# 2.64.0 (2021-05-13)
-
-
-
-# 2.63.0 (2021-05-08)
-
-
-
-# 2.62.0 (2021-04-29)
-
-
-
-# 2.61.0 (2021-04-06)
-
-
-
-# 2.60.0 (2021-03-16)
-
-
-
-# 2.59.0 (2021-02-24)
-
-
-
-# 2.58.0 (2021-02-24)
-
-
-
-# 2.57.0 (2021-02-22)
-
-
-
-# 2.56.0 (2021-02-19)
-
-
-
-# 2.55.0 (2021-02-12)
-
-
-
-# 2.54.0 (2021-02-05)
-
-
-
-# 2.53.0 (2021-02-02)
-
-
-
-# 2.52.0 (2021-02-01)
-
-
-
-# 2.51.0 (2020-12-15)
-
-
-
-# 2.50.0 (2020-12-01)
-
-
-
-# 2.49.0 (2020-11-10)
-
-
-
-# 2.48.0 (2020-11-03)
-
-
-
-# 2.47.0 (2020-10-28)
-
-
-
-# 2.46.0 (2020-10-23)
-
-
-
-# 2.45.0 (2020-10-16)
-
-
-
-# 2.44.0 (2020-10-09)
-
-
-
-# 2.43.0 (2020-10-08)
-
-
-
-# 2.42.0 (2020-09-24)
-
-
-
-# 2.41.0 (2020-09-18)
-
-
-
-# 2.40.0 (2020-09-15)
-
-
-
-# 2.39.0 (2020-09-09)
-
-
-
-# 2.38.0 (2020-09-03)
-
-
-
-# 2.37.0 (2020-08-26)
-
-
-
-# 2.36.0 (2020-08-25)
-
-
-
-# 2.35.0 (2020-08-24)
-
-
-
-# 2.34.0 (2020-08-22)
-
-
-
-# 2.33.0 (2020-08-08)
-
-
-
-# 2.32.0 (2020-08-05)
-
-
-
-# 2.31.0 (2020-07-29)
-
-
-
-# 2.30.0 (2020-07-29)
-
-
-
-# 2.29.0 (2020-07-28)
-
-
-
-# 2.28.0 (2020-07-22)
-
-
-
-# 2.26.0 (2020-06-26)
-
-
-
-# 2.25.0 (2020-06-24)
-
-
-
-# 2.24.0 (2020-06-23)
-
-
-
-# 2.23.0 (2020-06-23)
-
-
-
-# 2.22.0 (2020-06-17)
-
-
-
-# 2.21.0 (2020-06-17)
-
-
-
-# 2.20.0 (2020-06-17)
-
-
-
-# 2.19.0 (2020-06-15)
-
-
-
-# 2.18.0 (2020-06-02)
-
-
-
-# 2.17.0 (2020-05-31)
-
-
-### Features
-
-* Add search/replace to Editor ([0a83029](https://github.com/hpcc-systems/Visualization/commit/0a830298d0d1e7ad690fedb1b95bd0d8c9e5c13e))
-
-
-
-# 2.16.0 (2020-05-21)
-
-
-
-## 2.15.21 (2020-05-20)
-
-
-
-## 2.15.20 (2020-05-20)
-
-
-
-## 2.15.19 (2020-05-19)
-
-
-
-## 2.15.18 (2020-05-15)
-
-
-
-## 2.15.17 (2020-05-15)
-
-
-
-## 2.15.16 (2020-05-14)
-
-
-
-## 2.15.15 (2020-05-12)
-
-
-
-## 2.15.14 (2020-05-07)
-
-
-
-## 2.15.13 (2020-04-24)
-
-
-
-## 2.15.12 (2020-04-22)
-
-
-
-## 2.15.11 (2020-04-21)
-
-
-
-## 2.15.10 (2020-04-21)
-
-
-
-## 2.15.9 (2020-04-17)
-
-
-
-## 2.15.7 (2020-04-11)
-
-
-### Features
-
-* **codemirror:** Switch Markdown to GitHub Flavour Markdown ([ed41395](https://github.com/hpcc-systems/Visualization/commit/ed41395abd80b1219a2450d4c31310d12902907b))
-
-
-
-
-
-
-# [2.27.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.27.0) (2022-01-19)
-
-
-
-# 2.93.0 (2021-11-18)
-
-
-
-# 2.92.0 (2021-11-08)
-
-
-
-# 2.91.0 (2021-10-15)
-
-
-
-# 2.89.0 (2021-10-08)
-
-
-
-# 2.88.0 (2021-10-03)
-
-
-
-# 2.87.0 (2021-10-01)
-
-
-
-# 2.86.0 (2021-09-28)
-
-
-
-# 2.85.0 (2021-09-13)
-
-
-
-# 2.84.0 (2021-09-13)
-
-
-
-# 2.83.0 (2021-09-08)
-
-
-
-# 2.82.0 (2021-08-25)
-
-
-
-# 2.81.0 (2021-08-25)
-
-
-
-# 2.80.0 (2021-08-16)
-
-
-
-# 2.79.0 (2021-08-04)
-
-
-
-# 2.76.0 (2021-07-28)
-
-
-
-# 2.75.0 (2021-07-21)
-
-
-
-# 2.74.0 (2021-07-19)
-
-
-
-# 2.73.0 (2021-07-16)
-
-
-
-# 2.72.0 (2021-07-07)
-
-
-
-# 2.71.0 (2021-07-02)
-
-
-
-# 2.70.0 (2021-06-23)
-
-
-
-# 2.69.0 (2021-06-23)
-
-
-
-# 2.68.0 (2021-06-16)
-
-
-
-# 2.67.0 (2021-06-15)
-
-
-
-# 2.66.0 (2021-05-26)
-
-
-
-# 2.65.0 (2021-05-19)
-
-
-
-# 2.64.0 (2021-05-13)
-
-
-
-# 2.63.0 (2021-05-08)
-
-
-
-# 2.62.0 (2021-04-29)
-
-
-
-# 2.61.0 (2021-04-06)
-
-
-
-# 2.60.0 (2021-03-16)
-
-
-
-# 2.59.0 (2021-02-24)
-
-
-
-# 2.58.0 (2021-02-24)
-
-
-
-# 2.57.0 (2021-02-22)
-
-
-
-# 2.56.0 (2021-02-19)
-
-
-
-# 2.55.0 (2021-02-12)
-
-
-
-# 2.54.0 (2021-02-05)
-
-
-
-# 2.53.0 (2021-02-02)
-
-
-
-# 2.52.0 (2021-02-01)
-
-
-
-# 2.51.0 (2020-12-15)
-
-
-
-# 2.50.0 (2020-12-01)
-
-
-
-# 2.49.0 (2020-11-10)
-
-
-
-# 2.48.0 (2020-11-03)
-
-
-
-# 2.47.0 (2020-10-28)
-
-
-
-# 2.46.0 (2020-10-23)
-
-
-
-# 2.45.0 (2020-10-16)
-
-
-
-# 2.44.0 (2020-10-09)
-
-
-
-# 2.43.0 (2020-10-08)
-
-
-
-# 2.42.0 (2020-09-24)
-
-
-
-# 2.41.0 (2020-09-18)
-
-
-
-# 2.40.0 (2020-09-15)
-
-
-
-# 2.39.0 (2020-09-09)
-
-
-
-# 2.38.0 (2020-09-03)
-
-
-
-# 2.37.0 (2020-08-26)
-
-
-
-# 2.36.0 (2020-08-25)
-
-
-
-# 2.35.0 (2020-08-24)
-
-
-
-# 2.34.0 (2020-08-22)
-
-
-
-# 2.33.0 (2020-08-08)
-
-
-
-# 2.32.0 (2020-08-05)
-
-
-
-# 2.31.0 (2020-07-29)
-
-
-
-# 2.30.0 (2020-07-29)
-
-
-
-# 2.29.0 (2020-07-28)
-
-
-
-# 2.28.0 (2020-07-22)
-
-
-
-# 2.26.0 (2020-06-26)
-
-
-
-# 2.25.0 (2020-06-24)
-
-
-
-# 2.24.0 (2020-06-23)
-
-
-
-# 2.23.0 (2020-06-23)
-
-
-
-# 2.22.0 (2020-06-17)
-
-
-
-# 2.21.0 (2020-06-17)
-
-
-
-# 2.20.0 (2020-06-17)
-
-
-
-# 2.19.0 (2020-06-15)
-
-
-
-# 2.18.0 (2020-06-02)
-
-
-
-# 2.17.0 (2020-05-31)
-
-
-### Features
-
-* Add search/replace to Editor ([0a83029](https://github.com/hpcc-systems/Visualization/commit/0a830298d0d1e7ad690fedb1b95bd0d8c9e5c13e))
-
-
-
-# 2.16.0 (2020-05-21)
-
-
-
-## 2.15.21 (2020-05-20)
-
-
-
-## 2.15.20 (2020-05-20)
-
-
-
-## 2.15.19 (2020-05-19)
-
-
-
-## 2.15.18 (2020-05-15)
-
-
-
-## 2.15.17 (2020-05-15)
-
-
-
-## 2.15.16 (2020-05-14)
-
-
-
-## 2.15.15 (2020-05-12)
-
-
-
-## 2.15.14 (2020-05-07)
-
-
-
-## 2.15.13 (2020-04-24)
-
-
-
-## 2.15.12 (2020-04-22)
-
-
-
-## 2.15.11 (2020-04-21)
-
-
-
-## 2.15.10 (2020-04-21)
-
-
-
-## 2.15.9 (2020-04-17)
-
-
-
-## 2.15.7 (2020-04-11)
-
-
-### Features
-
-* **codemirror:** Switch Markdown to GitHub Flavour Markdown ([ed41395](https://github.com/hpcc-systems/Visualization/commit/ed41395abd80b1219a2450d4c31310d12902907b))
-
-
-
-
-
-
-# [2.26.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.26.0) (2021-10-03)
-
-
-
-# 2.87.0 (2021-10-01)
-
-
-
-# 2.86.0 (2021-09-28)
-
-
-
-# 2.85.0 (2021-09-13)
-
-
-
-# 2.84.0 (2021-09-13)
-
-
-
-# 2.83.0 (2021-09-08)
-
-
-
-# 2.82.0 (2021-08-25)
-
-
-
-# 2.81.0 (2021-08-25)
-
-
-
-# 2.80.0 (2021-08-16)
-
-
-
-# 2.79.0 (2021-08-04)
-
-
-
-# 2.76.0 (2021-07-28)
-
-
-
-# 2.75.0 (2021-07-21)
-
-
-
-# 2.74.0 (2021-07-19)
-
-
-
-# 2.73.0 (2021-07-16)
-
-
-
-# 2.72.0 (2021-07-07)
-
-
-
-# 2.71.0 (2021-07-02)
-
-
-
-# 2.70.0 (2021-06-23)
-
-
-
-# 2.69.0 (2021-06-23)
-
-
-
-# 2.68.0 (2021-06-16)
-
-
-
-# 2.67.0 (2021-06-15)
-
-
-
-# 2.66.0 (2021-05-26)
-
-
-
-# 2.65.0 (2021-05-19)
-
-
-
-# 2.64.0 (2021-05-13)
-
-
-
-# 2.63.0 (2021-05-08)
-
-
-
-# 2.62.0 (2021-04-29)
-
-
-
-# 2.61.0 (2021-04-06)
-
-
-
-# 2.60.0 (2021-03-16)
-
-
-
-# 2.59.0 (2021-02-24)
-
-
-
-# 2.58.0 (2021-02-24)
-
-
-
-# 2.57.0 (2021-02-22)
-
-
-
-# 2.56.0 (2021-02-19)
-
-
-
-# 2.55.0 (2021-02-12)
-
-
-
-# 2.54.0 (2021-02-05)
-
-
-
-# 2.53.0 (2021-02-02)
-
-
-
-## 3.0.1 (2021-02-01)
-
-
-
-# 2.51.0 (2020-12-15)
-
-
-
-# 2.50.0 (2020-12-01)
-
-
-
-# 2.49.0 (2020-11-10)
-
-
-
-# 2.48.0 (2020-11-03)
-
-
-
-# 2.47.0 (2020-10-28)
-
-
-
-# 2.46.0 (2020-10-23)
-
-
-
-# 2.45.0 (2020-10-16)
-
-
-
-# 2.44.0 (2020-10-09)
-
-
-
-# 2.43.0 (2020-10-08)
-
-
-
-# 2.42.0 (2020-09-24)
-
-
-
-# 2.41.0 (2020-09-18)
-
-
-
-# 2.40.0 (2020-09-15)
-
-
-
-# 2.39.0 (2020-09-09)
-
-
-
-# 2.38.0 (2020-09-03)
-
-
-
-# 2.37.0 (2020-08-26)
-
-
-
-# 2.36.0 (2020-08-25)
-
-
-
-# 2.35.0 (2020-08-24)
-
-
-
-# 2.34.0 (2020-08-22)
-
-
-
-# 2.33.0 (2020-08-08)
-
-
-
-# 2.32.0 (2020-08-05)
-
-
-
-# 2.31.0 (2020-07-29)
-
-
-
-# 2.30.0 (2020-07-29)
-
-
-
-# 2.29.0 (2020-07-28)
-
-
-
-# 2.28.0 (2020-07-22)
-
-
-
-# 2.26.0 (2020-06-26)
-
-
-
-# 2.25.0 (2020-06-24)
-
-
-
-# 2.24.0 (2020-06-23)
-
-
-
-# 2.23.0 (2020-06-23)
-
-
-
-# 2.22.0 (2020-06-17)
-
-
-
-# 2.21.0 (2020-06-17)
-
-
-
-# 2.20.0 (2020-06-17)
-
-
-
-# 2.19.0 (2020-06-15)
-
-
-
-# 2.18.0 (2020-06-02)
-
-
-
-# 2.17.0 (2020-05-31)
-
-
-### Features
-
-* Add search/replace to Editor ([0a83029](https://github.com/hpcc-systems/Visualization/commit/0a830298d0d1e7ad690fedb1b95bd0d8c9e5c13e))
-
-
-
-# 2.16.0 (2020-05-21)
-
-
-
-## 2.15.21 (2020-05-20)
-
-
-
-## 2.15.20 (2020-05-20)
-
-
-
-## 2.15.19 (2020-05-19)
-
-
-
-## 2.15.18 (2020-05-15)
-
-
-
-## 2.15.17 (2020-05-15)
-
-
-
-## 2.15.16 (2020-05-14)
-
-
-
-## 2.15.15 (2020-05-12)
-
-
-
-## 2.15.14 (2020-05-07)
-
-
-
-## 2.15.13 (2020-04-24)
-
-
-
-## 2.15.12 (2020-04-22)
-
-
-
-## 2.15.11 (2020-04-21)
-
-
-
-## 2.15.10 (2020-04-21)
-
-
-
-## 2.15.9 (2020-04-17)
-
-
-
-## 2.15.7 (2020-04-11)
-
-
-### Features
-
-* **codemirror:** Switch Markdown to GitHub Flavour Markdown ([ed41395](https://github.com/hpcc-systems/Visualization/commit/ed41395abd80b1219a2450d4c31310d12902907b))
-
-
-
-
-
-# [2.25.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.25.0) (2021-09-08)
-
-
-
-# 2.82.0 (2021-08-25)
-
-
-
-# 2.81.0 (2021-08-25)
-
-
-
-# 2.80.0 (2021-08-16)
-
-
-
-# 2.79.0 (2021-08-04)
-
-
-
-# 2.76.0 (2021-07-28)
-
-
-
-# 2.75.0 (2021-07-21)
-
-
-
-# 2.74.0 (2021-07-19)
-
-
-
-# 2.73.0 (2021-07-16)
-
-
-
-# 2.72.0 (2021-07-07)
-
-
-
-# 2.71.0 (2021-07-02)
-
-
-
-# 2.70.0 (2021-06-23)
-
-
-
-# 2.69.0 (2021-06-23)
-
-
-
-# 2.68.0 (2021-06-16)
-
-
-
-# 2.67.0 (2021-06-15)
-
-
-
-# 2.66.0 (2021-05-26)
-
-
-
-# 2.65.0 (2021-05-19)
-
-
-
-# 2.64.0 (2021-05-13)
-
-
-
-# 2.63.0 (2021-05-08)
-
-
-
-# 2.62.0 (2021-04-29)
-
-
-
-# 2.61.0 (2021-04-06)
-
-
-
-# 2.60.0 (2021-03-16)
-
-
-
-# 2.59.0 (2021-02-24)
-
-
-
-# 2.58.0 (2021-02-24)
-
-
-
-# 2.57.0 (2021-02-22)
-
-
-
-# 2.56.0 (2021-02-19)
-
-
-
-# 2.55.0 (2021-02-12)
-
-
-
-# 2.54.0 (2021-02-05)
-
-
-
-# 2.53.0 (2021-02-02)
-
-
-
-## 3.0.1 (2021-02-01)
-
-
-
-# 2.51.0 (2020-12-15)
-
-
-
-# 2.50.0 (2020-12-01)
-
-
-
-# 2.49.0 (2020-11-10)
-
-
-
-# 2.48.0 (2020-11-03)
-
-
-
-# 2.47.0 (2020-10-28)
-
-
-
-# 2.46.0 (2020-10-23)
-
-
-
-# 2.45.0 (2020-10-16)
-
-
-
-# 2.44.0 (2020-10-09)
-
-
-
-# 2.43.0 (2020-10-08)
-
-
-
-# 2.42.0 (2020-09-24)
-
-
-
-# 2.41.0 (2020-09-18)
-
-
-
-# 2.40.0 (2020-09-15)
-
-
-
-# 2.39.0 (2020-09-09)
-
-
-
-# 2.38.0 (2020-09-03)
-
-
-
-# 2.37.0 (2020-08-26)
-
-
-
-# 2.36.0 (2020-08-25)
-
-
-
-# 2.35.0 (2020-08-24)
-
-
-
-# 2.34.0 (2020-08-22)
-
-
-
-# 2.33.0 (2020-08-08)
-
-
-
-# 2.32.0 (2020-08-05)
-
-
-
-# 2.31.0 (2020-07-29)
-
-
-
-# 2.30.0 (2020-07-29)
-
-
-
-# 2.29.0 (2020-07-28)
-
-
-
-# 2.28.0 (2020-07-22)
-
-
-
-# 2.26.0 (2020-06-26)
-
-
-
-# 2.25.0 (2020-06-24)
-
-
-
-# 2.24.0 (2020-06-23)
-
-
-
-# 2.23.0 (2020-06-23)
-
-
-
-# 2.22.0 (2020-06-17)
-
-
-
-# 2.21.0 (2020-06-17)
-
-
-
-# 2.20.0 (2020-06-17)
-
-
-
-# 2.19.0 (2020-06-15)
-
-
-
-# 2.18.0 (2020-06-02)
-
-
-
-# 2.17.0 (2020-05-31)
-
-
-### Features
-
-* Add search/replace to Editor ([0a83029](https://github.com/hpcc-systems/Visualization/commit/0a830298d0d1e7ad690fedb1b95bd0d8c9e5c13e))
-
-
-
-# 2.16.0 (2020-05-21)
-
-
-
-## 2.15.21 (2020-05-20)
-
-
-
-## 2.15.20 (2020-05-20)
-
-
-
-## 2.15.19 (2020-05-19)
-
-
-
-## 2.15.18 (2020-05-15)
-
-
-
-## 2.15.17 (2020-05-15)
-
-
-
-## 2.15.16 (2020-05-14)
-
-
-
-## 2.15.15 (2020-05-12)
-
-
-
-## 2.15.14 (2020-05-07)
-
-
-
-## 2.15.13 (2020-04-24)
-
-
-
-## 2.15.12 (2020-04-22)
-
-
-
-## 2.15.11 (2020-04-21)
-
-
-
-## 2.15.10 (2020-04-21)
-
-
-
-## 2.15.9 (2020-04-17)
-
-
-
-## 2.15.7 (2020-04-11)
-
-
-### Features
-
-* **codemirror:** Switch Markdown to GitHub Flavour Markdown ([ed41395](https://github.com/hpcc-systems/Visualization/commit/ed41395abd80b1219a2450d4c31310d12902907b))
-
-
-
-
-
-
-# [2.24.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.24.0) (2021-08-25)
-
-
-
-# 2.80.0 (2021-08-16)
-
-
-
-# 2.79.0 (2021-08-04)
-
-
-
-# 2.76.0 (2021-07-28)
-
-
-
-# 2.75.0 (2021-07-21)
-
-
-
-# 2.74.0 (2021-07-19)
-
-
-
-# 2.73.0 (2021-07-16)
-
-
-
-# 2.72.0 (2021-07-07)
-
-
-
-# 2.71.0 (2021-07-02)
-
-
-
-# 2.70.0 (2021-06-23)
-
-
-
-# 2.69.0 (2021-06-23)
-
-
-
-# 2.68.0 (2021-06-16)
-
-
-
-# 2.67.0 (2021-06-15)
-
-
-
-# 2.66.0 (2021-05-26)
-
-
-
-# 2.65.0 (2021-05-19)
-
-
-
-# 2.64.0 (2021-05-13)
-
-
-
-# 2.63.0 (2021-05-08)
-
-
-
-# 2.62.0 (2021-04-29)
-
-
-
-# 2.61.0 (2021-04-06)
-
-
-
-# 2.60.0 (2021-03-16)
-
-
-
-# 2.59.0 (2021-02-24)
-
-
-
-# 2.58.0 (2021-02-24)
-
-
-
-# 2.57.0 (2021-02-22)
-
-
-
-# 2.56.0 (2021-02-19)
-
-
-
-# 2.55.0 (2021-02-12)
-
-
-
-# 2.54.0 (2021-02-05)
-
-
-
-# 2.53.0 (2021-02-02)
-
-
-
-# 2.52.0 (2021-02-01)
-
-
-
-# 2.51.0 (2020-12-15)
-
-
-
-# 2.50.0 (2020-12-01)
-
-
-
-# 2.49.0 (2020-11-10)
-
-
-
-# 2.48.0 (2020-11-03)
-
-
-
-# 2.47.0 (2020-10-28)
-
-
-
-# 2.46.0 (2020-10-23)
-
-
-
-# 2.45.0 (2020-10-16)
-
-
-
-# 2.44.0 (2020-10-09)
-
-
-
-# 2.43.0 (2020-10-08)
-
-
-
-# 2.42.0 (2020-09-24)
-
-
-
-# 2.41.0 (2020-09-18)
-
-
-
-# 2.40.0 (2020-09-15)
-
-
-
-# 2.39.0 (2020-09-09)
-
-
-
-# 2.38.0 (2020-09-03)
-
-
-
-# 2.37.0 (2020-08-26)
-
-
-
-# 2.36.0 (2020-08-25)
-
-
-
-# 2.35.0 (2020-08-24)
-
-
-
-# 2.34.0 (2020-08-22)
-
-
-
-# 2.33.0 (2020-08-08)
-
-
-
-# 2.32.0 (2020-08-05)
-
-
-
-# 2.31.0 (2020-07-29)
-
-
-
-# 2.30.0 (2020-07-29)
-
-
-
-# 2.29.0 (2020-07-28)
-
-
-
-# 2.28.0 (2020-07-22)
-
-
-
-# 2.26.0 (2020-06-26)
-
-
-
-# 2.25.0 (2020-06-24)
-
-
-
-# 2.24.0 (2020-06-23)
-
-
-
-# 2.23.0 (2020-06-23)
-
-
-
-# 2.22.0 (2020-06-17)
-
-
-
-# 2.21.0 (2020-06-17)
-
-
-
-# 2.20.0 (2020-06-17)
-
-
-
-# 2.19.0 (2020-06-15)
-
-
-
-# 2.18.0 (2020-06-02)
-
-
-
-# 2.17.0 (2020-05-31)
-
-
-### Features
-
-* Add search/replace to Editor ([0a83029](https://github.com/hpcc-systems/Visualization/commit/0a830298d0d1e7ad690fedb1b95bd0d8c9e5c13e))
-
-
-
-# 2.16.0 (2020-05-21)
-
-
-
-## 2.15.21 (2020-05-20)
-
-
-
-## 2.15.20 (2020-05-20)
-
-
-
-## 2.15.19 (2020-05-19)
-
-
-
-## 2.15.18 (2020-05-15)
-
-
-
-## 2.15.17 (2020-05-15)
-
-
-
-## 2.15.16 (2020-05-14)
-
-
-
-## 2.15.15 (2020-05-12)
-
-
-
-## 2.15.14 (2020-05-07)
-
-
-
-## 2.15.13 (2020-04-24)
-
-
-
-## 2.15.12 (2020-04-22)
-
-
-
-## 2.15.11 (2020-04-21)
-
-
-
-## 2.15.10 (2020-04-21)
-
-
-
-## 2.15.9 (2020-04-17)
-
-
-
-## 2.15.7 (2020-04-11)
-
-
-### Features
-
-* **codemirror:** Switch Markdown to GitHub Flavour Markdown ([ed41395](https://github.com/hpcc-systems/Visualization/commit/ed41395abd80b1219a2450d4c31310d12902907b))
-
-
-
-
-
-# [2.23.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.23.0) (2021-07-02)
-
-
-
-# 2.70.0 (2021-06-23)
-
-
-
-# 2.69.0 (2021-06-23)
-
-
-
-# 2.68.0 (2021-06-16)
-
-
-
-# 2.67.0 (2021-06-15)
-
-
-
-# 2.66.0 (2021-05-26)
-
-
-
-# 2.65.0 (2021-05-19)
-
-
-
-# 2.64.0 (2021-05-13)
-
-
-
-# 2.63.0 (2021-05-08)
-
-
-
-# 2.62.0 (2021-04-29)
-
-
-
-# 2.61.0 (2021-04-06)
-
-
-
-# 2.60.0 (2021-03-16)
-
-
-
-# 2.59.0 (2021-02-24)
-
-
-
-# 2.58.0 (2021-02-24)
-
-
-
-# 2.57.0 (2021-02-22)
-
-
-
-# 2.56.0 (2021-02-19)
-
-
-
-# 2.55.0 (2021-02-12)
-
-
-
-# 2.54.0 (2021-02-05)
-
-
-
-# 2.53.0 (2021-02-02)
-
-
-
-# 2.52.0 (2021-02-01)
-
-
-
-# 2.51.0 (2020-12-15)
-
-
-
-# 2.50.0 (2020-12-01)
-
-
-
-# 2.49.0 (2020-11-10)
-
-
-
-# 2.48.0 (2020-11-03)
-
-
-
-# 2.47.0 (2020-10-28)
-
-
-
-# 2.46.0 (2020-10-23)
-
-
-
-# 2.45.0 (2020-10-16)
-
-
-
-# 2.44.0 (2020-10-09)
-
-
-
-# 2.43.0 (2020-10-08)
-
-
-
-# 2.42.0 (2020-09-24)
-
-
-
-# 2.41.0 (2020-09-18)
-
-
-
-# 2.40.0 (2020-09-15)
-
-
-
-# 2.39.0 (2020-09-09)
-
-
-
-# 2.38.0 (2020-09-03)
-
-
-
-# 2.37.0 (2020-08-26)
-
-
-
-# 2.36.0 (2020-08-25)
-
-
-
-# 2.35.0 (2020-08-24)
-
-
-
-# 2.34.0 (2020-08-22)
-
-
-
-# 2.33.0 (2020-08-08)
-
-
-
-# 2.32.0 (2020-08-05)
-
-
-
-# 2.31.0 (2020-07-29)
-
-
-
-# 2.30.0 (2020-07-29)
-
-
-
-# 2.29.0 (2020-07-28)
-
-
-
-# 2.28.0 (2020-07-22)
-
-
-
-# 2.26.0 (2020-06-26)
-
-
-
-# 2.25.0 (2020-06-24)
-
-
-
-# 2.24.0 (2020-06-23)
-
-
-
-# 2.23.0 (2020-06-23)
-
-
-
-# 2.22.0 (2020-06-17)
-
-
-
-# 2.21.0 (2020-06-17)
-
-
-
-# 2.20.0 (2020-06-17)
-
-
-
-# 2.19.0 (2020-06-15)
-
-
-
-# 2.18.0 (2020-06-02)
-
-
-
-# 2.17.0 (2020-05-31)
-
-
-### Features
-
-* Add search/replace to Editor ([0a83029](https://github.com/hpcc-systems/Visualization/commit/0a830298d0d1e7ad690fedb1b95bd0d8c9e5c13e))
-
-
-
-# 2.16.0 (2020-05-21)
-
-
-
-## 2.15.21 (2020-05-20)
-
-
-
-## 2.15.20 (2020-05-20)
-
-
-
-## 2.15.19 (2020-05-19)
-
-
-
-## 2.15.18 (2020-05-15)
-
-
-
-## 2.15.17 (2020-05-15)
-
-
-
-## 2.15.16 (2020-05-14)
-
-
-
-## 2.15.15 (2020-05-12)
-
-
-
-## 2.15.14 (2020-05-07)
-
-
-
-## 2.15.13 (2020-04-24)
-
-
-
-## 2.15.12 (2020-04-22)
-
-
-
-## 2.15.11 (2020-04-21)
-
-
-
-## 2.15.10 (2020-04-21)
-
-
-
-## 2.15.9 (2020-04-17)
-
-
-
-## 2.15.7 (2020-04-11)
-
-
-### Features
-
-* **codemirror:** Switch Markdown to GitHub Flavour Markdown ([ed41395](https://github.com/hpcc-systems/Visualization/commit/ed41395abd80b1219a2450d4c31310d12902907b))
-
-
-
-
-
-
-# [2.22.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.22.0) (2020-08-22)
-
-
-
-# 2.33.0 (2020-08-08)
-
-
-
-# 2.32.0 (2020-08-05)
-
-
-
-# 2.31.0 (2020-07-29)
-
-
-
-# 2.30.0 (2020-07-29)
-
-
-
-# 2.29.0 (2020-07-28)
-
-
-
-# 2.28.0 (2020-07-22)
-
-
-
-# 2.26.0 (2020-06-26)
-
-
-
-# 2.25.0 (2020-06-24)
-
-
-
-# 2.24.0 (2020-06-23)
-
-
-
-# 2.23.0 (2020-06-23)
-
-
-
-# 2.22.0 (2020-06-17)
-
-
-
-# 2.21.0 (2020-06-17)
-
-
-
-# 2.20.0 (2020-06-17)
-
-
-
-# 2.19.0 (2020-06-15)
-
-
-
-# 2.18.0 (2020-06-02)
-
-
-
-# 2.17.0 (2020-05-31)
-
-
-### Features
-
-* Add search/replace to Editor ([0a83029](https://github.com/hpcc-systems/Visualization/commit/0a830298d0d1e7ad690fedb1b95bd0d8c9e5c13e))
-
-
-
-# 2.16.0 (2020-05-21)
-
-
-
-## 2.15.21 (2020-05-20)
-
-
-
-## 2.15.20 (2020-05-20)
-
-
-
-## 2.15.19 (2020-05-19)
-
-
-
-## 2.15.18 (2020-05-15)
-
-
-
-## 2.15.17 (2020-05-15)
-
-
-
-## 2.15.16 (2020-05-14)
-
-
-
-## 2.15.15 (2020-05-12)
-
-
-
-## 2.15.14 (2020-05-07)
-
-
-
-## 2.15.13 (2020-04-24)
-
-
-
-## 2.15.12 (2020-04-22)
-
-
-
-## 2.15.11 (2020-04-21)
-
-
-
-## 2.15.10 (2020-04-21)
-
-
-
-## 2.15.9 (2020-04-17)
-
-
-
-## 2.15.7 (2020-04-11)
-
-
-### Features
-
-* **codemirror:** Switch Markdown to GitHub Flavour Markdown ([ed41395](https://github.com/hpcc-systems/Visualization/commit/ed41395abd80b1219a2450d4c31310d12902907b))
-
-
-
-
-
-# [2.21.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.21.0) (2020-07-22)
-
-
-
-# 2.26.0 (2020-06-26)
-
-
-
-# 2.25.0 (2020-06-24)
-
-
-
-# 2.24.0 (2020-06-23)
-
-
-
-# 2.23.0 (2020-06-23)
-
-
-
-# 2.22.0 (2020-06-17)
-
-
-
-# 2.21.0 (2020-06-17)
-
-
-
-# 2.20.0 (2020-06-17)
-
-
-
-# 2.19.0 (2020-06-15)
-
-
-
-# 2.18.0 (2020-06-02)
-
-
-
-# 2.17.0 (2020-05-31)
-
-
-### Features
-
-* Add search/replace to Editor ([0a83029](https://github.com/hpcc-systems/Visualization/commit/0a830298d0d1e7ad690fedb1b95bd0d8c9e5c13e))
-
-
-
-# 2.16.0 (2020-05-21)
-
-
-
-## 2.15.21 (2020-05-20)
-
-
-
-## 2.15.20 (2020-05-20)
-
-
-
-## 2.15.19 (2020-05-19)
-
-
-
-## 2.15.18 (2020-05-15)
-
-
-
-## 2.15.17 (2020-05-15)
-
-
-
-## 2.15.16 (2020-05-14)
-
-
-
-## 2.15.15 (2020-05-12)
-
-
-
-## 2.15.14 (2020-05-07)
-
-
-
-## 2.15.13 (2020-04-24)
-
-
-
-## 2.15.12 (2020-04-22)
-
-
-
-## 2.15.11 (2020-04-21)
-
-
-
-## 2.15.10 (2020-04-21)
-
-
-
-## 2.15.9 (2020-04-17)
-
-
-
-## 2.15.7 (2020-04-11)
-
-
-### Features
-
-* **codemirror:** Switch Markdown to GitHub Flavour Markdown ([ed41395](https://github.com/hpcc-systems/Visualization/commit/ed41395abd80b1219a2450d4c31310d12902907b))
-
-
-
-
-
-# [2.20.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.20.0) (2020-07-22)
-
-
-
-# 2.26.0 (2020-06-26)
-
-
-
-# 2.25.0 (2020-06-24)
-
-
-
-# 2.24.0 (2020-06-23)
-
-
-
-# 2.23.0 (2020-06-23)
-
-
-
-# 2.22.0 (2020-06-17)
-
-
-
-# 2.21.0 (2020-06-17)
-
-
-
-# 2.20.0 (2020-06-17)
-
-
-
-# 2.19.0 (2020-06-15)
-
-
-
-# 2.18.0 (2020-06-02)
-
-
-
-# 2.17.0 (2020-05-31)
-
-
-### Features
-
-* Add search/replace to Editor ([0a83029](https://github.com/hpcc-systems/Visualization/commit/0a830298d0d1e7ad690fedb1b95bd0d8c9e5c13e))
-
-
-
-# 2.16.0 (2020-05-21)
-
-
-
-## 2.15.21 (2020-05-20)
-
-
-
-## 2.15.20 (2020-05-20)
-
-
-
-## 2.15.19 (2020-05-19)
-
-
-
-## 2.15.18 (2020-05-15)
-
-
-
-## 2.15.17 (2020-05-15)
-
-
-
-## 2.15.16 (2020-05-14)
-
-
-
-## 2.15.15 (2020-05-12)
-
-
-
-## 2.15.14 (2020-05-07)
-
-
-
-## 2.15.13 (2020-04-24)
-
-
-
-## 2.15.12 (2020-04-22)
-
-
-
-## 2.15.11 (2020-04-21)
-
-
-
-## 2.15.10 (2020-04-21)
-
-
-
-## 2.15.9 (2020-04-17)
-
-
-
-## 2.15.7 (2020-04-11)
-
-
-### Features
-
-* **codemirror:** Switch Markdown to GitHub Flavour Markdown ([ed41395](https://github.com/hpcc-systems/Visualization/commit/ed41395abd80b1219a2450d4c31310d12902907b))
-
-
-
-
-
-
-# [2.19.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.19.0) (2020-06-15)
-
-
-
-# 2.18.0 (2020-06-02)
-
-
-
-# 2.17.0 (2020-05-31)
-
-
-### Features
-
-* Add search/replace to Editor ([0a83029](https://github.com/hpcc-systems/Visualization/commit/0a830298d0d1e7ad690fedb1b95bd0d8c9e5c13e))
-
-
-
-# 2.16.0 (2020-05-21)
-
-
-
-## 2.15.21 (2020-05-20)
-
-
-
-## 2.15.20 (2020-05-20)
-
-
-
-## 2.15.19 (2020-05-19)
-
-
-
-## 2.15.18 (2020-05-15)
-
-
-
-## 2.15.17 (2020-05-15)
-
-
-
-## 2.15.16 (2020-05-14)
-
-
-
-## 2.15.15 (2020-05-12)
-
-
-
-## 2.15.14 (2020-05-07)
-
-
-
-## 2.15.13 (2020-04-24)
-
-
-
-## 2.15.12 (2020-04-22)
-
-
-
-## 2.15.11 (2020-04-21)
-
-
-
-## 2.15.10 (2020-04-21)
-
-
-
-## 2.15.9 (2020-04-17)
-
-
-
-## 2.15.7 (2020-04-11)
-
-
-### Features
-
-* **codemirror:** Switch Markdown to GitHub Flavour Markdown ([ed41395](https://github.com/hpcc-systems/Visualization/commit/ed41395abd80b1219a2450d4c31310d12902907b))
-
-
-
-
-
-# [2.18.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.18.0) (2020-05-31)
-
-
-### Features
-
-* Add search/replace to Editor ([0a83029](https://github.com/hpcc-systems/Visualization/commit/0a830298d0d1e7ad690fedb1b95bd0d8c9e5c13e))
-
-
-
-# 2.16.0 (2020-05-21)
-
-
-
-## 2.15.21 (2020-05-20)
-
-
-
-## 2.15.20 (2020-05-20)
-
-
-
-## 2.15.19 (2020-05-19)
-
-
-
-## 2.15.18 (2020-05-15)
-
-
-
-## 2.15.17 (2020-05-15)
-
-
-
-## 2.15.16 (2020-05-14)
-
-
-
-## 2.15.15 (2020-05-12)
-
-
-
-## 2.15.14 (2020-05-07)
-
-
-
-## 2.15.13 (2020-04-24)
-
-
-
-## 2.15.12 (2020-04-22)
-
-
-
-## 2.15.11 (2020-04-21)
-
-
-
-## 2.15.10 (2020-04-21)
-
-
-
-## 2.15.9 (2020-04-17)
-
-
-
-## 2.15.7 (2020-04-11)
-
-
-### Features
-
-* **codemirror:** Switch Markdown to GitHub Flavour Markdown ([ed41395](https://github.com/hpcc-systems/Visualization/commit/ed41395abd80b1219a2450d4c31310d12902907b))
-
-
-
-
-
-# [2.17.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.17.0) (2020-05-20)
-
-
-
-## 2.15.20 (2020-05-20)
-
-
-
-## 2.15.19 (2020-05-19)
-
-
-
-## 2.15.18 (2020-05-15)
-
-
-
-## 2.15.17 (2020-05-15)
-
-
-
-## 2.15.16 (2020-05-14)
-
-
-
-## 2.15.15 (2020-05-12)
-
-
-
-## 2.15.14 (2020-05-07)
-
-
-
-## 2.15.13 (2020-04-24)
-
-
-
-## 2.15.12 (2020-04-22)
-
-
-
-## 2.15.11 (2020-04-21)
-
-
-
-## 2.15.10 (2020-04-21)
-
-
-
-## 2.15.9 (2020-04-17)
-
-
-
-## 2.15.7 (2020-04-11)
-
-
-### Features
-
-* **codemirror:** Switch Markdown to GitHub Flavour Markdown ([ed41395](https://github.com/hpcc-systems/Visualization/commit/ed41395abd80b1219a2450d4c31310d12902907b))
-
-
-
-
-
-# [2.16.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.16.0) (2020-05-19)
-
-
-
-## 2.15.18 (2020-05-15)
-
-
-
-## 2.15.17 (2020-05-15)
-
-
-
-## 2.15.16 (2020-05-14)
-
-
-
-## 2.15.15 (2020-05-12)
-
-
-
-## 2.15.14 (2020-05-07)
-
-
-
-## 2.15.13 (2020-04-24)
-
-
-
-## 2.15.12 (2020-04-22)
-
-
-
-## 2.15.11 (2020-04-21)
-
-
-
-## 2.15.10 (2020-04-21)
-
-
-
-## 2.15.9 (2020-04-17)
-
-
-
-## 2.15.7 (2020-04-11)
-
-
-### Features
-
-* **codemirror:** Switch Markdown to GitHub Flavour Markdown ([ed41395](https://github.com/hpcc-systems/Visualization/commit/ed41395abd80b1219a2450d4c31310d12902907b))
-
-
-
-
-
-# [2.15.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.15.0) (2020-05-12)
-
-
-
-## 2.15.14 (2020-05-07)
-
-
-
-## 2.15.13 (2020-04-24)
-
-
-
-## 2.15.12 (2020-04-22)
-
-
-
-## 2.15.11 (2020-04-21)
-
-
-
-## 2.15.10 (2020-04-21)
-
-
-
-## 2.15.9 (2020-04-17)
-
-
-
-## 2.15.7 (2020-04-11)
-
-
-### Features
-
-* **codemirror:** Switch Markdown to GitHub Flavour Markdown ([ed41395](https://github.com/hpcc-systems/Visualization/commit/ed41395abd80b1219a2450d4c31310d12902907b))
-
-
-
-
-
-# [2.14.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.14.0) (2020-04-17)
-
-
-
-## 2.15.7 (2020-04-11)
-
-
-### Features
-
-* **codemirror:** Switch Markdown to GitHub Flavour Markdown ([ed41395](https://github.com/hpcc-systems/Visualization/commit/ed41395abd80b1219a2450d4c31310d12902907b))
-
-
-
-
-
-## [2.13.11](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.13.11) (2020-04-11)
-
-
-
-## 2.15.7 (2020-04-11)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-## [2.13.10](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.13.10) (2020-04-11)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-## [2.13.9](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.8...@hpcc-js/codemirror-shim@2.13.9) (2020-04-11)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-## [2.13.8](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.7...@hpcc-js/codemirror-shim@2.13.8) (2020-03-30)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-## [2.13.7](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.6...@hpcc-js/codemirror-shim@2.13.7) (2020-01-29)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-## [2.13.6](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.5...@hpcc-js/codemirror-shim@2.13.6) (2020-01-07)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-## [2.13.5](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.4...@hpcc-js/codemirror-shim@2.13.5) (2019-12-11)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-## [2.13.4](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.3...@hpcc-js/codemirror-shim@2.13.4) (2019-08-30)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-## [2.13.3](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.2...@hpcc-js/codemirror-shim@2.13.3) (2019-08-30)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-## [2.13.2](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.1...@hpcc-js/codemirror-shim@2.13.2) (2019-07-03)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-## [2.13.1](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.13.0...@hpcc-js/codemirror-shim@2.13.1) (2019-06-27)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-# [2.13.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.12.2...@hpcc-js/codemirror-shim@2.13.0) (2019-06-20)
-
-
-### Bug Fixes
-
-* **build:** Source maps not referencing TS files ([08c3cf3](https://github.com/hpcc-systems/Visualization/commit/08c3cf3))
-
-
-### Features
-
-* **CodeMirror:** Add support for DOT Language ([d56bc98](https://github.com/hpcc-systems/Visualization/commit/d56bc98))
-
-
-
-
-
-## [2.12.2](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.12.1...@hpcc-js/codemirror-shim@2.12.2) (2019-06-14)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-## [2.12.1](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.12.0...@hpcc-js/codemirror-shim@2.12.1) (2019-04-27)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-# [2.12.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.2.0...@hpcc-js/codemirror-shim@2.12.0) (2019-04-06)
-
-
-
-# [2.10.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.2.0...@hpcc-js/codemirror-shim@2.10.0) (2019-04-05)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-# [2.9.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.2.0...@hpcc-js/codemirror-shim@2.9.0) (2019-04-02)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-# [2.8.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.2.0...@hpcc-js/codemirror-shim@2.8.0) (2019-04-02)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-# [2.7.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.2.0...@hpcc-js/codemirror-shim@2.7.0) (2019-04-02)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-# [2.6.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.2.0...@hpcc-js/codemirror-shim@2.6.0) (2019-04-02)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-# [2.5.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.2.0...@hpcc-js/codemirror-shim@2.5.0) (2019-04-01)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-# [2.4.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.2.0...@hpcc-js/codemirror-shim@2.4.0) (2019-03-29)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-# [2.3.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.2.0...@hpcc-js/codemirror-shim@2.3.0) (2019-03-21)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-# [2.2.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.1.0...@hpcc-js/codemirror-shim@2.2.0) (2019-02-19)
-
-
-### Features
-
-* Added MarkdownEditor and sample ([cb1792b](https://github.com/hpcc-systems/Visualization/commit/cb1792b))
-
-
-
-
-
-
-# [2.1.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.0.5...@hpcc-js/codemirror-shim@2.1.0) (2019-01-29)
-
-
-### Features
-
-* **codemirror:** Add HTMLEditor and CSSEditor ([d3fc39d](https://github.com/hpcc-systems/Visualization/commit/d3fc39d))
-* **codemirror:** Add XML support ([74c4ea0](https://github.com/hpcc-systems/Visualization/commit/74c4ea0))
-
-
-
-
-
-
-## [2.0.5](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.0.4...@hpcc-js/codemirror-shim@2.0.5) (2018-12-13)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-## [2.0.4](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.0.3...@hpcc-js/codemirror-shim@2.0.4) (2018-12-04)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-## [2.0.3](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.0.2...@hpcc-js/codemirror-shim@2.0.3) (2018-11-27)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-
-## [2.0.2](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.0.1...@hpcc-js/codemirror-shim@2.0.2) (2018-09-24)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-## [2.0.1](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@2.0.0...@hpcc-js/codemirror-shim@2.0.1) (2018-09-01)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-# [2.0.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@0.0.74...@hpcc-js/codemirror-shim@2.0.0) (2018-08-24)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-# [2.0.0-rc.0](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@0.0.74...@hpcc-js/codemirror-shim@2.0.0-rc.0) (2018-08-24)
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-
-
-
-
-## [0.0.74](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@0.0.73...@hpcc-js/codemirror-shim@0.0.74) (2018-08-23)
-
-
-
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-## [0.0.73](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@0.0.72...@hpcc-js/codemirror-shim@0.0.73) (2018-08-14)
-
-
-
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-## [0.0.72](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@0.0.71...@hpcc-js/codemirror-shim@0.0.72) (2018-08-14)
-
-
-
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-## [0.0.71](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@0.0.70...@hpcc-js/codemirror-shim@0.0.71) (2018-08-10)
-
-
-
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-## [0.0.70](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@0.0.69...@hpcc-js/codemirror-shim@0.0.70) (2018-08-02)
-
-
-
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-## [0.0.69](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@0.0.68...@hpcc-js/codemirror-shim@0.0.69) (2018-07-30)
-
-
-
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-## [0.0.68](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@0.0.67...@hpcc-js/codemirror-shim@0.0.68) (2018-07-30)
-
-
-
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-## [0.0.67](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@0.0.66...@hpcc-js/codemirror-shim@0.0.67) (2018-07-28)
-
-
-
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-## [0.0.66](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@0.0.65...@hpcc-js/codemirror-shim@0.0.66) (2018-07-28)
-
-
-
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-## [0.0.65](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@0.0.64...@hpcc-js/codemirror-shim@0.0.65) (2018-07-28)
-
-
-
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-## [0.0.64](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@0.0.63...@hpcc-js/codemirror-shim@0.0.64) (2018-07-27)
-
-
-
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-## [0.0.63](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@0.0.62...@hpcc-js/codemirror-shim@0.0.63) (2018-06-19)
-
-
-
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
-
-
-## [0.0.62](https://github.com/hpcc-systems/Visualization/compare/@hpcc-js/codemirror-shim@0.0.61...@hpcc-js/codemirror-shim@0.0.62) (2018-06-19)
-
-
-
-
-**Note:** Version bump only for package @hpcc-js/codemirror-shim
diff --git a/packages/codemirror-shim/esbuild.js b/packages/codemirror-shim/esbuild.js
deleted file mode 100644
index fe1b2e12f4..0000000000
--- a/packages/codemirror-shim/esbuild.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import { browserTpl } from "@hpcc-js/esbuild-plugins";
-import pkg from "./package.json" with { type: "json" };
-
-// config ---
-await Promise.all([
- browserTpl("src/index.ts", "dist/index", {
- keepNames: true,
- external: [
- ...Object.keys(pkg.dependencies),
- ]
- })
-]);
diff --git a/packages/codemirror-shim/package.json b/packages/codemirror-shim/package.json
deleted file mode 100644
index 6300aef21a..0000000000
--- a/packages/codemirror-shim/package.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "@hpcc-js/codemirror-shim",
- "version": "3.0.0",
- "description": "hpcc-js - codemirror shim",
- "type": "module",
- "exports": {
- ".": {
- "types": "./types/index.d.ts",
- "default": "./dist/index.js"
- },
- "./dist/*": "./dist/*"
- },
- "module": "./dist/index.js",
- "browser": "./dist/index.js",
- "types": "./types/index.d.ts",
- "files": [
- "dist/*",
- "src/*",
- "types/*"
- ],
- "scripts": {
- "clean": "rimraf --glob lib* types dist *.tsbuildinfo .turbo",
- "bundle": "node esbuild.js",
- "bundle-watch": "npm run bundle -- --development --watch",
- "gen-types": "tsc --project tsconfig.json",
- "gen-types-watch": "npm run gen-types -- --watch",
- "build": "run-p gen-types bundle",
- "stamp": "node ../../node_modules/@hpcc-js/bundle/src/stamp.js",
- "lint": "eslint ./src",
- "lint-fix": "eslint --fix src/**/*.ts",
- "docs": "typedoc --options tdoptions.json .",
- "update": "npx --yes npm-check-updates -u -t minor",
- "update-major": "npx --yes npm-check-updates -u"
- },
- "dependencies": {},
- "devDependencies": {
- "@hpcc-js/esbuild-plugins": "^1.2.0",
- "codemirror": "5.65.18"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/hpcc-systems/Visualization.git"
- },
- "author": "Gordon Smith ",
- "contributors": [],
- "license": "Apache-2.0",
- "bugs": {
- "url": "https://github.com/hpcc-systems/Visualization/issues"
- },
- "homepage": "https://github.com/hpcc-systems/Visualization"
-}
\ No newline at end of file
diff --git a/packages/codemirror-shim/src/__package__.ts b/packages/codemirror-shim/src/__package__.ts
deleted file mode 100644
index 429d58c5c1..0000000000
--- a/packages/codemirror-shim/src/__package__.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export const PKG_NAME = "@hpcc-js/codemirror-shim";
-export const PKG_VERSION = "2.37.0";
-export const BUILD_VERSION = "2.107.0";
diff --git a/packages/codemirror-shim/tsconfig.json b/packages/codemirror-shim/tsconfig.json
deleted file mode 100644
index 318ecdd23e..0000000000
--- a/packages/codemirror-shim/tsconfig.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "compilerOptions": {
- "rootDir": "src",
- "module": "NodeNext",
- "target": "ESNext",
- "resolveJsonModule": true,
- "emitDeclarationOnly": true,
- "declaration": true,
- "declarationDir": "types",
- "strict": true,
- "noImplicitAny": false,
- "strictNullChecks": false,
- "skipLibCheck": true,
- "allowImportingTsExtensions": true,
- "lib": [
- "DOM",
- "ESNext",
- "ES2020"
- ]
- },
- "include": [
- "./src/index.ts"
- ]
-}
\ No newline at end of file
diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json
index 4c3c6a8027..0d65c395bf 100644
--- a/packages/codemirror/package.json
+++ b/packages/codemirror/package.json
@@ -40,7 +40,7 @@
},
"devDependencies": {
"@hpcc-js/esbuild-plugins": "^1.2.0",
- "@hpcc-js/codemirror-shim": "^3.0.0"
+ "codemirror": "5.65.18"
},
"repository": {
"type": "git",
diff --git a/packages/codemirror/src/Editor.ts b/packages/codemirror/src/Editor.ts
index d0b0ac5374..a5f064cf23 100644
--- a/packages/codemirror/src/Editor.ts
+++ b/packages/codemirror/src/Editor.ts
@@ -1,4 +1,4 @@
-import { CodeMirror } from "@hpcc-js/codemirror-shim";
+import { CodeMirror } from "./codemirror-shim.ts";
import { HTMLWidget, Palette } from "@hpcc-js/common";
import "../src/Editor.css";
diff --git a/packages/codemirror-shim/src/index.ts b/packages/codemirror/src/codemirror-shim.ts
similarity index 94%
rename from packages/codemirror-shim/src/index.ts
rename to packages/codemirror/src/codemirror-shim.ts
index 7b677cc34a..206f0d1307 100644
--- a/packages/codemirror-shim/src/index.ts
+++ b/packages/codemirror/src/codemirror-shim.ts
@@ -1,32 +1,31 @@
-export * from "./__package__.ts";
-import "codemirror/mode/css/css";
-import "codemirror/mode/ecl/ecl";
-import "codemirror/mode/gfm/gfm";
-import "codemirror/mode/htmlmixed/htmlmixed";
-import "codemirror/mode/javascript/javascript";
-import "codemirror/mode/xml/xml";
-import "codemirror/mode/sql/sql";
-import "./mode/dot/dot.ts";
-import "./mode/markdown/markdown.ts";
-
-import "codemirror/lib/codemirror.css";
-
-import "codemirror/addon/fold/brace-fold";
-import "codemirror/addon/fold/comment-fold";
-import "codemirror/addon/fold/foldcode";
-import "codemirror/addon/fold/foldgutter";
-import "codemirror/addon/fold/indent-fold";
-import "codemirror/addon/fold/xml-fold";
-
-import "codemirror/addon/fold/foldgutter.css";
-
-import "codemirror/addon/dialog/dialog.js";
-import "codemirror/addon/dialog/dialog.css";
-import "codemirror/addon/search/jump-to-line.js";
-import "codemirror/addon/search/search.js";
-import "codemirror/addon/search/searchcursor.js";
-import "codemirror/addon/hint/show-hint.js";
-import "codemirror/addon/hint/show-hint.css";
-
-import CodeMirror from "codemirror";
-export { CodeMirror };
+import "codemirror/mode/css/css";
+import "codemirror/mode/ecl/ecl";
+import "codemirror/mode/gfm/gfm";
+import "codemirror/mode/htmlmixed/htmlmixed";
+import "codemirror/mode/javascript/javascript";
+import "codemirror/mode/xml/xml";
+import "codemirror/mode/sql/sql";
+import "./mode/dot/dot.ts";
+import "./mode/markdown/markdown.ts";
+
+import "codemirror/lib/codemirror.css";
+
+import "codemirror/addon/fold/brace-fold";
+import "codemirror/addon/fold/comment-fold";
+import "codemirror/addon/fold/foldcode";
+import "codemirror/addon/fold/foldgutter";
+import "codemirror/addon/fold/indent-fold";
+import "codemirror/addon/fold/xml-fold";
+
+import "codemirror/addon/fold/foldgutter.css";
+
+import "codemirror/addon/dialog/dialog.js";
+import "codemirror/addon/dialog/dialog.css";
+import "codemirror/addon/search/jump-to-line.js";
+import "codemirror/addon/search/search.js";
+import "codemirror/addon/search/searchcursor.js";
+import "codemirror/addon/hint/show-hint.js";
+import "codemirror/addon/hint/show-hint.css";
+
+import CodeMirror from "codemirror";
+export { CodeMirror };
diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts
index cf04cddfdf..1e03e135f2 100644
--- a/packages/codemirror/src/index.ts
+++ b/packages/codemirror/src/index.ts
@@ -1,5 +1,4 @@
export * from "./__package__.ts";
-import "../../codemirror-shim/dist/index.css";
export * from "./CSSEditor.ts";
export * from "./DOTEditor.ts";
diff --git a/packages/codemirror-shim/src/mode/dot/dot.ts b/packages/codemirror/src/mode/dot/dot.ts
similarity index 100%
rename from packages/codemirror-shim/src/mode/dot/dot.ts
rename to packages/codemirror/src/mode/dot/dot.ts
diff --git a/packages/codemirror-shim/src/mode/markdown/markdown.ts b/packages/codemirror/src/mode/markdown/markdown.ts
similarity index 97%
rename from packages/codemirror-shim/src/mode/markdown/markdown.ts
rename to packages/codemirror/src/mode/markdown/markdown.ts
index 56bccce764..936838a5ee 100644
--- a/packages/codemirror-shim/src/mode/markdown/markdown.ts
+++ b/packages/codemirror/src/mode/markdown/markdown.ts
@@ -1,879 +1,879 @@
-// CodeMirror, copyright (c) by Marijn Haverbeke and others
-// Distributed under an MIT license: https://codemirror.net/LICENSE
-
-/* eslint-disable */
-
-import CodeMirror from "codemirror";
-
-CodeMirror.defineMode("markdown", function (cmCfg, modeCfg) {
-
- var htmlMode = CodeMirror.getMode(cmCfg, "text/html");
- var htmlModeMissing = htmlMode.name == "null"
-
- if (modeCfg.defaultMode === undefined)
- modeCfg.defaultMode = "";
-
- function getMode(name) {
- name = name === "" ? modeCfg.defaultMode : name;
- if (CodeMirror.findModeByName) {
- var found = CodeMirror.findModeByName(name);
- if (found) name = found.mime || found.mimes[0];
- }
- var mode = CodeMirror.getMode(cmCfg, name);
- return mode.name == "null" ? null : mode;
- }
-
- // Should characters that affect highlighting be highlighted separate?
- // Does not include characters that will be output (such as `1.` and `-` for lists)
- if (modeCfg.highlightFormatting === undefined)
- modeCfg.highlightFormatting = false;
-
- // Maximum number of nested blockquotes. Set to 0 for infinite nesting.
- // Excess `>` will emit `error` token.
- if (modeCfg.maxBlockquoteDepth === undefined)
- modeCfg.maxBlockquoteDepth = 0;
-
- // Turn on task lists? ("- [ ] " and "- [x] ")
- if (modeCfg.taskLists === undefined) modeCfg.taskLists = false;
-
- // Turn on strikethrough syntax
- if (modeCfg.strikethrough === undefined)
- modeCfg.strikethrough = false;
-
- if (modeCfg.emoji === undefined)
- modeCfg.emoji = false;
-
- if (modeCfg.fencedCodeBlockHighlighting === undefined)
- modeCfg.fencedCodeBlockHighlighting = true;
-
- if (modeCfg.xml === undefined)
- modeCfg.xml = true;
-
- // Allow token types to be overridden by user-provided token types.
- if (modeCfg.tokenTypeOverrides === undefined)
- modeCfg.tokenTypeOverrides = {};
-
- var tokenTypes = {
- header: "header",
- code: "comment",
- quote: "quote",
- list1: "variable-2",
- list2: "variable-3",
- list3: "keyword",
- hr: "hr",
- image: "image",
- imageAltText: "image-alt-text",
- imageMarker: "image-marker",
- formatting: "formatting",
- linkInline: "link",
- linkEmail: "link",
- linkText: "link",
- linkHref: "string",
- em: "em",
- strong: "strong",
- strikethrough: "strikethrough",
- emoji: "builtin"
- };
-
- for (var tokenType in tokenTypes) {
- if (tokenTypes.hasOwnProperty(tokenType) && modeCfg.tokenTypeOverrides[tokenType]) {
- tokenTypes[tokenType] = modeCfg.tokenTypeOverrides[tokenType];
- }
- }
-
- var hrRE = /^([*\-_])(?:\s*\1){2,}\s*$/
- , listRE = /^(?:[*\-+]|^[0-9]+([.)]))\s+/
- , taskListRE = /^\[(x| )\](?=\s)/i // Must follow listRE
- , atxHeaderRE = modeCfg.allowAtxHeaderWithoutSpace ? /^(#+)/ : /^(#+)(?: |$)/
- , setextHeaderRE = /^ *(?:\={1,}|-{1,})\s*$/
- , textRE = /^[^#!\[\]*_\\<>` "'(~:]+/
- , fencedCodeRE = /^(~~~+|```+)[ \t]*([\w+#-]*)[^\n`]*$/
- , linkDefRE = /^\s*\[[^\]]+?\]:.*$/ // naive link-definition
- , punctuation = /[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/
- , expandedTab = " " // CommonMark specifies tab as 4 spaces
-
- function switchInline(stream, state, f) {
- state.f = state.inline = f;
- return f(stream, state);
- }
-
- function switchBlock(stream, state, f) {
- state.f = state.block = f;
- return f(stream, state);
- }
-
- function lineIsEmpty(line) {
- return !line || !/\S/.test(line.string)
- }
-
- // Blocks
-
- function blankLine(state) {
- // Reset linkTitle state
- state.linkTitle = false;
- state.linkHref = false;
- state.linkText = false;
- // Reset EM state
- state.em = false;
- // Reset STRONG state
- state.strong = false;
- // Reset strikethrough state
- state.strikethrough = false;
- // Reset state.quote
- state.quote = 0;
- // Reset state.indentedCode
- state.indentedCode = false;
- if (state.f == htmlBlock) {
- var exit = htmlModeMissing
- if (!exit) {
- var inner = CodeMirror.innerMode(htmlMode, state.htmlState)
- exit = inner.mode.name == "xml" && inner.state.tagStart === null &&
- (!inner.state.context && inner.state.tokenize.isInText)
- }
- if (exit) {
- state.f = inlineNormal;
- state.block = blockNormal;
- state.htmlState = null;
- }
- }
- // Reset state.trailingSpace
- state.trailingSpace = 0;
- state.trailingSpaceNewLine = false;
- // Mark this line as blank
- state.prevLine = state.thisLine
- state.thisLine = { stream: null }
- return null;
- }
-
- function blockNormal(stream, state) {
- var firstTokenOnLine = stream.column() === state.indentation;
- var prevLineLineIsEmpty = lineIsEmpty(state.prevLine.stream);
- var prevLineIsIndentedCode = state.indentedCode;
- var prevLineIsHr = state.prevLine.hr;
- var prevLineIsList = state.list !== false;
- var maxNonCodeIndentation = (state.listStack[state.listStack.length - 1] || 0) + 3;
-
- state.indentedCode = false;
-
- var lineIndentation = state.indentation;
- // compute once per line (on first token)
- if (state.indentationDiff === null) {
- state.indentationDiff = state.indentation;
- if (prevLineIsList) {
- state.list = null;
- // While this list item's marker's indentation is less than the deepest
- // list item's content's indentation,pop the deepest list item
- // indentation off the stack, and update block indentation state
- while (lineIndentation < state.listStack[state.listStack.length - 1]) {
- state.listStack.pop();
- if (state.listStack.length) {
- state.indentation = state.listStack[state.listStack.length - 1];
- // less than the first list's indent -> the line is no longer a list
- } else {
- state.list = false;
- }
- }
- if (state.list !== false) {
- state.indentationDiff = lineIndentation - state.listStack[state.listStack.length - 1]
- }
- }
- }
-
- // not comprehensive (currently only for setext detection purposes)
- var allowsInlineContinuation = (
- !prevLineLineIsEmpty && !prevLineIsHr && !state.prevLine.header &&
- (!prevLineIsList || !prevLineIsIndentedCode) &&
- !state.prevLine.fencedCodeEnd
- );
-
- var isHr = (state.list === false || prevLineIsHr || prevLineLineIsEmpty) &&
- state.indentation <= maxNonCodeIndentation && stream.match(hrRE);
-
- var match = null;
- if (state.indentationDiff >= 4 && (prevLineIsIndentedCode || state.prevLine.fencedCodeEnd ||
- state.prevLine.header || prevLineLineIsEmpty)) {
- stream.skipToEnd();
- state.indentedCode = true;
- return tokenTypes.code;
- } else if (stream.eatSpace()) {
- return null;
- } else if (firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(atxHeaderRE)) && match[1].length <= 6) {
- state.quote = 0;
- state.header = match[1].length;
- state.thisLine.header = true;
- if (modeCfg.highlightFormatting) state.formatting = "header";
- state.f = state.inline;
- return getType(state);
- } else if (state.indentation <= maxNonCodeIndentation && stream.eat('>')) {
- state.quote = firstTokenOnLine ? 1 : state.quote + 1;
- if (modeCfg.highlightFormatting) state.formatting = "quote";
- stream.eatSpace();
- return getType(state);
- } else if (!isHr && !state.setext && firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(listRE))) {
- var listType = match[1] ? "ol" : "ul";
-
- state.indentation = lineIndentation + stream.current().length;
- state.list = true;
- state.quote = 0;
-
- // Add this list item's content's indentation to the stack
- state.listStack.push(state.indentation);
- // Reset inline styles which shouldn't propagate aross list items
- state.em = false;
- state.strong = false;
- state.code = false;
- state.strikethrough = false;
-
- if (modeCfg.taskLists && stream.match(taskListRE, false)) {
- state.taskList = true;
- }
- state.f = state.inline;
- if (modeCfg.highlightFormatting) state.formatting = ["list", "list-" + listType];
- return getType(state);
- } else if (firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(fencedCodeRE, true))) {
- state.quote = 0;
- state.fencedEndRE = new RegExp(match[1] + "+ *$");
- // try switching mode
- state.localMode = modeCfg.fencedCodeBlockHighlighting && getMode(match[2]);
- if (state.localMode) state.localState = CodeMirror.startState(state.localMode);
- state.f = state.block = local;
- if (modeCfg.highlightFormatting) state.formatting = "code-block";
- state.code = -1
- return getType(state);
- // SETEXT has lowest block-scope precedence after HR, so check it after
- // the others (code, blockquote, list...)
- } else if (
- // if setext set, indicates line after ---/===
- state.setext || (
- // line before ---/===
- (!allowsInlineContinuation || !prevLineIsList) && !state.quote && state.list === false &&
- !state.code && !isHr && !linkDefRE.test(stream.string) &&
- (match = stream.lookAhead(1)) && (match = match.match(setextHeaderRE))
- )
- ) {
- if (!state.setext) {
- state.header = match[0].charAt(0) == '=' ? 1 : 2;
- state.setext = state.header;
- } else {
- state.header = state.setext;
- // has no effect on type so we can reset it now
- state.setext = 0;
- stream.skipToEnd();
- if (modeCfg.highlightFormatting) state.formatting = "header";
- }
- state.thisLine.header = true;
- state.f = state.inline;
- return getType(state);
- } else if (isHr) {
- stream.skipToEnd();
- state.hr = true;
- state.thisLine.hr = true;
- return tokenTypes.hr;
- } else if (stream.peek() === '[') {
- return switchInline(stream, state, footnoteLink);
- }
-
- return switchInline(stream, state, state.inline);
- }
-
- function htmlBlock(stream, state) {
- var style = htmlMode.token(stream, state.htmlState);
- if (!htmlModeMissing) {
- var inner = CodeMirror.innerMode(htmlMode, state.htmlState)
- if ((inner.mode.name == "xml" && inner.state.tagStart === null &&
- (!inner.state.context && inner.state.tokenize.isInText)) ||
- (state.md_inside && stream.current().indexOf(">") > -1)) {
- state.f = inlineNormal;
- state.block = blockNormal;
- state.htmlState = null;
- }
- }
- return style;
- }
-
- function local(stream, state) {
- var currListInd = state.listStack[state.listStack.length - 1] || 0;
- var hasExitedList = state.indentation < currListInd;
- var maxFencedEndInd = currListInd + 3;
- if (state.fencedEndRE && state.indentation <= maxFencedEndInd && (hasExitedList || stream.match(state.fencedEndRE))) {
- if (modeCfg.highlightFormatting) state.formatting = "code-block";
- var returnType;
- if (!hasExitedList) returnType = getType(state)
- state.localMode = state.localState = null;
- state.block = blockNormal;
- state.f = inlineNormal;
- state.fencedEndRE = null;
- state.code = 0
- state.thisLine.fencedCodeEnd = true;
- if (hasExitedList) return switchBlock(stream, state, state.block);
- return returnType;
- } else if (state.localMode) {
- return state.localMode.token(stream, state.localState);
- } else {
- stream.skipToEnd();
- return tokenTypes.code;
- }
- }
-
- // Inline
- function getType(state) {
- var styles = [];
-
- if (state.formatting) {
- styles.push(tokenTypes.formatting);
-
- if (typeof state.formatting === "string") state.formatting = [state.formatting];
-
- for (var i = 0; i < state.formatting.length; i++) {
- styles.push(tokenTypes.formatting + "-" + state.formatting[i]);
-
- if (state.formatting[i] === "header") {
- styles.push(tokenTypes.formatting + "-" + state.formatting[i] + "-" + state.header);
- }
-
- // Add `formatting-quote` and `formatting-quote-#` for blockquotes
- // Add `error` instead if the maximum blockquote nesting depth is passed
- if (state.formatting[i] === "quote") {
- if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) {
- styles.push(tokenTypes.formatting + "-" + state.formatting[i] + "-" + state.quote);
- } else {
- styles.push("error");
- }
- }
- }
- }
-
- if (state.taskOpen) {
- styles.push("meta");
- return styles.length ? styles.join(' ') : null;
- }
- if (state.taskClosed) {
- styles.push("property");
- return styles.length ? styles.join(' ') : null;
- }
-
- if (state.linkHref) {
- styles.push(tokenTypes.linkHref, "url");
- } else { // Only apply inline styles to non-url text
- if (state.strong) { styles.push(tokenTypes.strong); }
- if (state.em) { styles.push(tokenTypes.em); }
- if (state.strikethrough) { styles.push(tokenTypes.strikethrough); }
- if (state.emoji) { styles.push(tokenTypes.emoji); }
- if (state.linkText) { styles.push(tokenTypes.linkText); }
- if (state.code) { styles.push(tokenTypes.code); }
- if (state.image) { styles.push(tokenTypes.image); }
- if (state.imageAltText) { styles.push(tokenTypes.imageAltText, "link"); }
- if (state.imageMarker) { styles.push(tokenTypes.imageMarker); }
- }
-
- if (state.header) { styles.push(tokenTypes.header, tokenTypes.header + "-" + state.header); }
-
- if (state.quote) {
- styles.push(tokenTypes.quote);
-
- // Add `quote-#` where the maximum for `#` is modeCfg.maxBlockquoteDepth
- if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) {
- styles.push(tokenTypes.quote + "-" + state.quote);
- } else {
- styles.push(tokenTypes.quote + "-" + modeCfg.maxBlockquoteDepth);
- }
- }
-
- if (state.list !== false) {
- var listMod = (state.listStack.length - 1) % 3;
- if (!listMod) {
- styles.push(tokenTypes.list1);
- } else if (listMod === 1) {
- styles.push(tokenTypes.list2);
- } else {
- styles.push(tokenTypes.list3);
- }
- }
-
- if (state.trailingSpaceNewLine) {
- styles.push("trailing-space-new-line");
- } else if (state.trailingSpace) {
- styles.push("trailing-space-" + (state.trailingSpace % 2 ? "a" : "b"));
- }
-
- return styles.length ? styles.join(' ') : null;
- }
-
- function handleText(stream, state) {
- if (stream.match(textRE, true)) {
- return getType(state);
- }
- return undefined;
- }
-
- function inlineNormal(stream, state) {
- var style = state.text(stream, state);
- if (typeof style !== 'undefined')
- return style;
-
- if (state.list) { // List marker (*, +, -, 1., etc)
- state.list = null;
- return getType(state);
- }
-
- if (state.taskList) {
- var taskOpen = stream.match(taskListRE, true)[1] === " ";
- if (taskOpen) state.taskOpen = true;
- else state.taskClosed = true;
- if (modeCfg.highlightFormatting) state.formatting = "task";
- state.taskList = false;
- return getType(state);
- }
-
- state.taskOpen = false;
- state.taskClosed = false;
-
- if (state.header && stream.match(/^#+$/, true)) {
- if (modeCfg.highlightFormatting) state.formatting = "header";
- return getType(state);
- }
-
- var ch = stream.next();
-
- // Matches link titles present on next line
- if (state.linkTitle) {
- state.linkTitle = false;
- var matchCh = ch;
- if (ch === '(') {
- matchCh = ')';
- }
- matchCh = (matchCh + '').replace(/([.?*+^\[\]\\(){}|-])/g, "\\$1");
- var regex = '^\\s*(?:[^' + matchCh + '\\\\]+|\\\\\\\\|\\\\.)' + matchCh;
- if (stream.match(new RegExp(regex), true)) {
- return tokenTypes.linkHref;
- }
- }
-
- // If this block is changed, it may need to be updated in GFM mode
- if (ch === '`') {
- var previousFormatting = state.formatting;
- if (modeCfg.highlightFormatting) state.formatting = "code";
- stream.eatWhile('`');
- var count = stream.current().length
- if (state.code == 0 && (!state.quote || count == 1)) {
- state.code = count
- return getType(state)
- } else if (count == state.code) { // Must be exact
- var t = getType(state)
- state.code = 0
- return t
- } else {
- state.formatting = previousFormatting
- return getType(state)
- }
- } else if (state.code) {
- return getType(state);
- }
-
- if (ch === '\\') {
- stream.next();
- if (modeCfg.highlightFormatting) {
- var type = getType(state);
- var formattingEscape = tokenTypes.formatting + "-escape";
- return type ? type + " " + formattingEscape : formattingEscape;
- }
- }
-
- if (ch === '!' && stream.match(/\[[^\]]*\] ?(?:\(|\[)/, false)) {
- state.imageMarker = true;
- state.image = true;
- if (modeCfg.highlightFormatting) state.formatting = "image";
- return getType(state);
- }
-
- if (ch === '[' && state.imageMarker && stream.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/, false)) {
- state.imageMarker = false;
- state.imageAltText = true
- if (modeCfg.highlightFormatting) state.formatting = "image";
- return getType(state);
- }
-
- if (ch === ']' && state.imageAltText) {
- if (modeCfg.highlightFormatting) state.formatting = "image";
- var type = getType(state);
- state.imageAltText = false;
- state.image = false;
- state.inline = state.f = linkHref;
- return type;
- }
-
- if (ch === '[' && !state.image) {
- if (state.linkText && stream.match(/^.*?\]/)) return getType(state)
- state.linkText = true;
- if (modeCfg.highlightFormatting) state.formatting = "link";
- return getType(state);
- }
-
- if (ch === ']' && state.linkText) {
- if (modeCfg.highlightFormatting) state.formatting = "link";
- var type = getType(state);
- state.linkText = false;
- state.inline = state.f = stream.match(/\(.*?\)| ?\[.*?\]/, false) ? linkHref : inlineNormal
- return type;
- }
-
- if (ch === '<' && stream.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/, false)) {
- state.f = state.inline = linkInline;
- if (modeCfg.highlightFormatting) state.formatting = "link";
- var type = getType(state);
- if (type) {
- type += " ";
- } else {
- type = "";
- }
- return type + tokenTypes.linkInline;
- }
-
- if (ch === '<' && stream.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/, false)) {
- state.f = state.inline = linkInline;
- if (modeCfg.highlightFormatting) state.formatting = "link";
- var type = getType(state);
- if (type) {
- type += " ";
- } else {
- type = "";
- }
- return type + tokenTypes.linkEmail;
- }
-
- if (modeCfg.xml && ch === '<' && stream.match(/^(!--|\?|!\[CDATA\[|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*(?:>|$))/i, false)) {
- var end = stream.string.indexOf(">", stream.pos);
- if (end != -1) {
- var atts = stream.string.substring(stream.start, end);
- if (/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(atts)) state.md_inside = true;
- }
- stream.backUp(1);
- state.htmlState = CodeMirror.startState(htmlMode);
- return switchBlock(stream, state, htmlBlock);
- }
-
- if (modeCfg.xml && ch === '<' && stream.match(/^\/\w*?>/)) {
- state.md_inside = false;
- return "tag";
- } else if (ch === "*" || ch === "_") {
- var len = 1, before = stream.pos == 1 ? " " : stream.string.charAt(stream.pos - 2)
- while (len < 3 && stream.eat(ch)) len++
- var after = stream.peek() || " "
- // See http://spec.commonmark.org/0.27/#emphasis-and-strong-emphasis
- var leftFlanking = !/\s/.test(after) && (!punctuation.test(after) || /\s/.test(before) || punctuation.test(before))
- var rightFlanking = !/\s/.test(before) && (!punctuation.test(before) || /\s/.test(after) || punctuation.test(after))
- var setEm = null, setStrong = null
- if (len % 2) { // Em
- if (!state.em && leftFlanking && (ch === "*" || !rightFlanking || punctuation.test(before)))
- setEm = true
- else if (state.em == ch && rightFlanking && (ch === "*" || !leftFlanking || punctuation.test(after)))
- setEm = false
- }
- if (len > 1) { // Strong
- if (!state.strong && leftFlanking && (ch === "*" || !rightFlanking || punctuation.test(before)))
- setStrong = true
- else if (state.strong == ch && rightFlanking && (ch === "*" || !leftFlanking || punctuation.test(after)))
- setStrong = false
- }
- if (setStrong != null || setEm != null) {
- if (modeCfg.highlightFormatting) state.formatting = setEm == null ? "strong" : setStrong == null ? "em" : "strong em"
- if (setEm === true) state.em = ch
- if (setStrong === true) state.strong = ch
- var t = getType(state)
- if (setEm === false) state.em = false
- if (setStrong === false) state.strong = false
- return t
- }
- } else if (ch === ' ') {
- if (stream.eat('*') || stream.eat('_')) { // Probably surrounded by spaces
- if (stream.peek() === ' ') { // Surrounded by spaces, ignore
- return getType(state);
- } else { // Not surrounded by spaces, back up pointer
- stream.backUp(1);
- }
- }
- }
-
- if (modeCfg.strikethrough) {
- if (ch === '~' && stream.eatWhile(ch)) {
- if (state.strikethrough) {// Remove strikethrough
- if (modeCfg.highlightFormatting) state.formatting = "strikethrough";
- var t = getType(state);
- state.strikethrough = false;
- return t;
- } else if (stream.match(/^[^\s]/, false)) {// Add strikethrough
- state.strikethrough = true;
- if (modeCfg.highlightFormatting) state.formatting = "strikethrough";
- return getType(state);
- }
- } else if (ch === ' ') {
- if (stream.match(/^~~/, true)) { // Probably surrounded by space
- if (stream.peek() === ' ') { // Surrounded by spaces, ignore
- return getType(state);
- } else { // Not surrounded by spaces, back up pointer
- stream.backUp(2);
- }
- }
- }
- }
-
- if (modeCfg.emoji && ch === ":" && stream.match(/^(?:[a-z_\d+][a-z_\d+-]*|\-[a-z_\d+][a-z_\d+-]*):/)) {
- state.emoji = true;
- if (modeCfg.highlightFormatting) state.formatting = "emoji";
- var retType = getType(state);
- state.emoji = false;
- return retType;
- }
-
- if (ch === ' ') {
- if (stream.match(/^ +$/, false)) {
- state.trailingSpace++;
- } else if (state.trailingSpace) {
- state.trailingSpaceNewLine = true;
- }
- }
-
- return getType(state);
- }
-
- function linkInline(stream, state) {
- var ch = stream.next();
-
- if (ch === ">") {
- state.f = state.inline = inlineNormal;
- if (modeCfg.highlightFormatting) state.formatting = "link";
- var type = getType(state);
- if (type) {
- type += " ";
- } else {
- type = "";
- }
- return type + tokenTypes.linkInline;
- }
-
- stream.match(/^[^>]+/, true);
-
- return tokenTypes.linkInline;
- }
-
- function linkHref(stream, state) {
- // Check if space, and return NULL if so (to avoid marking the space)
- if (stream.eatSpace()) {
- return null;
- }
- var ch = stream.next();
- if (ch === '(' || ch === '[') {
- state.f = state.inline = getLinkHrefInside(ch === "(" ? ")" : "]");
- if (modeCfg.highlightFormatting) state.formatting = "link-string";
- state.linkHref = true;
- return getType(state);
- }
- return 'error';
- }
-
- var linkRE = {
- ")": /^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,
- "]": /^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/
- }
-
- function getLinkHrefInside(endChar) {
- return function (stream, state) {
- var ch = stream.next();
-
- if (ch === endChar) {
- state.f = state.inline = inlineNormal;
- if (modeCfg.highlightFormatting) state.formatting = "link-string";
- var returnState = getType(state);
- state.linkHref = false;
- return returnState;
- }
-
- stream.match(linkRE[endChar])
- state.linkHref = true;
- return getType(state);
- };
- }
-
- function footnoteLink(stream, state) {
- if (stream.match(/^([^\]\\]|\\.)*\]:/, false)) {
- state.f = footnoteLinkInside;
- stream.next(); // Consume [
- if (modeCfg.highlightFormatting) state.formatting = "link";
- state.linkText = true;
- return getType(state);
- }
- return switchInline(stream, state, inlineNormal);
- }
-
- function footnoteLinkInside(stream, state) {
- if (stream.match(/^\]:/, true)) {
- state.f = state.inline = footnoteUrl;
- if (modeCfg.highlightFormatting) state.formatting = "link";
- var returnType = getType(state);
- state.linkText = false;
- return returnType;
- }
-
- stream.match(/^([^\]\\]|\\.)+/, true);
-
- return tokenTypes.linkText;
- }
-
- function footnoteUrl(stream, state) {
- // Check if space, and return NULL if so (to avoid marking the space)
- if (stream.eatSpace()) {
- return null;
- }
- // Match URL
- stream.match(/^[^\s]+/, true);
- // Check for link title
- if (stream.peek() === undefined) { // End of line, set flag to check next line
- state.linkTitle = true;
- } else { // More content on line, check if link title
- stream.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/, true);
- }
- state.f = state.inline = inlineNormal;
- return tokenTypes.linkHref + " url";
- }
-
- var mode = {
- startState: function () {
- return {
- f: blockNormal,
-
- prevLine: { stream: null },
- thisLine: { stream: null },
-
- block: blockNormal,
- htmlState: null,
- indentation: 0,
-
- inline: inlineNormal,
- text: handleText,
-
- formatting: false,
- linkText: false,
- linkHref: false,
- linkTitle: false,
- code: 0,
- em: false,
- strong: false,
- header: 0,
- setext: 0,
- hr: false,
- taskList: false,
- list: false,
- listStack: [],
- quote: 0,
- trailingSpace: 0,
- trailingSpaceNewLine: false,
- strikethrough: false,
- emoji: false,
- fencedEndRE: null
- };
- },
-
- copyState: function (s) {
- return {
- f: s.f,
-
- prevLine: s.prevLine,
- thisLine: s.thisLine,
-
- block: s.block,
- htmlState: s.htmlState && CodeMirror.copyState(htmlMode, s.htmlState),
- indentation: s.indentation,
-
- localMode: s.localMode,
- localState: s.localMode ? CodeMirror.copyState(s.localMode, s.localState) : null,
-
- inline: s.inline,
- text: s.text,
- formatting: false,
- linkText: s.linkText,
- linkTitle: s.linkTitle,
- linkHref: s.linkHref,
- code: s.code,
- em: s.em,
- strong: s.strong,
- strikethrough: s.strikethrough,
- emoji: s.emoji,
- header: s.header,
- setext: s.setext,
- hr: s.hr,
- taskList: s.taskList,
- list: s.list,
- listStack: s.listStack.slice(0),
- quote: s.quote,
- indentedCode: s.indentedCode,
- trailingSpace: s.trailingSpace,
- trailingSpaceNewLine: s.trailingSpaceNewLine,
- md_inside: s.md_inside,
- fencedEndRE: s.fencedEndRE
- };
- },
-
- token: function (stream, state) {
-
- // Reset state.formatting
- state.formatting = false;
-
- if (stream != state.thisLine.stream) {
- state.header = 0;
- state.hr = false;
-
- if (stream.match(/^\s*$/, true)) {
- blankLine(state);
- return null;
- }
-
- state.prevLine = state.thisLine
- state.thisLine = { stream: stream }
-
- // Reset state.taskList
- state.taskList = false;
-
- // Reset state.trailingSpace
- state.trailingSpace = 0;
- state.trailingSpaceNewLine = false;
-
- if (!state.localState) {
- state.f = state.block;
- if (state.f != htmlBlock) {
- var indentation = stream.match(/^\s*/, true)[0].replace(/\t/g, expandedTab).length;
- state.indentation = indentation;
- state.indentationDiff = null;
- if (indentation > 0) return null;
- }
- }
- }
- return state.f(stream, state);
- },
-
- innerMode: function (state) {
- if (state.block == htmlBlock) return { state: state.htmlState, mode: htmlMode };
- if (state.localState) return { state: state.localState, mode: state.localMode };
- return { state: state, mode: mode };
- },
-
- indent: function (state, textAfter, line) {
- if (state.block == htmlBlock && htmlMode.indent) return htmlMode.indent(state.htmlState, textAfter, line)
- if (state.localState && state.localMode.indent) return state.localMode.indent(state.localState, textAfter, line)
- return CodeMirror.Pass
- },
-
- blankLine: blankLine,
-
- getType: getType,
-
- blockCommentStart: "",
- closeBrackets: "()[]{}''\"\"``",
- fold: "markdown"
- };
- return mode;
-}, "xml");
-
-CodeMirror.defineMIME("text/markdown", "markdown");
-
-CodeMirror.defineMIME("text/x-markdown", "markdown");
+// CodeMirror, copyright (c) by Marijn Haverbeke and others
+// Distributed under an MIT license: https://codemirror.net/LICENSE
+
+/* eslint-disable */
+
+import CodeMirror from "codemirror";
+
+CodeMirror.defineMode("markdown", function (cmCfg, modeCfg) {
+
+ var htmlMode = CodeMirror.getMode(cmCfg, "text/html");
+ var htmlModeMissing = htmlMode.name == "null"
+
+ if (modeCfg.defaultMode === undefined)
+ modeCfg.defaultMode = "";
+
+ function getMode(name) {
+ name = name === "" ? modeCfg.defaultMode : name;
+ if (CodeMirror.findModeByName) {
+ var found = CodeMirror.findModeByName(name);
+ if (found) name = found.mime || found.mimes[0];
+ }
+ var mode = CodeMirror.getMode(cmCfg, name);
+ return mode.name == "null" ? null : mode;
+ }
+
+ // Should characters that affect highlighting be highlighted separate?
+ // Does not include characters that will be output (such as `1.` and `-` for lists)
+ if (modeCfg.highlightFormatting === undefined)
+ modeCfg.highlightFormatting = false;
+
+ // Maximum number of nested blockquotes. Set to 0 for infinite nesting.
+ // Excess `>` will emit `error` token.
+ if (modeCfg.maxBlockquoteDepth === undefined)
+ modeCfg.maxBlockquoteDepth = 0;
+
+ // Turn on task lists? ("- [ ] " and "- [x] ")
+ if (modeCfg.taskLists === undefined) modeCfg.taskLists = false;
+
+ // Turn on strikethrough syntax
+ if (modeCfg.strikethrough === undefined)
+ modeCfg.strikethrough = false;
+
+ if (modeCfg.emoji === undefined)
+ modeCfg.emoji = false;
+
+ if (modeCfg.fencedCodeBlockHighlighting === undefined)
+ modeCfg.fencedCodeBlockHighlighting = true;
+
+ if (modeCfg.xml === undefined)
+ modeCfg.xml = true;
+
+ // Allow token types to be overridden by user-provided token types.
+ if (modeCfg.tokenTypeOverrides === undefined)
+ modeCfg.tokenTypeOverrides = {};
+
+ var tokenTypes = {
+ header: "header",
+ code: "comment",
+ quote: "quote",
+ list1: "variable-2",
+ list2: "variable-3",
+ list3: "keyword",
+ hr: "hr",
+ image: "image",
+ imageAltText: "image-alt-text",
+ imageMarker: "image-marker",
+ formatting: "formatting",
+ linkInline: "link",
+ linkEmail: "link",
+ linkText: "link",
+ linkHref: "string",
+ em: "em",
+ strong: "strong",
+ strikethrough: "strikethrough",
+ emoji: "builtin"
+ };
+
+ for (var tokenType in tokenTypes) {
+ if (tokenTypes.hasOwnProperty(tokenType) && modeCfg.tokenTypeOverrides[tokenType]) {
+ tokenTypes[tokenType] = modeCfg.tokenTypeOverrides[tokenType];
+ }
+ }
+
+ var hrRE = /^([*\-_])(?:\s*\1){2,}\s*$/
+ , listRE = /^(?:[*\-+]|^[0-9]+([.)]))\s+/
+ , taskListRE = /^\[(x| )\](?=\s)/i // Must follow listRE
+ , atxHeaderRE = modeCfg.allowAtxHeaderWithoutSpace ? /^(#+)/ : /^(#+)(?: |$)/
+ , setextHeaderRE = /^ *(?:\={1,}|-{1,})\s*$/
+ , textRE = /^[^#!\[\]*_\\<>` "'(~:]+/
+ , fencedCodeRE = /^(~~~+|```+)[ \t]*([\w+#-]*)[^\n`]*$/
+ , linkDefRE = /^\s*\[[^\]]+?\]:.*$/ // naive link-definition
+ , punctuation = /[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/
+ , expandedTab = " " // CommonMark specifies tab as 4 spaces
+
+ function switchInline(stream, state, f) {
+ state.f = state.inline = f;
+ return f(stream, state);
+ }
+
+ function switchBlock(stream, state, f) {
+ state.f = state.block = f;
+ return f(stream, state);
+ }
+
+ function lineIsEmpty(line) {
+ return !line || !/\S/.test(line.string)
+ }
+
+ // Blocks
+
+ function blankLine(state) {
+ // Reset linkTitle state
+ state.linkTitle = false;
+ state.linkHref = false;
+ state.linkText = false;
+ // Reset EM state
+ state.em = false;
+ // Reset STRONG state
+ state.strong = false;
+ // Reset strikethrough state
+ state.strikethrough = false;
+ // Reset state.quote
+ state.quote = 0;
+ // Reset state.indentedCode
+ state.indentedCode = false;
+ if (state.f == htmlBlock) {
+ var exit = htmlModeMissing
+ if (!exit) {
+ var inner = CodeMirror.innerMode(htmlMode, state.htmlState)
+ exit = inner.mode.name == "xml" && inner.state.tagStart === null &&
+ (!inner.state.context && inner.state.tokenize.isInText)
+ }
+ if (exit) {
+ state.f = inlineNormal;
+ state.block = blockNormal;
+ state.htmlState = null;
+ }
+ }
+ // Reset state.trailingSpace
+ state.trailingSpace = 0;
+ state.trailingSpaceNewLine = false;
+ // Mark this line as blank
+ state.prevLine = state.thisLine
+ state.thisLine = { stream: null }
+ return null;
+ }
+
+ function blockNormal(stream, state) {
+ var firstTokenOnLine = stream.column() === state.indentation;
+ var prevLineLineIsEmpty = lineIsEmpty(state.prevLine.stream);
+ var prevLineIsIndentedCode = state.indentedCode;
+ var prevLineIsHr = state.prevLine.hr;
+ var prevLineIsList = state.list !== false;
+ var maxNonCodeIndentation = (state.listStack[state.listStack.length - 1] || 0) + 3;
+
+ state.indentedCode = false;
+
+ var lineIndentation = state.indentation;
+ // compute once per line (on first token)
+ if (state.indentationDiff === null) {
+ state.indentationDiff = state.indentation;
+ if (prevLineIsList) {
+ state.list = null;
+ // While this list item's marker's indentation is less than the deepest
+ // list item's content's indentation,pop the deepest list item
+ // indentation off the stack, and update block indentation state
+ while (lineIndentation < state.listStack[state.listStack.length - 1]) {
+ state.listStack.pop();
+ if (state.listStack.length) {
+ state.indentation = state.listStack[state.listStack.length - 1];
+ // less than the first list's indent -> the line is no longer a list
+ } else {
+ state.list = false;
+ }
+ }
+ if (state.list !== false) {
+ state.indentationDiff = lineIndentation - state.listStack[state.listStack.length - 1]
+ }
+ }
+ }
+
+ // not comprehensive (currently only for setext detection purposes)
+ var allowsInlineContinuation = (
+ !prevLineLineIsEmpty && !prevLineIsHr && !state.prevLine.header &&
+ (!prevLineIsList || !prevLineIsIndentedCode) &&
+ !state.prevLine.fencedCodeEnd
+ );
+
+ var isHr = (state.list === false || prevLineIsHr || prevLineLineIsEmpty) &&
+ state.indentation <= maxNonCodeIndentation && stream.match(hrRE);
+
+ var match = null;
+ if (state.indentationDiff >= 4 && (prevLineIsIndentedCode || state.prevLine.fencedCodeEnd ||
+ state.prevLine.header || prevLineLineIsEmpty)) {
+ stream.skipToEnd();
+ state.indentedCode = true;
+ return tokenTypes.code;
+ } else if (stream.eatSpace()) {
+ return null;
+ } else if (firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(atxHeaderRE)) && match[1].length <= 6) {
+ state.quote = 0;
+ state.header = match[1].length;
+ state.thisLine.header = true;
+ if (modeCfg.highlightFormatting) state.formatting = "header";
+ state.f = state.inline;
+ return getType(state);
+ } else if (state.indentation <= maxNonCodeIndentation && stream.eat('>')) {
+ state.quote = firstTokenOnLine ? 1 : state.quote + 1;
+ if (modeCfg.highlightFormatting) state.formatting = "quote";
+ stream.eatSpace();
+ return getType(state);
+ } else if (!isHr && !state.setext && firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(listRE))) {
+ var listType = match[1] ? "ol" : "ul";
+
+ state.indentation = lineIndentation + stream.current().length;
+ state.list = true;
+ state.quote = 0;
+
+ // Add this list item's content's indentation to the stack
+ state.listStack.push(state.indentation);
+ // Reset inline styles which shouldn't propagate aross list items
+ state.em = false;
+ state.strong = false;
+ state.code = false;
+ state.strikethrough = false;
+
+ if (modeCfg.taskLists && stream.match(taskListRE, false)) {
+ state.taskList = true;
+ }
+ state.f = state.inline;
+ if (modeCfg.highlightFormatting) state.formatting = ["list", "list-" + listType];
+ return getType(state);
+ } else if (firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(fencedCodeRE, true))) {
+ state.quote = 0;
+ state.fencedEndRE = new RegExp(match[1] + "+ *$");
+ // try switching mode
+ state.localMode = modeCfg.fencedCodeBlockHighlighting && getMode(match[2]);
+ if (state.localMode) state.localState = CodeMirror.startState(state.localMode);
+ state.f = state.block = local;
+ if (modeCfg.highlightFormatting) state.formatting = "code-block";
+ state.code = -1
+ return getType(state);
+ // SETEXT has lowest block-scope precedence after HR, so check it after
+ // the others (code, blockquote, list...)
+ } else if (
+ // if setext set, indicates line after ---/===
+ state.setext || (
+ // line before ---/===
+ (!allowsInlineContinuation || !prevLineIsList) && !state.quote && state.list === false &&
+ !state.code && !isHr && !linkDefRE.test(stream.string) &&
+ (match = stream.lookAhead(1)) && (match = match.match(setextHeaderRE))
+ )
+ ) {
+ if (!state.setext) {
+ state.header = match[0].charAt(0) == '=' ? 1 : 2;
+ state.setext = state.header;
+ } else {
+ state.header = state.setext;
+ // has no effect on type so we can reset it now
+ state.setext = 0;
+ stream.skipToEnd();
+ if (modeCfg.highlightFormatting) state.formatting = "header";
+ }
+ state.thisLine.header = true;
+ state.f = state.inline;
+ return getType(state);
+ } else if (isHr) {
+ stream.skipToEnd();
+ state.hr = true;
+ state.thisLine.hr = true;
+ return tokenTypes.hr;
+ } else if (stream.peek() === '[') {
+ return switchInline(stream, state, footnoteLink);
+ }
+
+ return switchInline(stream, state, state.inline);
+ }
+
+ function htmlBlock(stream, state) {
+ var style = htmlMode.token(stream, state.htmlState);
+ if (!htmlModeMissing) {
+ var inner = CodeMirror.innerMode(htmlMode, state.htmlState)
+ if ((inner.mode.name == "xml" && inner.state.tagStart === null &&
+ (!inner.state.context && inner.state.tokenize.isInText)) ||
+ (state.md_inside && stream.current().indexOf(">") > -1)) {
+ state.f = inlineNormal;
+ state.block = blockNormal;
+ state.htmlState = null;
+ }
+ }
+ return style;
+ }
+
+ function local(stream, state) {
+ var currListInd = state.listStack[state.listStack.length - 1] || 0;
+ var hasExitedList = state.indentation < currListInd;
+ var maxFencedEndInd = currListInd + 3;
+ if (state.fencedEndRE && state.indentation <= maxFencedEndInd && (hasExitedList || stream.match(state.fencedEndRE))) {
+ if (modeCfg.highlightFormatting) state.formatting = "code-block";
+ var returnType;
+ if (!hasExitedList) returnType = getType(state)
+ state.localMode = state.localState = null;
+ state.block = blockNormal;
+ state.f = inlineNormal;
+ state.fencedEndRE = null;
+ state.code = 0
+ state.thisLine.fencedCodeEnd = true;
+ if (hasExitedList) return switchBlock(stream, state, state.block);
+ return returnType;
+ } else if (state.localMode) {
+ return state.localMode.token(stream, state.localState);
+ } else {
+ stream.skipToEnd();
+ return tokenTypes.code;
+ }
+ }
+
+ // Inline
+ function getType(state) {
+ var styles = [];
+
+ if (state.formatting) {
+ styles.push(tokenTypes.formatting);
+
+ if (typeof state.formatting === "string") state.formatting = [state.formatting];
+
+ for (var i = 0; i < state.formatting.length; i++) {
+ styles.push(tokenTypes.formatting + "-" + state.formatting[i]);
+
+ if (state.formatting[i] === "header") {
+ styles.push(tokenTypes.formatting + "-" + state.formatting[i] + "-" + state.header);
+ }
+
+ // Add `formatting-quote` and `formatting-quote-#` for blockquotes
+ // Add `error` instead if the maximum blockquote nesting depth is passed
+ if (state.formatting[i] === "quote") {
+ if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) {
+ styles.push(tokenTypes.formatting + "-" + state.formatting[i] + "-" + state.quote);
+ } else {
+ styles.push("error");
+ }
+ }
+ }
+ }
+
+ if (state.taskOpen) {
+ styles.push("meta");
+ return styles.length ? styles.join(' ') : null;
+ }
+ if (state.taskClosed) {
+ styles.push("property");
+ return styles.length ? styles.join(' ') : null;
+ }
+
+ if (state.linkHref) {
+ styles.push(tokenTypes.linkHref, "url");
+ } else { // Only apply inline styles to non-url text
+ if (state.strong) { styles.push(tokenTypes.strong); }
+ if (state.em) { styles.push(tokenTypes.em); }
+ if (state.strikethrough) { styles.push(tokenTypes.strikethrough); }
+ if (state.emoji) { styles.push(tokenTypes.emoji); }
+ if (state.linkText) { styles.push(tokenTypes.linkText); }
+ if (state.code) { styles.push(tokenTypes.code); }
+ if (state.image) { styles.push(tokenTypes.image); }
+ if (state.imageAltText) { styles.push(tokenTypes.imageAltText, "link"); }
+ if (state.imageMarker) { styles.push(tokenTypes.imageMarker); }
+ }
+
+ if (state.header) { styles.push(tokenTypes.header, tokenTypes.header + "-" + state.header); }
+
+ if (state.quote) {
+ styles.push(tokenTypes.quote);
+
+ // Add `quote-#` where the maximum for `#` is modeCfg.maxBlockquoteDepth
+ if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) {
+ styles.push(tokenTypes.quote + "-" + state.quote);
+ } else {
+ styles.push(tokenTypes.quote + "-" + modeCfg.maxBlockquoteDepth);
+ }
+ }
+
+ if (state.list !== false) {
+ var listMod = (state.listStack.length - 1) % 3;
+ if (!listMod) {
+ styles.push(tokenTypes.list1);
+ } else if (listMod === 1) {
+ styles.push(tokenTypes.list2);
+ } else {
+ styles.push(tokenTypes.list3);
+ }
+ }
+
+ if (state.trailingSpaceNewLine) {
+ styles.push("trailing-space-new-line");
+ } else if (state.trailingSpace) {
+ styles.push("trailing-space-" + (state.trailingSpace % 2 ? "a" : "b"));
+ }
+
+ return styles.length ? styles.join(' ') : null;
+ }
+
+ function handleText(stream, state) {
+ if (stream.match(textRE, true)) {
+ return getType(state);
+ }
+ return undefined;
+ }
+
+ function inlineNormal(stream, state) {
+ var style = state.text(stream, state);
+ if (typeof style !== 'undefined')
+ return style;
+
+ if (state.list) { // List marker (*, +, -, 1., etc)
+ state.list = null;
+ return getType(state);
+ }
+
+ if (state.taskList) {
+ var taskOpen = stream.match(taskListRE, true)[1] === " ";
+ if (taskOpen) state.taskOpen = true;
+ else state.taskClosed = true;
+ if (modeCfg.highlightFormatting) state.formatting = "task";
+ state.taskList = false;
+ return getType(state);
+ }
+
+ state.taskOpen = false;
+ state.taskClosed = false;
+
+ if (state.header && stream.match(/^#+$/, true)) {
+ if (modeCfg.highlightFormatting) state.formatting = "header";
+ return getType(state);
+ }
+
+ var ch = stream.next();
+
+ // Matches link titles present on next line
+ if (state.linkTitle) {
+ state.linkTitle = false;
+ var matchCh = ch;
+ if (ch === '(') {
+ matchCh = ')';
+ }
+ matchCh = (matchCh + '').replace(/([.?*+^\[\]\\(){}|-])/g, "\\$1");
+ var regex = '^\\s*(?:[^' + matchCh + '\\\\]+|\\\\\\\\|\\\\.)' + matchCh;
+ if (stream.match(new RegExp(regex), true)) {
+ return tokenTypes.linkHref;
+ }
+ }
+
+ // If this block is changed, it may need to be updated in GFM mode
+ if (ch === '`') {
+ var previousFormatting = state.formatting;
+ if (modeCfg.highlightFormatting) state.formatting = "code";
+ stream.eatWhile('`');
+ var count = stream.current().length
+ if (state.code == 0 && (!state.quote || count == 1)) {
+ state.code = count
+ return getType(state)
+ } else if (count == state.code) { // Must be exact
+ var t = getType(state)
+ state.code = 0
+ return t
+ } else {
+ state.formatting = previousFormatting
+ return getType(state)
+ }
+ } else if (state.code) {
+ return getType(state);
+ }
+
+ if (ch === '\\') {
+ stream.next();
+ if (modeCfg.highlightFormatting) {
+ var type = getType(state);
+ var formattingEscape = tokenTypes.formatting + "-escape";
+ return type ? type + " " + formattingEscape : formattingEscape;
+ }
+ }
+
+ if (ch === '!' && stream.match(/\[[^\]]*\] ?(?:\(|\[)/, false)) {
+ state.imageMarker = true;
+ state.image = true;
+ if (modeCfg.highlightFormatting) state.formatting = "image";
+ return getType(state);
+ }
+
+ if (ch === '[' && state.imageMarker && stream.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/, false)) {
+ state.imageMarker = false;
+ state.imageAltText = true
+ if (modeCfg.highlightFormatting) state.formatting = "image";
+ return getType(state);
+ }
+
+ if (ch === ']' && state.imageAltText) {
+ if (modeCfg.highlightFormatting) state.formatting = "image";
+ var type = getType(state);
+ state.imageAltText = false;
+ state.image = false;
+ state.inline = state.f = linkHref;
+ return type;
+ }
+
+ if (ch === '[' && !state.image) {
+ if (state.linkText && stream.match(/^.*?\]/)) return getType(state)
+ state.linkText = true;
+ if (modeCfg.highlightFormatting) state.formatting = "link";
+ return getType(state);
+ }
+
+ if (ch === ']' && state.linkText) {
+ if (modeCfg.highlightFormatting) state.formatting = "link";
+ var type = getType(state);
+ state.linkText = false;
+ state.inline = state.f = stream.match(/\(.*?\)| ?\[.*?\]/, false) ? linkHref : inlineNormal
+ return type;
+ }
+
+ if (ch === '<' && stream.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/, false)) {
+ state.f = state.inline = linkInline;
+ if (modeCfg.highlightFormatting) state.formatting = "link";
+ var type = getType(state);
+ if (type) {
+ type += " ";
+ } else {
+ type = "";
+ }
+ return type + tokenTypes.linkInline;
+ }
+
+ if (ch === '<' && stream.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/, false)) {
+ state.f = state.inline = linkInline;
+ if (modeCfg.highlightFormatting) state.formatting = "link";
+ var type = getType(state);
+ if (type) {
+ type += " ";
+ } else {
+ type = "";
+ }
+ return type + tokenTypes.linkEmail;
+ }
+
+ if (modeCfg.xml && ch === '<' && stream.match(/^(!--|\?|!\[CDATA\[|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*(?:>|$))/i, false)) {
+ var end = stream.string.indexOf(">", stream.pos);
+ if (end != -1) {
+ var atts = stream.string.substring(stream.start, end);
+ if (/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(atts)) state.md_inside = true;
+ }
+ stream.backUp(1);
+ state.htmlState = CodeMirror.startState(htmlMode);
+ return switchBlock(stream, state, htmlBlock);
+ }
+
+ if (modeCfg.xml && ch === '<' && stream.match(/^\/\w*?>/)) {
+ state.md_inside = false;
+ return "tag";
+ } else if (ch === "*" || ch === "_") {
+ var len = 1, before = stream.pos == 1 ? " " : stream.string.charAt(stream.pos - 2)
+ while (len < 3 && stream.eat(ch)) len++
+ var after = stream.peek() || " "
+ // See http://spec.commonmark.org/0.27/#emphasis-and-strong-emphasis
+ var leftFlanking = !/\s/.test(after) && (!punctuation.test(after) || /\s/.test(before) || punctuation.test(before))
+ var rightFlanking = !/\s/.test(before) && (!punctuation.test(before) || /\s/.test(after) || punctuation.test(after))
+ var setEm = null, setStrong = null
+ if (len % 2) { // Em
+ if (!state.em && leftFlanking && (ch === "*" || !rightFlanking || punctuation.test(before)))
+ setEm = true
+ else if (state.em == ch && rightFlanking && (ch === "*" || !leftFlanking || punctuation.test(after)))
+ setEm = false
+ }
+ if (len > 1) { // Strong
+ if (!state.strong && leftFlanking && (ch === "*" || !rightFlanking || punctuation.test(before)))
+ setStrong = true
+ else if (state.strong == ch && rightFlanking && (ch === "*" || !leftFlanking || punctuation.test(after)))
+ setStrong = false
+ }
+ if (setStrong != null || setEm != null) {
+ if (modeCfg.highlightFormatting) state.formatting = setEm == null ? "strong" : setStrong == null ? "em" : "strong em"
+ if (setEm === true) state.em = ch
+ if (setStrong === true) state.strong = ch
+ var t = getType(state)
+ if (setEm === false) state.em = false
+ if (setStrong === false) state.strong = false
+ return t
+ }
+ } else if (ch === ' ') {
+ if (stream.eat('*') || stream.eat('_')) { // Probably surrounded by spaces
+ if (stream.peek() === ' ') { // Surrounded by spaces, ignore
+ return getType(state);
+ } else { // Not surrounded by spaces, back up pointer
+ stream.backUp(1);
+ }
+ }
+ }
+
+ if (modeCfg.strikethrough) {
+ if (ch === '~' && stream.eatWhile(ch)) {
+ if (state.strikethrough) {// Remove strikethrough
+ if (modeCfg.highlightFormatting) state.formatting = "strikethrough";
+ var t = getType(state);
+ state.strikethrough = false;
+ return t;
+ } else if (stream.match(/^[^\s]/, false)) {// Add strikethrough
+ state.strikethrough = true;
+ if (modeCfg.highlightFormatting) state.formatting = "strikethrough";
+ return getType(state);
+ }
+ } else if (ch === ' ') {
+ if (stream.match(/^~~/, true)) { // Probably surrounded by space
+ if (stream.peek() === ' ') { // Surrounded by spaces, ignore
+ return getType(state);
+ } else { // Not surrounded by spaces, back up pointer
+ stream.backUp(2);
+ }
+ }
+ }
+ }
+
+ if (modeCfg.emoji && ch === ":" && stream.match(/^(?:[a-z_\d+][a-z_\d+-]*|\-[a-z_\d+][a-z_\d+-]*):/)) {
+ state.emoji = true;
+ if (modeCfg.highlightFormatting) state.formatting = "emoji";
+ var retType = getType(state);
+ state.emoji = false;
+ return retType;
+ }
+
+ if (ch === ' ') {
+ if (stream.match(/^ +$/, false)) {
+ state.trailingSpace++;
+ } else if (state.trailingSpace) {
+ state.trailingSpaceNewLine = true;
+ }
+ }
+
+ return getType(state);
+ }
+
+ function linkInline(stream, state) {
+ var ch = stream.next();
+
+ if (ch === ">") {
+ state.f = state.inline = inlineNormal;
+ if (modeCfg.highlightFormatting) state.formatting = "link";
+ var type = getType(state);
+ if (type) {
+ type += " ";
+ } else {
+ type = "";
+ }
+ return type + tokenTypes.linkInline;
+ }
+
+ stream.match(/^[^>]+/, true);
+
+ return tokenTypes.linkInline;
+ }
+
+ function linkHref(stream, state) {
+ // Check if space, and return NULL if so (to avoid marking the space)
+ if (stream.eatSpace()) {
+ return null;
+ }
+ var ch = stream.next();
+ if (ch === '(' || ch === '[') {
+ state.f = state.inline = getLinkHrefInside(ch === "(" ? ")" : "]");
+ if (modeCfg.highlightFormatting) state.formatting = "link-string";
+ state.linkHref = true;
+ return getType(state);
+ }
+ return 'error';
+ }
+
+ var linkRE = {
+ ")": /^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,
+ "]": /^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/
+ }
+
+ function getLinkHrefInside(endChar) {
+ return function (stream, state) {
+ var ch = stream.next();
+
+ if (ch === endChar) {
+ state.f = state.inline = inlineNormal;
+ if (modeCfg.highlightFormatting) state.formatting = "link-string";
+ var returnState = getType(state);
+ state.linkHref = false;
+ return returnState;
+ }
+
+ stream.match(linkRE[endChar])
+ state.linkHref = true;
+ return getType(state);
+ };
+ }
+
+ function footnoteLink(stream, state) {
+ if (stream.match(/^([^\]\\]|\\.)*\]:/, false)) {
+ state.f = footnoteLinkInside;
+ stream.next(); // Consume [
+ if (modeCfg.highlightFormatting) state.formatting = "link";
+ state.linkText = true;
+ return getType(state);
+ }
+ return switchInline(stream, state, inlineNormal);
+ }
+
+ function footnoteLinkInside(stream, state) {
+ if (stream.match(/^\]:/, true)) {
+ state.f = state.inline = footnoteUrl;
+ if (modeCfg.highlightFormatting) state.formatting = "link";
+ var returnType = getType(state);
+ state.linkText = false;
+ return returnType;
+ }
+
+ stream.match(/^([^\]\\]|\\.)+/, true);
+
+ return tokenTypes.linkText;
+ }
+
+ function footnoteUrl(stream, state) {
+ // Check if space, and return NULL if so (to avoid marking the space)
+ if (stream.eatSpace()) {
+ return null;
+ }
+ // Match URL
+ stream.match(/^[^\s]+/, true);
+ // Check for link title
+ if (stream.peek() === undefined) { // End of line, set flag to check next line
+ state.linkTitle = true;
+ } else { // More content on line, check if link title
+ stream.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/, true);
+ }
+ state.f = state.inline = inlineNormal;
+ return tokenTypes.linkHref + " url";
+ }
+
+ var mode = {
+ startState: function () {
+ return {
+ f: blockNormal,
+
+ prevLine: { stream: null },
+ thisLine: { stream: null },
+
+ block: blockNormal,
+ htmlState: null,
+ indentation: 0,
+
+ inline: inlineNormal,
+ text: handleText,
+
+ formatting: false,
+ linkText: false,
+ linkHref: false,
+ linkTitle: false,
+ code: 0,
+ em: false,
+ strong: false,
+ header: 0,
+ setext: 0,
+ hr: false,
+ taskList: false,
+ list: false,
+ listStack: [],
+ quote: 0,
+ trailingSpace: 0,
+ trailingSpaceNewLine: false,
+ strikethrough: false,
+ emoji: false,
+ fencedEndRE: null
+ };
+ },
+
+ copyState: function (s) {
+ return {
+ f: s.f,
+
+ prevLine: s.prevLine,
+ thisLine: s.thisLine,
+
+ block: s.block,
+ htmlState: s.htmlState && CodeMirror.copyState(htmlMode, s.htmlState),
+ indentation: s.indentation,
+
+ localMode: s.localMode,
+ localState: s.localMode ? CodeMirror.copyState(s.localMode, s.localState) : null,
+
+ inline: s.inline,
+ text: s.text,
+ formatting: false,
+ linkText: s.linkText,
+ linkTitle: s.linkTitle,
+ linkHref: s.linkHref,
+ code: s.code,
+ em: s.em,
+ strong: s.strong,
+ strikethrough: s.strikethrough,
+ emoji: s.emoji,
+ header: s.header,
+ setext: s.setext,
+ hr: s.hr,
+ taskList: s.taskList,
+ list: s.list,
+ listStack: s.listStack.slice(0),
+ quote: s.quote,
+ indentedCode: s.indentedCode,
+ trailingSpace: s.trailingSpace,
+ trailingSpaceNewLine: s.trailingSpaceNewLine,
+ md_inside: s.md_inside,
+ fencedEndRE: s.fencedEndRE
+ };
+ },
+
+ token: function (stream, state) {
+
+ // Reset state.formatting
+ state.formatting = false;
+
+ if (stream != state.thisLine.stream) {
+ state.header = 0;
+ state.hr = false;
+
+ if (stream.match(/^\s*$/, true)) {
+ blankLine(state);
+ return null;
+ }
+
+ state.prevLine = state.thisLine
+ state.thisLine = { stream: stream }
+
+ // Reset state.taskList
+ state.taskList = false;
+
+ // Reset state.trailingSpace
+ state.trailingSpace = 0;
+ state.trailingSpaceNewLine = false;
+
+ if (!state.localState) {
+ state.f = state.block;
+ if (state.f != htmlBlock) {
+ var indentation = stream.match(/^\s*/, true)[0].replace(/\t/g, expandedTab).length;
+ state.indentation = indentation;
+ state.indentationDiff = null;
+ if (indentation > 0) return null;
+ }
+ }
+ }
+ return state.f(stream, state);
+ },
+
+ innerMode: function (state) {
+ if (state.block == htmlBlock) return { state: state.htmlState, mode: htmlMode };
+ if (state.localState) return { state: state.localState, mode: state.localMode };
+ return { state: state, mode: mode };
+ },
+
+ indent: function (state, textAfter, line) {
+ if (state.block == htmlBlock && htmlMode.indent) return htmlMode.indent(state.htmlState, textAfter, line)
+ if (state.localState && state.localMode.indent) return state.localMode.indent(state.localState, textAfter, line)
+ return CodeMirror.Pass
+ },
+
+ blankLine: blankLine,
+
+ getType: getType,
+
+ blockCommentStart: "",
+ closeBrackets: "()[]{}''\"\"``",
+ fold: "markdown"
+ };
+ return mode;
+}, "xml");
+
+CodeMirror.defineMIME("text/markdown", "markdown");
+
+CodeMirror.defineMIME("text/x-markdown", "markdown");