From daad014a6f7e67ab3280a3e863de29fe77d3b0c8 Mon Sep 17 00:00:00 2001 From: Martin Aeschlimann Date: Wed, 14 Sep 2016 09:49:40 +0200 Subject: [PATCH] [html] add handlebars --- extensions/handlebars/OSSREADME.json | 7 + .../handlebars/language-configuration.json | 23 + extensions/handlebars/package.json | 24 + .../handlebars/syntaxes/Handlebars.json | 854 ++++++++ .../test/colorize-fixtures/test.hbs | 24 + .../test/colorize-results/test_hbs.json | 1861 +++++++++++++++++ extensions/html/client/src/htmlMain.ts | 2 +- extensions/html/package.json | 3 +- .../colorize-results/test_handlebars.json | 855 ++++---- 9 files changed, 3196 insertions(+), 457 deletions(-) create mode 100644 extensions/handlebars/OSSREADME.json create mode 100644 extensions/handlebars/language-configuration.json create mode 100644 extensions/handlebars/package.json create mode 100644 extensions/handlebars/syntaxes/Handlebars.json create mode 100644 extensions/handlebars/test/colorize-fixtures/test.hbs create mode 100644 extensions/handlebars/test/colorize-results/test_hbs.json diff --git a/extensions/handlebars/OSSREADME.json b/extensions/handlebars/OSSREADME.json new file mode 100644 index 00000000000..4cd9f77af8b --- /dev/null +++ b/extensions/handlebars/OSSREADME.json @@ -0,0 +1,7 @@ +// ATTENTION - THIS DIRECTORY CONTAINS THIRD PARTY OPEN SOURCE MATERIALS: +[{ + "name": "daaain/Handlebars", + "version": "0.0.0", + "license": "MIT", + "repositoryURL": "https://github.com/daaain/Handlebars" +}] diff --git a/extensions/handlebars/language-configuration.json b/extensions/handlebars/language-configuration.json new file mode 100644 index 00000000000..0aa8cec1ade --- /dev/null +++ b/extensions/handlebars/language-configuration.json @@ -0,0 +1,23 @@ +{ + "comments": { + "blockComment": [ "" ] + }, + "brackets": [ + [""], + ["<", ">"], + ["{{", "}}"] + ], + "autoClosingPairs": [ + { "open": "{", "close": "}"}, + { "open": "[", "close": "]"}, + { "open": "(", "close": ")" }, + { "open": "'", "close": "'" }, + { "open": "\"", "close": "\"" }, + { "open": "<", "close": ">" } + ], + "surroundingPairs": [ + { "open": "'", "close": "'" }, + { "open": "\"", "close": "\"" }, + { "open": "<", "close": ">" } + ] +} \ No newline at end of file diff --git a/extensions/handlebars/package.json b/extensions/handlebars/package.json new file mode 100644 index 00000000000..09fbef8bf67 --- /dev/null +++ b/extensions/handlebars/package.json @@ -0,0 +1,24 @@ +{ + "name": "handlebars", + "version": "0.1.0", + "publisher": "vscode", + "engines": { + "vscode": "0.10.x" + }, + "scripts": { + "update-grammar": "node ../../build/npm/update-grammar.js daaain/Handlebars grammars/Handlebars.json ./syntaxes/Handlebars.json" + }, + "contributes": { + "languages": [{ + "id": "handlebars", + "extensions": [ ".handlebars", ".hbs"], + "aliases": [ "Handlebars", "handlebars" ], + "mimetypes": ["text/x-handlebars-template"] + }], + "grammars": [{ + "language": "handlebars", + "scopeName": "text.html.handlebars", + "path": "./syntaxes/Handlebars.json" + }] + } +} diff --git a/extensions/handlebars/syntaxes/Handlebars.json b/extensions/handlebars/syntaxes/Handlebars.json new file mode 100644 index 00000000000..b354cb6f2f9 --- /dev/null +++ b/extensions/handlebars/syntaxes/Handlebars.json @@ -0,0 +1,854 @@ +{ + "name": "Handlebars", + "repository": { + "html_tags": { + "patterns": [ + { + "begin": "(<)([a-zA-Z0-9:-]+)(?=[^>]*>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.html" + }, + "2": { + "name": "entity.name.tag.html" + } + }, + "end": "(>(<)/)(\\2)(>)", + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.html" + }, + "2": { + "name": "meta.scope.between-tag-pair.html" + }, + "3": { + "name": "entity.name.tag.html" + }, + "4": { + "name": "punctuation.definition.tag.html" + } + }, + "name": "meta.tag.any.html", + "patterns": [ + { + "include": "#tag-stuff" + } + ] + }, + { + "begin": "(<\\?)(xml)", + "captures": { + "1": { + "name": "punctuation.definition.tag.html" + }, + "2": { + "name": "entity.name.tag.xml.html" + } + }, + "end": "(\\?>)", + "name": "meta.tag.preprocessor.xml.html", + "patterns": [ + { + "include": "#tag_generic_attribute" + }, + { + "include": "#string" + } + ] + }, + { + "begin": "