mirror of
https://github.com/unisonweb/unison.git
synced 2024-10-26 11:07:48 +03:00
Saving current state before running anything and then falling back to it if needed
This commit is contained in:
parent
fa378f7601
commit
54758e865a
@ -15,7 +15,7 @@ import qualified Data.Text as Text
|
||||
import qualified Data.Text.Lazy.IO as Text.Lazy
|
||||
import qualified Ki
|
||||
import qualified System.Console.Haskeline as Line
|
||||
import System.IO (hPutStrLn, stderr)
|
||||
import System.IO (hPutStrLn, stderr, hGetEcho, hSetEcho, stdin)
|
||||
import System.IO.Error (isDoesNotExistError)
|
||||
import Text.Pretty.Simple (pShow)
|
||||
import qualified U.Codebase.Sqlite.Operations as Operations
|
||||
@ -143,8 +143,12 @@ main dir welcome initialPath config initialInputs runtime sbRuntime codebase ser
|
||||
credentialManager <- newCredentialManager
|
||||
let tokenProvider = AuthN.newTokenProvider credentialManager
|
||||
authHTTPClient <- AuthN.newAuthenticatedHTTPClient tokenProvider ucmVersion
|
||||
initialEcho <- hGetEcho stdin
|
||||
let restoreEcho = (\currentEcho -> when (currentEcho /= initialEcho) $ hSetEcho stdin initialEcho)
|
||||
let getInput :: Cli.LoopState -> IO Input
|
||||
getInput loopState = do
|
||||
currentEcho <- hGetEcho stdin
|
||||
liftIO $ restoreEcho currentEcho
|
||||
getUserInput
|
||||
codebase
|
||||
authHTTPClient
|
||||
|
Loading…
Reference in New Issue
Block a user