From d9cbc10813e752140f0f22ee24c1420786c7e893 Mon Sep 17 00:00:00 2001 From: Simon Hengel Date: Mon, 28 Mar 2022 20:58:07 +0700 Subject: [PATCH] Always render `imports` as the first field of a section (fixes #486) --- src/Hpack/Render.hs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Hpack/Render.hs b/src/Hpack/Render.hs index d0cb2a82..64a859a8 100644 --- a/src/Hpack/Render.hs +++ b/src/Hpack/Render.hs @@ -44,7 +44,8 @@ import qualified Data.Map.Lazy as Map import Hpack.Util import Hpack.Config import Hpack.Render.Hints -import Hpack.Render.Dsl +import Hpack.Render.Dsl hiding (sortFieldsBy) +import qualified Hpack.Render.Dsl as Dsl renderPackage :: [String] -> Package -> String renderPackage oldCabalFile = renderPackageWith settings alignment formattingHintsFieldOrder formattingHintsSectionsFieldOrder @@ -415,3 +416,6 @@ renderPaths = LineSeparatedList . map renderPath needsQuoting :: FilePath -> Bool needsQuoting = any (\x -> isSpace x || x == ',') + +sortFieldsBy :: [String] -> [Element] -> [Element] +sortFieldsBy existingFieldOrder = Dsl.sortFieldsBy ("import" : existingFieldOrder)