packages feed

i3blocks-hs-contrib-2.0.0: DateTime/Main.hs

{-# LANGUAGE LambdaCase #-}
module Main where

import           Data.Time.Format
import           Data.Time.LocalTime
import           System.Environment (getArgs)

main :: IO ()
main = do
  args <- getArgs
  let (format, icon) = (getFormat args, getIcon args)
  zonedTime <- getZonedTime
  putStrLn $ icon <> (formatTime defaultTimeLocale format zonedTime)

getIcon :: [String] -> String
getIcon = \case
  _ : icon : _ -> icon
  _            -> ""

getFormat :: [String] -> String
getFormat = \case
  format : _ -> format
  _ -> defaultFormat
  where
    defaultFormat = "%d-%m-%y %H:%M"