digitallyinduced/ihp

Refactor Code Generators to be more nice-looking again

Aberta

#1.171 aberto em 25 de out. de 2021

 (7 comentários) (0 reação) (0 responsável)Haskell (221 forks)batch import
good first issue

Métricas do repositório

Stars
 (5.285 estrelas)
Métricas de merge de PR
 (Métricas PR pendentes)

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

Guia do colaborador