ca-store/app/Main.hs

19 lines
561 B
Haskell
Raw Permalink Normal View History

module Main(main) where
import CAStore.Command (runCommand)
import CAStore.Command.Autocomplete (generateAutocompletions)
import CAStore.Config (finalConfig)
import CAStore.Program (Program, runProgram, getCommand, getAutocomplete)
import CAStore.Program.IO.Text (err)
import CAStore.Program.Storage (initialise)
main :: IO ()
main = finalConfig >>= flip runProgram defaultProgram
defaultProgram :: Program ()
defaultProgram = do
initialise
getAutocomplete >>= \case
True -> generateAutocompletions
False -> getCommand >>= either err runCommand