mirror of https://github.com/voidlizard/hbs2
56 lines
1.5 KiB
Haskell
56 lines
1.5 KiB
Haskell
module RunShow where
|
|
|
|
import HBS2.Prelude
|
|
-- import HBS2.Base58
|
|
|
|
import HBS2Git.App
|
|
-- import HBS2Git.State
|
|
import HBS2Git.ListRefs
|
|
|
|
import Control.Monad.Catch (MonadMask)
|
|
import Control.Monad.Reader
|
|
import Lens.Micro.Platform
|
|
|
|
-- import Data.Foldable
|
|
import Prettyprinter.Render.Terminal
|
|
|
|
data ShowObject = ShowRef RepoRef | ShowConfig
|
|
|
|
showRef :: (MonadIO m, MonadMask m) => RepoRef -> App m ()
|
|
showRef _h = do
|
|
-- db <- makeDbPath h >>= dbEnv
|
|
-- FIXME: re-implement-showRef
|
|
pure ()
|
|
-- withDB db do
|
|
-- hd <- stateGetHead
|
|
-- imported <- stateGetLastImported 10
|
|
-- liftIO $ do
|
|
-- print $ "current state for" <+> pretty (AsBase58 h)
|
|
-- print $ "head:" <+> pretty hd
|
|
-- print $ pretty "last operations:"
|
|
-- for_ imported (\(t,h1,h2) -> print $ pretty t <+> pretty h1 <+> pretty h2)
|
|
|
|
showRefs :: (MonadIO m, MonadMask m) => App m ()
|
|
showRefs = do
|
|
liftIO $ putDoc $ line <> green "References:" <> section
|
|
runListRefs
|
|
|
|
showConfig :: (MonadIO m, MonadMask m) => App m ()
|
|
showConfig = do
|
|
configPath <- asks $ view appConfPath
|
|
liftIO $ do
|
|
config <- readFile configPath
|
|
putDoc $ green "Config file location:" <> section <> pretty configPath <> section
|
|
putDoc $ green "Config contents:" <> line <> pretty config <> line
|
|
|
|
showSummary :: (MonadIO m, MonadMask m) => App m ()
|
|
showSummary = do
|
|
showRefs
|
|
liftIO $ putDoc section
|
|
showConfig
|
|
|
|
runShow :: (MonadIO m, MonadMask m) => Maybe ShowObject -> App m ()
|
|
runShow (Just (ShowRef h)) = showRef h
|
|
runShow (Just ShowConfig) = showConfig
|
|
runShow Nothing = showSummary
|