Compare commits

...

2 commits

3 changed files with 12 additions and 5 deletions

View file

@ -27,9 +27,10 @@ library
BlockArguments
OverloadedStrings
ImportQualifiedPost
ghc-options: -Wall -Wunused-packages -fdefer-typed-holes
ghc-options: -Wall -fdefer-typed-holes
build-depends:
base >=4.13 && <5
, process
, text
default-language: GHC2021
@ -43,7 +44,7 @@ executable hcat
BlockArguments
OverloadedStrings
ImportQualifiedPost
ghc-options: -Wall -Wunused-packages -fdefer-typed-holes
ghc-options: -Wall -fdefer-typed-holes
build-depends:
base >=4.13 && <5
, hcat
@ -61,7 +62,7 @@ test-suite spec
BlockArguments
OverloadedStrings
ImportQualifiedPost
ghc-options: -Wall -Wunused-packages -fdefer-typed-holes
ghc-options: -Wall -fdefer-typed-holes
cpp-options: -DTEST
build-tool-depends:
hspec-discover:hspec-discover

View file

@ -13,12 +13,10 @@ dependencies:
- base >= 4.13 && < 5
# - bytestring
# - time
# - process
# - directory
ghc-options:
- -Wall
- -Wunused-packages
- -fdefer-typed-holes
default-extensions:
@ -30,6 +28,7 @@ library:
source-dirs: src
dependencies:
- text
- process
verbatim:
default-language: GHC2021

View file

@ -4,6 +4,8 @@ module HCat.Internal where
import Data.Text (Text)
import Data.Text qualified as T
import System.Process qualified as P
-- | @parseArgs@ takes a list of strings and returns a single FilePath if there was exactly one element.
--
-- >>> parseArgs ["foo"]
@ -67,3 +69,8 @@ paginate (ScreenDimensions rows cols) =
type Pages = [Page]
type Page = Text
getScreenDimensions :: IO ScreenDimensions
getScreenDimensions = ScreenDimensions <$> tput "lines" <*> tput "cols"
where
tput cmd = read <$> P.readProcess "tput" [cmd] ""