cabal-gild 1.1.1.0 → 1.1.2.0
raw patch · 14 files changed
+45/−33 lines, 14 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ CabalGild.Type.Flag: IO :: String -> Flag
Files
- README.md +3/−0
- cabal-gild.cabal +1/−1
- source/library/CabalGild/Type/Config.hs +6/−0
- source/library/CabalGild/Type/Dependency.hs +2/−2
- source/library/CabalGild/Type/ExeDependency.hs +2/−2
- source/library/CabalGild/Type/Flag.hs +6/−0
- source/library/CabalGild/Type/ForeignLibOption.hs +2/−2
- source/library/CabalGild/Type/Language.hs +2/−11
- source/library/CabalGild/Type/LegacyExeDependency.hs +2/−2
- source/library/CabalGild/Type/ModuleReexport.hs +2/−2
- source/library/CabalGild/Type/PkgconfigDependency.hs +2/−2
- source/library/CabalGild/Type/PkgconfigVersionRange.hs +2/−2
- source/library/CabalGild/Type/TestedWith.hs +3/−7
- source/test-suite/Main.hs +10/−0
README.md view
@@ -133,6 +133,9 @@ - `--input=FILE`: Uses `FILE` as the input. If this is `-` (which is the default), then the input will be read from STDIN. +- `--io=FILE`: Shortcut for setting both `--input=FILE` and `--output=FILE` at+ the same time. This is useful for formatting a file in-place.+ - `--mode=MODE`: Sets the mode to `MODE`, which must be either `format` (the default) or `check`. When the mode is `format`, Gild will output the formatted package description. When the mode is `check`, Gild will exit
cabal-gild.cabal view
@@ -11,7 +11,7 @@ maintainer: Taylor Fausak name: cabal-gild synopsis: Formats package descriptions.-version: 1.1.1.0+version: 1.1.2.0 source-repository head type: git
source/library/CabalGild/Type/Config.hs view
@@ -38,6 +38,12 @@ applyFlag config flag = case flag of Flag.Help b -> pure config {help = Optional.Specific b} Flag.Input s -> pure config {input = Optional.Specific $ Input.fromString s}+ Flag.IO s ->+ pure+ config+ { input = Optional.Specific $ Input.fromString s,+ output = Optional.Specific $ Output.fromString s+ } Flag.Mode s -> do m <- Mode.fromString s pure config {mode = Optional.Specific m}
source/library/CabalGild/Type/Dependency.hs view
@@ -1,7 +1,7 @@ module CabalGild.Type.Dependency where import qualified CabalGild.Type.VersionRange as VersionRange-import qualified Data.Function as Function+import qualified Data.Ord as Ord import qualified Distribution.Parsec as Parsec import qualified Distribution.Pretty as Pretty import qualified Distribution.Types.Dependency as Dependency@@ -15,7 +15,7 @@ instance Ord Dependency where compare =- Function.on compare $+ Ord.comparing $ (\(Dependency.Dependency pn vr lns) -> (pn, VersionRange.fromVersionRange vr, lns)) . unwrap
source/library/CabalGild/Type/ExeDependency.hs view
@@ -1,7 +1,7 @@ module CabalGild.Type.ExeDependency where import qualified CabalGild.Type.VersionRange as VersionRange-import qualified Data.Function as Function+import qualified Data.Ord as Ord import qualified Distribution.Parsec as Parsec import qualified Distribution.Pretty as Pretty import qualified Distribution.Types.ExeDependency as ExeDependency@@ -15,7 +15,7 @@ instance Ord ExeDependency where compare =- Function.on compare $+ Ord.comparing $ (\(ExeDependency.ExeDependency pn ucn vr) -> (pn, ucn, VersionRange.fromVersionRange vr)) . unwrap
source/library/CabalGild/Type/Flag.hs view
@@ -13,6 +13,7 @@ data Flag = Help Bool | Input String+ | IO String | Mode String | Output String | Stdin String@@ -47,6 +48,11 @@ ["input"] (GetOpt.ReqArg Input "FILE") "Sets the input file. Use '-' for standard input (STDIN).\nDefault: '-'",+ GetOpt.Option+ []+ ["io"]+ (GetOpt.ReqArg IO "FILE")+ "Shortcut for setting both the input and output files.", GetOpt.Option ['m'] ["mode"]
source/library/CabalGild/Type/ForeignLibOption.hs view
@@ -1,5 +1,6 @@ module CabalGild.Type.ForeignLibOption where +import qualified Data.Ord as Ord import qualified Distribution.Parsec as Parsec import qualified Distribution.Pretty as Pretty import qualified Distribution.Types.ForeignLibOption as ForeignLibOption@@ -13,8 +14,7 @@ deriving (Eq, Show) instance Ord ForeignLibOption where- compare x y = case (unwrap x, unwrap y) of- (ForeignLibOption.ForeignLibStandalone, ForeignLibOption.ForeignLibStandalone) -> EQ+ compare = Ord.comparing Pretty.prettyShow instance Parsec.Parsec ForeignLibOption where parsec = ForeignLibOption <$> Parsec.parsec
source/library/CabalGild/Type/Language.hs view
@@ -1,5 +1,6 @@ module CabalGild.Type.Language where +import qualified Data.Ord as Ord import qualified Distribution.Parsec as Parsec import qualified Distribution.Pretty as Pretty import qualified Language.Haskell.Extension as Extension@@ -12,17 +13,7 @@ deriving (Eq, Show) instance Ord Language where- compare x y = case (unwrap x, unwrap y) of- (Extension.Haskell98, Extension.Haskell98) -> EQ- (Extension.Haskell98, _) -> LT- (Extension.Haskell2010, Extension.Haskell2010) -> EQ- (Extension.Haskell2010, Extension.Haskell98) -> GT- (Extension.Haskell2010, _) -> LT- (Extension.GHC2021, Extension.GHC2021) -> EQ- (Extension.GHC2021, Extension.UnknownLanguage _) -> LT- (Extension.GHC2021, _) -> GT- (Extension.UnknownLanguage s, Extension.UnknownLanguage t) -> compare s t- (Extension.UnknownLanguage _, _) -> GT+ compare = Ord.comparing Pretty.prettyShow instance Parsec.Parsec Language where parsec = Language <$> Parsec.parsec
source/library/CabalGild/Type/LegacyExeDependency.hs view
@@ -1,7 +1,7 @@ module CabalGild.Type.LegacyExeDependency where import qualified CabalGild.Type.VersionRange as VersionRange-import qualified Data.Function as Function+import qualified Data.Ord as Ord import qualified Distribution.Parsec as Parsec import qualified Distribution.Pretty as Pretty import qualified Distribution.Types.LegacyExeDependency as LegacyExeDependency@@ -16,7 +16,7 @@ instance Ord LegacyExeDependency where compare =- Function.on compare $+ Ord.comparing $ (\(LegacyExeDependency.LegacyExeDependency s vr) -> (s, VersionRange.fromVersionRange vr)) . unwrap
source/library/CabalGild/Type/ModuleReexport.hs view
@@ -1,6 +1,6 @@ module CabalGild.Type.ModuleReexport where -import qualified Data.Function as Function+import qualified Data.Ord as Ord import qualified Distribution.Parsec as Parsec import qualified Distribution.Pretty as Pretty import qualified Distribution.Types.ModuleReexport as ModuleReexport@@ -14,7 +14,7 @@ instance Ord ModuleReexport where compare =- Function.on compare $+ Ord.comparing $ (\(ModuleReexport.ModuleReexport mpn mn1 mn2) -> (mpn, mn1, mn2)) . unwrap
source/library/CabalGild/Type/PkgconfigDependency.hs view
@@ -1,7 +1,7 @@ module CabalGild.Type.PkgconfigDependency where import qualified CabalGild.Type.PkgconfigVersionRange as PkgconfigVersionRange-import qualified Data.Function as Function+import qualified Data.Ord as Ord import qualified Distribution.Parsec as Parsec import qualified Distribution.Pretty as Pretty import qualified Distribution.Types.PkgconfigDependency as PkgconfigDependency@@ -16,7 +16,7 @@ instance Ord PkgconfigDependency where compare =- Function.on compare $+ Ord.comparing $ (\(PkgconfigDependency.PkgconfigDependency pn pvr) -> (pn, PkgconfigVersionRange.PkgconfigVersionRange pvr)) . unwrap
source/library/CabalGild/Type/PkgconfigVersionRange.hs view
@@ -1,7 +1,7 @@ module CabalGild.Type.PkgconfigVersionRange where import qualified CabalGild.Type.VersionRange as VersionRange-import qualified Data.Function as Function+import qualified Data.Ord as Ord import qualified Distribution.Parsec as Parsec import qualified Distribution.Pretty as Pretty import qualified Distribution.Types.PkgconfigVersionRange as PkgconfigVersionRange@@ -16,7 +16,7 @@ instance Ord PkgconfigVersionRange where compare =- Function.on compare $+ Ord.comparing $ VersionRange.fromPkgconfigVersionRange . unwrap
source/library/CabalGild/Type/TestedWith.hs view
@@ -1,7 +1,7 @@ module CabalGild.Type.TestedWith where import qualified CabalGild.Type.VersionRange as VersionRange-import qualified Data.Function as Function+import qualified Data.Ord as Ord import qualified Distribution.FieldGrammar.Newtypes as Newtypes import qualified Distribution.Parsec as Parsec import qualified Distribution.Pretty as Pretty@@ -13,15 +13,11 @@ } instance Eq TestedWith where- (==) =- Function.on (==) $- fmap VersionRange.fromVersionRange- . Newtypes.getTestedWith- . unwrap+ x == y = compare x y == EQ instance Ord TestedWith where compare =- Function.on compare $+ Ord.comparing $ fmap VersionRange.fromVersionRange . Newtypes.getTestedWith . unwrap
source/test-suite/Main.hs view
@@ -116,6 +116,16 @@ w `Hspec.shouldBe` [] s `Hspec.shouldBe` Map.empty + Hspec.it "sets input and output simultaneously" $ do+ let (a, s, w) =+ runTest+ (Gild.mainWith ["--io", "io.cabal"])+ (Map.singleton (Input.File "io.cabal") (String.toUtf8 ""), Map.empty)+ Map.empty+ a `Hspec.shouldBe` Right ()+ w `Hspec.shouldBe` []+ s `Hspec.shouldSatisfy` Map.member (Output.File "io.cabal")+ Hspec.it "succeeds with empty input" $ do expectGilded ""