22 lines
514 B
CoffeeScript
22 lines
514 B
CoffeeScript
ExViewModel = require './ex-view-model'
|
|
Ex = require './ex'
|
|
|
|
class CommandError
|
|
constructor: (@message) ->
|
|
@name = 'Command Error'
|
|
|
|
class Command
|
|
constructor: (@editor, @exState) ->
|
|
@viewModel = new ExViewModel(@)
|
|
|
|
execute: (input) ->
|
|
return unless input.characters.length > 0
|
|
[command, args...] = input.characters.split(" ")
|
|
|
|
func = (new Ex)[command]
|
|
if func?
|
|
func(args...)
|
|
else
|
|
throw new CommandError("#{input.characters}")
|
|
|
|
module.exports = {Command, CommandError}
|