mirror of
https://github.com/atom/atom.git
synced 2026-01-25 06:48:28 -05:00
19 lines
562 B
CoffeeScript
19 lines
562 B
CoffeeScript
fs = require 'fs'
|
|
PEG = require 'pegjs'
|
|
|
|
module.exports =
|
|
class CommandInterpreter
|
|
constructor: ->
|
|
@parser = PEG.buildParser(fs.read(require.resolve 'command-panel/commands.pegjs'))
|
|
|
|
eval: (editor, string) ->
|
|
compositeCommand = @parser.parse(string)
|
|
@lastRelativeAddress = compositeCommand if compositeCommand.isRelativeAddress()
|
|
compositeCommand.execute(editor)
|
|
|
|
repeatRelativeAddress: (editor) ->
|
|
@lastRelativeAddress?.execute(editor)
|
|
|
|
repeatRelativeAddressInReverse: (editor) ->
|
|
@lastRelativeAddress?.reverse().execute(editor)
|