packages feed

hls-fourmolu-plugin 2.4.0.0 → 2.5.0.0

raw patch · 5 files changed

+35/−19 lines, 5 filesdep ~ghcidedep ~hls-plugin-apidep ~hls-test-utilsPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: ghcide, hls-plugin-api, hls-test-utils

API changes (from Hackage documentation)

Files

hls-fourmolu-plugin.cabal view
@@ -1,6 +1,6 @@ cabal-version:      2.4 name:               hls-fourmolu-plugin-version:            2.4.0.0+version:            2.5.0.0 synopsis:           Integration with the Fourmolu code formatter description:   Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>@@ -37,8 +37,8 @@     , filepath     , ghc     , ghc-boot-th-    , ghcide          == 2.4.0.0-    , hls-plugin-api  == 2.4.0.0+    , ghcide          == 2.5.0.0+    , hls-plugin-api  == 2.5.0.0     , lens     , lsp     , mtl@@ -77,5 +77,5 @@     , filepath     , hls-fourmolu-plugin     , hls-plugin-api-    , hls-test-utils       == 2.4.0.0+    , hls-test-utils       == 2.5.0.0     , lsp-test
src/Ide/Plugin/Fourmolu.hs view
@@ -1,13 +1,12 @@-{-# LANGUAGE CPP                      #-}-{-# LANGUAGE DataKinds                #-}-{-# LANGUAGE DisambiguateRecordFields #-}-{-# LANGUAGE LambdaCase               #-}-{-# LANGUAGE NamedFieldPuns           #-}-{-# LANGUAGE OverloadedLabels         #-}-{-# LANGUAGE OverloadedStrings        #-}-{-# LANGUAGE RecordWildCards          #-}-{-# LANGUAGE TypeApplications         #-}-{-# LANGUAGE TypeOperators            #-}+{-# LANGUAGE CPP               #-}+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE LambdaCase        #-}+{-# LANGUAGE NamedFieldPuns    #-}+{-# LANGUAGE OverloadedLabels  #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards   #-}+{-# LANGUAGE TypeApplications  #-}+{-# LANGUAGE TypeOperators     #-}  module Ide.Plugin.Fourmolu (     descriptor,@@ -15,15 +14,13 @@     LogEvent, ) where -import           Control.Exception               (IOException, handle, try)+import           Control.Exception import           Control.Lens                    ((^.)) import           Control.Monad                   (guard) import           Control.Monad.Error.Class       (MonadError (throwError))-import           Control.Monad.Trans.Except      (ExceptT (..), mapExceptT,-                                                  runExceptT)- import           Control.Monad.IO.Class          (MonadIO (liftIO)) import           Control.Monad.Trans.Class       (MonadTrans (lift))+import           Control.Monad.Trans.Except      (ExceptT (..), runExceptT) import           Data.Bifunctor                  (bimap) import           Data.List                       (intercalate) import           Data.Maybe                      (catMaybes)@@ -96,6 +93,9 @@                         errorMessage = "Failed to load " <> T.pack f <> ": " <> T.pack (show err)              let config =+#if MIN_VERSION_fourmolu(0,13,0)+                    refineConfig ModuleSource Nothing Nothing Nothing+#endif                     defaultConfig                         { cfgDynOptions = map DynOption fileOpts                         , cfgFixityOverrides = cfgFileFixities
test/Main.hs view
@@ -4,6 +4,7 @@   ) where  import           Data.Aeson+import qualified Data.Aeson.KeyMap           as KM import           Data.Functor import           Ide.Plugin.Config import qualified Ide.Plugin.Fourmolu         as Fourmolu@@ -28,12 +29,14 @@             formatDoc doc (FormattingOptions 4 True Nothing Nothing Nothing)         , goldenWithFourmolu cli "formats imports correctly" "Fourmolu2" "formatted" $ \doc -> do             formatDoc doc (FormattingOptions 4 True Nothing Nothing Nothing)+        , goldenWithFourmolu cli "uses correct operator fixities" "Fourmolu3" "formatted" $ \doc -> do+            formatDoc doc (FormattingOptions 4 True Nothing Nothing Nothing)         ]  goldenWithFourmolu :: Bool -> TestName -> FilePath -> FilePath -> (TextDocumentIdentifier -> Session ()) -> TestTree goldenWithFourmolu cli title path desc = goldenWithHaskellDocFormatter def fourmoluPlugin "fourmolu" conf title testDataDir path desc "hs"  where-  conf = def{plcConfig = (\(Object obj) -> obj) $ object ["external" .= cli]}+  conf = def{plcConfig = KM.fromList ["external" .= cli]}  testDataDir :: FilePath testDataDir = "test" </> "testdata"
+ test/testdata/Fourmolu3.formatted.hs view
@@ -0,0 +1,7 @@+b :: Bool+b =+    id $+        id $+            case True && True of+                True -> True+                False -> False
+ test/testdata/Fourmolu3.hs view
@@ -0,0 +1,6 @@+b :: Bool+b =+    id $ id $+        case True && True of+            True -> True+            False -> False