Files
atom/src/app/command-interpreter.coffee

17 lines
414 B
CoffeeScript

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