diff options
author | Joey Hess <joey@kitenet.net> | 2011-11-14 19:27:00 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-11-14 19:27:22 -0400 |
commit | bfe38f8ff16dc6ccc32d545e6fed87817caa26cf (patch) | |
tree | 65efec376ee385efe5d538aa2453b7b925e8aee5 /Command/Status.hs | |
parent | 02f1d5467ad05315905b9cb90307049ababb4a63 (diff) |
status --json --fast for esc
* status: Fix --json mode (only the repository lists are currently
displayed)
* status: --fast is back
Diffstat (limited to 'Command/Status.hs')
-rw-r--r-- | Command/Status.hs | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/Command/Status.hs b/Command/Status.hs index 3fddb599d..39d9400fb 100644 --- a/Command/Status.hs +++ b/Command/Status.hs @@ -18,6 +18,7 @@ import qualified Types.Remote as R import qualified Remote import qualified Command.Unused import qualified Git +import qualified Annex import Command import Utility.DataUnits import Annex.Content @@ -49,14 +50,17 @@ seek = [withNothing start] {- Order is significant. Less expensive operations, and operations - that share data go together. -} -stats :: [Stat] -stats = +fast_stats :: [Stat] +fast_stats = [ supported_backends , supported_remote_types , remote_list Trusted "trusted" , remote_list SemiTrusted "semitrusted" , remote_list UnTrusted "untrusted" - , tmp_size + ] +slow_stats :: [Stat] +slow_stats = + [ tmp_size , bad_data_size , local_annex_keys , local_annex_size @@ -67,6 +71,10 @@ stats = start :: CommandStart start = do + showStart "status" "." + showWith $ liftIO $ putStrLn "" + fast <- Annex.getState Annex.fast + let stats = if fast then fast_stats else fast_stats ++ slow_stats evalStateT (mapM_ showStat stats) (StatInfo Nothing Nothing) stop @@ -80,9 +88,11 @@ showStat :: Stat -> StatState () showStat s = calc =<< s where calc (Just (desc, a)) = do - liftIO $ putStr $ desc ++ ": " - liftIO $ hFlush stdout - liftIO . putStrLn =<< a + r <- a -- run first, it may produce JSON + lift . showWith $ do + liftIO $ putStr $ desc ++ ": " + liftIO $ hFlush stdout + liftIO $ putStrLn r calc Nothing = return () supported_backends :: Stat |