From badafc04524a7c0558fbc95d4b7482bd0b83bdf9 Mon Sep 17 00:00:00 2001 From: Mark Karpov Date: Sat, 25 Feb 2023 17:47:24 +0100 Subject: [PATCH] Implement a more precise inference of fixity information --- CHANGELOG.md | 5 + app/Main.hs | 4 +- .../type-synonyms/multi-line-out.hs | 2 + .../declaration/type-synonyms/multi-line.hs | 2 + .../value/function/infix/esqueleto-0-out.hs | 12 + .../value/function/infix/esqueleto-0.hs | 10 + .../value/function/infix/esqueleto-1-out.hs | 9 + .../value/function/infix/esqueleto-1.hs | 9 + .../value/function/infix/lenses-out.hs | 2 + .../value/function/infix/lenses.hs | 2 + .../function/infix/qualified-prelude-out.hs | 12 + .../value/function/infix/qualified-prelude.hs | 12 + .../value/function/operators-0-out.hs | 2 + .../declaration/value/function/operators-0.hs | 2 + .../value/function/operators-3-out.hs | 2 + .../declaration/value/function/operators-3.hs | 2 + .../value/function/operators-4-out.hs | 2 + .../declaration/value/function/operators-4.hs | 2 + .../value/function/operators-6-out.hs | 2 + .../declaration/value/function/operators-6.hs | 2 + extract-hackage-info.sh | 4 +- extract-hackage-info/README.md | 17 +- .../extract-hackage-info.cabal | 2 +- extract-hackage-info/hackage-info.bin | Bin 1292137 -> 952236 bytes extract-hackage-info/src/Hoogle.hs | 113 ++++ extract-hackage-info/src/Main.hs | 413 ++++---------- fixity-tests/.ormolu | 2 +- fixity-tests/default.nix | 10 +- fixity-tests/test-0-input.hs | 4 +- fixity-tests/test-0-no-extra-info-expected.hs | 4 +- .../test-0-with-fixity-info-expected.hs | 4 +- ...th-fixity-info-weird-overwrite-expected.hs | 9 + ormolu-live/app/Main.hs | 6 +- ormolu.cabal | 4 +- region-tests/default.nix | 36 +- ...esult-9-12.hs => expected-result-11-14.hs} | 7 +- ...sult-17-18.hs => expected-result-19-23.hs} | 8 +- ...-result-6-7.hs => expected-result-8-10.hs} | 7 +- ...d-result-6-8.hs => expected-result-8-9.hs} | 7 +- region-tests/expected-result-all.hs | 8 +- region-tests/src.hs | 7 +- src/Ormolu.hs | 31 +- src/Ormolu/Config.hs | 6 +- src/Ormolu/Fixity.hs | 337 +++++------- src/Ormolu/Fixity/Imports.hs | 73 +++ src/Ormolu/Fixity/Internal.hs | 225 +++++--- src/Ormolu/Fixity/Parser.hs | 27 +- src/Ormolu/Fixity/Printer.hs | 31 +- src/Ormolu/Parser.hs | 113 ++-- src/Ormolu/Parser/Result.hs | 6 +- src/Ormolu/Printer.hs | 3 +- src/Ormolu/Printer/Combinators.hs | 5 +- src/Ormolu/Printer/Internal.hs | 37 +- src/Ormolu/Printer/Meat/Declaration/OpTree.hs | 2 +- src/Ormolu/Printer/Meat/Declaration/Value.hs | 10 +- src/Ormolu/Printer/Meat/Type.hs | 5 +- src/Ormolu/Printer/Operators.hs | 55 +- src/Ormolu/Utils.hs | 10 +- src/Ormolu/Utils/Fixity.hs | 8 +- tests/Ormolu/CabalInfoSpec.hs | 2 +- tests/Ormolu/Fixity/ParserSpec.hs | 91 ++-- tests/Ormolu/Fixity/PrinterSpec.hs | 18 +- tests/Ormolu/FixitySpec.hs | 279 ++++++++++ tests/Ormolu/HackageInfoSpec.hs | 507 ------------------ tests/Ormolu/OpTreeSpec.hs | 40 +- tests/Ormolu/PrinterSpec.hs | 26 +- 66 files changed, 1305 insertions(+), 1411 deletions(-) create mode 100644 data/examples/declaration/value/function/infix/esqueleto-0-out.hs create mode 100644 data/examples/declaration/value/function/infix/esqueleto-0.hs create mode 100644 data/examples/declaration/value/function/infix/esqueleto-1-out.hs create mode 100644 data/examples/declaration/value/function/infix/esqueleto-1.hs create mode 100644 data/examples/declaration/value/function/infix/qualified-prelude-out.hs create mode 100644 data/examples/declaration/value/function/infix/qualified-prelude.hs create mode 100644 extract-hackage-info/src/Hoogle.hs create mode 100644 fixity-tests/test-1-with-fixity-info-weird-overwrite-expected.hs rename region-tests/{expected-result-9-12.hs => expected-result-11-14.hs} (67%) rename region-tests/{expected-result-17-18.hs => expected-result-19-23.hs} (68%) rename region-tests/{expected-result-6-7.hs => expected-result-8-10.hs} (68%) rename region-tests/{expected-result-6-8.hs => expected-result-8-9.hs} (68%) create mode 100644 src/Ormolu/Fixity/Imports.hs create mode 100644 tests/Ormolu/FixitySpec.hs delete mode 100644 tests/Ormolu/HackageInfoSpec.hs diff --git a/CHANGELOG.md b/CHANGELOG.md index 77818e1..a79ad60 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ ## Unreleased +* Inference of operator fixity information is now more precise and takes + into account the import section of the module being formatted. [Issue + 892](https://github.com/tweag/ormolu/issues/892) and [issue + 929](https://github.com/tweag/ormolu/issues/929). + * Consistently format `do` blocks/`case`s/`MultiWayIf`s with 4 spaces if and only if they occur as the applicand. [Issue 1002](https://github.com/tweag/ormolu/issues/1002) and [issue diff --git a/app/Main.hs b/app/Main.hs index 9ab525e..a84af6a 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -20,7 +20,7 @@ import Language.Haskell.TH.Env (envQ) import Options.Applicative import Ormolu import Ormolu.Diff.Text (diffText, printTextDiff) -import Ormolu.Fixity (FixityInfo, OpName) +import Ormolu.Fixity (FixityInfo, FixityOverrides (..), OpName) import Ormolu.Parser (manualExts) import Ormolu.Terminal import Ormolu.Utils (showOutputable) @@ -282,7 +282,7 @@ configParser = metavar "OPT", help "GHC options to enable (e.g. language extensions)" ] - <*> ( fmap (Map.fromListWith (<>) . mconcat) + <*> ( fmap (FixityOverrides . Map.fromList . mconcat) . many . option parseFixityDeclaration . mconcat diff --git a/data/examples/declaration/type-synonyms/multi-line-out.hs b/data/examples/declaration/type-synonyms/multi-line-out.hs index 919f5ad..777f91c 100644 --- a/data/examples/declaration/type-synonyms/multi-line-out.hs +++ b/data/examples/declaration/type-synonyms/multi-line-out.hs @@ -1,3 +1,5 @@ +import Servant.API + type Foo a b c = Bar c a b diff --git a/data/examples/declaration/type-synonyms/multi-line.hs b/data/examples/declaration/type-synonyms/multi-line.hs index ad914ad..022c773 100644 --- a/data/examples/declaration/type-synonyms/multi-line.hs +++ b/data/examples/declaration/type-synonyms/multi-line.hs @@ -1,3 +1,5 @@ +import Servant.API + type Foo a b c = Bar c a b diff --git a/data/examples/declaration/value/function/infix/esqueleto-0-out.hs b/data/examples/declaration/value/function/infix/esqueleto-0-out.hs new file mode 100644 index 0000000..f0a0778 --- /dev/null +++ b/data/examples/declaration/value/function/infix/esqueleto-0-out.hs @@ -0,0 +1,12 @@ +import Database.Esqueleto.Experimental + +foo = select $ do + t <- + from $ + table @Bar + `innerJoin` table @Baz + `on` do + \(br :& bz) -> whatever + where_ $ + t ^. BarInt ==. val 3 + &&. t ^. BarName `in_` valList ["hello", "world"] diff --git a/data/examples/declaration/value/function/infix/esqueleto-0.hs b/data/examples/declaration/value/function/infix/esqueleto-0.hs new file mode 100644 index 0000000..d5bb884 --- /dev/null +++ b/data/examples/declaration/value/function/infix/esqueleto-0.hs @@ -0,0 +1,10 @@ +import Database.Esqueleto.Experimental + +foo = select $ do + t <- from $ table @Bar + `innerJoin` table @Baz + `on` do + \(br :& bz) -> whatever + where_ $ + t ^. BarInt ==. val 3 + &&. t ^. BarName `in_` valList ["hello", "world"] diff --git a/data/examples/declaration/value/function/infix/esqueleto-1-out.hs b/data/examples/declaration/value/function/infix/esqueleto-1-out.hs new file mode 100644 index 0000000..b21d236 --- /dev/null +++ b/data/examples/declaration/value/function/infix/esqueleto-1-out.hs @@ -0,0 +1,9 @@ +import qualified Database.Esqueleto.Experimental as E + +foo = + E.from $ + E.table + `E.innerJoin` E.table + `E.on` ( \(a :& b) -> + a E.^. AField E.==. b E.^. BField + ) diff --git a/data/examples/declaration/value/function/infix/esqueleto-1.hs b/data/examples/declaration/value/function/infix/esqueleto-1.hs new file mode 100644 index 0000000..d95edfb --- /dev/null +++ b/data/examples/declaration/value/function/infix/esqueleto-1.hs @@ -0,0 +1,9 @@ +import qualified Database.Esqueleto.Experimental as E + +foo = + E.from $ + E.table + `E.innerJoin` E.table + `E.on` ( \(a :& b) -> + a E.^. AField E.==. b E.^. BField + ) diff --git a/data/examples/declaration/value/function/infix/lenses-out.hs b/data/examples/declaration/value/function/infix/lenses-out.hs index d1e6dc8..13dc70e 100644 --- a/data/examples/declaration/value/function/infix/lenses-out.hs +++ b/data/examples/declaration/value/function/infix/lenses-out.hs @@ -1,3 +1,5 @@ +import Control.Lens.Operators + lenses = Just $ M.fromList $ diff --git a/data/examples/declaration/value/function/infix/lenses.hs b/data/examples/declaration/value/function/infix/lenses.hs index 48db339..01078e0 100644 --- a/data/examples/declaration/value/function/infix/lenses.hs +++ b/data/examples/declaration/value/function/infix/lenses.hs @@ -1,3 +1,5 @@ +import Control.Lens.Operators + lenses = Just $ M.fromList $ "type" .= ("user.connection" :: Text) # "connection" .= uc diff --git a/data/examples/declaration/value/function/infix/qualified-prelude-out.hs b/data/examples/declaration/value/function/infix/qualified-prelude-out.hs new file mode 100644 index 0000000..a5b4175 --- /dev/null +++ b/data/examples/declaration/value/function/infix/qualified-prelude-out.hs @@ -0,0 +1,12 @@ +module StreamSpec where + +import Prelude (($)) +import qualified Prelude + +spec :: Spec +spec = do + describe "Comparing list function to" $ do + qit "yieldMany" $ + \(mono :: Seq Int) -> + yieldMany mono + `checkProducer` otoList mono diff --git a/data/examples/declaration/value/function/infix/qualified-prelude.hs b/data/examples/declaration/value/function/infix/qualified-prelude.hs new file mode 100644 index 0000000..62e3f04 --- /dev/null +++ b/data/examples/declaration/value/function/infix/qualified-prelude.hs @@ -0,0 +1,12 @@ +module StreamSpec where + +import qualified Prelude +import Prelude (($)) + +spec :: Spec +spec = do + describe "Comparing list function to" $ do + qit "yieldMany" $ + \(mono :: Seq Int) -> + yieldMany mono `checkProducer` + otoList mono diff --git a/data/examples/declaration/value/function/operators-0-out.hs b/data/examples/declaration/value/function/operators-0-out.hs index a43d1b7..d221252 100644 --- a/data/examples/declaration/value/function/operators-0-out.hs +++ b/data/examples/declaration/value/function/operators-0-out.hs @@ -1,3 +1,5 @@ +import Control.Lens.Operators + a = b & c .~ d diff --git a/data/examples/declaration/value/function/operators-0.hs b/data/examples/declaration/value/function/operators-0.hs index b77de91..bf636f9 100644 --- a/data/examples/declaration/value/function/operators-0.hs +++ b/data/examples/declaration/value/function/operators-0.hs @@ -1,3 +1,5 @@ +import Control.Lens.Operators + a = b & c .~ d & e %~ f diff --git a/data/examples/declaration/value/function/operators-3-out.hs b/data/examples/declaration/value/function/operators-3-out.hs index 46b21c6..b8ba48e 100644 --- a/data/examples/declaration/value/function/operators-3-out.hs +++ b/data/examples/declaration/value/function/operators-3-out.hs @@ -1,3 +1,5 @@ +import Control.Arrow + foo = op <> n <+> colon diff --git a/data/examples/declaration/value/function/operators-3.hs b/data/examples/declaration/value/function/operators-3.hs index 7ce6901..3e4af6c 100644 --- a/data/examples/declaration/value/function/operators-3.hs +++ b/data/examples/declaration/value/function/operators-3.hs @@ -1,3 +1,5 @@ +import Control.Arrow + foo = op <> n <+> colon <+> prettySe <+> text "=" <+> prettySe <> text sc diff --git a/data/examples/declaration/value/function/operators-4-out.hs b/data/examples/declaration/value/function/operators-4-out.hs index 625f4b0..ecb92d2 100644 --- a/data/examples/declaration/value/function/operators-4-out.hs +++ b/data/examples/declaration/value/function/operators-4-out.hs @@ -1,3 +1,5 @@ +import Control.Arrow + foo = line <> bindingOf <+> text "=" diff --git a/data/examples/declaration/value/function/operators-4.hs b/data/examples/declaration/value/function/operators-4.hs index b21890d..8cb7fb6 100644 --- a/data/examples/declaration/value/function/operators-4.hs +++ b/data/examples/declaration/value/function/operators-4.hs @@ -1,3 +1,5 @@ +import Control.Arrow + foo = line <> bindingOf <+> text "=" <+> tPretty <+> colon <+> align <> prettyPs diff --git a/data/examples/declaration/value/function/operators-6-out.hs b/data/examples/declaration/value/function/operators-6-out.hs index dab41a8..559b168 100644 --- a/data/examples/declaration/value/function/operators-6-out.hs +++ b/data/examples/declaration/value/function/operators-6-out.hs @@ -1,3 +1,5 @@ +import Servant.API + type PermuteRef = "a" :> ( "b" :> "c" :> End diff --git a/data/examples/declaration/value/function/operators-6.hs b/data/examples/declaration/value/function/operators-6.hs index e9f76b5..f62959d 100644 --- a/data/examples/declaration/value/function/operators-6.hs +++ b/data/examples/declaration/value/function/operators-6.hs @@ -1,3 +1,5 @@ +import Servant.API + type PermuteRef = "a" :> ( "b" :> "c" :> End :<|> "c" :> "b" :> End diff --git a/extract-hackage-info.sh b/extract-hackage-info.sh index 3033336..d33eb7f 100755 --- a/extract-hackage-info.sh +++ b/extract-hackage-info.sh @@ -4,7 +4,6 @@ set -e WDIR=$(mktemp -d) HOOGLE_DATABASE="$WDIR/hoogle-database/" -HACKAGE_DATABASE="$WDIR/hackage-database.html" OUTPUT="$WDIR/hackage-info.bin" trap cleanup 0 1 2 3 15 @@ -16,9 +15,8 @@ cleanup() mkdir "$HOOGLE_DATABASE" curl "https://hackage.haskell.org/packages/hoogle.tar.gz" | tar -xz -C "$HOOGLE_DATABASE" -curl "https://hackage.haskell.org/packages/top" -o "$HACKAGE_DATABASE" -nix run .#extract-hackage-info -- "$HOOGLE_DATABASE" "$HACKAGE_DATABASE" -o "$OUTPUT" +nix run .#extract-hackage-info -- "$HOOGLE_DATABASE" -o "$OUTPUT" cp "$OUTPUT" "extract-hackage-info/hackage-info.bin" diff --git a/extract-hackage-info/README.md b/extract-hackage-info/README.md index bf0b676..79bb108 100644 --- a/extract-hackage-info/README.md +++ b/extract-hackage-info/README.md @@ -34,16 +34,19 @@ only when there is no matching fixity declaration inside the package files that a symbol declaration indicates that the operator has the default fixity (`infixl 9`). -In addition to the extraction of operator fixities, we also scrap the -download count of the last 30 days for every package on Hackage, to get a -popularity metric for packages which will be used to arbitrate between -conflicting fixity declarations. +In general, correct resolution of fixities requires taking into account the +import section of a module that is being formatted, as well as knowing the +provenance (that is, module name) of each operator. Therefore, we also +collect and save this information. The `extract-hackage-info` executable takes care of everything listed above, -and generates a `hackage-info.bin` file containing two associative maps: +and generates a `hackage-info.bin` file containing multi-level map from +package names to module names to operators to their fixities: -+ package name → operator → fixity -+ package name → popularity score +```haskell +newtype HackageInfo + = HackageInfo (Map PackageName (Map ModuleName (Map OpName FixityInfo))) +``` ## How to use `extract-hackage-info` diff --git a/extract-hackage-info/extract-hackage-info.cabal b/extract-hackage-info/extract-hackage-info.cabal index 9c18ec8..4e7d7e1 100644 --- a/extract-hackage-info/extract-hackage-info.cabal +++ b/extract-hackage-info/extract-hackage-info.cabal @@ -7,6 +7,7 @@ author: Thomas Bagrel executable extract-hackage-info main-is: Main.hs hs-source-dirs: src + other-modules: Hoogle default-language: GHC2021 ghc-options: -O2 -Wall -rtsopts -Wunused-packages build-depends: @@ -19,7 +20,6 @@ executable extract-hackage-info filepath >=1.2 && <1.5, optparse-applicative >=0.14 && <0.18, ormolu, - tagsoup >=0.14 && <0.15, text >=2.0 && <3.0, formatting >=7.1 && <7.2, megaparsec >=9.0 diff --git a/extract-hackage-info/hackage-info.bin b/extract-hackage-info/hackage-info.bin index b1a77cd92906443538ada3d359c193081cbf89e4..277c9cc960344bdc7404d7c186026a67faf127ca 100644 GIT binary patch literal 952236 zcmeFad2?jRaVJ>yUM5gD3RTs0^+^)MF&aSmu%dQmN3aA6M;)kU9UuU9Q?xRSJpd0t zvJ#o-%tRe+FqlRhQQf3$c2+x*W^HY?I+r3fHkvitvDNNqcg?6TF@M)5S&#SP=Mfq1 zC}vkT)g;v%O()704a7S8I3dzaslPbTjRw$>Nsx z=`4!O&e*@s4A?);+tQ6pDId?yhzf&?%ax^Ov!105ivrk(b5z~mKvXn28MYi9ABUhJ z!hOHisBL82D@JZ$$>MV2ee1LJ;~O(`A*$#`H3Y>ss!A~hG%st;i(&&r>wDRDr`fWl zLFuKO4aKKqxt_M$wm`}LMpL5W(ToHgPlaSe$6_=F7H_WZ9<^&t3Y&DehqLF|G;l) zp8kh_;MV|U$xRLCrdFLM;4yH4q)UEp{Waj1x69YMy1ah>_EAGwpbfK?<$UK!t({d4 zAc4bHFh-Wr=UF?s^`y3wHMa2;OpcQ|fr?-!q0r{r>=wy)Vy1xoiV-_I8Ww+zrbAk5 zB=?$owe94aomw562t+fk&dq}etRwN<+?)av<+`!ISIeFPJ9dv!GC7%mJnROgq%zMy z&{0mR9u%#YlH+483Z&O&AmqL!-A*D zVyDxpZ5?$mL?Az^GJCN(z2U0fdUn`K9yD7AX?>Ue8;p!;HyoR{T;==Covcn%tI;4u zp!OsK8<}I(>W%rZeu-cT@c38&?L;_ovd}($~tMs=?1)C z&rk6l4wl68(+mUo@qC40EMxOC3`5=WJR#Je(+&!pRCdNefgzsX<+(9Sv=%lEQI8~sFwu6I{|cRg7p3GG170B7Uz>2Z(-u_=vD zOJH1`=A9JsS&*2Ee@b(**+|}9fB3+Xh@CGQ6SF!_Mg=TNgmM!nv%H#MPzZLzHsJKP zL|~&8n`Io`^9761(dgkjexn6}?n=(g_2;CiJu9YrgH=$jHamttyT`y*%jZ)oS*&MJ zNqNZ31`u{CU)4k4J3bv2;l1qHV$OUlh@hfBZR~99XAS%tzi;M9HnP@1t&y)-$#Pn+ z-)W_X`?fuljJ>rB9D7TxP1{VXhJL-Q`ZZDgVQVJ~k9Bb}B^dH{QS

w!EKhKQ;^R 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 KvIWq-f&T*ykgf^< literal 1292137 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�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 bwz?Bb-`rTNMFo8AsZ@T2FcXIN#Tx!$wbzSxk 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 iwT@4x> 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%0DI9aicfLhZ;=5+D4XSNS-!8!*M%UU}XF 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≥O@Ltc<8kgo7D>T7dPNet->QUOe&| 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 z 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%0AepE@);$WSeKHgxbY9eAZ21k$Vqphcg8 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 ZBYPq7uqu^lGjr&sMXxF!W*6Q^=YRNP1it_P diff --git a/extract-hackage-info/src/Hoogle.hs b/extract-hackage-info/src/Hoogle.hs new file mode 100644 index 0000000..f4fccf3 --- /dev/null +++ b/extract-hackage-info/src/Hoogle.hs @@ -0,0 +1,113 @@ +{-# LANGUAGE OverloadedStrings #-} + +-- | Parse Hoogle txt files. +module Hoogle + ( Package (..), + Module (..), + Declaration (..), + parsePackage, + ) +where + +import Control.Monad (void) +import Data.Char (isAlphaNum) +import Data.Foldable (asum) +import Data.Text (Text) +import Data.Void (Void) +import Distribution.ModuleName (ModuleName) +import Distribution.ModuleName qualified as ModuleName +import Distribution.Types.PackageName (PackageName, mkPackageName) +import Ormolu.Fixity +import Ormolu.Fixity.Parser (pFixity, pOperator) +import Text.Megaparsec +import Text.Megaparsec.Char + +type Parser = Parsec Void Text + +-- | Parsed Hoogle package. +data Package = Package + { packageName :: PackageName, + modules :: [Module] + } + deriving (Eq, Show) + +-- | Parsed Hoogle module. +data Module = Module + { hmModuleName :: ModuleName, + hmDeclarations :: [Declaration] + } + deriving (Eq, Show) + +-- | The types of declarations in the Hoogle files we are interested in. +data Declaration + = Symbol OpName + | Fixity OpName FixityInfo + deriving (Eq, Show) + +-- | Parse Hoogle package file. +parsePackage :: + -- | File name + FilePath -> + -- | Text to parse + Text -> + Either (ParseErrorBundle Text Void) Package +parsePackage = parse pPackage + +-- | Parse a package. It starts with the word @\@package@ followed by the +-- name of the package. A package contains zero or more modules. +pPackage :: Parser Package +pPackage = do + void (skipManyTill (pLineWithoutEol <* eol) (string "@package")) + hspace1 + let isPackageNameConstituent x = x == '-' || isAlphaNum x + packageName <- some (satisfy isPackageNameConstituent) "package name" + hspace + void eol + skipManyTill + (pLineWithoutEol <* eol) + (lookAhead (void (string "module ") <|> eof)) + modules <- many pModule + eof + return (Package (mkPackageName packageName) modules) + +-- | Match a module declaration. It starts with the word @module@ followed +-- by one or more spaces and a module identifier. A module contains +-- 'pDeclaration's and any other arbitrary lines. +pModule :: Parser Module +pModule = do + void (string "module") + hspace1 + let isModuleNameConstituent x = + x == '.' || x == '_' || x == '\'' || isAlphaNum x + moduleName <- some (satisfy isModuleNameConstituent) "module name" + hspace + void eol + declarations <- mconcat <$> sepEndBy pDeclaration eol + return (Module (ModuleName.fromString moduleName) declarations) + +-- | Here we are interested in two kinds of declarations: +-- +-- > Symbol declaration, e.g.: +-- > ($) :: (a -> b) -> a -> b +-- > +-- > Fixity declaration, e.g.: +-- > infixr 0 $ +-- +-- We discard everything else while being careful to stop in front of the +-- beginning of a new module. +pDeclaration :: Parser [Declaration] +pDeclaration = + asum + [ fmap (uncurry Fixity) <$> try pFixity, + pure . Symbol <$> try pSymbolDecl, + [] <$ (notFollowedBy (string "module ") *> pLineWithoutEol) + ] + where + pSymbolDecl = do + void (string "(") + r <- pOperator + void (string ") :: ") + r <$ pLineWithoutEol + +pLineWithoutEol :: Parser () +pLineWithoutEol = void (takeWhileP Nothing (/= '\n')) diff --git a/extract-hackage-info/src/Main.hs b/extract-hackage-info/src/Main.hs index e1e52a8..6f666d0 100644 --- a/extract-hackage-info/src/Main.hs +++ b/extract-hackage-info/src/Main.hs @@ -8,74 +8,39 @@ module Main (main) where import Control.Exception import Control.Monad -import Control.Monad.IO.Class (liftIO) import Data.Binary qualified as Binary import Data.Binary.Put qualified as Binary import Data.ByteString qualified as ByteString import Data.ByteString.Lazy qualified as BL import Data.List -import Data.List.NonEmpty qualified as NE import Data.Map.Strict (Map) import Data.Map.Strict qualified as Map import Data.Maybe -import Data.Semigroup (sconcat) -import Data.Set qualified as Set import Data.Text (Text) -import Data.Text qualified as T import Data.Text.Encoding (decodeLatin1) import Data.Text.IO qualified as TIO -import Data.Void (Void) -import Distribution.Types.PackageName (PackageName, mkPackageName, unPackageName) +import Distribution.ModuleName (ModuleName) +import Distribution.Types.PackageName (PackageName) import Formatting +import Hoogle qualified import Options.Applicative -import Ormolu.Fixity hiding (packageToOps, packageToPopularity) -import Ormolu.Fixity.Parser +import Ormolu.Fixity import System.Directory (doesDirectoryExist, listDirectory) import System.Exit (ExitCode (ExitFailure), exitWith) -import System.FilePath (makeRelative, splitPath, ()) -import System.IO (stderr, stdout) -import Text.HTML.TagSoup (Tag (TagText), parseTags) -import Text.HTML.TagSoup.Match (tagCloseLit, tagOpenLit) -import Text.Megaparsec qualified as MP -import Text.Megaparsec.Char qualified as MP +import System.FilePath (()) +import System.IO (hPutStrLn, stderr, stdout) +import Text.Megaparsec.Error (errorBundlePretty) defaultOutputPath :: FilePath -defaultOutputPath = "extract-hackage-info/hackage-info.bin" - --- | This fixity info is used when we find an operator declaration in a --- package, but no matching fixity declaration. -unspecifiedFixityInfo :: FixityInfo -unspecifiedFixityInfo = FixityInfo (Just InfixL) 9 9 +defaultOutputPath = "hackage-info.bin" -- | Contains the database being constructed during the processing of Hoogle -- files. -data State = State - { -- | packageName -map-> (operatorName -map-> fixityDefinitions) - -- we keep a list of fixity definitions for each pair - -- (packageName, operatorName) because sometimes a package itself has - -- conflicting fixity declarations for a same operator - -- (called self-conflicts), and we want to emit a warning message later - -- for these - sPackageToOps :: Map PackageName (Map OpName [FixityInfo]), - -- | How many Hoogle files have been processed - sProcessedFiles :: Int +newtype State = State + { -- | Hackage info + sHackageInfo :: Map PackageName (Map ModuleName (Map OpName [FixityInfo])) } - deriving (Eq) - --- | Exit with an error message. -exitWithMsg :: Text -> IO () -exitWithMsg t = do - TIO.hPutStrLn stderr t - exitWith (ExitFailure 1) - -showT :: (Show a) => a -> Text -showT = T.pack . show - -readT :: (Read a) => Text -> a -readT = read . T.unpack - -indentLines :: [Text] -> [Text] -indentLines = fmap (" " <>) + deriving (Eq, Show) -- | Recursively list all files inside directory. walkDir :: @@ -91,33 +56,8 @@ walkDir top = do False -> return [path] return (concat paths) --- | Extract the package name from a path to a Hoogle file. -getPackageName :: - -- | Path to the Hoogle directory containing all package directories - FilePath -> - -- | Path to the Hoogle file - FilePath -> - -- | Package name extracted from the Hoogle file - IO PackageName -getPackageName rootPath filePath = do - unless (rootPath `isPrefixOf` filePath) $ - exitWithMsg $ - sformat (string % " does not start with " % string) rootPath filePath - let packageName = - stripSuffix' "/" $ - T.pack . head . splitPath $ - makeRelative rootPath filePath - stripSuffix' suffix txt = fromMaybe txt $ T.stripSuffix suffix txt - when (T.null packageName) $ - exitWithMsg $ - sformat - ("Extracted package name is empty for " % string % " (base path = " % string % ")") - filePath - rootPath - pure . mkPackageName . T.unpack $ packageName - --- | Try to read the specified file using utf-8 encoding first, --- and latin1 otherwise. +-- | Try to read the specified file using utf-8 encoding first, and latin1 +-- otherwise. readFileUtf8Latin1 :: FilePath -> IO Text readFileUtf8Latin1 filePath = catch @IOException (TIO.readFile filePath) $ \e -> do @@ -128,269 +68,115 @@ readFileUtf8Latin1 filePath = catch @IOException (TIO.readFile filePath) $ e decodeLatin1 <$> ByteString.readFile filePath --- | When a symbol declaration is encountered, --- e.g. @(+) :: Num a => a -> a -> a@, update the fixity map accordingly. -onSymbolDecl :: - -- | Name of the package in which the symbol declaration was found - PackageName -> - -- | Symbol name extracted from the symbol declaration in the Hoogle file - OpName -> - -- | Current state - State -> - -- | Updated state - State -onSymbolDecl packageName declOpName state@State {..} = - let sPackageToOps' = case Map.lookup packageName sPackageToOps of - Nothing -> - Map.insert - packageName - (Map.singleton declOpName []) - sPackageToOps - Just packageFixityMap -> - case Map.lookup declOpName packageFixityMap of - Nothing -> - Map.insert - packageName - (Map.insert declOpName [] packageFixityMap) - sPackageToOps - Just _ -> sPackageToOps - in state {sPackageToOps = sPackageToOps'} - --- | When a fixity declaration is encountered, e.g. @infixr 5 :@, update the --- fixity map accordingly. -onFixityDecl :: - -- | Name of the package in which the symbol declaration was found - PackageName -> - -- | Tuple of operator name and fixity info - (OpName, FixityInfo) -> - -- | Current state - State -> - -- | Updated state - State -onFixityDecl packageName (opName, fixDecl) state@State {..} = - let sPackageToOps' = case Map.lookup packageName sPackageToOps of - Nothing -> - Map.insert - packageName - (Map.singleton opName [fixDecl]) - sPackageToOps - Just packageFixityMap -> - case fromMaybe [] $ Map.lookup opName packageFixityMap of - fixDecls - | fixDecl `elem` fixDecls -> - sPackageToOps - fixDecls -> - Map.insert - packageName - ( Map.insert - opName - (fixDecl : fixDecls) - packageFixityMap - ) - sPackageToOps - in state {sPackageToOps = sPackageToOps'} - --- | Represent an operator for which we found conflicting definitions --- originating from the same package. -data SelfConflict = SelfConflict - { scPackageName :: PackageName, - scOperatorName :: OpName, - scConflictingDefs :: [FixityInfo] - } - --- | From a map allowing self conflicts, build the final map --- packageName -map-> (operatorName -map-> fixityInfo) --- (where conflicting definitions from self-conflicts are merged), and also --- return the list of self-conflicts -finalizePackageToOps :: - Map PackageName (Map OpName [FixityInfo]) -> - (Map PackageName (Map OpName FixityInfo), [SelfConflict]) -finalizePackageToOps hashmap = - ( Map.map (Map.map finalize) hashmap, - concatMap injectFst - . Map.toList - . Map.map (Map.toList . Map.filter hasConflict) - $ hashmap - ) - where - finalize = \case - [] -> unspecifiedFixityInfo - fs -> sconcat . NE.fromList $ fs - hasConflict = (> 1) . length - injectFst (packageName, opFixs) = - uncurry (SelfConflict packageName) <$> opFixs - -- | Scrap all fixity data from a Hoogle file, and update the state -- accordingly. extractFixitiesFromFile :: - -- | Path to the Hoogle directory containing all package directories - FilePath -> -- | Previous state State -> -- | Path of the Hoogle file to process FilePath -> -- | Updated state IO State -extractFixitiesFromFile - hoogleDatabasePath - state@State {sProcessedFiles} - filePath = do - fileContent <- liftIO . readFileUtf8Latin1 $ filePath - packageName <- liftIO $ getPackageName hoogleDatabasePath filePath - let onDecl (SymbolDecl opName) = onSymbolDecl packageName opName - onDecl (FixityDecl opInfo) = onFixityDecl packageName opInfo - state' = foldl' (flip onDecl) state $ parseDecls fileContent - return state' {sProcessedFiles = sProcessedFiles + 1} +extractFixitiesFromFile state filePath = do + fileContent <- readFileUtf8Latin1 filePath + case Hoogle.parsePackage filePath fileContent of + Left errorBundle -> do + hPutStrLn stderr (errorBundlePretty errorBundle) + exitWith (ExitFailure 1) + Right (Hoogle.Package packageName modules) -> + return $ + let handleModule st (Hoogle.Module moduleName decls) = + let onDecl = \case + Hoogle.Symbol opName -> + registerOp packageName moduleName opName Nothing + Hoogle.Fixity opName fixityInfo -> + registerOp packageName moduleName opName (Just fixityInfo) + in foldl' (flip onDecl) st decls + in foldl' handleModule state modules --- | The types of declarations in the Hoogle files we are interested in. -data DeclType - = -- | See third argument of 'onSymbolDecl'. - SymbolDecl OpName - | -- | See third argument of 'onFixityDecl'. - FixityDecl (OpName, FixityInfo) +-- | Add fixity info for an operator. +registerOp :: + -- | Name of the package in which the symbol declaration was found + PackageName -> + -- | Name of the module in which the symbol declaration was found + ModuleName -> + -- | Symbol name extracted from the symbol declaration in the Hoogle file + OpName -> + -- | Fixity info, if available + Maybe FixityInfo -> + -- | Current state + State -> + -- | Updated state + State +registerOp packageName moduleName opName fixityInfo state@State {..} = + let fixityInfoList = maybeToList fixityInfo + sHackageInfo' = Map.alter alterPackage packageName sHackageInfo + alterPackage = \case + Nothing -> + Just (Map.singleton moduleName (Map.singleton opName fixityInfoList)) + Just pkg -> Just (Map.alter alterModule moduleName pkg) + alterModule = \case + Nothing -> Just (Map.singleton opName fixityInfoList) + Just mdl -> Just (Map.alter alterOp opName mdl) + alterOp = \case + Nothing -> Just fixityInfoList + Just finfos -> Just (fixityInfoList ++ finfos) + in state {sHackageInfo = sHackageInfo'} --- | Parse all 'DeclType's in some file content. -parseDecls :: Text -> [DeclType] -parseDecls = either mempty id . MP.runParser pDecls "" +-- | Build the final operator map. +finalizePackageToOps :: + Map PackageName (Map ModuleName (Map OpName [FixityInfo])) -> + Map PackageName (Map ModuleName (Map OpName FixityInfo)) +finalizePackageToOps = Map.map (Map.map (Map.map finalize)) where - pDecls = mconcat <$> pDecl `MP.sepEndBy` MP.newline - pDecl :: MP.Parsec Void Text [DeclType] - pDecl = - asum - [ fmap FixityDecl <$> MP.try pFixity, - pure . SymbolDecl <$> MP.try pSymbolDecl, - [] <$ pRemainingLine - ] - where - pRemainingLine = MP.takeWhileP Nothing (/= '\n') - pSymbolDecl = - MP.char '(' *> pOperator <* MP.chunk ") :: " <* pRemainingLine + finalize = \case + [] -> defaultFixityInfo + -- In some very rare and exceptional cases there seem to be multiple + -- conflicting fixity definitions. I think it is acceptable to be + -- somewhat arbitrary in that case. + (x : _) -> x -- | Process the whole Hoogle database and return a map associating each -- package name to its fixity map. extractHoogleInfo :: - -- | Path to the hoogle directory containing all package directories + -- | Path to the Hoogle directory containing all package directories FilePath -> - IO (Map PackageName FixityMap) + IO (Map PackageName (Map ModuleName (Map OpName FixityInfo))) extractHoogleInfo hoogleDatabasePath = do hoogleFiles <- walkDir hoogleDatabasePath State {..} <- foldM - (extractFixitiesFromFile hoogleDatabasePath) - (State {sPackageToOps = Map.empty, sProcessedFiles = 0}) + extractFixitiesFromFile + (State Map.empty) hoogleFiles - hprintLn - stdout - (int % " Hoogle files processed!") - sProcessedFiles - let (packageToOps, selfConflicts) = finalizePackageToOps sPackageToOps - displayFixityStats packageToOps - displaySelfConflicts selfConflicts - return packageToOps - --- | Warn the user about self-conflicts. -displaySelfConflicts :: [SelfConflict] -> IO () -displaySelfConflicts selfConflicts = - unless (null selfConflicts) $ do - hprintLn - stdout - ("Found " % int % " conflicting declarations within packages themselves:") - (length selfConflicts) - TIO.putStrLn $ T.intercalate "\n" selfConflictLines - where - selfConflictLines = concat $ showSc <$> sortedSelfConflicts - sortedSelfConflicts = - sortBy - ( \(SelfConflict p1 o1 _) (SelfConflict p2 o2 _) -> - compare (p1, o1) (p2, o2) - ) - selfConflicts - showSc SelfConflict {scPackageName, scOperatorName, scConflictingDefs} = - sformat - ("(in " % string % ") " % string) - (unPackageName scPackageName) - (T.unpack $ unOpName scOperatorName) - : indentLines (showT <$> scConflictingDefs) + let sHackageInfoFinalized = finalizePackageToOps sHackageInfo + displayFixityStats sHackageInfoFinalized + return sHackageInfoFinalized -- | Display stats about the Hoogle database processing. -displayFixityStats :: Map PackageName FixityMap -> IO () -displayFixityStats packageToOps = +displayFixityStats :: + Map PackageName (Map ModuleName (Map OpName FixityInfo)) -> + IO () +displayFixityStats packages = hprintLn stdout ( "Found " % int % " operator declarations across " % int - % " packages for a total of " - % int - % " distinct operators" + % " packages" ) - declCount - packagesCount - distinctOpCount + declarationCount + packageCount where - packagesCount = Map.size packageToOps - declCount = sum $ Map.size <$> fixityMaps - distinctOpCount = - Set.size . Set.fromList . concat $ - Map.keys <$> fixityMaps - fixityMaps = Map.elems packageToOps - --- | Extract package download counts from the hackage HTML page. -extractHackageInfo :: - -- | Path to the Hackage HTML page - FilePath -> - -- | Map packageName -> download count - IO (Map PackageName Int) -extractHackageInfo filePath = do - content <- TIO.readFile filePath - let soup = filterBlankTags $ parseTags content - tableBody = - drop 7 $ - takeWhile (not . tagCloseLit "table") $ - dropWhile (not . tagOpenLit "table" (const True)) soup - processRow tags = case extractText <$> groupOn "td" tags of - rawName : rawDlCount : _ -> return $ Just (mkPackageName name, dlCount) - where - name = T.unpack . T.strip . head $ T.split (== ' ') rawName - dlCount = readT $ T.strip rawDlCount :: Int - _ -> do - hprintLn - stdout - ("Invalid line: " % stext) - (T.intercalate " " $ showT <$> tags) - return Nothing - extractText tags = T.intercalate "" $ extractText' <$> tags - extractText' = \case - TagText t -> t - _ -> "" - groupOn _ [] = [] - groupOn selector (_ : ts) = - let (tags, remTags) = break (tagOpenLit selector (const True)) ts - in init tags : groupOn selector remTags - filterBlankTags = - filter - ( \case - TagText t | isBlank t -> False - _ -> True - ) - isBlank t = null $ dropWhile (`elem` [' ', '\t', '\n']) (T.unpack t) - result <- Map.fromList . catMaybes <$> traverse processRow (groupOn "tr" tableBody) - hprintLn - stdout - ("Found popularity information for " % int % " packages") - (Map.size result) - return result - --- | Limit the number of items in a map. -limitMap :: (Ord k) => Int -> Map k v -> Map k v -limitMap n = Map.fromList . take n . Map.toList + packageCount = Map.size packages + modulesPerPackage = Map.elems packages + declarationsPerModule = concatMap Map.elems modulesPerPackage + declarationCount = sum (Map.size <$> declarationsPerModule) data Config = Config { cfgHoogleDatabasePath :: FilePath, - cfgHackageDatabasePath :: FilePath, - cfgOutputPath :: FilePath, - cfgDebugLimit :: Maybe Int + cfgOutputPath :: FilePath } deriving (Eq, Show) @@ -407,35 +193,16 @@ configParserInfo = info (helper <*> configParser) fullDesc \curl https://hackage.haskell.org/packages/hoogle.tar.gz | \ \tar -xz -C hoogle-database" ] - <*> (strArgument . mconcat) - [ metavar "HACKAGE_DATABASE_PATH", - help - "Download: curl https://hackage.haskell.org/packages/browse \ - \ -o hackage-database.html" - ] <*> (strOption . mconcat) [ short 'o', long "output-path", metavar "OUTPUT_PATH", value defaultOutputPath ] - <*> (option (Just <$> auto) . mconcat) - [ short 'd', - long "debug-limit", - metavar "N", - value Nothing - ] main :: IO () main = do Config {..} <- execParser configParserInfo - packageToOps <- extractHoogleInfo cfgHoogleDatabasePath - packageToPop <- extractHackageInfo cfgHackageDatabasePath - let (packageToOps', packageToPop') = case cfgDebugLimit of - Nothing -> (packageToOps, packageToPop) - Just n -> - ( limitMap n <$> limitMap n packageToOps, - limitMap n packageToPop - ) + hackageInfo' <- extractHoogleInfo cfgHoogleDatabasePath BL.writeFile cfgOutputPath . Binary.runPut . Binary.put $ - HackageInfo packageToOps' packageToPop' + HackageInfo hackageInfo' diff --git a/fixity-tests/.ormolu b/fixity-tests/.ormolu index 7299a3b..04a1f76 100644 --- a/fixity-tests/.ormolu +++ b/fixity-tests/.ormolu @@ -1,2 +1,2 @@ infixr 8 .= -infixr 5 # +infixr 5 #, :> diff --git a/fixity-tests/default.nix b/fixity-tests/default.nix index 6d7b20e..19226b5 100644 --- a/fixity-tests/default.nix +++ b/fixity-tests/default.nix @@ -13,15 +13,17 @@ cp test-0-input.hs test-0-no-extra-info.hs ormolu --check-idempotence --mode inplace --no-cabal test-0-no-extra-info.hs cp test-0-input.hs test-0-with-fixity-info-manual.hs - ormolu --check-idempotence --mode inplace --no-cabal --fixity 'infixr 8 .=' test-0-with-fixity-info-manual.hs + ormolu --check-idempotence --mode inplace --no-cabal --fixity 'infixr 8 .=' --fixity 'infixr 5 :>' test-0-with-fixity-info-manual.hs cp test-0-input.hs test-0-with-fixity-info-dotormolu.hs - ormolu --check-idempotence --mode inplace test-0-with-fixity-info-dotormolu.hs + ormolu --check-idempotence --mode inplace -p base test-0-with-fixity-info-dotormolu.hs cp test-1-input.hs test-1-no-extra-info.hs ormolu --check-idempotence --mode inplace --no-cabal test-1-no-extra-info.hs cp test-1-input.hs test-1-with-fixity-info-manual.hs ormolu --check-idempotence --mode inplace --no-cabal --fixity 'infixr 8 .=' --fixity 'infixr 5 #' test-1-with-fixity-info-manual.hs cp test-1-input.hs test-1-with-fixity-info-dotormolu.hs - ormolu --check-idempotence --mode inplace test-1-with-fixity-info-dotormolu.hs + ormolu --check-idempotence --mode inplace -p base test-1-with-fixity-info-dotormolu.hs + cp test-1-input.hs test-1-with-fixity-info-weird-overwrite.hs + ormolu --check-idempotence --mode inplace -p base --fixity "infixr 5 $" test-1-with-fixity-info-weird-overwrite.hs ''; checkPhase = '' echo test-0-no-extra-info.hs @@ -36,6 +38,8 @@ diff --color=always test-1-with-fixity-info-expected.hs test-1-with-fixity-info-manual.hs echo test-1-with-fixity-info-dotormolu.hs diff --color=always test-1-with-fixity-info-expected.hs test-1-with-fixity-info-dotormolu.hs + echo test-1-with-fixity-info-weird-overwrite.hs + diff --color=always test-1-with-fixity-info-weird-overwrite-expected.hs test-1-with-fixity-info-weird-overwrite.hs ''; installPhase = '' mkdir "$out" diff --git a/fixity-tests/test-0-input.hs b/fixity-tests/test-0-input.hs index c6d5dfe..a01573d 100644 --- a/fixity-tests/test-0-input.hs +++ b/fixity-tests/test-0-input.hs @@ -1,7 +1,7 @@ instance A.ToJSON UpdateTable where toJSON a = A.object $ "TableName" .= updateTableName a - : "ProvisionedThroughput" .= updateProvisionedThroughput a - : case updateGlobalSecondaryIndexUpdates a of + :> "ProvisionedThroughput" .= updateProvisionedThroughput a + :> case updateGlobalSecondaryIndexUpdates a of [] -> [] l -> [ "GlobalSecondaryIndexUpdates" .= l ] diff --git a/fixity-tests/test-0-no-extra-info-expected.hs b/fixity-tests/test-0-no-extra-info-expected.hs index 838ecd7..c262974 100644 --- a/fixity-tests/test-0-no-extra-info-expected.hs +++ b/fixity-tests/test-0-no-extra-info-expected.hs @@ -3,8 +3,8 @@ instance A.ToJSON UpdateTable where A.object $ "TableName" .= updateTableName a - : "ProvisionedThroughput" + :> "ProvisionedThroughput" .= updateProvisionedThroughput a - : case updateGlobalSecondaryIndexUpdates a of + :> case updateGlobalSecondaryIndexUpdates a of [] -> [] l -> ["GlobalSecondaryIndexUpdates" .= l] diff --git a/fixity-tests/test-0-with-fixity-info-expected.hs b/fixity-tests/test-0-with-fixity-info-expected.hs index b3fec19..a40aaee 100644 --- a/fixity-tests/test-0-with-fixity-info-expected.hs +++ b/fixity-tests/test-0-with-fixity-info-expected.hs @@ -2,7 +2,7 @@ instance A.ToJSON UpdateTable where toJSON a = A.object $ "TableName" .= updateTableName a - : "ProvisionedThroughput" .= updateProvisionedThroughput a - : case updateGlobalSecondaryIndexUpdates a of + :> "ProvisionedThroughput" .= updateProvisionedThroughput a + :> case updateGlobalSecondaryIndexUpdates a of [] -> [] l -> ["GlobalSecondaryIndexUpdates" .= l] diff --git a/fixity-tests/test-1-with-fixity-info-weird-overwrite-expected.hs b/fixity-tests/test-1-with-fixity-info-weird-overwrite-expected.hs new file mode 100644 index 0000000..6a1b3be --- /dev/null +++ b/fixity-tests/test-1-with-fixity-info-weird-overwrite-expected.hs @@ -0,0 +1,9 @@ +lenses = + Just + $ M.fromList + $ "type" .= ("user.connection" :: Text) + # "connection" .= uc + # "user" .= case name of + Just n -> Just $ object ["name" .= n] + Nothing -> Nothing + # [] diff --git a/ormolu-live/app/Main.hs b/ormolu-live/app/Main.hs index 7c110cd..afa2b35 100644 --- a/ormolu-live/app/Main.hs +++ b/ormolu-live/app/Main.hs @@ -24,7 +24,6 @@ import Ormolu import Ormolu.Config qualified as O import Ormolu.Exception qualified as O import Ormolu.Fixity qualified as O -import Ormolu.Fixity.Internal qualified as O import Ormolu.Parser qualified as O import Ormolu.Parser.Result as O import Ormolu.Terminal qualified as O @@ -56,7 +55,7 @@ foreign export ccall evaluateFixityInfo :: IO () evaluateFixityInfo :: IO () evaluateFixityInfo = - void . E.evaluate $ force (O.packageToOps, O.packageToPopularity) + void . E.evaluate $ force O.hackageInfo -- actual logic @@ -97,8 +96,9 @@ format Input {..} = do prettyAST :: Config RegionIndices -> Text -> IO Text prettyAST cfg src = do + let pfixityMap = O.packageFixityMap O.defaultDependencies (_, eSnippets) <- - O.parseModule cfgWithDeltas (O.LazyFixityMap []) "" src + O.parseModule cfgWithDeltas pfixityMap "" src pure case eSnippets of Left e -> T.pack $ show e Right snippets -> T.unlines $ showSnippet <$> snippets diff --git a/ormolu.cabal b/ormolu.cabal index 379f3b6..2e66179 100644 --- a/ormolu.cabal +++ b/ormolu.cabal @@ -78,6 +78,7 @@ library Ormolu.Printer.Meat.Type Ormolu.Printer.Operators Ormolu.Fixity + Ormolu.Fixity.Imports Ormolu.Fixity.Internal Ormolu.Fixity.Parser Ormolu.Fixity.Printer @@ -161,7 +162,7 @@ test-suite tests Ormolu.Diff.TextSpec Ormolu.Fixity.ParserSpec Ormolu.Fixity.PrinterSpec - Ormolu.HackageInfoSpec + Ormolu.FixitySpec Ormolu.OpTreeSpec Ormolu.Parser.OptionsSpec Ormolu.Parser.ParseFailureSpec @@ -179,6 +180,7 @@ test-suite tests ghc-lib-parser >=9.6 && <9.7, hspec >=2.0 && <3.0, hspec-megaparsec >=2.2, + megaparsec >=9.0, ormolu, path >=0.6 && <0.10, path-io >=1.4.2 && <2.0, diff --git a/region-tests/default.nix b/region-tests/default.nix index 54b9961..fe04d0f 100644 --- a/region-tests/default.nix +++ b/region-tests/default.nix @@ -13,19 +13,19 @@ cp src.hs result-all-implicit.hs ormolu --check-idempotence --mode inplace result-all-implicit.hs cp src.hs result-all-explicit.hs - ormolu --check-idempotence --mode inplace --start-line 1 --end-line 18 result-all-explicit.hs + ormolu --check-idempotence --mode inplace --start-line 1 --end-line 23 result-all-explicit.hs cp src.hs result-only-start.hs ormolu --check-idempotence --mode inplace --start-line 1 result-only-start.hs cp src.hs result-only-end.hs - ormolu --check-idempotence --mode inplace --end-line 18 result-only-end.hs - cp src.hs result-6-7.hs - ormolu --check-idempotence --mode inplace --start-line 6 --end-line 7 result-6-7.hs - cp src.hs result-6-8.hs - ormolu --check-idempotence --mode inplace --start-line 6 --end-line 8 result-6-8.hs - cp src.hs result-9-12.hs - ormolu --check-idempotence --mode inplace --start-line 9 --end-line 12 result-9-12.hs - cp src.hs result-17-18.hs - ormolu --check-idempotence --mode inplace --start-line 17 --end-line 18 result-17-18.hs + ormolu --check-idempotence --mode inplace --end-line 23 result-only-end.hs + cp src.hs result-8-9.hs + ormolu --check-idempotence --mode inplace --start-line 8 --end-line 9 result-8-9.hs + cp src.hs result-8-10.hs + ormolu --check-idempotence --mode inplace --start-line 8 --end-line 10 result-8-10.hs + cp src.hs result-11-14.hs + ormolu --check-idempotence --mode inplace --start-line 11 --end-line 14 result-11-14.hs + cp src.hs result-19-23.hs + ormolu --check-idempotence --mode inplace --start-line 19 --end-line 23 result-19-23.hs ''; checkPhase = '' echo result-all-implicit.hs @@ -36,14 +36,14 @@ diff --color=always expected-result-all.hs result-only-start.hs echo result-only-end.hs diff --color=always expected-result-all.hs result-only-end.hs - echo result-6-7.hs - diff --color=always expected-result-6-7.hs result-6-7.hs - echo result-6-8.hs - diff --color=always expected-result-6-8.hs result-6-8.hs - echo result-9-12.hs - diff --color=always expected-result-9-12.hs result-9-12.hs - echo result-17-18.hs - diff --color=always expected-result-17-18.hs result-17-18.hs + echo result-8-9.hs + diff --color=always expected-result-8-9.hs result-8-9.hs + echo result-8-10.hs + diff --color=always expected-result-8-10.hs result-8-10.hs + echo result-11-14.hs + diff --color=always expected-result-11-14.hs result-11-14.hs + echo result-19-23.hs + diff --color=always expected-result-19-23.hs result-19-23.hs ''; installPhase = '' mkdir "$out" diff --git a/region-tests/expected-result-9-12.hs b/region-tests/expected-result-11-14.hs similarity index 67% rename from region-tests/expected-result-9-12.hs rename to region-tests/expected-result-11-14.hs index ad791d8..f6c9710 100644 --- a/region-tests/expected-result-9-12.hs +++ b/region-tests/expected-result-11-14.hs @@ -3,6 +3,8 @@ module Foo ( foo, bar, baz) where +import Control.Category + foo :: Int foo = 5 @@ -14,4 +16,7 @@ bar = \case baz :: Int -> Int baz = gege where - gege = 1 + 2 + gege = 1 + >>> zeze + + 2 + >>> nona diff --git a/region-tests/expected-result-17-18.hs b/region-tests/expected-result-19-23.hs similarity index 68% rename from region-tests/expected-result-17-18.hs rename to region-tests/expected-result-19-23.hs index a07a660..3297acf 100644 --- a/region-tests/expected-result-17-18.hs +++ b/region-tests/expected-result-19-23.hs @@ -3,6 +3,8 @@ module Foo ( foo, bar, baz) where +import Control.Category + foo :: Int foo = 5 @@ -14,4 +16,8 @@ bar = \case baz :: Int -> Int baz = gege where - gege = 1 + 2 + gege = + 1 + >>> zeze + + 2 + >>> nona diff --git a/region-tests/expected-result-6-7.hs b/region-tests/expected-result-8-10.hs similarity index 68% rename from region-tests/expected-result-6-7.hs rename to region-tests/expected-result-8-10.hs index 13b09b2..147655b 100644 --- a/region-tests/expected-result-6-7.hs +++ b/region-tests/expected-result-8-10.hs @@ -3,6 +3,8 @@ module Foo ( foo, bar, baz) where +import Control.Category + foo :: Int foo = 5 @@ -14,4 +16,7 @@ bar = \case baz :: Int -> Int baz = gege where - gege = 1 + 2 + gege = 1 + >>> zeze + + 2 + >>> nona diff --git a/region-tests/expected-result-6-8.hs b/region-tests/expected-result-8-9.hs similarity index 68% rename from region-tests/expected-result-6-8.hs rename to region-tests/expected-result-8-9.hs index 13b09b2..147655b 100644 --- a/region-tests/expected-result-6-8.hs +++ b/region-tests/expected-result-8-9.hs @@ -3,6 +3,8 @@ module Foo ( foo, bar, baz) where +import Control.Category + foo :: Int foo = 5 @@ -14,4 +16,7 @@ bar = \case baz :: Int -> Int baz = gege where - gege = 1 + 2 + gege = 1 + >>> zeze + + 2 + >>> nona diff --git a/region-tests/expected-result-all.hs b/region-tests/expected-result-all.hs index 65b2f01..e8a60b4 100644 --- a/region-tests/expected-result-all.hs +++ b/region-tests/expected-result-all.hs @@ -7,6 +7,8 @@ module Foo ) where +import Control.Category + foo :: Int foo = 5 @@ -18,4 +20,8 @@ bar = \case baz :: Int -> Int baz = gege where - gege = 1 + 2 + gege = + 1 + >>> zeze + + 2 + >>> nona diff --git a/region-tests/src.hs b/region-tests/src.hs index 99730ff..059f4f8 100644 --- a/region-tests/src.hs +++ b/region-tests/src.hs @@ -3,6 +3,8 @@ module Foo ( foo, bar, baz) where +import Control.Category + foo :: Int foo = 5 @@ -14,4 +16,7 @@ bar = \case baz :: Int -> Int baz = gege where - gege = 1 + 2 + gege = 1 + >>> zeze + + 2 + >>> nona diff --git a/src/Ormolu.hs b/src/Ormolu.hs index 616ad1f..9a1dec2 100644 --- a/src/Ormolu.hs +++ b/src/Ormolu.hs @@ -25,7 +25,7 @@ module Ormolu CabalUtils.getCabalInfoForSourceFile, -- * Fixity overrides - FixityMap, + FixityOverrides, getFixityOverridesForSourceFile, -- * Working with exceptions @@ -38,6 +38,7 @@ import Control.Exception import Control.Monad import Control.Monad.IO.Class (MonadIO (..)) import Data.Map.Strict qualified as Map +import Data.Maybe (fromMaybe) import Data.Set qualified as Set import Data.Text (Text) import Data.Text qualified as T @@ -85,11 +86,7 @@ ormolu cfgWithIndices path originalInput = do let totalLines = length (T.lines originalInput) cfg = regionIndicesToDeltas totalLines <$> cfgWithIndices fixityMap = - -- It is important to keep all arguments (but last) of - -- 'buildFixityMap' constant (such as 'defaultStrategyThreshold'), - -- otherwise it is going to break memoization. - buildFixityMap - defaultStrategyThreshold + packageFixityMap (cfgDependencies cfg) -- memoized on the set of dependencies (warnings, result0) <- parseModule' cfg fixityMap OrmoluParsingFailed path originalInput @@ -180,7 +177,7 @@ refineConfig :: -- | Cabal info for the file, if available Maybe CabalUtils.CabalInfo -> -- | Fixity overrides, if available - Maybe FixityMap -> + Maybe FixityOverrides -> -- | 'Config' to refine Config region -> -- | Refined 'Config' @@ -189,23 +186,25 @@ refineConfig sourceType mcabalInfo mfixityOverrides rawConfig = rawConfig { cfgDynOptions = cfgDynOptions rawConfig ++ dynOptsFromCabal, cfgFixityOverrides = - Map.unionWith (<>) (cfgFixityOverrides rawConfig) fixityOverrides, + FixityOverrides $ + Map.union + (unFixityOverrides fixityOverrides) + (unFixityOverrides (cfgFixityOverrides rawConfig)), cfgDependencies = Set.union (cfgDependencies rawConfig) depsFromCabal, cfgSourceType = sourceType } where - fixityOverrides = - case mfixityOverrides of - Nothing -> Map.empty - Just x -> x + fixityOverrides = fromMaybe (FixityOverrides Map.empty) mfixityOverrides (dynOptsFromCabal, depsFromCabal) = case mcabalInfo of - Nothing -> ([], Set.empty) + Nothing -> + -- If no cabal info is provided, assume base as a dependency by + -- default. + ([], defaultDependencies) Just CabalUtils.CabalInfo {..} -> -- It makes sense to take into account the operator info for the - -- package itself if we know it, as if it were its own - -- dependency. + -- package itself if we know it, as if it were its own dependency. (ciDynOpts, Set.insert ciPackageName ciDependencies) ---------------------------------------------------------------------------- @@ -217,7 +216,7 @@ parseModule' :: -- | Ormolu configuration Config RegionDeltas -> -- | Fixity Map for operators - LazyFixityMap -> + PackageFixityMap -> -- | How to obtain 'OrmoluException' to throw when parsing fails (SrcSpan -> String -> OrmoluException) -> -- | File name to use in errors diff --git a/src/Ormolu/Config.hs b/src/Ormolu/Config.hs index be7250f..e85699c 100644 --- a/src/Ormolu/Config.hs +++ b/src/Ormolu/Config.hs @@ -20,7 +20,7 @@ import Data.Set qualified as Set import Distribution.Types.PackageName (PackageName) import GHC.Generics (Generic) import GHC.Types.SrcLoc qualified as GHC -import Ormolu.Fixity (FixityMap) +import Ormolu.Fixity (FixityOverrides (..)) import Ormolu.Terminal (ColorMode (..)) -- | Type of sources that can be formatted by Ormolu. @@ -36,7 +36,7 @@ data Config region = Config { -- | Dynamic options to pass to GHC parser cfgDynOptions :: ![DynOption], -- | Fixity overrides - cfgFixityOverrides :: FixityMap, + cfgFixityOverrides :: FixityOverrides, -- | Known dependencies, if any cfgDependencies :: !(Set PackageName), -- | Do formatting faster but without automatic detection of defects @@ -78,7 +78,7 @@ defaultConfig :: Config RegionIndices defaultConfig = Config { cfgDynOptions = [], - cfgFixityOverrides = Map.empty, + cfgFixityOverrides = FixityOverrides Map.empty, cfgDependencies = Set.empty, cfgUnsafe = False, cfgDebug = False, diff --git a/src/Ormolu/Fixity.hs b/src/Ormolu/Fixity.hs index 3bfc1e5..c1a3e9a 100644 --- a/src/Ormolu/Fixity.hs +++ b/src/Ormolu/Fixity.hs @@ -1,7 +1,7 @@ {-# LANGUAGE CPP #-} -{-# LANGUAGE MultiWayIf #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternSynonyms #-} +{-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TemplateHaskell #-} -- | Definitions for fixity analysis. @@ -12,34 +12,36 @@ module Ormolu.Fixity occOpName, FixityDirection (..), FixityInfo (..), - FixityMap, - LazyFixityMap, - lookupFixity, - HackageInfo (..), - defaultStrategyThreshold, defaultFixityInfo, - buildFixityMap, - buildFixityMap', - bootPackages, - packageToOps, - packageToPopularity, + FixityApproximation (..), + defaultFixityApproximation, + FixityOverrides (..), + PackageFixityMap (..), + ModuleFixityMap (..), + inferFixity, + HackageInfo (..), + hackageInfo, + defaultDependencies, + packageFixityMap, + packageFixityMap', + moduleFixityMap, + applyFixityOverrides, ) where import Data.Binary qualified as Binary import Data.Binary.Get qualified as Binary import Data.ByteString.Lazy qualified as BL -import Data.Foldable (foldl') -import Data.List.NonEmpty (NonEmpty ((:|))) +import Data.List.NonEmpty (NonEmpty) import Data.List.NonEmpty qualified as NE -import Data.Map.Strict (Map) import Data.Map.Strict qualified as Map -import Data.Maybe (fromMaybe) import Data.MemoTrie (memo) -import Data.Semigroup (sconcat) import Data.Set (Set) import Data.Set qualified as Set +import Distribution.ModuleName (ModuleName) import Distribution.Types.PackageName (PackageName, mkPackageName, unPackageName) +import Language.Haskell.Syntax.ImpExp (ImportListInterpretation (..)) +import Ormolu.Fixity.Imports (FixityImport (..)) import Ormolu.Fixity.Internal #if BUNDLE_FIXITIES import Data.FileEmbed (embedFile) @@ -48,210 +50,131 @@ import qualified Data.ByteString as B import System.IO.Unsafe (unsafePerformIO) #endif -packageToOps :: Map PackageName FixityMap -packageToPopularity :: Map PackageName Int +-- | The built-in 'HackageInfo' used by Ormolu. +hackageInfo :: HackageInfo #if BUNDLE_FIXITIES -HackageInfo packageToOps packageToPopularity = +hackageInfo = Binary.runGet Binary.get $ BL.fromStrict $(embedFile "extract-hackage-info/hackage-info.bin") #else -- The GHC WASM backend does not yet support Template Haskell, so we instead -- pass in the encoded fixity DB via pre-initialization with Wizer. -HackageInfo packageToOps packageToPopularity = +hackageInfo = unsafePerformIO $ Binary.runGet Binary.get . BL.fromStrict <$> B.readFile "hackage-info.bin" -{-# NOINLINE packageToOps #-} -{-# NOINLINE packageToPopularity #-} +{-# NOINLINE hackageInfo #-} #endif --- | List of packages shipped with GHC, for which the download count from --- Hackage does not reflect their high popularity. --- See https://github.com/tweag/ormolu/pull/830#issuecomment-986609572. --- "base" is not is this list, because it is already whitelisted --- by buildFixityMap'. -bootPackages :: Set PackageName -bootPackages = - Set.fromList - [ "array", - "binary", - "bytestring", - "containers", - "deepseq", - "directory", - "exceptions", - "filepath", - "ghc-binary", - "mtl", - "parsec", - "process", - "stm", - "template-haskell", - "terminfo", - "text", - "time", - "transformers", - "unix", - "Win32" - ] +-- | Default set of packages to assume as dependencies e.g. when no Cabal +-- file is found or taken into consideration. +defaultDependencies :: Set PackageName +defaultDependencies = Set.singleton (mkPackageName "base") --- | The default value for the popularity ratio threshold, after which a --- very popular definition from packageToOps will completely rule out --- conflicting definitions instead of being merged with them. -defaultStrategyThreshold :: Float -defaultStrategyThreshold = 0.9 +-- | Compute the fixity map that is specific to the package we are formatting. +packageFixityMap :: + -- | Set of packages to select + Set PackageName -> + -- | Package fixity map + PackageFixityMap +packageFixityMap = packageFixityMap' hackageInfo --- | Build a fixity map using the given popularity threshold and a list of --- cabal dependencies. Dependencies from the list have higher priority than --- other packages. -buildFixityMap :: - -- | Popularity ratio threshold, after which a very popular package will - -- completely rule out conflicting definitions coming from other packages - -- instead of being merged with them - Float -> - -- | Explicitly known dependencies +-- | The same as 'packageFixityMap', except this specific version of the +-- function allows the user to specify 'HackageInfo' used to build the final +-- fixity map. +packageFixityMap' :: + -- | Hackage info + HackageInfo -> + -- | Set of packages to select Set PackageName -> - -- | Resulting map - LazyFixityMap -buildFixityMap = buildFixityMap' packageToOps packageToPopularity bootPackages + -- | Package fixity map + PackageFixityMap +packageFixityMap' (HackageInfo m) = memoSet $ \dependencies -> + -- The core idea here is to transform: + -- + -- Map PackageName (Map ModuleName (Map OpName FixityInfo)) + -- + -- into + -- + -- Map OpName [(PackageName, ModuleName, FixityInfo)] + -- + -- which we accomplish by turning 'Map's into tuples with 'Map.toList' and + -- then flattening them with 'flatten :: [(a, [b])] -> [(a, b)]'. + -- + -- The target type results from the need to be able to quickly index by + -- the operator name when we do fixity resolution later. + PackageFixityMap + . Map.mapMaybe NE.nonEmpty + . Map.fromListWith (<>) + . fmap rearrange + . flatten + . Map.toList + . Map.map (flatten . Map.toList . Map.map Map.toList) + $ Map.restrictKeys m dependencies + where + rearrange (packageName, (moduleName, (opName, fixityInfo))) = + (opName, [(packageName, moduleName, fixityInfo)]) + flatten xs = do + (k, vs) <- xs + v <- vs + return (k, v) --- | Build a fixity map using the given popularity threshold and a list of --- cabal dependencies. Dependencies from the list have higher priority than --- other packages. This specific version of the function allows the user to --- specify the package databases used to build the final fixity map. -buildFixityMap' :: - -- | Map from package to fixity map for operators defined in this package - Map PackageName FixityMap -> - -- | Map from package to popularity - Map PackageName Int -> - -- | Higher priority packages - Set PackageName -> - -- | Popularity ratio threshold, after which a very popular package will - -- completely rule out conflicting definitions coming from other packages - -- instead of being merged with them - Float -> - -- | Explicitly known dependencies - Set PackageName -> - -- | Resulting map - LazyFixityMap -buildFixityMap' - operatorMap - popularityMap - higherPriorityPackages - strategyThreshold = memoSet $ \dependencies -> - let baseFixityMap = - Map.insert ":" colonFixityInfo $ - fromMaybe Map.empty $ - Map.lookup "base" operatorMap - cabalFixityMap = - mergeAll (buildPackageFixityMap <$> Set.toList dependencies) - higherPriorityFixityMap = - mergeAll (buildPackageFixityMap <$> Set.toList higherPriorityPackages) - remainingFixityMap = - mergeFixityMaps - popularityMap - strategyThreshold - (buildPackageFixityMap <$> Set.toList remainingPackages) - remainingPackages = - Map.keysSet operatorMap - `Set.difference` Set.union dependencies higherPriorityPackages - buildPackageFixityMap packageName = - ( packageName, - fromMaybe Map.empty $ - Map.lookup packageName operatorMap - ) - -- we need a threshold > 1.0 so that no dependency can reach the - -- threshold - mergeAll = mergeFixityMaps Map.empty 10.0 - in LazyFixityMap - [ baseFixityMap, - cabalFixityMap, - higherPriorityFixityMap, - remainingFixityMap - ] +-- | Compute the fixity map that is specific to the module we are formatting. +moduleFixityMap :: + -- | Fixity information selected from dependencies of this package + PackageFixityMap -> + -- | A simplified representation of the import list in this module + [FixityImport] -> + -- | Fixity map specific to this module + ModuleFixityMap +moduleFixityMap (PackageFixityMap m) imports = + ModuleFixityMap $ + Map.insert + ":" + (Given colonFixityInfo) + (Map.map FromModuleImports (Map.mapMaybeWithKey select m)) + where + select :: + OpName -> + NonEmpty (PackageName, ModuleName, FixityInfo) -> + Maybe (NonEmpty (FixityQualification, FixityInfo)) + select opName = + let f (packageName, moduleName, fixityInfo) = + (,fixityInfo) + <$> resolveThroughImports packageName moduleName opName + in NE.nonEmpty . concatMap f + resolveThroughImports :: + PackageName -> + ModuleName -> + OpName -> + [FixityQualification] + resolveThroughImports packageName moduleName opName = + let doesImportMatch FixityImport {..} = + let packageMatches = + case fimportPackage of + Nothing -> True + Just p -> p == packageName + moduleMatches = + fimportModuleName == moduleName + opMatches = case fimportList of + Nothing -> True + Just (Exactly, xs) -> opName `elem` xs + Just (EverythingBut, xs) -> opName `notElem` xs + in packageMatches && moduleMatches && opMatches + in fimportQualified <$> filter doesImportMatch imports + +-- | Apply fixity overrides. +applyFixityOverrides :: + -- | User overrides + FixityOverrides -> + -- | Module fixity map + ModuleFixityMap -> + -- | Module fixity map with overrides applied + ModuleFixityMap +applyFixityOverrides (FixityOverrides o) (ModuleFixityMap m) = + ModuleFixityMap (Map.union (Map.map Given o) m) memoSet :: (Set PackageName -> v) -> Set PackageName -> v -memoSet f = memo (f . Set.fromAscList . fmap mkPackageName) . fmap unPackageName . Set.toAscList - --- | Merge a list of individual fixity maps, coming from different packages. --- Package popularities and the given threshold are used to choose between --- the "keep best only" (>= threshold) and "merge all" (< threshold) --- strategies when conflicting definitions are encountered for an operator. -mergeFixityMaps :: - -- | Map from package name to 30-days download count - Map PackageName Int -> - -- | Popularity ratio threshold - Float -> - -- | List of (package name, package fixity map) to merge - [(PackageName, FixityMap)] -> - -- | Resulting fixity map - FixityMap -mergeFixityMaps popularityMap threshold packageMaps = - Map.map - (useThreshold threshold . NE.fromList . Map.toList) - scoredMap - where - scoredMap = Map.map getScores opFixityMap - -- when we encounter a duplicate key (op1) in the unionsWith operation, - -- we have - -- op1 -map-> {definitions1 -map-> originPackages} - -- op1 -map-> {definitions2 -map-> originPackages} - -- so we merge the keys (which have the type: - -- Map FixityInfo (NonEmpty PackageName)) - -- using 'Map.unionWith (<>)', to "concatenate" the list of - -- definitions for this operator, and to also "concatenate" origin - -- packages if a same definition is found in both maps - opFixityMap = - Map.unionsWith - (Map.unionWith (<>)) - (opFixityMapFrom <$> packageMaps) - useThreshold :: - -- Threshold - Float -> - -- List of conflicting (definition, score) for a given operator - NonEmpty (FixityInfo, Int) -> - -- Resulting fixity, using the specified threshold to choose between - -- strategy "keep best only" and "merge all" - FixityInfo - useThreshold t fixScores = - if toFloat maxScore / toFloat sumScores >= t - then sconcat . fmap fst $ maxs -- merge potential ex-aequo winners - else sconcat . fmap fst $ fixScores - where - toFloat x = fromIntegral x :: Float - maxs = maxWith snd fixScores - maxScore = snd $ NE.head maxs - sumScores = foldl' (+) 0 (snd <$> fixScores) - getScores :: - -- Map for a given operator associating each of its conflicting - -- definitions with the packages that define it - Map FixityInfo (NonEmpty PackageName) -> - -- Map for a given operator associating each of its conflicting - -- definitions with their score (= sum of the popularity of the - -- packages that define it) - Map FixityInfo Int - getScores = - Map.map - (sum . fmap (fromMaybe 0 . flip Map.lookup popularityMap)) - opFixityMapFrom :: - -- (packageName, package fixity map) - (PackageName, FixityMap) -> - -- Map associating each operator of the package with a - -- {map for a given operator associating each of its definitions with - -- the list of packages that define it} - -- (this list can only be == [packageName] in the context of this - -- function) - Map OpName (Map FixityInfo (NonEmpty PackageName)) - opFixityMapFrom (packageName, opsMap) = - Map.map - (flip Map.singleton (packageName :| [])) - opsMap - maxWith :: (Ord b) => (a -> b) -> NonEmpty a -> NonEmpty a - maxWith f xs = snd $ foldl' comp (f h, h :| []) t - where - h :| t = xs - comp (fMax, maxs) x = - let fX = f x - in if - | fMax < fX -> (fX, x :| []) - | fMax == fX -> (fMax, NE.cons x maxs) - | otherwise -> (fMax, maxs) +memoSet f = + memo (f . Set.fromAscList . fmap mkPackageName) + . fmap unPackageName + . Set.toAscList diff --git a/src/Ormolu/Fixity/Imports.hs b/src/Ormolu/Fixity/Imports.hs new file mode 100644 index 0000000..5d56803 --- /dev/null +++ b/src/Ormolu/Fixity/Imports.hs @@ -0,0 +1,73 @@ +{-# LANGUAGE LambdaCase #-} +{-# LANGUAGE RecordWildCards #-} + +-- | Simplified representation of the import list for the purposes of fixity +-- inference. +module Ormolu.Fixity.Imports + ( FixityImport (..), + extractFixityImports, + ) +where + +import Data.Bifunctor (second) +import Distribution.ModuleName (ModuleName) +import Distribution.Types.PackageName +import GHC.Data.FastString qualified as GHC +import GHC.Hs hiding (ModuleName) +import GHC.Types.Name.Occurrence +import GHC.Types.PkgQual (RawPkgQual (..)) +import GHC.Types.SourceText (StringLiteral (..)) +import GHC.Types.SrcLoc +import Ormolu.Fixity.Internal +import Ormolu.Utils (ghcModuleNameToCabal) + +-- | Simplified info about an import. +data FixityImport = FixityImport + { fimportPackage :: !(Maybe PackageName), + fimportModuleName :: !ModuleName, + fimportQualified :: !FixityQualification, + fimportList :: !(Maybe (ImportListInterpretation, [OpName])) + } + +-- | Extract 'FixityImport's from the AST. +extractFixityImports :: + [LImportDecl GhcPs] -> + [FixityImport] +extractFixityImports = fmap (extractFixityImport . unLoc) + +-- | Extract an individual 'FixityImport'. +extractFixityImport :: ImportDecl GhcPs -> FixityImport +extractFixityImport ImportDecl {..} = + FixityImport + { fimportPackage = case ideclPkgQual of + NoRawPkgQual -> Nothing + RawPkgQual strLiteral -> + Just . mkPackageName . GHC.unpackFS . sl_fs $ strLiteral, + fimportModuleName = ideclName', + fimportQualified = case (ideclQualified, ideclAs') of + (QualifiedPre, Nothing) -> + OnlyQualified ideclName' + (QualifiedPost, Nothing) -> + OnlyQualified ideclName' + (QualifiedPre, Just m) -> OnlyQualified m + (QualifiedPost, Just m) -> OnlyQualified m + (NotQualified, Nothing) -> + UnqualifiedAndQualified ideclName' + (NotQualified, Just m) -> + UnqualifiedAndQualified m, + fimportList = + fmap + (second (concatMap (fmap occOpName . ieToOccNames . unLoc) . unLoc)) + ideclImportList + } + where + ideclName' = ghcModuleNameToCabal (unLoc ideclName) + ideclAs' = ghcModuleNameToCabal . unLoc <$> ideclAs + +ieToOccNames :: IE GhcPs -> [OccName] +ieToOccNames = \case + IEVar _ (L _ x) -> [occName x] + IEThingAbs _ (L _ x) -> [occName x] + IEThingAll _ (L _ x) -> [occName x] -- TODO not quite correct, but how to do better? + IEThingWith _ (L _ x) _ xs -> occName x : fmap (occName . unLoc) xs + _ -> [] diff --git a/src/Ormolu/Fixity/Internal.hs b/src/Ormolu/Fixity/Internal.hs index f14b4d2..c184ee7 100644 --- a/src/Ormolu/Fixity/Internal.hs +++ b/src/Ormolu/Fixity/Internal.hs @@ -1,6 +1,7 @@ {-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE PatternSynonyms #-} +{-# LANGUAGE RecordWildCards #-} {-# LANGUAGE ViewPatterns #-} module Ormolu.Fixity.Internal @@ -10,12 +11,17 @@ module Ormolu.Fixity.Internal occOpName, FixityDirection (..), FixityInfo (..), - defaultFixityInfo, colonFixityInfo, + defaultFixityInfo, + FixityApproximation (..), + defaultFixityApproximation, HackageInfo (..), - FixityMap, - LazyFixityMap (..), - lookupFixity, + FixityOverrides (..), + PackageFixityMap (..), + ModuleFixityMap (..), + FixityProvenance (..), + FixityQualification (..), + inferFixity, ) where @@ -23,73 +29,22 @@ import Control.DeepSeq (NFData) import Data.Binary (Binary) import Data.ByteString.Short (ShortByteString) import Data.ByteString.Short qualified as SBS -import Data.Foldable (asum) +import Data.List.NonEmpty (NonEmpty) +import Data.List.NonEmpty qualified as NE import Data.Map.Strict (Map) import Data.Map.Strict qualified as Map +import Data.Maybe (fromMaybe) import Data.String (IsString (..)) import Data.Text (Text) import Data.Text qualified as T import Data.Text.Encoding qualified as T -import Distribution.Types.PackageName (PackageName) +import Distribution.ModuleName (ModuleName) +import Distribution.Types.PackageName import GHC.Data.FastString (fs_sbs) import GHC.Generics (Generic) import GHC.Types.Name (OccName (occNameFS)) - --- | Fixity direction. -data FixityDirection - = InfixL - | InfixR - | InfixN - deriving stock (Eq, Ord, Show, Generic) - deriving anyclass (Binary, NFData) - --- | Fixity information about an infix operator that takes the uncertainty --- that can arise from conflicting definitions into account. -data FixityInfo = FixityInfo - { -- | Fixity direction if it is known - fiDirection :: Maybe FixityDirection, - -- | Minimum precedence level found in the (maybe conflicting) - -- definitions for the operator (inclusive) - fiMinPrecedence :: Int, - -- | Maximum precedence level found in the (maybe conflicting) - -- definitions for the operator (inclusive) - fiMaxPrecedence :: Int - } - deriving stock (Eq, Ord, Show, Generic) - deriving anyclass (Binary, NFData) - --- | The lowest level of information we can have about an operator. -defaultFixityInfo :: FixityInfo -defaultFixityInfo = - FixityInfo - { fiDirection = Just InfixL, - fiMinPrecedence = 9, - fiMaxPrecedence = 9 - } - --- | Fixity info of the built-in colon data constructor. -colonFixityInfo :: FixityInfo -colonFixityInfo = - FixityInfo - { fiDirection = Just InfixR, - fiMinPrecedence = 5, - fiMaxPrecedence = 5 - } - --- | Gives the ability to merge two (maybe conflicting) definitions for an --- operator, keeping the higher level of compatible information from both. -instance Semigroup FixityInfo where - FixityInfo {fiDirection = dir1, fiMinPrecedence = min1, fiMaxPrecedence = max1} - <> FixityInfo {fiDirection = dir2, fiMinPrecedence = min2, fiMaxPrecedence = max2} = - FixityInfo - { fiDirection = dir', - fiMinPrecedence = min min1 min2, - fiMaxPrecedence = max max1 max2 - } - where - dir' = case (dir1, dir2) of - (Just a, Just b) | a == b -> Just a - _ -> Nothing +import GHC.Types.Name.Reader (RdrName (..), rdrNameOcc) +import Ormolu.Utils (ghcModuleNameToCabal) -- | An operator name. newtype OpName = MkOpName @@ -119,26 +74,134 @@ instance Show OpName where instance IsString OpName where fromString = OpName . T.pack --- | Map from the operator name to its 'FixityInfo'. -type FixityMap = Map OpName FixityInfo +-- | Fixity direction. +data FixityDirection + = InfixL + | InfixR + | InfixN + deriving stock (Eq, Ord, Show, Generic) + deriving anyclass (Binary, NFData) --- | A variant of 'FixityMap', represented as a lazy union of several --- 'FixityMap's. -newtype LazyFixityMap = LazyFixityMap [FixityMap] - deriving (Show) +-- | Fixity information about an infix operator. This type provides precise +-- information as opposed to 'FixityApproximation'. +data FixityInfo = FixityInfo + { -- | Fixity direction + fiDirection :: FixityDirection, + -- | Precedence + fiPrecedence :: Int + } + deriving stock (Eq, Ord, Show, Generic) + deriving anyclass (Binary, NFData) --- | Lookup a 'FixityInfo' of an operator. This might have drastically --- different performance depending on whether this is an "unusual" operator. -lookupFixity :: OpName -> LazyFixityMap -> Maybe FixityInfo -lookupFixity op (LazyFixityMap maps) = asum (Map.lookup op <$> maps) +-- | Fixity info of the built-in colon data constructor. +colonFixityInfo :: FixityInfo +colonFixityInfo = FixityInfo InfixR 5 --- | The map of operators declared by each package and the popularity of --- each package, if available. -data HackageInfo - = HackageInfo - -- | Map from package name to a map from operator name to its fixity - (Map PackageName FixityMap) - -- | Map from package name to its 30-days download count from Hackage - (Map PackageName Int) +-- | Fixity that is implicitly assumed if no fixity declaration is present. +defaultFixityInfo :: FixityInfo +defaultFixityInfo = FixityInfo InfixL 9 + +-- | Approximation of fixity information that takes the uncertainty that can +-- arise from conflicting definitions into account. +data FixityApproximation = FixityApproximation + { -- | Fixity direction if it is known + faDirection :: Maybe FixityDirection, + -- | Minimum precedence level found in the (maybe conflicting) + -- definitions for the operator (inclusive) + faMinPrecedence :: Int, + -- | Maximum precedence level found in the (maybe conflicting) + -- definitions for the operator (inclusive) + faMaxPrecedence :: Int + } + deriving stock (Eq, Ord, Show, Generic) + deriving anyclass (Binary, NFData) + +-- | Gives the ability to merge two (maybe conflicting) definitions for an +-- operator, keeping the higher level of compatible information from both. +instance Semigroup FixityApproximation where + FixityApproximation {faDirection = dir1, faMinPrecedence = min1, faMaxPrecedence = max1} + <> FixityApproximation {faDirection = dir2, faMinPrecedence = min2, faMaxPrecedence = max2} = + FixityApproximation + { faDirection = dir', + faMinPrecedence = min min1 min2, + faMaxPrecedence = max max1 max2 + } + where + dir' = case (dir1, dir2) of + (Just a, Just b) | a == b -> Just a + _ -> Nothing + +-- | The lowest level of information we can have about an operator. +defaultFixityApproximation :: FixityApproximation +defaultFixityApproximation = fixityInfoToApproximation defaultFixityInfo + +-- | Convert from 'FixityInfo' to 'FixityApproximation'. +fixityInfoToApproximation :: FixityInfo -> FixityApproximation +fixityInfoToApproximation FixityInfo {..} = + FixityApproximation + { faDirection = Just fiDirection, + faMinPrecedence = fiPrecedence, + faMaxPrecedence = fiPrecedence + } + +-- | The map of operators declared by each package grouped by module name. +newtype HackageInfo + = HackageInfo (Map PackageName (Map ModuleName (Map OpName FixityInfo))) deriving stock (Generic) - deriving anyclass (Binary) + deriving anyclass (Binary, NFData) + +-- | Map from the operator name to its 'FixityInfo'. +newtype FixityOverrides = FixityOverrides + { unFixityOverrides :: Map OpName FixityInfo + } + deriving stock (Eq, Show) + +-- | Fixity information that is specific to a package being formatted. It +-- requires module-specific imports in order to be usable. +newtype PackageFixityMap + = PackageFixityMap (Map OpName (NonEmpty (PackageName, ModuleName, FixityInfo))) + deriving stock (Eq, Show) + +-- | Fixity map that takes into account imports in a particular module. +newtype ModuleFixityMap + = ModuleFixityMap (Map OpName FixityProvenance) + deriving stock (Eq, Show) + +-- | Provenance of fixity info. +data FixityProvenance + = -- | 'FixityInfo' of a built-in operator or provided by a user override. + Given FixityInfo + | -- | 'FixityInfo' to be inferred from module imports. + FromModuleImports (NonEmpty (FixityQualification, FixityInfo)) + deriving stock (Eq, Show) + +-- | Fixity qualification that determines how 'FixityInfo' matches a +-- particular use of an operator, given whether it is qualified or +-- unqualified and the module name used. +data FixityQualification + = UnqualifiedAndQualified ModuleName + | OnlyQualified ModuleName + deriving stock (Eq, Show) + +-- | Get a 'FixityApproximation' of an operator. +inferFixity :: RdrName -> ModuleFixityMap -> FixityApproximation +inferFixity rdrName (ModuleFixityMap m) = + case Map.lookup opName m of + Nothing -> defaultFixityApproximation + Just (Given fixityInfo) -> + fixityInfoToApproximation fixityInfo + Just (FromModuleImports xs) -> + let isMatching (provenance, _fixityInfo) = + case provenance of + UnqualifiedAndQualified mn -> + maybe True (== mn) moduleName + OnlyQualified mn -> + maybe False (== mn) moduleName + in fromMaybe defaultFixityApproximation + . foldMap (Just . fixityInfoToApproximation . snd) + $ NE.filter isMatching xs + where + opName = occOpName (rdrNameOcc rdrName) + moduleName = case rdrName of + Qual x _ -> Just (ghcModuleNameToCabal x) + _ -> Nothing diff --git a/src/Ormolu/Fixity/Parser.hs b/src/Ormolu/Fixity/Parser.hs index 9c71bae..d34d4bb 100644 --- a/src/Ormolu/Fixity/Parser.hs +++ b/src/Ormolu/Fixity/Parser.hs @@ -3,7 +3,7 @@ -- | Parser for fixity maps. module Ormolu.Fixity.Parser - ( parseFixityMap, + ( parseFixityOverrides, parseFixityDeclaration, -- * Raw parsers @@ -12,6 +12,7 @@ module Ormolu.Fixity.Parser ) where +import Control.Monad (when) import Data.Char qualified as Char import Data.Map.Strict qualified as Map import Data.Text (Text) @@ -24,15 +25,15 @@ import Text.Megaparsec.Char.Lexer qualified as L type Parser = Parsec Void Text --- | Parse textual representation of a 'FixityMap'. -parseFixityMap :: +-- | Parse textual representation of 'FixityOverrides'. +parseFixityOverrides :: -- | Location of the file we are parsing (only for parse errors) FilePath -> -- | File contents to parse Text -> -- | Parse result - Either (ParseErrorBundle Text Void) FixityMap -parseFixityMap = runParser pFixityMap + Either (ParseErrorBundle Text Void) FixityOverrides +parseFixityOverrides = runParser pFixityOverrides -- | Parse a single self-contained fixity declaration. parseFixityDeclaration :: @@ -42,9 +43,9 @@ parseFixityDeclaration :: Either (ParseErrorBundle Text Void) [(OpName, FixityInfo)] parseFixityDeclaration = runParser (pFixity <* eof) "" -pFixityMap :: Parser FixityMap -pFixityMap = - Map.fromListWith (<>) . mconcat +pFixityOverrides :: Parser FixityOverrides +pFixityOverrides = + FixityOverrides . Map.fromList . mconcat <$> many (pFixity <* eol <* hidden space) <* eof @@ -53,10 +54,14 @@ pFixityMap = -- > infixr 4 +++, >>> pFixity :: Parser [(OpName, FixityInfo)] pFixity = do - fiDirection <- Just <$> pFixityDirection + fiDirection <- pFixityDirection hidden hspace1 - fiMinPrecedence <- L.decimal - let fiMaxPrecedence = fiMinPrecedence + offsetAtPrecedence <- getOffset + fiPrecedence <- L.decimal + when (fiPrecedence > 9) $ + region + (setErrorOffset offsetAtPrecedence) + (fail "precedence should not be greater than 9") hidden hspace1 ops <- sepBy1 pOperator (char ',' >> hidden hspace) hidden hspace diff --git a/src/Ormolu/Fixity/Printer.hs b/src/Ormolu/Fixity/Printer.hs index 29734c2..fe1d378 100644 --- a/src/Ormolu/Fixity/Printer.hs +++ b/src/Ormolu/Fixity/Printer.hs @@ -1,9 +1,9 @@ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} --- | Printer for fixity maps. +-- | Printer for fixity overrides. module Ormolu.Fixity.Printer - ( printFixityMap, + ( printFixityOverrides, ) where @@ -17,35 +17,24 @@ import Data.Text.Lazy.Builder qualified as B import Data.Text.Lazy.Builder.Int qualified as B import Ormolu.Fixity --- | Print out a textual representation of a 'FixityMap'. -printFixityMap :: FixityMap -> Text -printFixityMap = +-- | Print out a textual representation of 'FixityOverrides'. +printFixityOverrides :: FixityOverrides -> Text +printFixityOverrides (FixityOverrides m) = TL.toStrict . B.toLazyText . mconcat . fmap renderOne - . concatMap decompose - . Map.toList + $ Map.toList m where - decompose :: (OpName, FixityInfo) -> [(FixityDirection, Int, OpName)] - decompose (operator, FixityInfo {..}) = - let forDirection dir = - (dir, fiMinPrecedence, operator) - : [ (dir, fiMaxPrecedence, operator) - | fiMinPrecedence /= fiMaxPrecedence - ] - in case fiDirection of - Nothing -> concatMap forDirection [InfixL, InfixR] - Just dir -> forDirection dir - renderOne :: (FixityDirection, Int, OpName) -> Builder - renderOne (fixityDirection, n, OpName operator) = + renderOne :: (OpName, FixityInfo) -> Builder + renderOne (OpName operator, FixityInfo {..}) = mconcat - [ case fixityDirection of + [ case fiDirection of InfixL -> "infixl" InfixR -> "infixr" InfixN -> "infix", " ", - B.decimal n, + B.decimal fiPrecedence, " ", if isTickedOperator operator then "`" <> B.fromText operator <> "`" diff --git a/src/Ormolu/Parser.hs b/src/Ormolu/Parser.hs index d6c813d..7d2f174 100644 --- a/src/Ormolu/Parser.hs +++ b/src/Ormolu/Parser.hs @@ -18,31 +18,38 @@ import Control.Monad.Except (ExceptT (..), runExceptT) import Control.Monad.IO.Class import Data.Char (isSpace) import Data.Functor -import Data.Generics +import Data.Generics hiding (orElse) import Data.List qualified as L import Data.List.NonEmpty qualified as NE import Data.Text (Text) +import GHC.Builtin.Names (mAIN_NAME) import GHC.Data.Bag (bagToList) import GHC.Data.EnumSet qualified as EnumSet import GHC.Data.FastString qualified as GHC +import GHC.Data.Maybe (orElse) +import GHC.Data.StringBuffer (StringBuffer) import GHC.Driver.CmdLine qualified as GHC import GHC.Driver.Config.Parser (initParserOpts) +import GHC.Driver.Errors.Types qualified as GHC import GHC.Driver.Session as GHC import GHC.DynFlags (baseDynFlags) import GHC.Hs hiding (UnicodeSyntax) import GHC.LanguageExtensions.Type (Extension (..)) import GHC.Parser qualified as GHC +import GHC.Parser.Annotation qualified as GHC import GHC.Parser.Header qualified as GHC import GHC.Parser.Lexer qualified as GHC -import GHC.Types.Error (NoDiagnosticOpts (..), getMessages) -import GHC.Types.SourceError qualified as GHC (handleSourceError) +import GHC.Types.Error qualified as GHC +import GHC.Types.SourceError qualified as GHC import GHC.Types.SrcLoc import GHC.Utils.Error +import GHC.Utils.Exception (ExceptionMonad) import GHC.Utils.Outputable (defaultSDocContext) import GHC.Utils.Panic qualified as GHC import Ormolu.Config import Ormolu.Exception -import Ormolu.Fixity (LazyFixityMap) +import Ormolu.Fixity hiding (packageFixityMap) +import Ormolu.Fixity.Imports (extractFixityImports) import Ormolu.Imports (normalizeImports) import Ormolu.Parser.CommentStream import Ormolu.Parser.Result @@ -50,13 +57,13 @@ import Ormolu.Processing.Common import Ormolu.Processing.Preprocess import Ormolu.Utils (incSpanLine, showOutputable, textToStringBuffer) --- | Parse a complete module from string. +-- | Parse a complete module from 'Text'. parseModule :: (MonadIO m) => -- | Ormolu configuration Config RegionDeltas -> - -- | Fixity map to include in the resulting 'ParseResult's - LazyFixityMap -> + -- | Package fixity map + PackageFixityMap -> -- | File name (only for source location annotations) FilePath -> -- | Input for parser @@ -65,7 +72,7 @@ parseModule :: ( [GHC.Warn], Either (SrcSpan, String) [SourceSnippet] ) -parseModule config@Config {..} fixityMap path rawInput = liftIO $ do +parseModule config@Config {..} packageFixityMap path rawInput = liftIO $ do -- It's important that 'setDefaultExts' is done before -- 'parsePragmasIntoDynFlags', because otherwise we might enable an -- extension that was explicitly disabled in the file. @@ -74,35 +81,44 @@ parseModule config@Config {..} fixityMap path rawInput = liftIO $ do GHC.Opt_Haddock (setDefaultExts baseDynFlags) extraOpts = dynOptionToLocatedStr <$> cfgDynOptions + rawInputStringBuffer = textToStringBuffer rawInput + beginningLoc = + mkSrcSpan + (mkSrcLoc (GHC.mkFastString path) 1 1) + (mkSrcLoc (GHC.mkFastString path) 1 1) (warnings, dynFlags) <- - parsePragmasIntoDynFlags baseFlags extraOpts path rawInput >>= \case + parsePragmasIntoDynFlags baseFlags extraOpts path rawInputStringBuffer >>= \case Right res -> pure res - Left err -> - let loc = - mkSrcSpan - (mkSrcLoc (GHC.mkFastString path) 1 1) - (mkSrcLoc (GHC.mkFastString path) 1 1) - in throwIO (OrmoluParsingFailed loc err) + Left err -> throwIO (OrmoluParsingFailed beginningLoc err) let cppEnabled = EnumSet.member Cpp (GHC.extensionFlags dynFlags) + implicitPrelude = EnumSet.member ImplicitPrelude (GHC.extensionFlags dynFlags) + fixityImports <- + parseImports dynFlags implicitPrelude path rawInputStringBuffer >>= \case + Right res -> pure (extractFixityImports res) + Left err -> throwIO (OrmoluParsingFailed beginningLoc err) + let modFixityMap = + applyFixityOverrides + cfgFixityOverrides + (moduleFixityMap packageFixityMap fixityImports) snippets <- runExceptT . forM (preprocess cppEnabled cfgRegion rawInput) $ \case Right region -> fmap ParsedSnippet . ExceptT $ - parseModuleSnippet (config $> region) fixityMap dynFlags path rawInput + parseModuleSnippet (config $> region) modFixityMap dynFlags path rawInput Left raw -> pure $ RawSnippet raw pure (warnings, snippets) parseModuleSnippet :: (MonadIO m) => Config RegionDeltas -> - LazyFixityMap -> + ModuleFixityMap -> DynFlags -> FilePath -> Text -> m (Either (SrcSpan, String) ParseResult) -parseModuleSnippet Config {..} fixityMap dynFlags path rawInput = liftIO $ do +parseModuleSnippet Config {..} modFixityMap dynFlags path rawInput = liftIO $ do let (input, indent) = removeIndentation . linesInRegion cfgRegion $ rawInput let pStateErrors pstate = - let errs = bagToList . getMessages $ GHC.getPsErrorMessages pstate + let errs = bagToList . GHC.getMessages $ GHC.getPsErrorMessages pstate fixupErrSpan = incSpanLine (regionPrefixLength cfgRegion) rateSeverity = \case SevError -> 1 :: Int @@ -116,7 +132,7 @@ parseModuleSnippet Config {..} fixityMap dynFlags path rawInput = liftIO $ do msg = showOutputable . formatBulleted defaultSDocContext - . diagnosticMessage NoDiagnosticOpts + . diagnosticMessage GHC.NoDiagnosticOpts $ err in case L.sortOn (rateSeverity . errMsgSeverity) errs of [] -> Nothing @@ -148,8 +164,7 @@ parseModuleSnippet Config {..} fixityMap dynFlags path rawInput = liftIO $ do prPragmas = pragmas, prCommentStream = comments, prExtensions = GHC.extensionFlags dynFlags, - prFixityOverrides = cfgFixityOverrides, - prFixityMap = fixityMap, + prModuleFixityMap = modFixityMap, prIndent = indent } return r @@ -253,6 +268,8 @@ runParser parser flags filename input = GHC.unP parser parseState ---------------------------------------------------------------------------- -- Helpers taken from HLint +-- | Detect pragmas in the given input and return them as a collection of +-- 'DynFlags'. parsePragmasIntoDynFlags :: -- | Pre-set 'DynFlags' DynFlags -> @@ -261,14 +278,14 @@ parsePragmasIntoDynFlags :: -- | File name (only for source location annotations) FilePath -> -- | Input for parser - Text -> + StringBuffer -> IO (Either String ([GHC.Warn], DynFlags)) -parsePragmasIntoDynFlags flags extraOpts filepath str = - catchErrors $ do +parsePragmasIntoDynFlags flags extraOpts filepath input = + catchGhcErrors $ do let (_warnings, fileOpts) = GHC.getOptions (initParserOpts flags) - (textToStringBuffer str) + input filepath (flags', leftovers, warnings) <- parseDynamicFilePragma flags (extraOpts <> fileOpts) @@ -278,9 +295,45 @@ parsePragmasIntoDynFlags flags extraOpts filepath str = throwIO (OrmoluUnrecognizedOpts (unLoc <$> unrecognizedOpts)) let flags'' = flags' `gopt_set` Opt_KeepRawTokenStream return $ Right (warnings, flags'') + +-- | Detect the collection of imports used in the given input. +parseImports :: + -- | Pre-set 'DynFlags' + DynFlags -> + -- | Implicit Prelude? + Bool -> + -- | File name (only for source location annotations) + FilePath -> + -- | Input for the parser + StringBuffer -> + IO (Either String [LImportDecl GhcPs]) +parseImports flags implicitPrelude filepath input = + case GHC.unP GHC.parseHeader (GHC.initParserState popts input loc) of + GHC.PFailed pst -> + return $ Left (showOutputable (GHC.getPsErrorMessages pst)) + GHC.POk pst rdr_module -> + return $ + let (_warnings, errors) = GHC.getPsMessages pst + in if not (isEmptyMessages errors) + then Left (showOutputable (GHC.GhcPsMessage <$> errors)) + else + let hsmod = unLoc rdr_module + mmoduleName = hsmodName hsmod + main_loc = srcLocSpan (mkSrcLoc (GHC.mkFastString filepath) 1 1) + mod' = mmoduleName `orElse` L (GHC.noAnnSrcSpan main_loc) mAIN_NAME + explicitImports = hsmodImports hsmod + implicitImports = + GHC.mkPrelImports (unLoc mod') main_loc implicitPrelude explicitImports + in Right (explicitImports ++ implicitImports) + where + popts = initParserOpts flags + loc = mkRealSrcLoc (GHC.mkFastString filepath) 1 1 + +-- | Catch and report GHC errors. +catchGhcErrors :: (ExceptionMonad m) => m (Either String a) -> m (Either String a) +catchGhcErrors m = + GHC.handleGhcException + reportErr + (GHC.handleSourceError reportErr m) where - catchErrors act = - GHC.handleGhcException - reportErr - (GHC.handleSourceError reportErr act) reportErr e = return $ Left (show e) diff --git a/src/Ormolu/Parser/Result.hs b/src/Ormolu/Parser/Result.hs index efd51a0..31d7690 100644 --- a/src/Ormolu/Parser/Result.hs +++ b/src/Ormolu/Parser/Result.hs @@ -11,7 +11,7 @@ import GHC.Hs import GHC.LanguageExtensions.Type import GHC.Types.SrcLoc import Ormolu.Config (SourceType) -import Ormolu.Fixity (FixityMap, LazyFixityMap) +import Ormolu.Fixity (ModuleFixityMap) import Ormolu.Parser.CommentStream import Ormolu.Parser.Pragma (Pragma) @@ -32,10 +32,8 @@ data ParseResult = ParseResult prCommentStream :: CommentStream, -- | Enabled extensions prExtensions :: EnumSet Extension, - -- | Fixity overrides - prFixityOverrides :: FixityMap, -- | Fixity map for operators - prFixityMap :: LazyFixityMap, + prModuleFixityMap :: ModuleFixityMap, -- | Indentation level, can be non-zero in case of region formatting prIndent :: Int } diff --git a/src/Ormolu/Printer.hs b/src/Ormolu/Printer.hs index fd984d7..3b36bd5 100644 --- a/src/Ormolu/Printer.hs +++ b/src/Ormolu/Printer.hs @@ -36,6 +36,5 @@ printSnippets = T.concat . fmap printSnippet prCommentStream prSourceType prExtensions - prFixityOverrides - prFixityMap + prModuleFixityMap RawSnippet r -> r diff --git a/src/Ormolu/Printer/Combinators.hs b/src/Ormolu/Printer/Combinators.hs index 9b4142d..9a9f227 100644 --- a/src/Ormolu/Printer/Combinators.hs +++ b/src/Ormolu/Printer/Combinators.hs @@ -22,10 +22,9 @@ module Ormolu.Printer.Combinators inci, inciIf, askSourceType, - askFixityOverrides, - encloseLocated, - askFixityMap, + askModuleFixityMap, located, + encloseLocated, located', switchLayout, Layout (..), diff --git a/src/Ormolu/Printer/Internal.hs b/src/Ormolu/Printer/Internal.hs index 8f73d34..7c9eaa9 100644 --- a/src/Ormolu/Printer/Internal.hs +++ b/src/Ormolu/Printer/Internal.hs @@ -17,8 +17,7 @@ module Ormolu.Printer.Internal space, newline, askSourceType, - askFixityOverrides, - askFixityMap, + askModuleFixityMap, inci, sitcc, Layout (..), @@ -58,6 +57,7 @@ import Control.Monad.Reader import Control.Monad.State.Strict import Data.Bool (bool) import Data.Coerce +import Data.List (find) import Data.Maybe (listToMaybe) import Data.Text (Text) import Data.Text qualified as T @@ -69,7 +69,7 @@ import GHC.LanguageExtensions.Type import GHC.Types.SrcLoc import GHC.Utils.Outputable (Outputable) import Ormolu.Config (SourceType (..)) -import Ormolu.Fixity (FixityMap, LazyFixityMap) +import Ormolu.Fixity (ModuleFixityMap) import Ormolu.Parser.CommentStream import Ormolu.Printer.SpanStream import Ormolu.Utils (showOutputable) @@ -98,12 +98,8 @@ data RC = RC rcExtensions :: EnumSet Extension, -- | Whether the source is a signature or a regular module rcSourceType :: SourceType, - -- | Fixity map overrides, kept separately because if we parametrized - -- 'Ormolu.Fixity.buildFixityMap' by fixity overrides it would break - -- memoization - rcFixityOverrides :: FixityMap, - -- | Fixity map for operators - rcFixityMap :: LazyFixityMap + -- | Module fixity map + rcModuleFixityMap :: ModuleFixityMap } -- | State context of 'R'. @@ -171,13 +167,11 @@ runR :: SourceType -> -- | Enabled extensions EnumSet Extension -> - -- | Fixity overrides - FixityMap -> - -- | Fixity map - LazyFixityMap -> + -- | Module fixity map + ModuleFixityMap -> -- | Resulting rendition Text -runR (R m) sstream cstream sourceType extensions fixityOverrides fixityMap = +runR (R m) sstream cstream sourceType extensions moduleFixityMap = TL.toStrict . toLazyText . scBuilder $ execState (runReaderT m rc) sc where rc = @@ -188,8 +182,7 @@ runR (R m) sstream cstream sourceType extensions fixityOverrides fixityMap = rcCanUseBraces = False, rcExtensions = extensions, rcSourceType = sourceType, - rcFixityOverrides = fixityOverrides, - rcFixityMap = fixityMap + rcModuleFixityMap = moduleFixityMap } sc = SC @@ -386,13 +379,9 @@ newlineRaw = R . modify $ \sc -> askSourceType :: R SourceType askSourceType = R (asks rcSourceType) --- | Retrieve fixity overrides map. -askFixityOverrides :: R FixityMap -askFixityOverrides = R (asks rcFixityOverrides) - --- | Retrieve the lazy fixity map. -askFixityMap :: R LazyFixityMap -askFixityMap = R (asks rcFixityMap) +-- | Retrieve the module fixity map. +askModuleFixityMap :: R ModuleFixityMap +askModuleFixityMap = R (asks rcModuleFixityMap) inciBy :: Int -> R () -> R () inciBy step (R m) = R (local modRC m) @@ -514,7 +503,7 @@ getEnclosingSpan :: (RealSrcSpan -> Bool) -> R (Maybe RealSrcSpan) getEnclosingSpan f = - listToMaybe . filter f <$> R (asks rcEnclosingSpans) + find f <$> R (asks rcEnclosingSpans) -- | Set 'RealSrcSpan' of enclosing span for the given computation. withEnclosingSpan :: RealSrcSpan -> R () -> R () diff --git a/src/Ormolu/Printer/Meat/Declaration/OpTree.hs b/src/Ormolu/Printer/Meat/Declaration/OpTree.hs index 410249e..0d53f0f 100644 --- a/src/Ormolu/Printer/Meat/Declaration/OpTree.hs +++ b/src/Ormolu/Printer/Meat/Declaration/OpTree.hs @@ -115,7 +115,7 @@ p_exprOpTree s t@(OpBranches exprs ops) = do couldBeTrailing (prevExpr, opi) = -- An operator with fixity InfixR 0, like seq, $, and $ variants, -- is required - isHardSplitterOp (opiFix opi) + isHardSplitterOp (opiFixityApproximation opi) -- the LHS must be single-line && isOneLineSpan (opTreeLoc prevExpr) -- can only happen when a breakpoint would have been added anyway diff --git a/src/Ormolu/Printer/Meat/Declaration/Value.hs b/src/Ormolu/Printer/Meat/Declaration/Value.hs index 70c0fdb..e1df3d8 100644 --- a/src/Ormolu/Printer/Meat/Declaration/Value.hs +++ b/src/Ormolu/Printer/Meat/Declaration/Value.hs @@ -340,12 +340,11 @@ p_hsCmd' isApp s = \case breakpoint inci (sequence_ (intersperse breakpoint (located' (p_hsCmdTop N) <$> cmds))) HsCmdArrForm _ form Infix _ [left, right] -> do - fixityOverrides <- askFixityOverrides - fixityMap <- askFixityMap + modFixityMap <- askModuleFixityMap let opTree = OpBranches [cmdOpTree left, cmdOpTree right] [form] p_cmdOpTree s - (reassociateOpTree (getOpName . unLoc) fixityOverrides fixityMap opTree) + (reassociateOpTree (getOpName . unLoc) modFixityMap opTree) HsCmdArrForm _ _ Infix _ _ -> notImplemented "HsCmdArrForm" HsCmdApp _ cmd expr -> do located cmd (p_hsCmd' Applicand s) @@ -663,12 +662,11 @@ p_hsExpr' isApp s = \case _ -> return () located (hswc_body a) p_hsType OpApp _ x op y -> do - fixityOverrides <- askFixityOverrides - fixityMap <- askFixityMap + modFixityMap <- askModuleFixityMap let opTree = OpBranches [exprOpTree x, exprOpTree y] [op] p_exprOpTree s - (reassociateOpTree (getOpName . unLoc) fixityOverrides fixityMap opTree) + (reassociateOpTree (getOpName . unLoc) modFixityMap opTree) NegApp _ e _ -> do negativeLiterals <- isExtensionEnabled NegativeLiterals let isLiteral = case unLoc e of diff --git a/src/Ormolu/Printer/Meat/Type.hs b/src/Ormolu/Printer/Meat/Type.hs index bbdd453..e6e7b5b 100644 --- a/src/Ormolu/Printer/Meat/Type.hs +++ b/src/Ormolu/Printer/Meat/Type.hs @@ -110,11 +110,10 @@ p_hsType' multilineArgs = \case parensHash N $ sep (space >> txt "|" >> breakpoint) (sitcc . located' p_hsType) xs HsOpTy _ _ x op y -> do - fixityOverrides <- askFixityOverrides - fixityMap <- askFixityMap + modFixityMap <- askModuleFixityMap let opTree = OpBranches [tyOpTree x, tyOpTree y] [op] p_tyOpTree - (reassociateOpTree (Just . unLoc) fixityOverrides fixityMap opTree) + (reassociateOpTree (Just . unLoc) modFixityMap opTree) HsParTy _ t -> parens N (located t p_hsType) HsIParamTy _ n t -> sitcc $ do diff --git a/src/Ormolu/Printer/Operators.hs b/src/Ormolu/Printer/Operators.hs index 9369a32..362a330 100644 --- a/src/Ormolu/Printer/Operators.hs +++ b/src/Ormolu/Printer/Operators.hs @@ -11,10 +11,7 @@ module Ormolu.Printer.Operators ) where -import Control.Applicative ((<|>)) import Data.List.NonEmpty qualified as NE -import Data.Map.Strict qualified as Map -import Data.Maybe (fromMaybe) import GHC.Types.Name.Reader import GHC.Types.SrcLoc import Ormolu.Fixity @@ -42,13 +39,13 @@ data OpTree ty op data OpInfo op = OpInfo { -- | The actual operator opiOp :: op, - -- | Its name, if available. We use 'Maybe OpName' here instead of 'OpName' - -- because the name-fetching function received by 'reassociateOpTree' - -- returns a 'Maybe' - opiName :: Maybe OpName, + -- | Its name, if available. We use 'Maybe RdrName' here instead of + -- 'RdrName' because the name-fetching function received by + -- 'reassociateOpTree' returns a 'Maybe' + opiName :: Maybe RdrName, -- | Information about the fixity direction and precedence level of the -- operator - opiFix :: FixityInfo + opiFixityApproximation :: FixityApproximation } deriving (Eq) @@ -57,8 +54,8 @@ data OpInfo op = OpInfo -- of equality. compareOp :: OpInfo op -> OpInfo op -> Maybe Ordering compareOp - (OpInfo _ mName1 FixityInfo {fiMinPrecedence = min1, fiMaxPrecedence = max1}) - (OpInfo _ mName2 FixityInfo {fiMinPrecedence = min2, fiMaxPrecedence = max2}) = + (OpInfo _ mName1 FixityApproximation {faMinPrecedence = min1, faMaxPrecedence = max1}) + (OpInfo _ mName2 FixityApproximation {faMinPrecedence = min2, faMaxPrecedence = max2}) = if -- Only declare two precedence levels as equal when -- * either both precedence levels are precise @@ -89,48 +86,40 @@ opTreeLoc (OpBranches exprs _) = reassociateOpTree :: -- | How to get name of an operator (op -> Maybe RdrName) -> - -- | Fixity overrides - FixityMap -> -- | Fixity Map - LazyFixityMap -> + ModuleFixityMap -> -- | Original 'OpTree' OpTree ty op -> -- | Re-associated 'OpTree', with added context and info around operators OpTree ty (OpInfo op) -reassociateOpTree getOpName fixityOverrides fixityMap = +reassociateOpTree getOpName modFixityMap = reassociateFlatOpTree . makeFlatOpTree - . addFixityInfo fixityOverrides fixityMap getOpName + . addFixityInfo modFixityMap getOpName -- | Wrap every operator of the tree with 'OpInfo' to carry the information -- about its fixity (extracted from the specified fixity map). addFixityInfo :: - -- | Fixity overrides - FixityMap -> -- | Fixity map for operators - LazyFixityMap -> + ModuleFixityMap -> -- | How to get the name of an operator (op -> Maybe RdrName) -> -- | 'OpTree' OpTree ty op -> -- | 'OpTree', with fixity info wrapped around each operator OpTree ty (OpInfo op) -addFixityInfo _ _ _ (OpNode n) = OpNode n -addFixityInfo fixityOverrides fixityMap getOpName (OpBranches exprs ops) = +addFixityInfo _ _ (OpNode n) = OpNode n +addFixityInfo modFixityMap getOpName (OpBranches exprs ops) = OpBranches - (addFixityInfo fixityOverrides fixityMap getOpName <$> exprs) + (addFixityInfo modFixityMap getOpName <$> exprs) (toOpInfo <$> ops) where - toOpInfo o = OpInfo o mName fixityInfo + toOpInfo o = OpInfo o mrdrName fixityApproximation where - mName = occOpName . rdrNameOcc <$> getOpName o - fixityInfo = - fromMaybe - defaultFixityInfo - ( do - name <- mName - Map.lookup name fixityOverrides <|> lookupFixity name fixityMap - ) + mrdrName = getOpName o + fixityApproximation = case mrdrName of + Nothing -> defaultFixityApproximation + Just rdrName -> inferFixity rdrName modFixityMap -- | Given a 'OpTree' of any shape, produce a flat 'OpTree', where every -- node and operator is directly connected to the root. @@ -202,7 +191,7 @@ reassociateFlatOpTree tree@(OpBranches noptExprs noptOps) = where indicesOfHardSplitter = fmap fst $ - filter (isHardSplitterOp . opiFix . snd) $ + filter (isHardSplitterOp . opiFixityApproximation . snd) $ zip [0 ..] noptOps indexOfMinMaxPrecOps [] = (Nothing, Nothing) indexOfMinMaxPrecOps (oo : oos) = go oos 1 oo (Just [0]) oo (Just [0]) @@ -367,5 +356,5 @@ reassociateFlatOpTree tree@(OpBranches noptExprs noptOps) = -- class of operators because they often have, like ('$'), a specific -- “separator” use-case, and we sometimes format them differently than other -- operators. -isHardSplitterOp :: FixityInfo -> Bool -isHardSplitterOp = (== FixityInfo (Just InfixR) 0 0) +isHardSplitterOp :: FixityApproximation -> Bool +isHardSplitterOp = (== FixityApproximation (Just InfixR) 0 0) diff --git a/src/Ormolu/Utils.hs b/src/Ormolu/Utils.hs index d34dd87..acf1c5f 100644 --- a/src/Ormolu/Utils.hs +++ b/src/Ormolu/Utils.hs @@ -17,6 +17,7 @@ module Ormolu.Utils getLoc', matchAddEpAnn, textToStringBuffer, + ghcModuleNameToCabal, ) where @@ -27,16 +28,19 @@ import Data.Maybe (fromMaybe) import Data.Text (Text) import Data.Text qualified as T import Data.Text.Foreign qualified as TFFI +import Distribution.ModuleName (ModuleName) +import Distribution.ModuleName qualified as ModuleName import Foreign (pokeElemOff, withForeignPtr) import GHC.Data.Strict qualified as Strict import GHC.Data.StringBuffer (StringBuffer (..)) import GHC.Driver.Ppr import GHC.DynFlags (baseDynFlags) import GHC.ForeignPtr (mallocPlainForeignPtrBytes) -import GHC.Hs +import GHC.Hs hiding (ModuleName) import GHC.IO.Unsafe (unsafePerformIO) import GHC.Types.SrcLoc import GHC.Utils.Outputable (Outputable (..)) +import Language.Haskell.Syntax.Module.Name qualified as GHC -- | Relative positions in a list. data RelativePos @@ -169,3 +173,7 @@ textToStringBuffer txt = unsafePerformIO $ do pure StringBuffer {buf, len, cur = 0} where len = TFFI.lengthWord8 txt + +-- | Convert GHC's 'ModuleName' into the one used by Cabal. +ghcModuleNameToCabal :: GHC.ModuleName -> ModuleName +ghcModuleNameToCabal = ModuleName.fromString . GHC.moduleNameString diff --git a/src/Ormolu/Utils/Fixity.hs b/src/Ormolu/Utils/Fixity.hs index 645b7d9..0495a33 100644 --- a/src/Ormolu/Utils/Fixity.hs +++ b/src/Ormolu/Utils/Fixity.hs @@ -24,7 +24,7 @@ import System.IO.Unsafe (unsafePerformIO) import Text.Megaparsec (errorBundlePretty) -- | Cache ref that stores fixity overrides per cabal file. -cacheRef :: IORef (Map FilePath FixityMap) +cacheRef :: IORef (Map FilePath FixityOverrides) cacheRef = unsafePerformIO (newIORef Map.empty) {-# NOINLINE cacheRef #-} @@ -35,7 +35,7 @@ getFixityOverridesForSourceFile :: (MonadIO m) => -- | 'CabalInfo' already obtained for this source file CabalInfo -> - m FixityMap + m FixityOverrides getFixityOverridesForSourceFile CabalInfo {..} = liftIO $ do cache <- readIORef cacheRef case Map.lookup ciCabalFilePath cache of @@ -46,13 +46,13 @@ getFixityOverridesForSourceFile CabalInfo {..} = liftIO $ do then do dotOrmoluRelative <- makeRelativeToCurrentDirectory dotOrmolu contents <- readFileUtf8 dotOrmolu - case parseFixityMap dotOrmoluRelative contents of + case parseFixityOverrides dotOrmoluRelative contents of Left errorBundle -> throwIO (OrmoluFixityOverridesParseError errorBundle) Right x -> do modifyIORef' cacheRef (Map.insert ciCabalFilePath x) return x - else return Map.empty + else return (FixityOverrides Map.empty) Just x -> return x -- | A wrapper around 'parseFixityDeclaration' for parsing individual fixity diff --git a/tests/Ormolu/CabalInfoSpec.hs b/tests/Ormolu/CabalInfoSpec.hs index 0ce356f..f3008f0 100644 --- a/tests/Ormolu/CabalInfoSpec.hs +++ b/tests/Ormolu/CabalInfoSpec.hs @@ -44,7 +44,7 @@ spec = do mentioned `shouldBe` True unPackageName ciPackageName `shouldBe` "ormolu" ciDynOpts `shouldBe` [DynOption "-XGHC2021"] - Set.map unPackageName ciDependencies `shouldBe` Set.fromList ["Cabal-syntax", "QuickCheck", "base", "containers", "directory", "filepath", "ghc-lib-parser", "hspec", "hspec-megaparsec", "ormolu", "path", "path-io", "temporary", "text"] + Set.map unPackageName ciDependencies `shouldBe` Set.fromList ["Cabal-syntax", "QuickCheck", "base", "containers", "directory", "filepath", "ghc-lib-parser", "hspec", "hspec-megaparsec", "megaparsec", "ormolu", "path", "path-io", "temporary", "text"] ciCabalFilePath `shouldSatisfy` isAbsolute makeRelativeToCurrentDirectory ciCabalFilePath `shouldReturn` "ormolu.cabal" it "handles correctly files that are not mentioned in ormolu.cabal" $ do diff --git a/tests/Ormolu/Fixity/ParserSpec.hs b/tests/Ormolu/Fixity/ParserSpec.hs index eb9cec1..d4ef83f 100644 --- a/tests/Ormolu/Fixity/ParserSpec.hs +++ b/tests/Ormolu/Fixity/ParserSpec.hs @@ -9,35 +9,36 @@ import Ormolu.Fixity import Ormolu.Fixity.Parser import Test.Hspec import Test.Hspec.Megaparsec +import Text.Megaparsec.Error (ErrorFancy (..)) spec :: Spec spec = do describe "parseFixtiyDeclaration" $ do it "parses a simple infixr declaration" $ parseFixityDeclaration "infixr 5 $" - `shouldParse` [("$", FixityInfo (Just InfixR) 5 5)] + `shouldParse` [("$", FixityInfo InfixR 5)] it "parses a simple infixl declaration" $ parseFixityDeclaration "infixl 5 $" - `shouldParse` [("$", FixityInfo (Just InfixL) 5 5)] + `shouldParse` [("$", FixityInfo InfixL 5)] it "parses a simple infix declaration" $ parseFixityDeclaration "infix 5 $" - `shouldParse` [("$", FixityInfo (Just InfixN) 5 5)] + `shouldParse` [("$", FixityInfo InfixN 5)] it "parses a declaration for a ticked identifier" $ parseFixityDeclaration "infixl 5 `foo`" - `shouldParse` [("foo", FixityInfo (Just InfixL) 5 5)] + `shouldParse` [("foo", FixityInfo InfixL 5)] it "parses a declaration for a ticked identifier (constructor case)" $ parseFixityDeclaration "infixl 5 `Foo`" - `shouldParse` [("Foo", FixityInfo (Just InfixL) 5 5)] + `shouldParse` [("Foo", FixityInfo InfixL 5)] it "parses a multi-operator declaration" $ parseFixityDeclaration "infixl 5 $, ., `Foo`, `bar`" - `shouldParse` [ ("$", FixityInfo (Just InfixL) 5 5), - (".", FixityInfo (Just InfixL) 5 5), - ("Foo", FixityInfo (Just InfixL) 5 5), - ("bar", FixityInfo (Just InfixL) 5 5) + `shouldParse` [ ("$", FixityInfo InfixL 5), + (".", FixityInfo InfixL 5), + ("Foo", FixityInfo InfixL 5), + ("bar", FixityInfo InfixL 5) ] it "parses a declaration with a unicode operator" $ parseFixityDeclaration "infixr 5 ×" - `shouldParse` [("×", FixityInfo (Just InfixR) 5 5)] + `shouldParse` [("×", FixityInfo InfixR 5)] it "fails with correct parse error (keyword wrong)" $ parseFixityDeclaration "foobar 5 $" `shouldFailWith` err @@ -69,13 +70,18 @@ spec = do elabel "operator character" ] ) - describe "parseFixityMap" $ do + it "fails with correct parse error (precedence greater than 9)" $ + parseFixityDeclaration "infixl 10 $" + `shouldFailWith` errFancy + 7 + (fancy (ErrorFail "precedence should not be greater than 9")) + describe "parseFixityOverrides" $ do it "parses the empty input without choking" $ - parseFixityMap "" "" - `shouldParse` Map.empty + parseFixityOverrides "" "" + `shouldParse` FixityOverrides Map.empty it "parses a collection of declarations" $ -- The example is taken from base. - parseFixityMap + parseFixityOverrides "" ( T.unlines [ "infixr 9 .", @@ -87,22 +93,24 @@ spec = do "infixl 4 <*>, <*, *>, <**>" ] ) - `shouldParse` Map.fromList - [ ("$", FixityInfo (Just InfixR) 0 0), - ("$!", FixityInfo (Just InfixR) 0 0), - ("*>", FixityInfo (Just InfixL) 4 4), - ("++", FixityInfo (Just InfixR) 5 5), - (".", FixityInfo (Just InfixR) 9 9), - ("<$", FixityInfo (Just InfixL) 4 4), - ("<*", FixityInfo (Just InfixL) 4 4), - ("<**>", FixityInfo (Just InfixL) 4 4), - ("<*>", FixityInfo (Just InfixL) 4 4), - ("=<<", FixityInfo (Just InfixR) 1 1), - (">>", FixityInfo (Just InfixL) 1 1), - (">>=", FixityInfo (Just InfixL) 1 1) - ] + `shouldParse` FixityOverrides + ( Map.fromList + [ ("$", FixityInfo InfixR 0), + ("$!", FixityInfo InfixR 0), + ("*>", FixityInfo InfixL 4), + ("++", FixityInfo InfixR 5), + (".", FixityInfo InfixR 9), + ("<$", FixityInfo InfixL 4), + ("<*", FixityInfo InfixL 4), + ("<**>", FixityInfo InfixL 4), + ("<*>", FixityInfo InfixL 4), + ("=<<", FixityInfo InfixR 1), + (">>", FixityInfo InfixL 1), + (">>=", FixityInfo InfixL 1) + ] + ) it "combines conflicting declarations correctly" $ - parseFixityMap + parseFixityOverrides "" ( T.unlines [ "infixr 9 ., ^", @@ -111,20 +119,21 @@ spec = do "infixl 7 $" ] ) - `shouldParse` Map.fromList - [ ("$", FixityInfo Nothing 7 7), - (".", FixityInfo (Just InfixR) 7 9), - ("^", FixityInfo (Just InfixR) 9 9) - ] + `shouldParse` FixityOverrides + ( Map.fromList + [ ("$", FixityInfo InfixL 7), + (".", FixityInfo InfixR 7), + ("^", FixityInfo InfixR 9) + ] + ) it "handles CRLF line endings correctly" $ - parseFixityMap "" - `shouldSucceedOn` ( unlinesCrlf - [ "infixr 9 .", - "infixr 5 ++" - ] - ) + parseFixityOverrides "" + `shouldSucceedOn` unlinesCrlf + [ "infixr 9 .", + "infixr 5 ++" + ] it "fails with correct parse error (keyword wrong second line)" $ - parseFixityMap "" "infixr 5 .\nfoobar 5 $" + parseFixityOverrides "" "infixr 5 .\nfoobar 5 $" `shouldFailWith` err 11 ( mconcat diff --git a/tests/Ormolu/Fixity/PrinterSpec.hs b/tests/Ormolu/Fixity/PrinterSpec.hs index 76c9796..f6baea0 100644 --- a/tests/Ormolu/Fixity/PrinterSpec.hs +++ b/tests/Ormolu/Fixity/PrinterSpec.hs @@ -12,12 +12,12 @@ import Test.Hspec import Test.Hspec.Megaparsec import Test.QuickCheck -newtype FixityMapWrapper = FixityMapWrapper FixityMap +newtype FixityMapWrapper = FixityMapWrapper FixityOverrides deriving (Show) instance Arbitrary FixityMapWrapper where arbitrary = - FixityMapWrapper . Map.fromListWith (<>) + FixityMapWrapper . FixityOverrides . Map.fromList <$> listOf ((,) <$> genOperator <*> genFixityInfo) where scaleDown = scale (`div` 4) @@ -35,18 +35,16 @@ instance Arbitrary FixityMapWrapper where genFixityInfo = do fiDirection <- elements - [ Nothing, - Just InfixL, - Just InfixR, - Just InfixN + [ InfixL, + InfixR, + InfixN ] - fiMinPrecedence <- chooseInt (0, 9) - fiMaxPrecedence <- chooseInt (0, 9) `suchThat` (>= fiMinPrecedence) + fiPrecedence <- chooseInt (0, 9) return FixityInfo {..} spec :: Spec spec = do - describe "parseFixityMap & printFixityMap" $ + describe "parseFixityOverrides & printFixityOverrides" $ it "arbitrary fixity maps are printed and parsed back correctly" $ property $ \(FixityMapWrapper fixityMap) -> - parseFixityMap "" (printFixityMap fixityMap) `shouldParse` fixityMap + parseFixityOverrides "" (printFixityOverrides fixityMap) `shouldParse` fixityMap diff --git a/tests/Ormolu/FixitySpec.hs b/tests/Ormolu/FixitySpec.hs new file mode 100644 index 0000000..7ec8659 --- /dev/null +++ b/tests/Ormolu/FixitySpec.hs @@ -0,0 +1,279 @@ +{-# LANGUAGE OverloadedStrings #-} +{-# OPTIONS_GHC -fno-warn-orphans #-} + +module Ormolu.FixitySpec (spec) where + +import Data.Function ((&)) +import Data.Set qualified as Set +import Data.Text qualified as T +import Distribution.ModuleName (ModuleName) +import Distribution.Types.PackageName (PackageName) +import GHC.Types.Name (OccName) +import GHC.Types.Name.Occurrence (mkVarOcc) +import GHC.Types.Name.Reader +import Language.Haskell.Syntax.ImpExp (ImportListInterpretation (..)) +import Language.Haskell.Syntax.Module.Name (mkModuleName) +import Ormolu.Fixity +import Ormolu.Fixity.Imports +import Ormolu.Fixity.Internal +import Ormolu.Utils (showOutputable) +import Test.Hspec + +instance Show RdrName where + show = showOutputable + +spec :: Spec +spec = do + it "gives the correct fixity info for (:) (built-in)" $ + checkFixities + [] + [] + [(unqual ":", FixityApproximation (Just InfixR) 5 5)] + it "does not know operators from base if base is not a dependency" $ + checkFixities + [] + [] + [ (unqual "$", defaultFixityApproximation), + (unqual "+", defaultFixityApproximation), + (unqual "++", defaultFixityApproximation) + ] + it "does not know operators from base if Prelude is not imported" $ + checkFixities + [] + [] + [ (unqual "$", defaultFixityApproximation), + (unqual "+", defaultFixityApproximation), + (unqual "++", defaultFixityApproximation) + ] + it "infers fixities of operators from base correctly" $ + checkFixities + ["base"] + [import_ "Prelude"] + [ (unqual "$", FixityApproximation (Just InfixR) 0 0), + (unqual "+", FixityApproximation (Just InfixL) 6 6), + (unqual "++", FixityApproximation (Just InfixR) 5 5) + ] + it "does not know (>>>) when Control.Category is not imported" $ + checkFixities + ["base"] + [import_ "Prelude"] + [ (unqual ">>>", defaultFixityApproximation) + ] + it "infer correct fixity for (>>>) when Control.Category is imported" $ + checkFixities + ["base"] + [ import_ "Prelude", + import_ "Control.Category" + ] + [ (unqual ">>>", FixityApproximation (Just InfixR) 1 1) + ] + it "handles 'as' imports correctly" $ + checkFixities + ["base"] + [ import_ "Control.Category" & as_ "Foo" + ] + [ (unqual ">>>", FixityApproximation (Just InfixR) 1 1), + (qual "Foo" ">>>", FixityApproximation (Just InfixR) 1 1), + (qual "Bar" ">>>", defaultFixityApproximation) + ] + it "handles 'qualified' imports correctly" $ + checkFixities + ["base"] + [import_ "Control.Category" & qualified_] + [ (unqual ">>>", defaultFixityApproximation), + (qual "Control.Category" ">>>", FixityApproximation (Just InfixR) 1 1) + ] + it "handles 'qualified as' imports correctly" $ + checkFixities + ["base"] + [import_ "Control.Category" & qualified_ & as_ "Foo"] + [ (unqual ">>>", defaultFixityApproximation), + (qual "Control.Category" ">>>", defaultFixityApproximation), + (qual "Foo" ">>>", FixityApproximation (Just InfixR) 1 1) + ] + it "handles explicit import lists correctly" $ + checkFixities + ["base"] + [import_ "Prelude" & exactly_ ["$"]] + [ (unqual "$", FixityApproximation (Just InfixR) 0 0), + (unqual "+", defaultFixityApproximation) + ] + it "handles hiding import lists correctly" $ + checkFixities + ["base"] + [import_ "Prelude" & hiding_ ["$"]] + [ (unqual "$", defaultFixityApproximation), + (unqual "+", FixityApproximation (Just InfixL) 6 6), + (unqual "++", FixityApproximation (Just InfixR) 5 5) + ] + it "handles qualified imports with explicit import lists correctly" $ + checkFixities + ["base"] + [import_ "Prelude" & qualified_ & exactly_ ["$"]] + [ (unqual "$", defaultFixityApproximation), + (qual "Prelude" "$", FixityApproximation (Just InfixR) 0 0), + (unqual "+", defaultFixityApproximation), + (qual "Prelude" "+", defaultFixityApproximation) + ] + it "handles qualified import with hiding correctly" $ + checkFixities + ["base"] + [import_ "Prelude" & qualified_ & hiding_ ["$"]] + [ (unqual "$", defaultFixityApproximation), + (qual "Prelude" "$", defaultFixityApproximation), + (unqual "+", defaultFixityApproximation), + (qual "Prelude" "+", FixityApproximation (Just InfixL) 6 6) + ] + it "handles qualified import and explicit import lists correctly (1)" $ + checkFixities + ["base"] + [ import_ "Prelude" & qualified_, + import_ "Prelude" & exactly_ ["$"] + ] + [ (unqual "$", FixityApproximation (Just InfixR) 0 0), + (qual "Prelude" "$", FixityApproximation (Just InfixR) 0 0), + (unqual "+", defaultFixityApproximation), + (qual "Prelude" "+", FixityApproximation (Just InfixL) 6 6) + ] + it "handles qualified import and explicit import lists correctly (2)" $ + checkFixities + ["base"] + [ import_ "Prelude" & exactly_ ["$"], + import_ "Prelude" & qualified_ + ] + [ (unqual "$", FixityApproximation (Just InfixR) 0 0), + (qual "Prelude" "$", FixityApproximation (Just InfixR) 0 0), + (unqual "+", defaultFixityApproximation), + (qual "Prelude" "+", FixityApproximation (Just InfixL) 6 6) + ] + it "handles qualified import and hiding import correctly (1)" $ + checkFixities + ["base"] + [ import_ "Prelude" & qualified_, + import_ "Prelude" & hiding_ ["$"] + ] + [ (unqual "$", defaultFixityApproximation), + (qual "Prelude" "$", FixityApproximation (Just InfixR) 0 0), + (unqual "+", FixityApproximation (Just InfixL) 6 6), + (qual "Prelude" "+", FixityApproximation (Just InfixL) 6 6) + ] + it "handles qualified import and hiding import correctly (2)" $ + checkFixities + ["base"] + [ import_ "Prelude" & hiding_ ["$"], + import_ "Prelude" & qualified_ + ] + [ (unqual "$", defaultFixityApproximation), + (qual "Prelude" "$", FixityApproximation (Just InfixR) 0 0), + (unqual "+", FixityApproximation (Just InfixL) 6 6), + (qual "Prelude" "+", FixityApproximation (Just InfixL) 6 6) + ] + it "works for several imports from different packages" $ + checkFixities + ["base", "esqueleto"] + [ import_ "Prelude", + import_ "Database.Esqueleto.Experimental" & qualified_ & as_ "E" + ] + [ (unqual "$", FixityApproximation (Just InfixR) 0 0), + (qual "E" "++.", FixityApproximation (Just InfixR) 5 5), + (qual "E" "on", FixityApproximation (Just InfixN) 9 9) + ] + it "merges approximations in case of a conflict" $ + checkFixities + ["fclabels", "persistent"] + [ import_ "Data.Label.Monadic", + import_ "Database.Persist" + ] + [ (unqual "=.", FixityApproximation (Just InfixR) 2 3) + ] + it "correctly handles package-qualified imports (1)" $ + checkFixities + ["esqueleto"] + [package_ "esqueleto" $ import_ "Database.Esqueleto.Experimental"] + [(unqual "++.", FixityApproximation (Just InfixR) 5 5)] + it "correctly handles package-qualified imports (2)" $ + checkFixities + ["esqueleto"] + [package_ "bob" $ import_ "Database.Esqueleto.Experimental"] + [(unqual "++.", defaultFixityApproximation)] + +-- | Build a fixity map using the Hoogle database and then check the fixity +-- of the specified subset of operators. +checkFixities :: + -- | List of dependencies + [PackageName] -> + -- | Imports + [FixityImport] -> + -- | Associative list representing a subset of the resulting fixity map + -- that should be checked. + [(RdrName, FixityApproximation)] -> + Expectation +checkFixities dependencies fixityImports expectedResult = + actualResult `shouldBe` expectedResult + where + actualResult = + fmap + (\(k, _) -> (k, inferFixity k resultMap)) + expectedResult + resultMap = + moduleFixityMap + (packageFixityMap (Set.fromList dependencies)) + fixityImports + +qual :: String -> OpName -> RdrName +qual moduleName opName = mkRdrQual (mkModuleName moduleName) (opNameToOccName opName) + +unqual :: OpName -> RdrName +unqual = mkRdrUnqual . opNameToOccName + +opNameToOccName :: OpName -> OccName +opNameToOccName = mkVarOcc . T.unpack . unOpName + +-- | Explicitly specify the package. +package_ :: PackageName -> FixityImport -> FixityImport +package_ packageName fixityImport = + fixityImport + { fimportPackage = Just packageName + } + +-- | Construct a simple 'FixityImport'. +import_ :: ModuleName -> FixityImport +import_ moduleName = + FixityImport + { fimportPackage = Nothing, + fimportModuleName = moduleName, + fimportQualified = UnqualifiedAndQualified moduleName, + fimportList = Nothing + } + +-- | Adds an alias for an import. +as_ :: ModuleName -> FixityImport -> FixityImport +as_ moduleName fixityImport = + fixityImport + { fimportQualified = case fimportQualified fixityImport of + UnqualifiedAndQualified _ -> UnqualifiedAndQualified moduleName + OnlyQualified _ -> OnlyQualified moduleName + } + +-- | Qualified imports. +qualified_ :: FixityImport -> FixityImport +qualified_ fixityImport = + fixityImport + { fimportQualified = case fimportQualified fixityImport of + UnqualifiedAndQualified m -> OnlyQualified m + OnlyQualified m -> OnlyQualified m + } + +-- | Exact import lists. +exactly_ :: [OpName] -> FixityImport -> FixityImport +exactly_ opNames fixityImports = + fixityImports + { fimportList = Just (Exactly, opNames) + } + +-- | Hiding. +hiding_ :: [OpName] -> FixityImport -> FixityImport +hiding_ opNames fixityImports = + fixityImports + { fimportList = Just (EverythingBut, opNames) + } diff --git a/tests/Ormolu/HackageInfoSpec.hs b/tests/Ormolu/HackageInfoSpec.hs deleted file mode 100644 index d5ee2a7..0000000 --- a/tests/Ormolu/HackageInfoSpec.hs +++ /dev/null @@ -1,507 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} - -module Ormolu.HackageInfoSpec (spec) where - -import Data.Map.Strict qualified as Map -import Data.Maybe (mapMaybe) -import Data.Set qualified as Set -import Distribution.Types.PackageName (PackageName) -import Ormolu.Fixity -import Test.Hspec - --- | Build a fixity map using the Hackage/Hoogle database, and the boot --- package list, and then check the fixity of the specified subset of --- operators. -checkFixityMap :: - -- | List of dependencies - [PackageName] -> - -- | Threshold to choose the conflict resolution strategy - Float -> - -- | Associative list representing a subset of the resulting fixity map - -- that should be checked. - [(OpName, FixityInfo)] -> - Expectation -checkFixityMap - dependencies - threshold - expectedResult = - actualResult `shouldBe` expectedResult - where - actualResult = - mapMaybe - (\(k, _) -> (k,) <$> lookupFixity k resultMap) - expectedResult - resultMap = - buildFixityMap' - packageToOps - packageToPopularity - bootPackages - threshold - (Set.fromList dependencies) - --- | Build a fixity map from a custom package database, and then check the --- fixity of the specified subset of operators. -checkFixityMap' :: - -- | Associative list for packageToOps: - -- package name -map-> (operator -map-> fixity) - [(PackageName, [(OpName, FixityInfo)])] -> - -- | Associative list for packageToPopularity: - -- package name -map-> download count - [(PackageName, Int)] -> - -- | List of packages that should have a higher priority than - -- unspecified packages (boot packages) - [PackageName] -> - -- | List of dependencies - [PackageName] -> - -- | Threshold to choose the conflict resolution strategy - Float -> - -- | Associative list representing a subset of the resulting fixity map - -- that should be checked. - [(OpName, FixityInfo)] -> - Expectation -checkFixityMap' - lPackageToOps - lPackageToPopularity - highPrioPackages - dependencies - threshold - expectedResult = - actualResult `shouldBe` expectedResult - where - actualResult = - mapMaybe - (\(k, _) -> (k,) <$> lookupFixity k resultMap) - expectedResult - resultMap = - buildFixityMap' - lPackageToOps' - lPackageToPopularity' - (Set.fromList highPrioPackages) - threshold - (Set.fromList dependencies) - lPackageToOps' = - Map.map Map.fromList $ - Map.fromList lPackageToOps - lPackageToPopularity' = Map.fromList lPackageToPopularity - -spec :: Spec -spec = do - it - "correctly merges fixities when a conflict appears in unspecified \ - \packages, with max(pop) < threshold" - $ do - let operators = - [ ("A", [("+", FixityInfo (Just InfixL) 4 4)]), - ("B", [("+", FixityInfo (Just InfixR) 6 6)]) - ] - popularity = - [ ("A", 3), - ("B", 5) - ] - dependencies = [] - higherPriorityPackages = [] - threshold = 0.9 - result = - [ ("+", FixityInfo Nothing 4 6) - ] - checkFixityMap' - operators - popularity - higherPriorityPackages - dependencies - threshold - result - - it - "keeps only the most popular declaration when a conflict appears in \ - \unspecified packages, with max(pop) >= threshold" - $ do - let operators = - [ ("A", [("+", FixityInfo (Just InfixL) 4 4)]), - ("B", [("+", FixityInfo (Just InfixR) 6 6)]) - ] - popularity = - [ ("A", 5), - ("B", 103) - ] - dependencies = [] - higherPriorityPackages = [] - threshold = 0.9 - result = - [ ("+", FixityInfo (Just InfixR) 6 6) - ] - checkFixityMap' - operators - popularity - higherPriorityPackages - dependencies - threshold - result - - it - "merges the ex-aequo most popular declaration when a conflict appears \ - \in unspecified packages, with max(pop) >= threshold" - $ do - let operators = - [ ("A", [("+", FixityInfo (Just InfixL) 4 4)]), - ("B", [("+", FixityInfo (Just InfixR) 6 6)]), - ("C", [("+", FixityInfo (Just InfixR) 8 8)]) - ] - popularity = - [ ("A", 5), - ("B", 103), - ("C", 103) - ] - dependencies = [] - higherPriorityPackages = [] - threshold = 0.4 - result = - [ ("+", FixityInfo (Just InfixR) 6 8) - ] - checkFixityMap' - operators - popularity - higherPriorityPackages - dependencies - threshold - result - - it - "keeps only the most popular declaration when a conflict appears in \ - \unspecified packages, threshold == 0" - $ do - let operators = - [ ("A", [("+", FixityInfo (Just InfixL) 4 4)]), - ("B", [("+", FixityInfo (Just InfixR) 6 6)]) - ] - popularity = - [ ("A", 5), - ("B", 103) - ] - dependencies = [] - higherPriorityPackages = [] - threshold = 0.0 - result = - [ ("+", FixityInfo (Just InfixR) 6 6) - ] - checkFixityMap' - operators - popularity - higherPriorityPackages - dependencies - threshold - result - - it - "merges all declarations when a conflict appears in unspecified \ - \packages, threshold > 1" - $ do - let operators = - [ ("A", [("+", FixityInfo (Just InfixN) 4 4)]), - ("B", [("+", FixityInfo (Just InfixN) 6 6)]), - ("C", [("+", FixityInfo (Just InfixN) 8 8)]) - ] - popularity = - [ ("A", 0), - ("B", 0), - ("C", 11103) - ] - dependencies = [] - higherPriorityPackages = [] - threshold = 10.0 - result = - [ ("+", FixityInfo (Just InfixN) 4 8) - ] - checkFixityMap' - operators - popularity - higherPriorityPackages - dependencies - threshold - result - - it - "merges all declarations when a conflict appears in cabal \ - \dependencies" - $ do - let operators = - [ ( "A", - [ ("+", FixityInfo (Just InfixR) 4 4), - ("-", FixityInfo (Just InfixR) 2 2) - ] - ), - ( "B", - [ ("+", FixityInfo (Just InfixN) 6 6), - ("-", FixityInfo (Just InfixL) 4 4) - ] - ), - ("C", [("+", FixityInfo (Just InfixN) 8 8)]) - ] - popularity = - [ ("A", 0), - ("B", 0), - ("C", 11103) - ] - dependencies = ["B", "C"] - higherPriorityPackages = [] - threshold = 0.4 - result = - [ ("+", FixityInfo (Just InfixN) 6 8), - ("-", FixityInfo (Just InfixL) 4 4) - ] - checkFixityMap' - operators - popularity - higherPriorityPackages - dependencies - threshold - result - - it - "merges all declarations when a conflict appears in higher-priority \ - \packages" - $ do - let operators = - [ ( "A", - [ ("+", FixityInfo (Just InfixR) 4 4), - ("-", FixityInfo (Just InfixR) 2 2) - ] - ), - ( "B", - [ ("+", FixityInfo (Just InfixN) 6 6), - ("-", FixityInfo (Just InfixL) 4 4) - ] - ), - ("C", [("+", FixityInfo (Just InfixN) 8 8)]) - ] - popularity = - [ ("A", 0), - ("B", 0), - ("C", 11103) - ] - dependencies = [] - higherPriorityPackages = ["B", "C"] - threshold = 0.4 - result = - [ ("+", FixityInfo (Just InfixN) 6 8), - ("-", FixityInfo (Just InfixL) 4 4) - ] - checkFixityMap' - operators - popularity - higherPriorityPackages - dependencies - threshold - result - - it - "whitelists declarations from base even when it is not listed in \ - \cabal dependencies" - $ do - let operators = - [ ( "base", - [ ("+", FixityInfo (Just InfixR) 4 4), - ("-", FixityInfo (Just InfixR) 2 2) - ] - ), - ( "B", - [ ("+", FixityInfo (Just InfixN) 6 6), - ("-", FixityInfo (Just InfixL) 4 4) - ] - ), - ( "C", - [ ("+", FixityInfo (Just InfixN) 8 8), - ("|>", FixityInfo (Just InfixN) 1 1) - ] - ) - ] - popularity = - [ ("base", 0), - ("B", 2), - ("C", 11103) - ] - dependencies = ["B", "C"] - higherPriorityPackages = [] - threshold = 0.4 - result = - [ ("+", FixityInfo (Just InfixR) 4 4), - ("-", FixityInfo (Just InfixR) 2 2), - ("|>", FixityInfo (Just InfixN) 1 1) - ] - checkFixityMap' - operators - popularity - higherPriorityPackages - dependencies - threshold - result - - it - "whitelists declarations from base when base is also listed in cabal \ - \dependencies" - $ do - let operators = - [ ( "base", - [ ("+", FixityInfo (Just InfixR) 4 4), - ("-", FixityInfo (Just InfixR) 2 2) - ] - ), - ( "B", - [ ("+", FixityInfo (Just InfixN) 6 6), - ("?=", FixityInfo (Just InfixL) 4 4) - ] - ), - ( "C", - [ ("<|>", FixityInfo (Just InfixN) 8 8), - ("?=", FixityInfo (Just InfixN) 1 1) - ] - ) - ] - popularity = - [ ("base", 0), - ("B", 2), - ("C", 11103) - ] - dependencies = ["base", "B"] - higherPriorityPackages = [] - threshold = 0.6 - result = - [ ("+", FixityInfo (Just InfixR) 4 4), - ("-", FixityInfo (Just InfixR) 2 2), - ("?=", FixityInfo (Just InfixL) 4 4) - ] - checkFixityMap' - operators - popularity - higherPriorityPackages - dependencies - threshold - result - - it - "gives higher priority to declarations from cabal dependencies than \ - \declarations from both higher-priority & unspecified packages" - $ do - let operators = - [ ( "base", - [ ("+", FixityInfo (Just InfixR) 4 4), - ("-", FixityInfo (Just InfixR) 2 2) - ] - ), - ( "B", - [ ("+", FixityInfo (Just InfixN) 6 6), - ("?=", FixityInfo (Just InfixL) 4 4) - ] - ), - ( "C", - [ ("<|>", FixityInfo (Just InfixN) 8 8), - ("?=", FixityInfo (Just InfixN) 1 1) - ] - ), - ("D", [("+", FixityInfo (Just InfixR) 2 2)]) - ] - popularity = - [ ("base", 0), - ("B", 2), - ("C", 11103) - ] - dependencies = ["base", "B"] - higherPriorityPackages = ["D"] - threshold = 0.6 - result = - [ ("?=", FixityInfo (Just InfixL) 4 4), - ("<|>", FixityInfo (Just InfixN) 8 8) - ] - checkFixityMap' - operators - popularity - higherPriorityPackages - dependencies - threshold - result - - it - "gives higher priority to declarations from higher-priority packages \ - \than declarations from unspecified packages" - $ do - let operators = - [ ( "base", - [ ("+", FixityInfo (Just InfixR) 4 4), - ("-", FixityInfo (Just InfixR) 2 2) - ] - ), - ( "B", - [ ("+", FixityInfo (Just InfixN) 6 6), - ("?=", FixityInfo (Just InfixL) 4 4) - ] - ), - ( "C", - [ ("<|>", FixityInfo (Just InfixN) 8 8), - ("?=", FixityInfo (Just InfixN) 1 1) - ] - ), - ("D", [("+", FixityInfo (Just InfixR) 2 2)]) - ] - popularity = - [ ("base", 0), - ("B", 2), - ("C", 11103) - ] - dependencies = [] - higherPriorityPackages = ["B"] - threshold = 0.6 - result = - [ ("+", FixityInfo (Just InfixR) 4 4), - ("?=", FixityInfo (Just InfixL) 4 4), - ("<|>", FixityInfo (Just InfixN) 8 8) - ] - checkFixityMap' - operators - popularity - higherPriorityPackages - dependencies - threshold - result - - it "gives the correct fixity info for ':' (from base)" $ do - let dependencies = [] - threshold = 0.6 - result = - [ (":", FixityInfo (Just InfixR) 5 5) - ] - checkFixityMap dependencies threshold result - - it - "gives the base's fixity info for '<|>', even when a dependency has a \ - \conflicting declaration for it" - $ do - let dependencies = ["pandoc"] - threshold = 0.9 - result = - [ ("<|>", FixityInfo (Just InfixL) 3 3) - ] - checkFixityMap dependencies threshold result - - it - "gives the containers's fixity info for ':>' (because 'containers' is \ - \a higher-priority package), even though max(pop) < threshold for \ - \this operator)" - $ do - let dependencies = [] - threshold = 0.9 - result = - [ (":>", FixityInfo (Just InfixL) 5 5) - ] - checkFixityMap dependencies threshold result - - it - "gives the servant's fixity info for ':>' once servant is added as a \ - \dependency (although ':>' is also defined in 'containers', a \ - \higher-priority package)" - $ do - let dependencies = ["servant"] - threshold = 0.9 - result = - [ (":>", FixityInfo (Just InfixR) 4 4) - ] - checkFixityMap dependencies threshold result diff --git a/tests/Ormolu/OpTreeSpec.hs b/tests/Ormolu/OpTreeSpec.hs index 9860670..fd66eeb 100644 --- a/tests/Ormolu/OpTreeSpec.hs +++ b/tests/Ormolu/OpTreeSpec.hs @@ -3,13 +3,12 @@ module Ormolu.OpTreeSpec (spec) where import Data.Map.Strict qualified as Map -import Data.Maybe (fromJust) import Data.Text (Text) import Data.Text qualified as T import GHC.Types.Name (mkOccName, varName) import GHC.Types.Name.Reader (mkRdrUnqual) import Ormolu.Fixity -import Ormolu.Fixity.Internal (LazyFixityMap (..)) +import Ormolu.Fixity.Internal import Ormolu.Printer.Operators import Test.Hspec @@ -25,20 +24,16 @@ checkReassociate :: -- | Expected output tree OpTree Text OpName -> Expectation -checkReassociate lFixities inputTree expectedOutputTree = +checkReassociate fixities inputTree expectedOutputTree = removeOpInfo actualOutputTree `shouldBe` expectedOutputTree where removeOpInfo (OpNode x) = OpNode x removeOpInfo (OpBranches exprs ops) = OpBranches (removeOpInfo <$> exprs) (opiOp <$> ops) - actualOutputTree = reassociateOpTree convertName Map.empty fixityMap inputTree - fixityMap = LazyFixityMap [Map.fromList lFixities] + actualOutputTree = reassociateOpTree convertName modFixityMap inputTree + modFixityMap = ModuleFixityMap (Map.map Given (Map.fromList fixities)) convertName = Just . mkRdrUnqual . mkOccName varName . T.unpack . unOpName --- | Associative list of fixities for operators from "base" -baseFixities :: [(OpName, FixityInfo)] -baseFixities = Map.toList . fromJust $ Map.lookup "base" packageToOps - spec :: Spec spec = do it "flattens a tree correctly" $ do @@ -52,7 +47,7 @@ spec = do ["+"] outputTree = OpBranches [n "a", n "b", n "c", n "d"] ["+", "+", "+"] - fixities = [("+", FixityInfo (Just InfixL) 5 5)] + fixities = [("+", FixityInfo InfixL 5)] checkReassociate fixities inputTree outputTree it "uses 'minOps' strategy by default" $ do @@ -68,9 +63,9 @@ spec = do ] ["+", "-"] fixities = - [ ("+", FixityInfo (Just InfixL) 5 5), - ("*", FixityInfo (Just InfixL) 7 7), - ("-", FixityInfo (Just InfixL) 5 5) + [ ("+", FixityInfo InfixL 5), + ("*", FixityInfo InfixL 7), + ("-", FixityInfo InfixL 5) ] checkReassociate fixities inputTree outputTree @@ -87,9 +82,9 @@ spec = do ] ["+", "-"] fixities = - [ ("+", FixityInfo (Just InfixL) 5 7), - ("*", FixityInfo (Just InfixL) 8 8), - ("-", FixityInfo (Just InfixL) 4 6) + [ ("+", FixityInfo InfixL 5), + ("*", FixityInfo InfixL 8), + ("-", FixityInfo InfixL 5) ] checkReassociate fixities inputTree outputTree @@ -110,9 +105,9 @@ spec = do ] ["$"] fixities = - [ ("@", FixityInfo (Just InfixL) 0 5), - ("|", FixityInfo (Just InfixL) 4 8), - ("$", FixityInfo (Just InfixR) 0 0) + [ ("@", FixityInfo InfixL 4), + ("|", FixityInfo InfixL 4), + ("$", FixityInfo InfixR 0) ] checkReassociate fixities inputTree outputTree @@ -132,4 +127,9 @@ spec = do ["+"] ] ["$", "$"] - checkReassociate baseFixities inputTree outputTree + fixities = + [ ("$", FixityInfo InfixR 0), + ("+", FixityInfo InfixL 6), + ("*", FixityInfo InfixL 7) + ] + checkReassociate fixities inputTree outputTree diff --git a/tests/Ormolu/PrinterSpec.hs b/tests/Ormolu/PrinterSpec.hs index afb28a5..de04d39 100644 --- a/tests/Ormolu/PrinterSpec.hs +++ b/tests/Ormolu/PrinterSpec.hs @@ -8,6 +8,7 @@ import Control.Monad import Data.List (isSuffixOf) import Data.Map qualified as Map import Data.Maybe (isJust) +import Data.Set qualified as Set import Data.Text (Text) import Data.Text qualified as T import Data.Text.IO qualified as T @@ -25,13 +26,15 @@ spec = do es <- runIO locateExamples forM_ es checkExample --- | Fixities that are to be used with the test examples. -testsuiteFixities :: FixityMap -testsuiteFixities = - Map.fromList - [ (".=", FixityInfo (Just InfixR) 8 8), - ("#", FixityInfo (Just InfixR) 5 5) - ] +-- | Fixity overrides that are to be used with the test examples. +testsuiteOverrides :: FixityOverrides +testsuiteOverrides = + FixityOverrides + ( Map.fromList + [ (".=", FixityInfo InfixR 8), + ("#", FixityInfo InfixR 5) + ] + ) -- | Check a single given example. checkExample :: Path Rel File -> Spec @@ -41,7 +44,14 @@ checkExample srcPath' = it (fromRelFile srcPath' ++ " works") . withNiceExceptio config = defaultConfig { cfgSourceType = detectSourceType inputPath, - cfgFixityOverrides = testsuiteFixities + cfgFixityOverrides = testsuiteOverrides, + cfgDependencies = + Set.fromList + [ "base", + "esqueleto", + "lens", + "servant" + ] } expectedOutputPath <- deriveOutput srcPath -- 1. Given input snippet of source code parse it and pretty print it.