{
// Create the mocha test
diff --git a/src/test/runIntergration.ts b/src/test/runIntergration.ts
index 5452e6e..3a95de6 100644
--- a/src/test/runIntergration.ts
+++ b/src/test/runIntergration.ts
@@ -13,7 +13,7 @@ async function main() {
const extensionTestsPath = path.resolve(__dirname, "./integration/index")
// Download VS Code, unzip it and run the integration test
- await runTests({ extensionDevelopmentPath, extensionTestsPath, version: "1.47.0" })
+ await runTests({ extensionDevelopmentPath, extensionTestsPath, version: "1.58.0" })
} catch (err) {
console.error(err)
console.error("Failed to run tests")
@@ -21,4 +21,4 @@ async function main() {
}
}
-main()
+void main()
diff --git a/src/test/standalone/md_plugin.test.ts b/src/test/standalone/md_plugin.test.ts
deleted file mode 100644
index e39e245..0000000
--- a/src/test/standalone/md_plugin.test.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-"use strict"
-import * as assert from "assert"
-import { makeToTokens, expandAdmonitions, fixCodeCells } from "../../md_it_plugin"
-import * as MarkdownIt from "markdown-it"
-
-suite("Parse Tests", () => {
- test("Parse tokens", () => {
- const toTokens = makeToTokens(new MarkdownIt())
- const tokens = toTokens("```{code} dsf\ncontent\n```")
- assert.equal(tokens.length, 1)
- })
-
- test("Expand admonitions", () => {
- const toTokens = makeToTokens(new MarkdownIt())
- let tokens = toTokens(
- "`````{note}\n\n\n````{tip}\n```python\ncontent\n```\na\n````\nb\n`````"
- )
- tokens = expandAdmonitions(tokens, /^\{(note|tip)\}\s*(.*)/, toTokens)
- const types = tokens.map(t => t.type)
- assert.deepEqual(types, [
- "admonition_open",
- "admonition_open",
- "fence",
- "paragraph_open",
- "inline",
- "paragraph_close",
- "admonition_close",
- "paragraph_open",
- "inline",
- "paragraph_close",
- "admonition_close"
- ])
- const positions = tokens.map(t => t.map)
- assert.deepEqual(positions, [
- [0, 11],
- [2, 8],
- [2, 5],
- [5, 6],
- [5, 6],
- null,
- null,
- [8, 9],
- [8, 9],
- null,
- null
- ])
- })
-
- test("fix Code Cell language", () => {
- const toTokens = makeToTokens(new MarkdownIt())
- let tokens = toTokens("```{code} python\ncontent\n```")
- tokens = fixCodeCells(tokens, /^\{(code)\}\s*(.*)/)
- assert.equal(tokens.length, 1)
- assert.equal(tokens[0].info, "python")
- })
-})
diff --git a/src/test/standalone/syntax.test.ts b/src/test/standalone/syntax.test.ts
new file mode 100644
index 0000000..1c72fc5
--- /dev/null
+++ b/src/test/standalone/syntax.test.ts
@@ -0,0 +1,44 @@
+"use strict"
+import * as assert from "assert"
+import * as fs from "fs"
+import MarkdownIt from "markdown-it"
+import * as path from "path"
+import { colonFencePlugin, mystBlockPlugin } from "../../mdPlugins"
+
+suite("Syntax Fixtures: MyST Blocks", () => {
+ const fixtures = fs
+ .readFileSync(
+ path.join(__dirname, "../../../test_static/syntax-fixtures", "myst_block.md"),
+ "utf8"
+ )
+ .replace(/\r\n|\n\r|\n|\r/g, "\n")
+ const mdit = MarkdownIt("commonmark").use(mystBlockPlugin)
+ fixtures
+ .split(/\n\.\n\n/)
+ .map(s => s.split(/\n\.\n/))
+ .forEach(([name, text, expected]) => {
+ test(name, () => {
+ const rendered = mdit.render(text)
+ assert.equal(rendered.trim(), expected.trim())
+ })
+ })
+})
+
+suite("Syntax Fixtures: Colon Fence", () => {
+ const fixtures = fs
+ .readFileSync(
+ path.join(__dirname, "../../../test_static/syntax-fixtures", "colon_fence.md"),
+ "utf8"
+ )
+ .replace(/\r\n|\n\r|\n|\r/g, "\n")
+ const mdit = MarkdownIt("commonmark").use(colonFencePlugin)
+ fixtures
+ .split(/\n\.\n\n/)
+ .map(s => s.split(/\n\.\n/))
+ .forEach(([name, text, expected]) => {
+ test(name, () => {
+ const rendered = mdit.render(text)
+ assert.equal(rendered.trim(), expected.trim())
+ })
+ })
+})
diff --git a/test_static/colorize-results/directive_code_block_myst.md.json b/test_static/colorize-results/directive_code_block_myst.md.json
index e7cc0ed..e35ca8d 100644
--- a/test_static/colorize-results/directive_code_block_myst.md.json
+++ b/test_static/colorize-results/directive_code_block_myst.md.json
@@ -309,13 +309,13 @@
},
{
"c": "console",
- "t": "text.html.markdown markup.directive.code.myst meta.embedded.block.javascript meta.function.js meta.block.js meta.function-call.js support.class.console.js",
+ "t": "text.html.markdown markup.directive.code.myst meta.embedded.block.javascript meta.function.js meta.block.js meta.function-call.js variable.other.object.js",
"r": {
- "dark_plus": "support.class: #4EC9B0",
- "light_plus": "support.class: #267F99",
+ "dark_plus": "variable: #9CDCFE",
+ "light_plus": "variable: #001080",
"dark_vs": "meta.embedded: #D4D4D4",
"light_vs": "meta.embedded: #000000",
- "hc_black": "support.class: #4EC9B0"
+ "hc_black": "variable: #9CDCFE"
}
},
{
@@ -331,13 +331,13 @@
},
{
"c": "log",
- "t": "text.html.markdown markup.directive.code.myst meta.embedded.block.javascript meta.function.js meta.block.js meta.function-call.js support.function.console.js",
+ "t": "text.html.markdown markup.directive.code.myst meta.embedded.block.javascript meta.function.js meta.block.js meta.function-call.js entity.name.function.js",
"r": {
- "dark_plus": "support.function: #DCDCAA",
- "light_plus": "support.function: #795E26",
+ "dark_plus": "entity.name.function: #DCDCAA",
+ "light_plus": "entity.name.function: #795E26",
"dark_vs": "meta.embedded: #D4D4D4",
"light_vs": "meta.embedded: #000000",
- "hc_black": "support.function: #DCDCAA"
+ "hc_black": "entity.name.function: #DCDCAA"
}
},
{
@@ -672,13 +672,13 @@
},
{
"c": "console",
- "t": "text.html.markdown markup.directive.code.myst meta.embedded.block.javascript meta.function.js meta.block.js meta.function-call.js support.class.console.js",
+ "t": "text.html.markdown markup.directive.code.myst meta.embedded.block.javascript meta.function.js meta.block.js meta.function-call.js variable.other.object.js",
"r": {
- "dark_plus": "support.class: #4EC9B0",
- "light_plus": "support.class: #267F99",
+ "dark_plus": "variable: #9CDCFE",
+ "light_plus": "variable: #001080",
"dark_vs": "meta.embedded: #D4D4D4",
"light_vs": "meta.embedded: #000000",
- "hc_black": "support.class: #4EC9B0"
+ "hc_black": "variable: #9CDCFE"
}
},
{
@@ -694,13 +694,13 @@
},
{
"c": "log",
- "t": "text.html.markdown markup.directive.code.myst meta.embedded.block.javascript meta.function.js meta.block.js meta.function-call.js support.function.console.js",
+ "t": "text.html.markdown markup.directive.code.myst meta.embedded.block.javascript meta.function.js meta.block.js meta.function-call.js entity.name.function.js",
"r": {
- "dark_plus": "support.function: #DCDCAA",
- "light_plus": "support.function: #795E26",
+ "dark_plus": "entity.name.function: #DCDCAA",
+ "light_plus": "entity.name.function: #795E26",
"dark_vs": "meta.embedded: #D4D4D4",
"light_vs": "meta.embedded: #000000",
- "hc_black": "support.function: #DCDCAA"
+ "hc_black": "entity.name.function: #DCDCAA"
}
},
{
diff --git a/test_static/colorize-results/issue-42_myst.md.json b/test_static/colorize-results/issue-42_myst.md.json
index 9655e25..add3f52 100644
--- a/test_static/colorize-results/issue-42_myst.md.json
+++ b/test_static/colorize-results/issue-42_myst.md.json
@@ -550,7 +550,7 @@
}
},
{
- "c": " counts",
+ "c": " counts: ",
"t": "text.html.markdown markup.fenced_code.block.markdown meta.embedded.block.swift",
"r": {
"dark_plus": "meta.embedded: #D4D4D4",
@@ -561,18 +561,18 @@
}
},
{
- "c": ":",
- "t": "text.html.markdown markup.fenced_code.block.markdown meta.embedded.block.swift keyword.operator.ternary.swift",
+ "c": "[",
+ "t": "text.html.markdown markup.fenced_code.block.markdown meta.embedded.block.swift punctuation.section.collection-type.begin.swift",
"r": {
- "dark_plus": "keyword.operator: #D4D4D4",
- "light_plus": "keyword.operator: #000000",
- "dark_vs": "keyword.operator: #D4D4D4",
- "light_vs": "keyword.operator: #000000",
- "hc_black": "keyword.operator: #D4D4D4"
+ "dark_plus": "meta.embedded: #D4D4D4",
+ "light_plus": "meta.embedded: #000000",
+ "dark_vs": "meta.embedded: #D4D4D4",
+ "light_vs": "meta.embedded: #000000",
+ "hc_black": "meta.embedded: #FFFFFF"
}
},
{
- "c": " [S.",
+ "c": "S.",
"t": "text.html.markdown markup.fenced_code.block.markdown meta.embedded.block.swift",
"r": {
"dark_plus": "meta.embedded: #D4D4D4",
@@ -595,13 +595,13 @@
},
{
"c": ":",
- "t": "text.html.markdown markup.fenced_code.block.markdown meta.embedded.block.swift keyword.operator.ternary.swift",
+ "t": "text.html.markdown markup.fenced_code.block.markdown meta.embedded.block.swift punctuation.separator.key-value.swift",
"r": {
- "dark_plus": "keyword.operator: #D4D4D4",
- "light_plus": "keyword.operator: #000000",
- "dark_vs": "keyword.operator: #D4D4D4",
- "light_vs": "keyword.operator: #000000",
- "hc_black": "keyword.operator: #D4D4D4"
+ "dark_plus": "meta.embedded: #D4D4D4",
+ "light_plus": "meta.embedded: #000000",
+ "dark_vs": "meta.embedded: #D4D4D4",
+ "light_vs": "meta.embedded: #000000",
+ "hc_black": "meta.embedded: #FFFFFF"
}
},
{
@@ -627,7 +627,18 @@
}
},
{
- "c": "] ",
+ "c": "]",
+ "t": "text.html.markdown markup.fenced_code.block.markdown meta.embedded.block.swift punctuation.section.collection-type.end.swift",
+ "r": {
+ "dark_plus": "meta.embedded: #D4D4D4",
+ "light_plus": "meta.embedded: #000000",
+ "dark_vs": "meta.embedded: #D4D4D4",
+ "light_vs": "meta.embedded: #000000",
+ "hc_black": "meta.embedded: #FFFFFF"
+ }
+ },
+ {
+ "c": " ",
"t": "text.html.markdown markup.fenced_code.block.markdown meta.embedded.block.swift",
"r": {
"dark_plus": "meta.embedded: #D4D4D4",
diff --git a/test_static/colorize-results/issue-62-2_myst.md.json b/test_static/colorize-results/issue-62-2_myst.md.json
index 0c95db7..93379cb 100644
--- a/test_static/colorize-results/issue-62-2_myst.md.json
+++ b/test_static/colorize-results/issue-62-2_myst.md.json
@@ -287,13 +287,13 @@
},
{
"c": "console",
- "t": "text.html.markdown markup.fenced_code.block.markdown meta.embedded.block.javascript meta.function.js meta.block.js meta.function-call.js support.class.console.js",
+ "t": "text.html.markdown markup.fenced_code.block.markdown meta.embedded.block.javascript meta.function.js meta.block.js meta.function-call.js variable.other.object.js",
"r": {
- "dark_plus": "support.class: #4EC9B0",
- "light_plus": "support.class: #267F99",
+ "dark_plus": "variable: #9CDCFE",
+ "light_plus": "variable: #001080",
"dark_vs": "meta.embedded: #D4D4D4",
"light_vs": "meta.embedded: #000000",
- "hc_black": "support.class: #4EC9B0"
+ "hc_black": "variable: #9CDCFE"
}
},
{
@@ -309,13 +309,13 @@
},
{
"c": "log",
- "t": "text.html.markdown markup.fenced_code.block.markdown meta.embedded.block.javascript meta.function.js meta.block.js meta.function-call.js support.function.console.js",
+ "t": "text.html.markdown markup.fenced_code.block.markdown meta.embedded.block.javascript meta.function.js meta.block.js meta.function-call.js entity.name.function.js",
"r": {
- "dark_plus": "support.function: #DCDCAA",
- "light_plus": "support.function: #795E26",
+ "dark_plus": "entity.name.function: #DCDCAA",
+ "light_plus": "entity.name.function: #795E26",
"dark_vs": "meta.embedded: #D4D4D4",
"light_vs": "meta.embedded: #000000",
- "hc_black": "support.function: #DCDCAA"
+ "hc_black": "entity.name.function: #DCDCAA"
}
},
{
diff --git a/test_static/colorize-results/test_myst.md.json b/test_static/colorize-results/test_myst.md.json
index 6963f66..1fee128 100644
--- a/test_static/colorize-results/test_myst.md.json
+++ b/test_static/colorize-results/test_myst.md.json
@@ -33,7 +33,18 @@
}
},
{
- "c": " #",
+ "c": " ",
+ "t": "text.html.markdown markup.heading.markdown heading.1.markdown",
+ "r": {
+ "dark_plus": "markup.heading: #569CD6",
+ "light_plus": "markup.heading: #800000",
+ "dark_vs": "markup.heading: #569CD6",
+ "light_vs": "markup.heading: #800000",
+ "hc_black": "markup.heading: #6796E6"
+ }
+ },
+ {
+ "c": "#",
"t": "text.html.markdown markup.heading.markdown heading.1.markdown punctuation.definition.heading.markdown",
"r": {
"dark_plus": "markup.heading: #569CD6",
@@ -77,7 +88,18 @@
}
},
{
- "c": " ##",
+ "c": " ",
+ "t": "text.html.markdown markup.heading.markdown heading.2.markdown",
+ "r": {
+ "dark_plus": "markup.heading: #569CD6",
+ "light_plus": "markup.heading: #800000",
+ "dark_vs": "markup.heading: #569CD6",
+ "light_vs": "markup.heading: #800000",
+ "hc_black": "markup.heading: #6796E6"
+ }
+ },
+ {
+ "c": "##",
"t": "text.html.markdown markup.heading.markdown heading.2.markdown punctuation.definition.heading.markdown",
"r": {
"dark_plus": "markup.heading: #569CD6",
@@ -2189,7 +2211,18 @@
}
},
{
- "c": " ##",
+ "c": " ",
+ "t": "text.html.markdown markup.heading.markdown heading.2.markdown",
+ "r": {
+ "dark_plus": "markup.heading: #569CD6",
+ "light_plus": "markup.heading: #800000",
+ "dark_vs": "markup.heading: #569CD6",
+ "light_vs": "markup.heading: #800000",
+ "hc_black": "markup.heading: #6796E6"
+ }
+ },
+ {
+ "c": "##",
"t": "text.html.markdown markup.heading.markdown heading.2.markdown punctuation.definition.heading.markdown",
"r": {
"dark_plus": "markup.heading: #569CD6",
@@ -2343,7 +2376,18 @@
}
},
{
- "c": " ##",
+ "c": " ",
+ "t": "text.html.markdown markup.heading.markdown heading.2.markdown",
+ "r": {
+ "dark_plus": "markup.heading: #569CD6",
+ "light_plus": "markup.heading: #800000",
+ "dark_vs": "markup.heading: #569CD6",
+ "light_vs": "markup.heading: #800000",
+ "hc_black": "markup.heading: #6796E6"
+ }
+ },
+ {
+ "c": "##",
"t": "text.html.markdown markup.heading.markdown heading.2.markdown punctuation.definition.heading.markdown",
"r": {
"dark_plus": "markup.heading: #569CD6",
diff --git a/test_static/syntax-fixtures/colon_fence.md b/test_static/syntax-fixtures/colon_fence.md
new file mode 100644
index 0000000..65487ee
--- /dev/null
+++ b/test_static/syntax-fixtures/colon_fence.md
@@ -0,0 +1,416 @@
+src line: 1638
+
+.
+:::
+<
+ >
+:::
+.
+<
+ >
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1665
+
+.
+::
+foo
+::
+.
+::
+foo
+::
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1676
+
+.
+:::
+aaa
+~~~
+:::
+.
+aaa
+~~~
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1688
+
+.
+:::
+aaa
+```
+:::
+.
+aaa
+```
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1702
+
+.
+::::
+aaa
+:::
+::::::
+.
+aaa
+:::
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1729
+
+.
+:::
+.
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1736
+
+.
+:::::
+
+:::
+aaa
+.
+
+:::
+aaa
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1749
+
+.
+> :::
+> aaa
+
+bbb
+.
+
+aaa
+
+
+bbb
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1765
+
+.
+:::
+
+
+:::
+.
+
+
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1779
+
+.
+:::
+:::
+.
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1791
+
+.
+ :::
+ aaa
+aaa
+:::
+.
+aaa
+aaa
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1803
+
+.
+ :::
+aaa
+ aaa
+aaa
+ :::
+.
+aaa
+aaa
+aaa
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1817
+
+.
+ :::
+ aaa
+ aaa
+ aaa
+ :::
+.
+aaa
+ aaa
+aaa
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1833
+
+.
+ :::
+ aaa
+ :::
+.
+:::
+aaa
+:::
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1848
+
+.
+:::
+aaa
+ :::
+.
+aaa
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1858
+
+.
+ :::
+aaa
+ :::
+.
+aaa
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1870
+
+.
+:::
+aaa
+ :::
+.
+aaa
+ :::
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1884
+
+.
+::: :::
+aaa
+.
+aaa
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1907
+
+.
+foo
+:::
+bar
+:::
+baz
+.
+foo
+bar
+
+baz
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1946
+
+.
+:::ruby
+def foo(x)
+ return 3
+end
+:::
+.
+def foo(x)
+ return 3
+end
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1974
+
+.
+::::;
+::::
+.
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 1984
+
+.
+::: aa :::
+foo
+.
+foo
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 2007
+
+.
+:::
+::: aaa
+:::
+.
+::: aaa
+
+.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src line: 2007
+
+.
+:::
+::: aaa
+:::
+.
+::: aaa
+
+.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Ending marker could be longer
+.
+::::: name :::::
+ hello world
+::::::::::::::::
+.
+ hello world
+
+.
+
+Nested blocks
+.
+::::: name
+:::: name
+xxx
+::::
+:::::
+.
+:::: name
+xxx
+::::
+
+.
+
+Name could be adjacent to marker
+.
+:::name
+xxx
+:::
+.
+xxx
+
+.
+
+They should terminate paragraphs
+.
+blah blah
+::: name
+content
+:::
+.
+blah blah
+content
+
+.
+
+They could be nested in lists
+.
+ - ::: name
+ - xxx
+ :::
+.
+
+.
+
+Or in blockquotes
+.
+> ::: name
+> xxx
+>> yyy
+> zzz
+> :::
+.
+
+xxx
+> yyy
+zzz
+
+
+.
+
+List indentation quirks
+.
+ - ::: name
+ xxx
+ yyy
+ :::
+
+ - ::: name
+ xxx
+ yyy
+ :::
+.
+
+
+- ::: name
+ xxx
+yyy
+
+.
diff --git a/test_static/syntax-fixtures/myst_block.md b/test_static/syntax-fixtures/myst_block.md
new file mode 100644
index 0000000..2e5d7f0
--- /dev/null
+++ b/test_static/syntax-fixtures/myst_block.md
@@ -0,0 +1,123 @@
+
+Block Break:
+.
++++
+.
+
+.
+
+Block Break Split Markers:
+.
+ + + + + xfsdfsdf
+.
+
+.
+
+Block Break Too Few Markers:
+.
+++
+.
+++
+.
+
+Block Break terminates other blocks:
+.
+a
++++
+- b
++++
+> c
++++
+.
+a
+
+
+
+
+c
+
+
+.
+
+
+Target:
+.
+(a)=
+.
+
+.
+
+
+Target terminates other blocks:
+.
+a
+(a)=
+- b
+(a)=
+> c
+(a)=
+.
+a
+
+
+c
+
+
+.
+
+Comment:
+.
+% abc
+.
+
+.
+
+Comment terminates other blocks:
+.
+a
+% abc
+- b
+% abc
+> c
+% abc
+.
+a
+
+
+c
+
+
+.
+
+Multiline comment:
+.
+a
+% abc
+% def
+- b
+% abc
+%def
+> c
+%abc
+%
+%def
+.
+a
+
+
+c
+
+
+.
diff --git a/tsconfig.json b/tsconfig.json
index 985d98a..2754fbc 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -4,10 +4,13 @@
"target": "es6",
"outDir": "out",
"lib": [
- "es6"
+ "es6",
+ "es2018.regexp", // for group match in target syntax
+ "dom"
],
"sourceMap": true,
"rootDir": "src",
+ "esModuleInterop": true,
/* Strict Type-Checking Option */
"strict": true, /* enable all strict type-checking options */
/* Additional Checks */
@@ -15,7 +18,11 @@
// "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
// "noUnusedParameters": true, /* Report errors on unused parameters. */
- "resolveJsonModule": true
+ "resolveJsonModule": true,
+ "typeRoots": [
+ "./node_modules/@types",
+ "./types"
+ ]
},
"exclude": [
"node_modules",
diff --git a/types/index.d.ts b/types/index.d.ts
new file mode 100644
index 0000000..dbe83c2
--- /dev/null
+++ b/types/index.d.ts
@@ -0,0 +1,3 @@
+declare module 'markdown-it-deflist';
+declare module 'markdown-it-footnote';
+declare module 'markdown-it-task-lists';