2014-02-20 17:00:34 +00:00
{- git - annex command
-
2015-01-21 16:50:09 +00:00
- Copyright 2014 Joey Hess < id @ joeyh . name >
2014-02-20 17:00:34 +00:00
-
- Licensed under the GNU GPL version 3 or higher .
- }
module Command.VFilter where
import Common.Annex
import Command
import Annex.View
2014-03-02 18:53:19 +00:00
import Command.View ( paramView , checkoutViewBranch )
2014-02-20 17:00:34 +00:00
2015-07-08 16:33:27 +00:00
cmd :: Command
cmd = notBareRepo $ notDirect $
2015-07-08 19:08:02 +00:00
command " vfilter " SectionMetaData " filter current view "
paramView ( withParams seek )
2014-02-20 17:00:34 +00:00
2015-07-08 19:08:02 +00:00
seek :: CmdParams -> CommandSeek
2014-02-20 17:00:34 +00:00
seek = withWords start
start :: [ String ] -> CommandStart
start params = do
showStart " vfilter " " "
withCurrentView $ \ view -> do
let view' = filterView view $
map parseViewParam $ reverse params
next $ next $ if visibleViewSize view' > visibleViewSize view
then error " That would add an additional level of directory structure to the view, rather than filtering it. If you want to do that, use vadd instead of vfilter. "
else checkoutViewBranch view' narrowView