Merge pull request #830 from ghallak/stop-reversing-args
Stop reversing arguments in `moveFlagsAfterCommand`
This commit is contained in:
commit
e5b184b717
@ -225,16 +225,21 @@ moveFlagsAfterCommand args = moveArgs $ ensureDebugHasArg args
|
|||||||
(bs,"--debug":[]) -> bs++"--debug=1":[]
|
(bs,"--debug":[]) -> bs++"--debug=1":[]
|
||||||
_ -> as
|
_ -> as
|
||||||
|
|
||||||
-- -h ..., --version ...
|
moveArgs args = insertFlagsAfterCommand $ moveArgs' (args, [])
|
||||||
moveArgs (f:a:as) | isMovableNoArgFlag f = (moveArgs $ a:as) ++ [f]
|
where
|
||||||
-- -f FILE ..., --alias ALIAS ...
|
-- -h ..., --version ...
|
||||||
moveArgs (f:v:a:as) | isMovableReqArgFlag f, isValue v = (moveArgs $ a:as) ++ [f,v]
|
moveArgs' ((f:a:as), flags) | isMovableNoArgFlag f = moveArgs' (a:as, flags ++ [f])
|
||||||
-- -fFILE ..., --alias=ALIAS ...
|
-- -f FILE ..., --alias ALIAS ...
|
||||||
moveArgs (fv:a:as) | isMovableReqArgFlagAndValue fv = (moveArgs $ a:as) ++ [fv]
|
moveArgs' ((f:v:a:as), flags) | isMovableReqArgFlag f, isValue v = moveArgs' (a:as, flags ++ [f,v])
|
||||||
-- -f(missing arg)
|
-- -fFILE ..., --alias=ALIAS ...
|
||||||
moveArgs (f:a:as) | isMovableReqArgFlag f, not (isValue a) = (moveArgs $ a:as) ++ [f]
|
moveArgs' ((fv:a:as), flags) | isMovableReqArgFlagAndValue fv = moveArgs' (a:as, flags ++ [fv])
|
||||||
-- anything else
|
-- -f(missing arg)
|
||||||
moveArgs as = as
|
moveArgs' ((f:a:as), flags) | isMovableReqArgFlag f, not (isValue a) = moveArgs' (a:as, flags ++ [f])
|
||||||
|
-- anything else
|
||||||
|
moveArgs' (as, flags) = (as, flags)
|
||||||
|
|
||||||
|
insertFlagsAfterCommand ([], flags) = flags
|
||||||
|
insertFlagsAfterCommand (command:args, flags) = [command] ++ flags ++ args
|
||||||
|
|
||||||
isMovableNoArgFlag a = "-" `isPrefixOf` a && dropWhile (=='-') a `elem` noargflagstomove
|
isMovableNoArgFlag a = "-" `isPrefixOf` a && dropWhile (=='-') a `elem` noargflagstomove
|
||||||
|
|
||||||
|
|||||||
2
tests/cli/a.j
Normal file
2
tests/cli/a.j
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
2018/1/1 a1
|
||||||
|
(a) 1
|
||||||
2
tests/cli/b.j
Normal file
2
tests/cli/b.j
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
2018/1/1 b1
|
||||||
|
(b) 1
|
||||||
@ -58,3 +58,11 @@ hledger print -f personal.journal -f ../journal/a.timeclock -f ../journal/b.time
|
|||||||
|
|
||||||
>>>2
|
>>>2
|
||||||
>>>=0
|
>>>=0
|
||||||
|
|
||||||
|
# 4. same-date transactions in different files are shown in the right order
|
||||||
|
hledger -f a.j -f b.j reg
|
||||||
|
>>>
|
||||||
|
2018/01/01 a1 (a) 1 1
|
||||||
|
2018/01/01 b1 (b) 1 2
|
||||||
|
>>>2
|
||||||
|
>>>=0
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user