convert Whereis

This commit is contained in:
Joey Hess 2015-07-10 16:32:33 -04:00
parent 8eb0a440b9
commit c94e219fea
2 changed files with 15 additions and 11 deletions

View file

@ -15,7 +15,7 @@ import Command
import Utility.Env import Utility.Env
import Annex.Ssh import Annex.Ssh
--import qualified Command.Help import qualified Command.Help
import qualified Command.Add import qualified Command.Add
import qualified Command.Unannex import qualified Command.Unannex
import qualified Command.Drop import qualified Command.Drop
@ -58,7 +58,7 @@ import qualified Command.Lock
import qualified Command.PreCommit import qualified Command.PreCommit
import qualified Command.Find import qualified Command.Find
--import qualified Command.FindRef --import qualified Command.FindRef
--import qualified Command.Whereis import qualified Command.Whereis
--import qualified Command.List --import qualified Command.List
--import qualified Command.Log --import qualified Command.Log
import qualified Command.Merge import qualified Command.Merge
@ -119,8 +119,8 @@ import System.Remote.Monitoring
cmds :: [Command] cmds :: [Command]
cmds = cmds =
-- [ Command.Help.cmd [ Command.Help.cmd
[ Command.Add.cmd , Command.Add.cmd
, Command.Get.cmd , Command.Get.cmd
, Command.Drop.cmd , Command.Drop.cmd
, Command.Move.cmd , Command.Move.cmd
@ -185,7 +185,7 @@ cmds =
, Command.AddUnused.cmd , Command.AddUnused.cmd
, Command.Find.cmd , Command.Find.cmd
-- , Command.FindRef.cmd -- , Command.FindRef.cmd
-- , Command.Whereis.cmd , Command.Whereis.cmd
-- , Command.List.cmd -- , Command.List.cmd
-- , Command.Log.cmd -- , Command.Log.cmd
, Command.Merge.cmd , Command.Merge.cmd

View file

@ -19,21 +19,25 @@ cmd :: Command
cmd = noCommit $ withGlobalOptions (jsonOption : annexedMatchingOptions) $ cmd = noCommit $ withGlobalOptions (jsonOption : annexedMatchingOptions) $
command "whereis" SectionQuery command "whereis" SectionQuery
"lists repositories that have file content" "lists repositories that have file content"
paramPaths (withParams seek) paramPaths (seek <$$> optParser)
data WhereisOptions = WhereisOptions data WhereisOptions = WhereisOptions
{ whereisFiles :: CmdParams { whereisFiles :: CmdParams
, jsonOption :: GlobalSetter
, keyOptions :: Maybe KeyOptions , keyOptions :: Maybe KeyOptions
} }
seek :: CmdParams -> CommandSeek optParser :: CmdParamsDesc -> Parser WhereisOptions
seek ps = do optParser desc = WhereisOptions
<$> cmdParams desc
<*> optional (parseKeyOptions False)
seek :: WhereisOptions -> CommandSeek
seek o = do
m <- remoteMap id m <- remoteMap id
withKeyOptions False withKeyOptions (keyOptions o) False
(startKeys m) (startKeys m)
(withFilesInGit $ whenAnnexed $ start m) (withFilesInGit $ whenAnnexed $ start m)
ps (whereisFiles o)
start :: M.Map UUID Remote -> FilePath -> Key -> CommandStart start :: M.Map UUID Remote -> FilePath -> Key -> CommandStart
start remotemap file key = start' remotemap key (Just file) start remotemap file key = start' remotemap key (Just file)