unused-0.9.0.0: src/Unused/CLI/Search.hs
module Unused.CLI.Search
( SearchRunner(..)
, renderHeader
, executeSearch
) where
import qualified Unused.CLI.ProgressIndicator as I
import qualified Unused.CLI.Util as U
import qualified Unused.CLI.Views as V
import qualified Unused.TermSearch as TS
data SearchRunner
= SearchWithProgress
| SearchWithoutProgress
renderHeader :: [a] -> IO ()
renderHeader terms = do
U.resetScreen
V.analysisHeader terms
executeSearch :: TS.SearchBackend -> SearchRunner -> [TS.SearchTerm] -> IO TS.SearchResults
executeSearch backend runner terms = do
renderHeader terms
runSearch backend runner terms <* U.resetScreen
runSearch :: TS.SearchBackend -> SearchRunner -> [TS.SearchTerm] -> IO TS.SearchResults
runSearch b SearchWithProgress = I.progressWithIndicator (TS.search b) I.createProgressBar
runSearch b SearchWithoutProgress = I.progressWithIndicator (TS.search b) I.createSpinner