Use headOrDefault instead of fromMaybe and listToMaybe

This commit is contained in:
Joseph C. Sible 2020-03-10 13:27:52 -04:00 committed by GitHub
parent 68a03e05e5
commit 45a67e7c64
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 2 additions and 3 deletions

View File

@ -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