summaryrefslogtreecommitdiff
path: root/src/Main.hs
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2025-04-15 21:28:43 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2025-04-15 21:28:43 +0200
commitce477ae0b39b97a82a86776e076492120e3180eb (patch)
treeefb8547fc2f07437332cb13dc576becb69271603 /src/Main.hs
parentdd028e6043d2b3d6751e6a002fb49dbb48a8dcfd (diff)
Do not consider argument starting with dash to be a pathHEADmaster
Diffstat (limited to 'src/Main.hs')
-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 )