rattletrap 11.2.9 → 11.2.10
raw patch · 2 files changed
+17/−8 lines, 2 files
Files
- rattletrap.cabal +1/−1
- src/lib/Rattletrap/Console/Main.hs +16/−7
rattletrap.cabal view
@@ -1,7 +1,7 @@ cabal-version: 2.2 name: rattletrap-version: 11.2.9+version: 11.2.10 synopsis: Parse and generate Rocket League replays. description: Rattletrap parses and generates Rocket League replays.
src/lib/Rattletrap/Console/Main.hs view
@@ -104,6 +104,7 @@ import qualified System.Console.GetOpt as Console import qualified System.Environment as Environment import qualified System.Exit as Exit+import qualified System.FilePath as FilePath import qualified System.IO as IO main :: IO ()@@ -121,7 +122,7 @@ then versionMain else if Config.schema config then schemaMain config- else defaultMain config+ else defaultMain name config helpMain :: String -> IO () helpMain name = do@@ -136,9 +137,9 @@ schemaMain :: Config.Config -> IO () schemaMain config = putOutput config $ encodeJson config schema -defaultMain :: Config.Config -> IO ()-defaultMain config = do- input <- getInput config+defaultMain :: String -> Config.Config -> IO ()+defaultMain name config = do+ input <- getInput name config let decode = getDecoder config replay <- case decode input of Left (ls, e) -> do@@ -274,9 +275,17 @@ Mode.Decode -> encodeJson config Mode.Encode -> Rattletrap.encodeReplayFile $ Config.fast config -getInput :: Config.Config -> IO ByteString.ByteString-getInput config = case Config.input config of- Nothing -> ByteString.getContents+getInput :: String -> Config.Config -> IO ByteString.ByteString+getInput name config = case Config.input config of+ Nothing -> do+ isTerminalDevice <- IO.hIsTerminalDevice IO.stdin+ Monad.when isTerminalDevice . IO.hPutStr IO.stderr $ unlines+ [ "-- You did not supply any input, so Rattletrap will read from STDIN."+ , "-- If that is unexpected, try running: "+ <> FilePath.combine "." name+ <> " --help"+ ]+ ByteString.getContents Just fileOrUrl -> case Client.parseUrlThrow fileOrUrl of Nothing -> ByteString.readFile fileOrUrl Just request -> do