module Unison.Codebase.Editor.HandleInput.Config (handleConfigSet, handleConfigGet) where import U.Codebase.Config (ConfigKey) import U.Codebase.Sqlite.Queries qualified as Q import Unison.Cli.Monad (Cli) import Unison.Cli.Monad qualified as Cli import Unison.Codebase.Editor.Output (Output (..)) import Unison.Prelude handleConfigSet :: ConfigKey -> Text -> Cli () handleConfigSet :: ConfigKey -> Text -> Cli () handleConfigSet ConfigKey key Text value = do Transaction () -> Cli () forall a. Transaction a -> Cli a Cli.runTransaction (Transaction () -> Cli ()) -> Transaction () -> Cli () forall a b. (a -> b) -> a -> b $ ConfigKey -> Text -> Transaction () Q.setConfigValue ConfigKey key Text value handleConfigGet :: ConfigKey -> Cli () handleConfigGet :: ConfigKey -> Cli () handleConfigGet ConfigKey key = do Maybe Text mayValue <- Transaction (Maybe Text) -> Cli (Maybe Text) forall a. Transaction a -> Cli a Cli.runTransaction (Transaction (Maybe Text) -> Cli (Maybe Text)) -> Transaction (Maybe Text) -> Cli (Maybe Text) forall a b. (a -> b) -> a -> b $ ConfigKey -> Transaction (Maybe Text) Q.getConfigValue ConfigKey key Output -> Cli () Cli.respond (Output -> Cli ()) -> Output -> Cli () forall a b. (a -> b) -> a -> b $ ConfigKey -> Maybe Text -> Output ConfigValueGet ConfigKey key Maybe Text mayValue