<- Back to shtanton's homepage
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/command.go10
-rw-r--r--main/parse.go4
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':