lockbox

password manager
Log | Files | Refs | README | LICENSE

commit 1a949085c05fd2479cd8b5bf394dcf2115771ae9
parent c2a4d1585962381b38964c933b1c320c3b6d4f0f
Author: Sean Enck <sean@ttypty.com>
Date:   Sun,  6 Oct 2024 19:03:52 -0400

merge functions

Diffstat:
Minternal/app/completions.go | 49++++++++++++++++++-------------------------------
1 file changed, 18 insertions(+), 31 deletions(-)

diff --git a/internal/app/completions.go b/internal/app/completions.go @@ -55,19 +55,15 @@ func genOption(to []CompletionOption, command, left, right string) []CompletionO return append(to, CompletionOption{conditional, command}) } -func newGenOptions(defaults ...string) []CompletionOption { +func newGenOptions(defaults []string, kv map[string]string) []CompletionOption { opt := []CompletionOption{} for _, a := range defaults { opt = genOption(opt, a, "1", "0") } - return opt -} - -func genOptionKeyValues(to []CompletionOption, kv map[string]string) []CompletionOption { for key, env := range kv { - to = genOption(to, key, fmt.Sprintf("$%s", env), config.YesValue) + opt = genOption(opt, key, fmt.Sprintf("$%s", env), config.YesValue) } - return to + return opt } // GenerateCompletions handles creating shell completion outputs @@ -95,30 +91,21 @@ func GenerateCompletions(completionType, exe string) ([]string, error) { c.Conditionals.NoClip = newConditional(config.EnvNoClip.Key(), config.YesValue) c.Conditionals.NoTOTP = newConditional(config.EnvNoTOTP.Key(), config.YesValue) - cmds := newGenOptions( - EnvCommand, - HelpCommand, - ListCommand, - ShowCommand, - VersionCommand, - JSONCommand, - ) - cmds = genOptionKeyValues(cmds, map[string]string{ - ClipCommand: config.EnvNoClip.Key(), - TOTPCommand: config.EnvNoTOTP.Key(), - MoveCommand: config.EnvReadOnly.Key(), - RemoveCommand: config.EnvReadOnly.Key(), - InsertCommand: config.EnvReadOnly.Key(), - MultiLineCommand: config.EnvReadOnly.Key(), - PasswordGenerateCommand: config.EnvNoPasswordGen.Key(), - }) - c.Options = cmds - totp := newGenOptions(TOTPMinimalCommand, TOTPOnceCommand, TOTPShowCommand) - totp = genOptionKeyValues(totp, map[string]string{ - TOTPClipCommand: config.EnvNoClip.Key(), - TOTPInsertCommand: config.EnvReadOnly.Key(), - }) - c.TOTPSubCommands = totp + c.Options = newGenOptions([]string{EnvCommand, HelpCommand, ListCommand, ShowCommand, VersionCommand, JSONCommand}, + map[string]string{ + ClipCommand: config.EnvNoClip.Key(), + TOTPCommand: config.EnvNoTOTP.Key(), + MoveCommand: config.EnvReadOnly.Key(), + RemoveCommand: config.EnvReadOnly.Key(), + InsertCommand: config.EnvReadOnly.Key(), + MultiLineCommand: config.EnvReadOnly.Key(), + PasswordGenerateCommand: config.EnvNoPasswordGen.Key(), + }) + c.TOTPSubCommands = newGenOptions([]string{TOTPMinimalCommand, TOTPOnceCommand, TOTPShowCommand}, + map[string]string{ + TOTPClipCommand: config.EnvNoClip.Key(), + TOTPInsertCommand: config.EnvReadOnly.Key(), + }) using, err := readShell(completionType) if err != nil { return nil, err