diff --git a/mlir/utils/vscode/markdown-grammar.json b/mlir/utils/vscode/markdown-grammar.json --- a/mlir/utils/vscode/markdown-grammar.json +++ b/mlir/utils/vscode/markdown-grammar.json @@ -4,6 +4,12 @@ "patterns": [ { "include": "#mlir-code-block" + }, + { + "include": "#pdll-code-block" + }, + { + "include": "#tablegen-code-block" } ], "repository": { @@ -39,7 +45,73 @@ ] } ] + }, + "pdll-code-block": { + "begin": "(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(pdll)(\\s+[^`~]*)?$)", + "name": "markup.fenced_code.block.markdown", + "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$", + "beginCaptures": { + "3": { + "name": "punctuation.definition.markdown" + }, + "4": { + "name": "fenced_code.block.language.markdown" + }, + "5": { + "name": "fenced_code.block.language.attributes.markdown" + } + }, + "endCaptures": { + "3": { + "name": "punctuation.definition.markdown" + } + }, + "patterns": [ + { + "begin": "(^|\\G)(\\s*)(.*)", + "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)", + "contentName": "meta.embedded.block.pdll", + "patterns": [ + { + "include": "source.pdll" + } + ] + } + ] + }, + "tablegen-code-block": { + "begin": "(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(tablegen)(\\s+[^`~]*)?$)", + "name": "markup.fenced_code.block.markdown", + "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$", + "beginCaptures": { + "3": { + "name": "punctuation.definition.markdown" + }, + "4": { + "name": "fenced_code.block.language.markdown" + }, + "5": { + "name": "fenced_code.block.language.attributes.markdown" + } + }, + "endCaptures": { + "3": { + "name": "punctuation.definition.markdown" + } + }, + "patterns": [ + { + "begin": "(^|\\G)(\\s*)(.*)", + "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)", + "contentName": "meta.embedded.block.tablegen", + "patterns": [ + { + "include": "source.tablegen" + } + ] + } + ] } }, "scopeName": "markdown.mlir.codeblock" } \ No newline at end of file diff --git a/mlir/utils/vscode/package.json b/mlir/utils/vscode/package.json --- a/mlir/utils/vscode/package.json +++ b/mlir/utils/vscode/package.json @@ -106,7 +106,9 @@ "text.html.markdown" ], "embeddedLanguages": { - "meta.embedded.block.mlir": "mlir" + "meta.embedded.block.mlir": "mlir", + "meta.embedded.block.pdll": "pdll", + "meta.embedded.block.tablegen": "tablegen" } }, {