1 Commits

Author SHA1 Message Date
ec4d86f727 added a couple of shortcuts 2023-12-05 20:01:32 +01:00
4 changed files with 55 additions and 29 deletions

16
calc.go
View File

@@ -121,19 +121,27 @@ func (c *Calc) GetCompleteCustomFuncalls() func(string) []string {
} }
for command := range c.SettingsCommands { for command := range c.SettingsCommands {
completions = append(completions, command) if len(command) > 1 {
completions = append(completions, command)
}
} }
for command := range c.ShowCommands { for command := range c.ShowCommands {
completions = append(completions, command) if len(command) > 1 {
completions = append(completions, command)
}
} }
for command := range c.StackCommands { for command := range c.StackCommands {
completions = append(completions, command) if len(command) > 1 {
completions = append(completions, command)
}
} }
for command := range c.Commands { for command := range c.Commands {
completions = append(completions, command) if len(command) > 1 {
completions = append(completions, command)
}
} }
return completions return completions

View File

@@ -305,6 +305,15 @@ func (c *Calc) SetCommands() {
// aliases // aliases
c.Commands["quit"] = c.Commands["exit"] c.Commands["quit"] = c.Commands["exit"]
c.SettingsCommands["undebug"] = c.SettingsCommands["nodebug"]
c.SettingsCommands["show"] = c.SettingsCommands["showstack"] c.SettingsCommands["d"] = c.SettingsCommands["debug"]
c.SettingsCommands["b"] = c.SettingsCommands["batch"]
c.SettingsCommands["s"] = c.SettingsCommands["showstack"]
c.ShowCommands["h"] = c.ShowCommands["history"]
c.ShowCommands["p"] = c.ShowCommands["dump"]
c.ShowCommands["v"] = c.ShowCommands["vars"]
c.StackCommands["c"] = c.StackCommands["clear"]
c.StackCommands["u"] = c.StackCommands["undo"]
} }

41
rpn.go
View File

@@ -178,28 +178,18 @@ DESCRIPTION
[no]debug toggle debug output (nodebug turns it off) [no]debug toggle debug output (nodebug turns it off)
[no]showstack show the last 5 items of the stack (noshowtack turns it off) [no]showstack show the last 5 items of the stack (noshowtack turns it off)
Show commands: Show commands: dump display the stack contents hex show last stack item
in hex form (converted to int) history display calculation history vars
show list of variables
dump display the stack contents Stack manipulation commands: clear clear the whole stack shift remove
hex show last stack item in hex form (converted to int) the last element of the stack reverse reverse the stack elements swap
history display calculation history exchange the last two stack elements dup duplicate last stack item undo
vars show list of variables undo last operation edit edit the stack interactively using vi or
$EDITOR
Stack manipulation commands: Other commands: help|? show this message manual show manual
quit|exit|c-d|c-c exit program
clear clear the whole stack
shift remove the last element of the stack
reverse reverse the stack elements
swap exchange the last two stack elements
dup duplicate last stack item
undo undo last operation
edit edit the stack interactively using vi or $EDITOR
Other commands:
help|? show this message
manual show manual
quit|exit|c-d|c-c exit program
Register variables: Register variables:
@@ -208,6 +198,17 @@ DESCRIPTION
Refer to https://pkg.go.dev/math for details about those functions. Refer to https://pkg.go.dev/math for details about those functions.
There are also a number of shortcuts for some commands available:
d debug
b batch
s showstack
h history
p dump (aka print)
v vars
c clear
u undo
INTERACTIVE REPL INTERACTIVE REPL
While you can use rpn in the command-line, the best experience you'll While you can use rpn in the command-line, the best experience you'll
have is the interactive repl (read eval print loop). Just execute "rpn" have is the interactive repl (read eval print loop). Just execute "rpn"

14
rpn.pod
View File

@@ -186,14 +186,12 @@ Configuration Commands:
[no]showstack show the last 5 items of the stack (noshowtack turns it off) [no]showstack show the last 5 items of the stack (noshowtack turns it off)
Show commands: Show commands:
dump display the stack contents dump display the stack contents
hex show last stack item in hex form (converted to int) hex show last stack item in hex form (converted to int)
history display calculation history history display calculation history
vars show list of variables vars show list of variables
Stack manipulation commands: Stack manipulation commands:
clear clear the whole stack clear clear the whole stack
shift remove the last element of the stack shift remove the last element of the stack
reverse reverse the stack elements reverse reverse the stack elements
@@ -203,7 +201,6 @@ Stack manipulation commands:
edit edit the stack interactively using vi or $EDITOR edit edit the stack interactively using vi or $EDITOR
Other commands: Other commands:
help|? show this message help|? show this message
manual show manual manual show manual
quit|exit|c-d|c-c exit program quit|exit|c-d|c-c exit program
@@ -216,6 +213,17 @@ Register variables:
Refer to https://pkg.go.dev/math for details about those functions. Refer to https://pkg.go.dev/math for details about those functions.
There are also a number of shortcuts for some commands available:
d debug
b batch
s showstack
h history
p dump (aka print)
v vars
c clear
u undo
=head1 INTERACTIVE REPL =head1 INTERACTIVE REPL
While you can use rpn in the command-line, the best experience you'll While you can use rpn in the command-line, the best experience you'll