Implement createToken in Syntax

This commit is contained in:
Kevin Sawicki 2013-12-31 13:42:35 -08:00
parent 882d766689
commit 9962ce9859
3 changed files with 4 additions and 2 deletions

View File

@ -25,7 +25,7 @@
"coffeestack": "0.6.0", "coffeestack": "0.6.0",
"diff": "git://github.com/benogle/jsdiff.git", "diff": "git://github.com/benogle/jsdiff.git",
"emissary": "0.19.0", "emissary": "0.19.0",
"first-mate": "0.7.0", "first-mate": "0.9.0",
"fs-plus": "0.13.0", "fs-plus": "0.13.0",
"fuzzaldrin": "0.1.0", "fuzzaldrin": "0.1.0",
"git-utils": "0.29.0", "git-utils": "0.29.0",

View File

@ -4,6 +4,7 @@ _ = require 'underscore-plus'
{GrammarRegistry, ScopeSelector} = require 'first-mate' {GrammarRegistry, ScopeSelector} = require 'first-mate'
{$, $$} = require './space-pen-extensions' {$, $$} = require './space-pen-extensions'
Token = require './token'
### Public ### ### Public ###
module.exports = module.exports =
@ -26,6 +27,8 @@ class Syntax extends GrammarRegistry
serialize: -> serialize: ->
{deserializer: @constructor.name, @grammarOverridesByPath} {deserializer: @constructor.name, @grammarOverridesByPath}
createToken: (value, scopes) -> new Token({value, scopes})
addProperties: (args...) -> addProperties: (args...) ->
name = args.shift() if args.length > 2 name = args.shift() if args.length > 2
[selector, properties] = args [selector, properties] = args

View File

@ -203,7 +203,6 @@ class TokenizedBuffer extends Model
lineEnding = @buffer.lineEndingForRow(row) lineEnding = @buffer.lineEndingForRow(row)
tabLength = @getTabLength() tabLength = @getTabLength()
{ tokens, ruleStack } = @grammar.tokenizeLine(line, ruleStack, row is 0) { tokens, ruleStack } = @grammar.tokenizeLine(line, ruleStack, row is 0)
tokens = (new Token(token) for token in tokens)
new TokenizedLine({tokens, ruleStack, tabLength, lineEnding}) new TokenizedLine({tokens, ruleStack, tabLength, lineEnding})
# FIXME: benogle says: These are actually buffer rows as all buffer rows are # FIXME: benogle says: These are actually buffer rows as all buffer rows are