digitallyinduced/ihp

Refactor Code Generators to be more nice-looking again

Offen

#1.171 geöffnet am 25.10.2021

 (7 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Haskell (221 Forks)batch import
good first issue

Repository-Metriken

Stars
 (5.285 Sterne)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

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

Contributor Guide