From 41e838ef830f09121b8975283cfe9e04657505da Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Fri, 10 Mar 2023 19:11:49 -1000 Subject: [PATCH] fix: lib: avoid using pager on Windows, the package is not supported --- hledger-lib/Hledger/Utils/IO.hs | 11 +++++++++-- hledger-lib/package.yaml | 10 +++++----- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/hledger-lib/Hledger/Utils/IO.hs b/hledger-lib/Hledger/Utils/IO.hs index 52061d324..9889159c1 100644 --- a/hledger-lib/Hledger/Utils/IO.hs +++ b/hledger-lib/Hledger/Utils/IO.hs @@ -9,7 +9,7 @@ The colour scheme may be somewhat hard-coded. -} -{-# LANGUAGE LambdaCase #-} +{-# LANGUAGE CPP, LambdaCase #-} module Hledger.Utils.IO ( @@ -84,7 +84,9 @@ import System.IO (Handle, IOMode (..), hGetEncoding, hSetEncoding, hSetNewlineMode, openFile, stdin, stdout, stderr, universalNewlineMode, utf8_bom, hIsTerminalDevice) import System.IO.Unsafe (unsafePerformIO) +#ifndef mingw32_HOST_OS import System.Pager +#endif import Text.Pretty.Simple (CheckColorTty(CheckColorTty), OutputOptions(..), defaultOutputOptionsDarkBg, defaultOutputOptionsNoColor, pShowOpt, pPrintOpt) @@ -130,7 +132,12 @@ pprint' = pPrintOpt CheckColorTty prettyopts' pager :: String -> IO () pager s = do dumbterm <- (== Just "dumb") <$> lookupEnv "TERM" - (if dumbterm then putStrLn else printOrPage . pack) s +#ifdef mingw32_HOST_OS + putStrLn +#else + (if dumbterm then putStrLn else printOrPage . pack) +#endif + s -- Command line arguments diff --git a/hledger-lib/package.yaml b/hledger-lib/package.yaml index f3e7acb1d..130eba137 100644 --- a/hledger-lib/package.yaml +++ b/hledger-lib/package.yaml @@ -59,7 +59,6 @@ dependencies: - microlens >=0.4 - microlens-th >=0.4 - mtl >=2.2.1 -- pager >=0.1.1.0 - parser-combinators >=0.4.0 - pretty-simple >4 && <5 - regex-tdfa @@ -78,10 +77,11 @@ dependencies: - utf8-string >=0.3.5 - extra >=1.6.3 - Glob >= 0.9 -# for ledger-parse: -#- parsers >=0.5 -#- system-filepath -#- trifecta >=0.91 + +when: +- condition: (!(os(windows))) + dependencies: + - pager >=0.1.1.0 ghc-options: - -Wall