diff options
author | Robin Jarry <robin@jarry.cc> | 2023-09-19 22:51:49 +0200 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2023-10-28 19:24:40 +0200 |
commit | b336a5c9e19adba31bec1da51e093a11e09a8ead (patch) | |
tree | 4ab356b699472e7fa9e1f2445b499f6b1d0ec039 /app/app.go | |
parent | a2a692e7736ef82627eae885d17024d92e33cb4a (diff) | |
download | aerc-b336a5c9e19adba31bec1da51e093a11e09a8ead.tar.gz |
commands: pass raw command line down to template evaluation
Some commands need to invoke others and/or run shell commands. For this,
we need the raw command line as entered by the user. Pass it down the
call chain just before it is split to invoke the command Execute method.
Remove unit tests for the template expand() test which does have any
added value now that it is performed on a single string without any
quote juggling.
Update all code to handle a single string instead of a list of
arguments.
Introduce a new dependency on git.sr.ht/~rjarry/go-opt to deal with
shell splitting. This is in preparation for using opt.ArgsToStruct to
parse arguments for all aerc commands.
There should be no functional change after this patch.
Signed-off-by: Robin Jarry <robin@jarry.cc>
Reviewed-by: Koni Marti <koni.marti@gmail.com>
Tested-by: Moritz Poldrack <moritz@poldrack.dev>
Tested-by: Inwit <inwit@sindominio.net>
Diffstat (limited to 'app/app.go')
-rw-r--r-- | app/app.go | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -17,7 +17,7 @@ var aerc Aerc func Init( crypto crypto.Provider, - cmd func([]string, *config.AccountConfig, *models.MessageInfo) error, + cmd func(string, *config.AccountConfig, *models.MessageInfo) error, complete func(cmd string) ([]string, string), history lib.History, deferLoop chan struct{}, ) { @@ -71,8 +71,8 @@ func PushStatus(text string, expiry time.Duration) *StatusMessage { return aerc.PushStatus(text, expiry) } -func RegisterChoices(choices []Choice) { aerc.RegisterChoices(choices) } -func RegisterPrompt(prompt string, cmd []string) { aerc.RegisterPrompt(prompt, cmd) } +func RegisterChoices(choices []Choice) { aerc.RegisterChoices(choices) } +func RegisterPrompt(prompt string, cmd string) { aerc.RegisterPrompt(prompt, cmd) } func CryptoProvider() crypto.Provider { return aerc.Crypto } func DecryptKeys(keys []openpgp.Key, symmetric bool) (b []byte, err error) { |