mirror of
https://github.com/simonmichael/hledger.git
synced 2024-09-16 00:37:33 +03:00
dev: Hledger.Utils.IO: fix hlint warnings
This commit is contained in:
parent
60efd035f5
commit
49c4ccd0b7
@ -97,8 +97,10 @@ import Control.Monad (when, forM)
|
|||||||
import Data.Colour.RGBSpace (RGB(RGB))
|
import Data.Colour.RGBSpace (RGB(RGB))
|
||||||
import Data.Colour.RGBSpace.HSL (lightness)
|
import Data.Colour.RGBSpace.HSL (lightness)
|
||||||
import Data.FileEmbed (makeRelativeToProject, embedStringFile)
|
import Data.FileEmbed (makeRelativeToProject, embedStringFile)
|
||||||
|
import Data.Functor ((<&>))
|
||||||
import Data.List hiding (uncons)
|
import Data.List hiding (uncons)
|
||||||
import Data.Maybe (isJust)
|
import Data.Maybe (isJust)
|
||||||
|
import Data.Ord (comparing, Down (Down))
|
||||||
import qualified Data.Text as T
|
import qualified Data.Text as T
|
||||||
import qualified Data.Text.IO as T
|
import qualified Data.Text.IO as T
|
||||||
import qualified Data.Text.Lazy as TL
|
import qualified Data.Text.Lazy as TL
|
||||||
@ -115,6 +117,7 @@ import System.Console.Terminal.Size (Window (Window), size)
|
|||||||
import System.Directory (getHomeDirectory, getModificationTime)
|
import System.Directory (getHomeDirectory, getModificationTime)
|
||||||
import System.Environment (getArgs, lookupEnv, setEnv)
|
import System.Environment (getArgs, lookupEnv, setEnv)
|
||||||
import System.FilePath (isRelative, (</>))
|
import System.FilePath (isRelative, (</>))
|
||||||
|
import "Glob" System.FilePath.Glob (glob)
|
||||||
import System.IO
|
import System.IO
|
||||||
(Handle, IOMode (..), hGetEncoding, hSetEncoding, hSetNewlineMode,
|
(Handle, IOMode (..), hGetEncoding, hSetEncoding, hSetNewlineMode,
|
||||||
openFile, stdin, stdout, stderr, universalNewlineMode, utf8_bom, hIsTerminalDevice)
|
openFile, stdin, stdout, stderr, universalNewlineMode, utf8_bom, hIsTerminalDevice)
|
||||||
@ -127,15 +130,14 @@ import Text.Pretty.Simple
|
|||||||
defaultOutputOptionsDarkBg, defaultOutputOptionsNoColor, pShowOpt, pPrintOpt)
|
defaultOutputOptionsDarkBg, defaultOutputOptionsNoColor, pShowOpt, pPrintOpt)
|
||||||
|
|
||||||
import Hledger.Utils.Text (WideBuilder(WideBuilder))
|
import Hledger.Utils.Text (WideBuilder(WideBuilder))
|
||||||
import "Glob" System.FilePath.Glob (glob)
|
|
||||||
import Data.Functor ((<&>))
|
|
||||||
|
|
||||||
-- Pretty showing/printing with pretty-simple
|
-- Pretty showing/printing with pretty-simple
|
||||||
|
|
||||||
-- https://hackage.haskell.org/package/pretty-simple/docs/Text-Pretty-Simple.html#t:OutputOptions
|
-- https://hackage.haskell.org/package/pretty-simple/docs/Text-Pretty-Simple.html#t:OutputOptions
|
||||||
|
|
||||||
-- | pretty-simple options with colour enabled if allowed.
|
-- | pretty-simple options with colour enabled if allowed.
|
||||||
prettyopts =
|
prettyopts =
|
||||||
(if useColorOnStderr then defaultOutputOptionsDarkBg else defaultOutputOptionsNoColor)
|
(if useColorOnStderr then defaultOutputOptionsDarkBg else defaultOutputOptionsNoColor)
|
||||||
{ outputOptionsIndentAmount = 2
|
{ outputOptionsIndentAmount = 2
|
||||||
-- , outputOptionsCompact = True -- fills lines, but does not respect page width (https://github.com/cdepillabout/pretty-simple/issues/126)
|
-- , outputOptionsCompact = True -- fills lines, but does not respect page width (https://github.com/cdepillabout/pretty-simple/issues/126)
|
||||||
@ -225,7 +227,7 @@ progArgs = unsafePerformIO getArgs
|
|||||||
-- | Read the value of the -o/--output-file command line option provided at program startup,
|
-- | Read the value of the -o/--output-file command line option provided at program startup,
|
||||||
-- if any, using unsafePerformIO.
|
-- if any, using unsafePerformIO.
|
||||||
outputFileOption :: Maybe String
|
outputFileOption :: Maybe String
|
||||||
outputFileOption =
|
outputFileOption =
|
||||||
-- keep synced with output-file flag definition in hledger:CliOptions.
|
-- keep synced with output-file flag definition in hledger:CliOptions.
|
||||||
let args = progArgs in
|
let args = progArgs in
|
||||||
case dropWhile (not . ("-o" `isPrefixOf`)) args of
|
case dropWhile (not . ("-o" `isPrefixOf`)) args of
|
||||||
@ -315,7 +317,7 @@ rgb' r g b = ifAnsi (rgb r g b)
|
|||||||
-- | Read the value of the --color or --colour command line option provided at program startup
|
-- | Read the value of the --color or --colour command line option provided at program startup
|
||||||
-- using unsafePerformIO. If this option was not provided, returns the empty string.
|
-- using unsafePerformIO. If this option was not provided, returns the empty string.
|
||||||
colorOption :: String
|
colorOption :: String
|
||||||
colorOption =
|
colorOption =
|
||||||
-- similar to debugLevel
|
-- similar to debugLevel
|
||||||
-- keep synced with color/colour flag definition in hledger:CliOptions
|
-- keep synced with color/colour flag definition in hledger:CliOptions
|
||||||
let args = progArgs in
|
let args = progArgs in
|
||||||
@ -462,7 +464,7 @@ expandGlob curdir p = expandPath curdir p >>= glob <&> sort -- PARTIAL:
|
|||||||
sortByModTime :: [FilePath] -> IO [FilePath]
|
sortByModTime :: [FilePath] -> IO [FilePath]
|
||||||
sortByModTime fs = do
|
sortByModTime fs = do
|
||||||
ftimes <- forM fs $ \f -> do {t <- getModificationTime f; return (t,f)}
|
ftimes <- forM fs $ \f -> do {t <- getModificationTime f; return (t,f)}
|
||||||
return $ map snd $ reverse $ sort ftimes
|
return $ map snd $ sortBy (comparing Data.Ord.Down) ftimes
|
||||||
|
|
||||||
-- | Like readFilePortably, but read all of the file before proceeding.
|
-- | Like readFilePortably, but read all of the file before proceeding.
|
||||||
readFileStrictly :: FilePath -> IO T.Text
|
readFileStrictly :: FilePath -> IO T.Text
|
||||||
@ -516,3 +518,4 @@ getCurrentZonedTime = do
|
|||||||
tz <- getCurrentTimeZone
|
tz <- getCurrentTimeZone
|
||||||
return $ utcToZonedTime tz t
|
return $ utcToZonedTime tz t
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user