module Unused.CLI.GitContext
    ( loadGitContext
    ) where

import qualified Data.Map.Strict as Map
import Unused.CLI.ProgressIndicator
       (createProgressBar, progressWithIndicator)
import qualified Unused.CLI.Util as U
import qualified Unused.CLI.Views as V
import Unused.GitContext (gitContextForResults)
import Unused.Types (TermMatchSet)

loadGitContext :: Int -> TermMatchSet -> IO TermMatchSet
loadGitContext i tms = do
    U.resetScreen
    V.loadingSHAsHeader i
    Map.fromList <$> progressWithIndicator (gitContextForResults i) createProgressBar listTerms
  where
    listTerms = Map.toList tms