digitallyinduced/ihp

Refactor Code Generators to be more nice-looking again

Ouverte

#1 171 ouverte le 25 oct. 2021

 (7 commentaires) (0 réaction) (0 personne assignée)Haskell (221 forks)batch import
good first issue

Métriques du dépôt

Stars
 (5 285 étoiles)
Métriques de merge PR
 (Métriques PR en attente)

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
        ...
|]

Guide contributeur