Add specs; minor changes to some commands

`:tabedit` now works as an alias to `:edit` with a path and
  as an alias to `:tabnew` without.
`:tabnew` is a new command that opens a new tab with a new file if used
 without a path and works as an alias to `:tabedit` with one.
`:tabclose` now works as a proper alias to `:quit` (i.e. passes the arguments)
`:edit` now works more like before - it opens a given path in a new tab.
 It also doesn't do anything if the file was modified since the last commit,
 unless forced by using `:edit!`
`:write` works properly again and doesn't overwrite files, unless forced by
 using `:write!`
`:xit` is now called `:xit` and not just `:x`
`:substitute` now properly replaces multiple groups (`:s/(a)b(c)/X\1\2X\0`)
This commit is contained in:
jazzpi 2015-07-29 19:13:13 +02:00
parent b5e9df10b4
commit 42a44ee9e1
9 changed files with 670 additions and 132 deletions

View file

@ -34,6 +34,9 @@ class ExState
onDidFailToExecute: (fn) ->
@emitter.on('failed-to-execute', fn)
onDidProcessOpStack: (fn) ->
@emitter.on('processed-op-stack', fn)
pushOperations: (operations) ->
@opStack.push operations
@ -55,5 +58,6 @@ class ExState
else
throw e
@clearOpStack()
@emitter.emit('processed-op-stack')
module.exports = ExState