Parse emoji start, word, and end into different scopes

This commit is contained in:
Kevin Sawicki
2013-04-07 15:07:57 -07:00
parent 4636e9ca40
commit dc94855e1a
2 changed files with 8 additions and 2 deletions

View File

@@ -34,8 +34,12 @@
'name': 'markup.heading.gfm'
}
{
'match': '\\:[^\\:\\s]+\\:'
'match': '(\\:)([^\\:\\s]+)(\\:)'
'name': 'string.emoji.gfm'
'captures':
'1': 'name': 'string.emoji.start.gfm'
'2': 'name': 'string.emoji.word.gfm'
'3': 'name': 'string.emoji.end.gfm'
}
{
'match': '^\\s*[\\*]{3,}\\s*$'

View File

@@ -78,7 +78,9 @@ describe "GitHub Flavored Markdown grammar", ->
it "tokenizies an :emoji:", ->
{tokens} = grammar.tokenizeLine("this is :no_good:")
expect(tokens[0]).toEqual value: "this is ", scopes: ["source.gfm"]
expect(tokens[1]).toEqual value: ":no_good:", scopes: ["source.gfm", "string.emoji.gfm"]
expect(tokens[1]).toEqual value: ":", scopes: ["source.gfm", "string.emoji.gfm", "string.emoji.start.gfm"]
expect(tokens[2]).toEqual value: "no_good", scopes: ["source.gfm", "string.emoji.gfm", "string.emoji.word.gfm"]
expect(tokens[3]).toEqual value: ":", scopes: ["source.gfm", "string.emoji.gfm", "string.emoji.end.gfm"]
{tokens} = grammar.tokenizeLine("this is :no good:")
expect(tokens[0]).toEqual value: "this is :no good:", scopes: ["source.gfm"]