From 49fd254f2588ec3b71fce50563415b1feea7c018 Mon Sep 17 00:00:00 2001 From: Aaron VonderHaar Date: Sun, 1 May 2022 14:54:53 -0700 Subject: [PATCH] Extract Gren.Format --- compiler/src/Gren/Format.hs | 9 +++++++++ gren.cabal | 1 + terminal/src/Format.hs | 10 ++++++++-- 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 compiler/src/Gren/Format.hs diff --git a/compiler/src/Gren/Format.hs b/compiler/src/Gren/Format.hs new file mode 100644 index 00000000..ed94e8a6 --- /dev/null +++ b/compiler/src/Gren/Format.hs @@ -0,0 +1,9 @@ +module Gren.Format (toByteString) where + +import qualified AST.Source as Src +import qualified Data.ByteString as BS + +toByteString :: Src.Module -> BS.ByteString +toByteString = + -- TODO: implement actual formating + undefined diff --git a/gren.cabal b/gren.cabal index e28500e0..a5b94224 100644 --- a/gren.cabal +++ b/gren.cabal @@ -91,6 +91,7 @@ Common gren-common Gren.Constraint Gren.Docs Gren.Float + Gren.Format Gren.Interface Gren.Kernel Gren.Licenses diff --git a/terminal/src/Format.hs b/terminal/src/Format.hs index 3852e8c5..711f305e 100644 --- a/terminal/src/Format.hs +++ b/terminal/src/Format.hs @@ -12,7 +12,9 @@ import qualified Data.ByteString as BS import qualified Data.NonEmptyList as NE import qualified Directories as Dirs import qualified File +import qualified Gren.Format as Format import qualified Gren.Outline as Outline +import qualified Parse.Module as Parse import qualified Reporting import qualified Reporting.Doc as D import qualified Reporting.Exit as Exit @@ -154,5 +156,9 @@ formatExistingFile path = formatByteString :: BS.ByteString -> BS.ByteString formatByteString original = - -- TODO: implement actual formating - original + case Parse.fromByteString Parse.Application original of + Left _ -> + -- TODO: report error + original + Right ast -> + Format.toByteString ast