diff options
Diffstat (limited to 'lib/Language/Haskell/Stylish/Util.hs')
-rw-r--r-- | lib/Language/Haskell/Stylish/Util.hs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/Language/Haskell/Stylish/Util.hs b/lib/Language/Haskell/Stylish/Util.hs index 54abef5..c634043 100644 --- a/lib/Language/Haskell/Stylish/Util.hs +++ b/lib/Language/Haskell/Stylish/Util.hs @@ -6,6 +6,8 @@ module Language.Haskell.Stylish.Util , padRight , everything , infoPoints + , trimLeft + , trimRight , wrap , wrapRest @@ -18,7 +20,7 @@ module Language.Haskell.Stylish.Util -------------------------------------------------------------------------------- import Control.Arrow ((&&&), (>>>)) -import Data.Char (isAlpha) +import Data.Char (isAlpha, isSpace) import Data.Data (Data) import qualified Data.Generics as G import Data.Maybe (fromMaybe, listToMaybe, @@ -69,6 +71,16 @@ infoPoints = H.srcInfoPoints >>> map (H.srcSpanStart &&& H.srcSpanEnd) -------------------------------------------------------------------------------- +trimLeft :: String -> String +trimLeft = dropWhile isSpace + + +-------------------------------------------------------------------------------- +trimRight :: String -> String +trimRight = reverse . trimLeft . reverse + + +-------------------------------------------------------------------------------- wrap :: Int -- ^ Maximum line width -> String -- ^ Leading string -> Int -- ^ Indentation |