From 45a67e7c64b3ac00a05a35dc82d77826165bc43d Mon Sep 17 00:00:00 2001 From: "Joseph C. Sible" Date: Tue, 10 Mar 2020 13:27:52 -0400 Subject: [PATCH] Use headOrDefault instead of fromMaybe and listToMaybe --- src/ShellCheck/AnalyzerLib.hs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/ShellCheck/AnalyzerLib.hs b/src/ShellCheck/AnalyzerLib.hs index 42f57b1..5f33b30 100644 --- a/src/ShellCheck/AnalyzerLib.hs +++ b/src/ShellCheck/AnalyzerLib.hs @@ -246,8 +246,7 @@ determineShell fallbackShell t = fromMaybe Bash $ getCandidate :: Token -> String getCandidate t@T_Script {} = fromShebang t getCandidate (T_Annotation _ annotations s) = - fromMaybe (fromShebang s) $ - listToMaybe [s | ShellOverride s <- annotations] + headOrDefault (fromShebang s) [s | ShellOverride s <- annotations] fromShebang (T_Script _ (T_Literal _ s) _) = executableFromShebang s -- Given a string like "/bin/bash" or "/usr/bin/env dash", @@ -852,7 +851,7 @@ getBracedReference s = fromMaybe s $ prop_getBracedModifier1 = getBracedModifier "foo:bar:baz" == ":bar:baz" prop_getBracedModifier2 = getBracedModifier "!var:-foo" == ":-foo" prop_getBracedModifier3 = getBracedModifier "foo[bar]" == "[bar]" -getBracedModifier s = fromMaybe "" . listToMaybe $ do +getBracedModifier s = headOrDefault "" $ do let var = getBracedReference s a <- dropModifier s dropPrefix var a