From f1aad4c02f334f7444195e0afcdbae3ca2dc985e Mon Sep 17 00:00:00 2001 From: Malte Bauch <malte.bauch@extern.h-da.de> Date: Tue, 19 Apr 2022 14:31:09 +0200 Subject: [PATCH] WIP --- cli/cmd/prompt.go | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/cli/cmd/prompt.go b/cli/cmd/prompt.go index 52e0c8b5e..168f8e428 100644 --- a/cli/cmd/prompt.go +++ b/cli/cmd/prompt.go @@ -198,15 +198,36 @@ func cobraCommandCompletion(currCmd *cobra.Command, d prompt.Document, inputFlag func completionBasedOnCmd(c *PromptCompleter, cmd *cobra.Command, inputSplit []string, inputFlags []string, d prompt.Document) []prompt.Suggest { switch cmd { case pndUseCmd, pndGetCmd: - return cobraCommandCompletion(cmd, d, inputFlags, getPnds()) + if len(inputSplit) < 3 || (len(inputSplit) == 3 && d.GetWordBeforeCursor() != "") { + pnds, err := getPnds() + if err != nil { + return []prompt.Suggest{} + } + return cobraCommandCompletion(cmd, d, inputFlags, pnds) + } case commitCmd: - return getChangesByType(pnd.ChangeState_CHANGE_STATE_PENDING) + if len(inputSplit) < 3 || (len(inputSplit) == 3 && d.GetWordBeforeCursor() != "") { + ch, err := getChangesByType(pnd.ChangeState_CHANGE_STATE_PENDING) + if err != nil { + return []prompt.Suggest{} + } + return ch + } case confirmCmd: - return getChangesByType(pnd.ChangeState_CHANGE_STATE_COMMITTED) + if len(inputSplit) < 3 || (len(inputSplit) == 3 && d.GetWordBeforeCursor() != "") { + ch, err := getChangesByType(pnd.ChangeState_CHANGE_STATE_COMMITTED) + if err != nil { + return []prompt.Suggest{} + } + return ch + } case deviceGetCmd, deviceSetCmd: return deviceGetCompletion(c, d, inputSplit) case deviceShowCmd: - devices, _ := getDevices() + devices, err := getDevices() + if err != nil { + return []prompt.Suggest{} + } return devices case deviceCmd: c.currentDeviceSuggestions = nil @@ -214,6 +235,8 @@ func completionBasedOnCmd(c *PromptCompleter, cmd *cobra.Command, inputSplit []s default: return cobraCommandCompletion(cmd, d, inputFlags, []prompt.Suggest{}) } + + return []prompt.Suggest{} } var exitCmd = &cobra.Command{ -- GitLab