summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Main.hs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/Main.hs b/src/Main.hs
index 5fdd128..89fab39 100644
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -100,9 +100,10 @@ lookupCommand name = find p commands
main :: IO ()
main = do
args <- getArgs
+ let isPathArgument path = maybe False (/= '-') (listToMaybe path) && any isPathSeparator path
let ( mbRootPath, args' ) = case args of
(path : rest)
- | any isPathSeparator path -> ( Just path, rest )
+ | isPathArgument path -> ( Just path, rest )
_ -> ( Nothing, args )
(opts, cmdargs) <- case getOpt RequireOrder options args' of
@@ -145,7 +146,7 @@ main = do
( Just path, _ )
-> return ( Just path, cmdargs )
( _, path : rest )
- | any isPathSeparator path
+ | isPathArgument path
-> return ( Just path, rest )
_ -> return ( Nothing , cmdargs )