diff options
-rw-r--r-- | main/command.go | 10 | ||||
-rw-r--r-- | main/parse.go | 4 |
2 files changed, 10 insertions, 4 deletions
diff --git a/main/command.go b/main/command.go index 5e77dd0..9554f9d 100644 --- a/main/command.go +++ b/main/command.go @@ -43,12 +43,16 @@ func (cmd AppendNextCommand) exec(state *ProgramState) { state.path = nextItem.Path.ToWalkValues() } -type DeleteAllCommand struct {} -func (cmd DeleteAllCommand) exec(state *ProgramState) { - state.path = nil +type DeleteValueCommand struct {} +func (cmd DeleteValueCommand) exec(state *ProgramState) { state.value = nil } +type DeletePathCommand struct {} +func (cmd DeletePathCommand) exec(state *ProgramState) { + state.path = nil +} + func runSubex(state subex.SubexState, in []walk.WalkValue) (out []walk.WalkValue, error bool) { valueStream := make(chan walk.WalkValue) go func(in []walk.WalkValue, out chan<- walk.WalkValue) { diff --git a/main/parse.go b/main/parse.go index ab22d93..198b746 100644 --- a/main/parse.go +++ b/main/parse.go @@ -63,7 +63,9 @@ func (p *parser) parseBasicCommand(commandChar rune) Command { case 'p': return PrintValueCommand{} case 'd': - return DeleteAllCommand{} + return DeleteValueCommand{} + case 'D': + return DeletePathCommand{} case 'n': return NextCommand{} case 'N': |