diff options
Diffstat (limited to 'Command/Whereis.hs')
-rw-r--r-- | Command/Whereis.hs | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/Command/Whereis.hs b/Command/Whereis.hs index 4030cf2f8..0083f8c5c 100644 --- a/Command/Whereis.hs +++ b/Command/Whereis.hs @@ -14,20 +14,30 @@ import Command import Remote import Logs.Trust import GitAnnex.Options +import Types.Key def :: [Command] -def = [noCommit $ withOptions [jsonOption] $ +def = [noCommit $ withOptions (jsonOption : keyOptions) $ command "whereis" paramPaths seek SectionQuery "lists repositories that have file content"] seek :: CommandSeek seek ps = do m <- remoteMap id - withFilesInGit (whenAnnexed $ start m) ps + withKeyOptions + (startKeys m) + (withFilesInGit $ whenAnnexed $ start m) + ps start :: M.Map UUID Remote -> FilePath -> (Key, Backend) -> CommandStart -start remotemap file (key, _) = do - showStart "whereis" file +start remotemap file (key, _) = start' remotemap key (Just file) + +startKeys :: M.Map UUID Remote -> Key -> CommandStart +startKeys remotemap key = start' remotemap key Nothing + +start' :: M.Map UUID Remote -> Key -> AssociatedFile -> CommandStart +start' remotemap key afile = do + showStart "whereis" (fromMaybe (key2file key) afile) next $ perform remotemap key perform :: M.Map UUID Remote -> Key -> CommandPerform |