From baed378b3332364ffa8505be46c76f1ffe236291 Mon Sep 17 00:00:00 2001 From: Jakob Erzar Date: Fri, 27 Apr 2018 17:50:55 +0200 Subject: [PATCH] Added syntax highlighting. --- .gitignore | 2 + .vscode/launch.json | 18 +++++ .vscodeignore | 4 ++ CHANGELOG.md | 4 ++ README.md | 16 +++++ images/syntax.png | Bin 0 -> 90177 bytes language-configuration.json | 30 ++++++++ package.json | 43 ++++++++++++ syntaxes/tablegen.tmLanguage | 132 +++++++++++++++++++++++++++++++++++ 9 files changed, 249 insertions(+) create mode 100644 .gitignore create mode 100644 .vscode/launch.json create mode 100644 .vscodeignore create mode 100644 CHANGELOG.md create mode 100644 README.md create mode 100644 images/syntax.png create mode 100644 language-configuration.json create mode 100644 package.json create mode 100644 syntaxes/tablegen.tmLanguage diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..67dfeb3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +node_modules +*.vsix \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..7bc18a4 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,18 @@ +// A launch configuration that launches the extension inside a new window +// Use IntelliSense to learn about possible attributes. +// Hover to view descriptions of existing attributes. +// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Extension", + "type": "extensionHost", + "request": "launch", + "runtimeExecutable": "${execPath}", + "args": [ + "--extensionDevelopmentPath=${workspaceFolder}" + ] + } + ] +} \ No newline at end of file diff --git a/.vscodeignore b/.vscodeignore new file mode 100644 index 0000000..f369b5e --- /dev/null +++ b/.vscodeignore @@ -0,0 +1,4 @@ +.vscode/** +.vscode-test/** +.gitignore +vsc-extension-quickstart.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..5999cc2 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,4 @@ +# Change Log + +## [0.0.1] - 2018-04-27 +- Initial release, featuring ismple syntax highlighting. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..6e62bbc --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# LLVM TableGen + +Simple syntax highlighting support for the LLVM TableGen language. + +TextMate grammar used was taken from the official [LLVM repository](https://github.com/llvm-mirror/llvm/blob/master/utils/textmate/TableGen.tmbundle/Syntaxes/TableGen.tmLanguage). + +## Features + +- Syntax highlighting + +![Syntax highlighting](images/syntax.png) + + +## Known Issues + +- Please report any issues or suggestions you find on [GitHub](https://github.com/jakoberzar/vscode-llvm-tablegen/issues). \ No newline at end of file diff --git a/images/syntax.png b/images/syntax.png new file mode 100644 index 0000000000000000000000000000000000000000..35f9d2aceadf699fbf7c929956bb16ed0af1052b GIT binary patch literal 90177 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

93FjSU6; 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 literal 0 HcmV?d00001 diff --git a/language-configuration.json b/language-configuration.json new file mode 100644 index 0000000..aa25710 --- /dev/null +++ b/language-configuration.json @@ -0,0 +1,30 @@ +{ + "comments": { + // symbol used for single line comment. Remove this entry if your language does not support line comments + "lineComment": "//", + // symbols used for start and end a block comment. Remove this entry if your language does not support block comments + "blockComment": [ "/*", "*/" ] + }, + // symbols used as brackets + "brackets": [ + ["{", "}"], + ["[", "]"], + ["(", ")"] + ], + // symbols that are auto closed when typing + "autoClosingPairs": [ + ["{", "}"], + ["[", "]"], + ["(", ")"], + ["\"", "\""], + ["'", "'"] + ], + // symbols that that can be used to surround a selection + "surroundingPairs": [ + ["{", "}"], + ["[", "]"], + ["(", ")"], + ["\"", "\""], + ["'", "'"] + ] +} \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..deb0617 --- /dev/null +++ b/package.json @@ -0,0 +1,43 @@ +{ + "name": "llvm-tablegen", + "displayName": "LLVM TableGen", + "description": "Syntax highlighting for TableGen.", + "version": "0.0.1", + "publisher": "jakob-erzar", + "engines": { + "vscode": "^1.22.0" + }, + "categories": [ + "Languages" + ], + "keywords": [ + "llvm-tablegen", + "llvm-tblgen", + "tblgen", + "llvm", + "tablegen", + "table gen", + "syntax" + ], + "contributes": { + "languages": [{ + "id": "tablegen", + "aliases": ["TableGen", "tblgen", "tablegen"], + "extensions": [".td"], + "configuration": "./language-configuration.json" + }], + "grammars": [{ + "language": "tablegen", + "scopeName": "source.tablegen", + "path": "./syntaxes/tablegen.tmLanguage" + }] + }, + "bugs": { + "url": "https://github.com/jakoberzar/vscode-llvm-tablegen/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/jakoberzar/vscode-llvm-tablegen.git" + }, + "homepage": "https://github.com/jakoberzar/vscode-llvm-tablegen/blob/master/README.md" +} \ No newline at end of file diff --git a/syntaxes/tablegen.tmLanguage b/syntaxes/tablegen.tmLanguage new file mode 100644 index 0000000..f3cf2d6 --- /dev/null +++ b/syntaxes/tablegen.tmLanguage @@ -0,0 +1,132 @@ + + + + + fileTypes + td + foldingStartMarker + /\*\*|\{\s*$ + foldingStopMarker + \*\*/|^\s*\} + name + TableGen + patterns + + + include + #comments + + + match + \b(def|let|in|code|dag|string|list|bits|bit|field|include|defm|foreach|class|multiclass|int)\b + name + keyword.control.tablegen + + + begin + " + end + " + name + string.quoted.double.untitled + patterns + + + match + \\. + name + constant.character.escape.tablegen + + + + + repository + + comments + + patterns + + + captures + + 1 + + name + meta.toc-list.banner.block.tablegen + + + match + ^/\* =(\s*.*?)\s*= \*/$\n? + name + comment.block.tablegen + + + begin + /\* + captures + + 0 + + name + punctuation.definition.comment.tablegen + + + end + \*/ + name + comment.block.tablegen + + + match + \*/.*\n + name + invalid.illegal.stray-comment-end.tablegen + + + captures + + 1 + + name + meta.toc-list.banner.line.tablegen + + + match + ^// =(\s*.*?)\s*=\s*$\n? + name + comment.line.banner.tablegen + + + begin + // + beginCaptures + + 0 + + name + punctuation.definition.comment.tablegen + + + end + $\n? + name + comment.line.double-slash.tablegen + patterns + + + match + (?>\\\s*\n) + name + punctuation.separator.continuation.tablegen + + + + + + + scopeName + source.tablegen + uuid + 3A090BFC-E74B-4993-8DAE-7CCF6D238A32 + +