From 855a10117247e2ad7b72b757d653046bc4a27a68 Mon Sep 17 00:00:00 2001 From: davidepastore Date: Fri, 25 Dec 2015 16:54:18 +0100 Subject: [PATCH 1/2] Improve entity scopes and related spec --- grammars/html.cson | 14 +++++++++----- spec/html-spec.coffee | 9 +++++++++ 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/grammars/html.cson b/grammars/html.cson index 62c9612..3269c60 100644 --- a/grammars/html.cson +++ b/grammars/html.cson @@ -350,12 +350,16 @@ 'entities': 'patterns': [ { - 'captures': + 'begin': '(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)' + 'beginCaptures': + '1': + 'name': 'punctuation.definition.entity.begin.html' + '2': + 'name': 'entity.name.entity.other.html' + 'end': '(;)' + 'endCaptures': '1': - 'name': 'punctuation.definition.entity.html' - '3': - 'name': 'punctuation.definition.entity.html' - 'match': '(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)' + 'name': 'punctuation.definition.entity.end.html' 'name': 'constant.character.entity.html' } { diff --git a/spec/html-spec.coffee b/spec/html-spec.coffee index 1d0f757..f209933 100644 --- a/spec/html-spec.coffee +++ b/spec/html-spec.coffee @@ -100,3 +100,12 @@ describe 'HTML grammar', -> grammarTest path.join(__dirname, 'fixtures/syntax_test_html.html') grammarTest path.join(__dirname, 'fixtures/syntax_test_html_template_fragments.html') + + describe "entities", -> + it "tokenizes & and characters after it", -> + {tokens} = grammar.tokenizeLine '& & &a' + + expect(tokens[0]).toEqual value: '&', scopes: ['text.html.basic', 'invalid.illegal.bad-ampersand.html'] + expect(tokens[3]).toEqual value: 'amp', scopes: ['text.html.basic', 'constant.character.entity.html', 'entity.name.entity.other.html'] + expect(tokens[4]).toEqual value: ';', scopes: ['text.html.basic', 'constant.character.entity.html', 'punctuation.definition.entity.end.html'] + expect(tokens[7]).toEqual value: 'a', scopes: ['text.html.basic', 'constant.character.entity.html', 'entity.name.entity.other.html'] From 2868437114869fd8e0036ad242fe815ab7bed36d Mon Sep 17 00:00:00 2001 From: davidepastore Date: Sun, 24 Jan 2016 19:00:26 +0100 Subject: [PATCH 2/2] entity: remove useless parenthesis for end --- grammars/html.cson | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/grammars/html.cson b/grammars/html.cson index 3269c60..6ccba13 100644 --- a/grammars/html.cson +++ b/grammars/html.cson @@ -356,9 +356,9 @@ 'name': 'punctuation.definition.entity.begin.html' '2': 'name': 'entity.name.entity.other.html' - 'end': '(;)' + 'end': ';' 'endCaptures': - '1': + '0': 'name': 'punctuation.definition.entity.end.html' 'name': 'constant.character.entity.html' }