Defer building parser until eval'ing

This commit is contained in:
Kevin Sawicki
2013-01-17 14:38:12 -08:00
parent f21e264189
commit 7c9ac5a4ac

View File

@@ -4,9 +4,9 @@ PEG = require 'pegjs'
module.exports =
class CommandInterpreter
constructor: (@project) ->
@parser = PEG.buildParser(fs.read(require.resolve 'command-panel/commands.pegjs'))
eval: (string, activeEditSession) ->
@parser ?= PEG.buildParser(fs.read(require.resolve 'command-panel/commands.pegjs'))
compositeCommand = @parser.parse(string)
@lastRelativeAddress = compositeCommand if compositeCommand.isRelativeAddress()
compositeCommand.execute(@project, activeEditSession)