digitallyinduced/ihp

Refactor Code Generators to be more nice-looking again

Aperta

#1171 aperta il 25 ott 2021

 (7 commenti) (0 reazioni) (0 assegnatari)Haskell (221 fork)batch import
good first issue

Metriche repository

Star
 (5285 stelle)
Metriche merge PR
 (Merge medio 11h 20m) (21 PR mergiate in 30 g)

Descrizione

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

Guida contributor