ca-store/app/Main.hs

19 lines
561 B
Haskell
Raw 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