digitallyinduced/ihp
View on GitHubRefactor Code Generators to be more nice-looking again
Open
#1,171 opened on Oct 25, 2021
good first issue
Repository metrics
- Stars
- (5,285 stars)
- PR merge metrics
- (Avg merge 11h 20m) (21 merged PRs in 30d)
Description
If you compare the old PHP-based code generators with the newer Haskell-based one's , the PHP-based code gen's have much more readable code.
One low hanging fruit is to replace the normal haskell strings with https://hackage.haskell.org/package/neat-interpolation-0.5.1.2/docs/NeatInterpolation.html
Basically replacing code like this:
indexAction =
""
<> " action " <> pluralName <> "Action = do\n"
<> (if paginationEnabled
then " (" <> modelVariablePlural <> "Q, pagination) <- query @" <> model <> " |> paginate\n"
<> " " <> modelVariablePlural <> " <- " <> modelVariablePlural <> "Q |> fetch\n"
else " " <> modelVariablePlural <> " <- query @" <> model <> " |> fetch\n"
)
<> " render IndexView { .. }\n"
With this:
indexAction = [text|
action #{pluralName}Action = do
...
|]