packages feed

hindent-2.0: src/main/Main.hs

{-# LANGUAGE ViewPatterns #-}
-- | Main entry point to hindent.
--
-- hindent

module Main where

import           Data.List
import qualified Data.Text as T
import qualified Data.Text.Lazy.Builder as T
import qualified Data.Text.Lazy.IO as T
import           HIndent
import           HIndent.Types
import           System.Environment

-- | Main entry point.
main :: IO ()
main =
  do args <- getArgs
     case args of
       ["--style",findStyle -> Just style] ->
         T.interact
           (either error T.toLazyText .
            reformat (styleDefConfig style) style)
       _ ->
         error ("arguments: --style [" ++
                intercalate "|"
                            (map (T.unpack . styleName) styles) ++
                "]")
  where findStyle name =
          find ((== T.pack name) . styleName) styles