From 0c01922a12c501867cad200bc4b36a25f9a073e0 Mon Sep 17 00:00:00 2001 From: Sascha Grunert Date: Mon, 26 Aug 2019 08:46:55 +0200 Subject: [PATCH] Add type switch Signed-off-by: Sascha Grunert --- fish.go | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/fish.go b/fish.go index 922b924..e6c6d84 100644 --- a/fish.go +++ b/fish.go @@ -164,19 +164,21 @@ func fishAddFileFlag( flag Flag, completion *strings.Builder, ) { - addFileExclusionFlag := true - if f, ok := flag.(GenericFlag); ok && f.TakesFile { - addFileExclusionFlag = false - } - if f, ok := flag.(StringFlag); ok && f.TakesFile { - addFileExclusionFlag = false - } - if f, ok := flag.(StringSliceFlag); ok && f.TakesFile { - addFileExclusionFlag = false - } - if addFileExclusionFlag { - completion.WriteString(" -f") + switch f := flag.(type) { + case GenericFlag: + if f.TakesFile { + return + } + case StringFlag: + if f.TakesFile { + return + } + case StringSliceFlag: + if f.TakesFile { + return + } } + completion.WriteString(" -f") } func (a *App) fishSubcommandHelper(allCommands []string) string {