support parsing options like --to=here
Reworked remote name parsing to allow things like that. Command.Move uses it for --to=here, although there's not yet an implementation of that option. This commit was sponsored by Ignacio on Patreon.
This commit is contained in:
parent
df880fe815
commit
5ee6912cf3
6 changed files with 32 additions and 22 deletions
|
@ -1,6 +1,6 @@
|
|||
{- git-annex command-line option parsing
|
||||
-
|
||||
- Copyright 2010-2015 Joey Hess <id@joeyh.name>
|
||||
- Copyright 2010-2017 Joey Hess <id@joeyh.name>
|
||||
-
|
||||
- Licensed under the GNU GPL version 3 or higher.
|
||||
-}
|
||||
|
@ -105,10 +105,10 @@ parseAutoOption = switch
|
|||
<> help "automatic mode"
|
||||
)
|
||||
|
||||
parseRemoteOption :: Parser RemoteName -> Parser (DeferredParse Remote)
|
||||
parseRemoteOption p = DeferredParse
|
||||
parseRemoteOption :: RemoteName -> DeferredParse Remote
|
||||
parseRemoteOption = DeferredParse
|
||||
. (fromJust <$$> Remote.byNameWithUUID)
|
||||
. Just <$> p
|
||||
. Just
|
||||
|
||||
data FromToOptions
|
||||
= FromRemote (DeferredParse Remote)
|
||||
|
@ -120,18 +120,18 @@ instance DeferredParseClass FromToOptions where
|
|||
|
||||
parseFromToOptions :: Parser FromToOptions
|
||||
parseFromToOptions =
|
||||
(FromRemote <$> parseFromOption)
|
||||
<|> (ToRemote <$> parseToOption)
|
||||
(FromRemote . parseRemoteOption <$> parseFromOption)
|
||||
<|> (ToRemote . parseRemoteOption <$> parseToOption)
|
||||
|
||||
parseFromOption :: Parser (DeferredParse Remote)
|
||||
parseFromOption = parseRemoteOption $ strOption
|
||||
parseFromOption :: Parser RemoteName
|
||||
parseFromOption = strOption
|
||||
( long "from" <> short 'f' <> metavar paramRemote
|
||||
<> help "source remote"
|
||||
<> completeRemotes
|
||||
)
|
||||
|
||||
parseToOption :: Parser (DeferredParse Remote)
|
||||
parseToOption = parseRemoteOption $ strOption
|
||||
parseToOption :: Parser RemoteName
|
||||
parseToOption = strOption
|
||||
( long "to" <> short 't' <> metavar paramRemote
|
||||
<> help "destination remote"
|
||||
<> completeRemotes
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue