summaryrefslogtreecommitdiffhomepage
path: root/lib/Language/Haskell/Stylish/Util.hs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Language/Haskell/Stylish/Util.hs')
-rw-r--r--lib/Language/Haskell/Stylish/Util.hs14
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