Files
atom/src/extensions/command-interpreter.coffee
2012-04-23 10:54:56 -06:00

17 lines
434 B
CoffeeScript

fs = require 'fs'
PEG = require 'pegjs'
module.exports =
class CommandInterpreter
constructor: ->
@parser = PEG.buildParser(fs.read(require.resolve 'command-interpreter/commands.pegjs'))
eval: (editor, string) ->
command = @parser.parse(string)
@lastRelativeAddress = command if command.isRelativeAddress()
command.execute(editor)
repeatRelativeAddress: (editor) ->
@lastRelativeAddress?.execute(editor)