diff --git a/spec/app/tokenized-buffer-spec.coffee b/spec/app/tokenized-buffer-spec.coffee index 22fcdbd95..800243ce6 100644 --- a/spec/app/tokenized-buffer-spec.coffee +++ b/spec/app/tokenized-buffer-spec.coffee @@ -337,6 +337,14 @@ describe "TokenizedBuffer", -> afterEach -> editSession.destroy() + it "correctly parses a long line", -> + longLine = tokenizedBuffer.lineForScreenRow(0) + expect(longLine.text).toBe "longggggggggggggggggggggggggggggggggggggggggggggggg" + { tokens } = longLine + + expect(tokens[0].value).toBe "longggggggggggggggggggggggggggggggggggggggggggggggg" + expect(tokens[0].scopes).toEqual ["text.git-commit", "meta.scope.message.git-commit", "invalid.deprecated.line-too-long.git-commit"] + it "correctly parses the number sign of the first comment line", -> commentLine = tokenizedBuffer.lineForScreenRow(1) expect(commentLine.text).toBe "# Please enter the commit message for your changes. Lines starting" diff --git a/src/app/text-mate-grammar.coffee b/src/app/text-mate-grammar.coffee index 21ca0db6b..9aa30bee6 100644 --- a/src/app/text-mate-grammar.coffee +++ b/src/app/text-mate-grammar.coffee @@ -176,8 +176,16 @@ class Pattern for character in @regexSource.split('') if escape switch character - when 'A' then escaped.push(placeholder) unless firstLine - when 'G' then escaped.push(placeholder) unless offset is anchor + when 'A' + if firstLine + escaped.push("\\#{character}") + else + escaped.push(placeholder) + when 'G' + if offset is anchor + escaped.push("\\#{character}") + else + escaped.push(placeholder) when 'z' then escaped.push('$(?!\n)(?