From 70e83b27444da31d6367a0aa447a216836eafc05 Mon Sep 17 00:00:00 2001 From: Wliu <50Wliu@users.noreply.github.com> Date: Wed, 24 May 2017 23:06:35 -0400 Subject: [PATCH] Do not tokenize escaped semicolons as comments Fixes #45 --- grammars/clojure.cson | 2 +- spec/clojure-spec.coffee | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/grammars/clojure.cson b/grammars/clojure.cson index 05d238c..f50609c 100644 --- a/grammars/clojure.cson +++ b/grammars/clojure.cson @@ -86,7 +86,7 @@ 'repository': 'comment': # NOTE: This must be kept as a begin/end match for language-todo to work - 'begin': ';' + 'begin': '(? expect(grammar).toBeDefined() expect(grammar.scopeName).toBe "source.clojure" - it "tokenizes semi-colon comments", -> + it "tokenizes semicolon comments", -> {tokens} = grammar.tokenizeLine "; clojure" expect(tokens[0]).toEqual value: ";", scopes: ["source.clojure", "comment.line.semicolon.clojure", "punctuation.definition.comment.clojure"] expect(tokens[1]).toEqual value: " clojure", scopes: ["source.clojure", "comment.line.semicolon.clojure"] + it "does not tokenize escaped semicolons as comments", -> + {tokens} = grammar.tokenizeLine "\\; clojure" + expect(tokens[0]).toEqual value: "\\; ", scopes: ["source.clojure"] + expect(tokens[1]).toEqual value: "clojure", scopes: ["source.clojure", "meta.symbol.clojure"] + it "tokenizes shebang comments", -> {tokens} = grammar.tokenizeLine "#!/usr/bin/env clojure" expect(tokens[0]).toEqual value: "#!", scopes: ["source.clojure", "comment.line.shebang.clojure", "punctuation.definition.comment.shebang.clojure"]