packages feed

stylish-haskell 0.5.8.0 → 0.5.9.0

raw patch · 5 files changed

+55/−16 lines, 5 files

Files

data/stylish-haskell.yaml view
@@ -41,6 +41,9 @@       #       # - compact: A more compact style.       #+      # - compact_line: Similar to compact, but wrap each line with+      #   `{-#LANGUAGE #-}'.+      #       # Default: vertical.       style: vertical 
src/Language/Haskell/Stylish/Config.hs view
@@ -178,9 +178,9 @@     <*> o A..:? "remove_redundant" A..!= True   where     styles =-        [ ("vertical", LanguagePragmas.Vertical)-        , ("compact",  LanguagePragmas.Compact)-        ]+        [ ("vertical",     LanguagePragmas.Vertical)+        , ("compact",      LanguagePragmas.Compact)+        , ("compact_line", LanguagePragmas.CompactLine)]   --------------------------------------------------------------------------------
src/Language/Haskell/Stylish/Step/LanguagePragmas.hs view
@@ -14,16 +14,17 @@   ---------------------------------------------------------------------------------import           Language.Haskell.Stylish.Block-import           Language.Haskell.Stylish.Editor-import           Language.Haskell.Stylish.Step-import           Language.Haskell.Stylish.Util+import Language.Haskell.Stylish.Block+import Language.Haskell.Stylish.Editor+import Language.Haskell.Stylish.Step+import Language.Haskell.Stylish.Util   -------------------------------------------------------------------------------- data Style     = Vertical     | Compact+    | CompactLine     deriving (Eq, Show)  @@ -55,9 +56,31 @@   --------------------------------------------------------------------------------+compactLinePragmas :: Int -> [String] -> Lines+compactLinePragmas _ [] = []+compactLinePragmas columns pragmas' =+  let maxWidth = columns - 16+      longest  = maximum $ map length prags+      prags    = map truncateComma $ wrap maxWidth "" 1 $+                    map (++ ",") (init pragmas') ++ [last pragmas']+  in map (wrapLanguage . padRight longest) prags+  where+    wrapLanguage ps = "{-# LANGUAGE" ++ ps ++  " #-}"+++--------------------------------------------------------------------------------+truncateComma :: String -> String+truncateComma ""     = ""+truncateComma xs+    | last xs == ',' = init xs+    | otherwise      = xs+++-------------------------------------------------------------------------------- prettyPragmas :: Int -> Int -> Style -> [String] -> Lines-prettyPragmas _       longest Vertical = verticalPragmas longest-prettyPragmas columns _       Compact  = compactPragmas columns+prettyPragmas _       longest Vertical    = verticalPragmas longest+prettyPragmas columns _       Compact     = compactPragmas columns+prettyPragmas columns _       CompactLine = compactLinePragmas columns   --------------------------------------------------------------------------------@@ -75,7 +98,6 @@         fxs    = filter (not . isRedundant') xs         xs'    = S.fromList fxs `S.difference` known         known' = xs' `S.union` known-  -------------------------------------------------------------------------------- step :: Int -> Style -> Bool -> Step
stylish-haskell.cabal view
@@ -1,5 +1,5 @@ Name:          stylish-haskell-Version:       0.5.8.0+Version:       0.5.9.0 Synopsis:      Haskell code prettifier Homepage:      https://github.com/jaspervdj/stylish-haskell License:       BSD3
tests/Language/Haskell/Stylish/Step/LanguagePragmas/Tests.hs view
@@ -5,14 +5,14 @@   ---------------------------------------------------------------------------------import           Test.Framework                      (Test, testGroup)-import           Test.Framework.Providers.HUnit      (testCase)-import           Test.HUnit                          (Assertion, (@=?))+import Test.Framework                 (Test, testGroup)+import Test.Framework.Providers.HUnit (testCase)+import Test.HUnit                     (Assertion, (@=?))   ---------------------------------------------------------------------------------import           Language.Haskell.Stylish.Step.LanguagePragmas-import           Language.Haskell.Stylish.Tests.Util+import Language.Haskell.Stylish.Step.LanguagePragmas+import Language.Haskell.Stylish.Tests.Util   --------------------------------------------------------------------------------@@ -112,4 +112,18 @@         , "#if __GLASGOW_HASKELL__ >= 702"         , "{-# LANGUAGE Trustworthy #-}"         , "#endif"+        ]++case06 :: Assertion+case06 = expected @=? testStep (step 80 CompactLine True) input+  where+    input = unlines+        [ "{-# LANGUAGE TypeOperators, StandaloneDeriving, DeriveDataTypeable,"+        , "    TemplateHaskell #-}"+        , "{-# LANGUAGE TemplateHaskell, ViewPatterns #-}"+        ]+    expected = unlines+        [ "{-# LANGUAGE DeriveDataTypeable, StandaloneDeriving, " +++          "TemplateHaskell #-}"+        , "{-# LANGUAGE TypeOperators, ViewPatterns                             #-}"         ]