@@ -23,6 +23,7 @@ import qualified Elm.Name as N
2323import qualified Reporting.Annotation as A
2424import qualified Reporting.Doc as D
2525import Reporting.Doc ( Doc, (<+>), (<>) )
26+import qualified Reporting.Render.Type.Localizer as L
2627
2728
2829
@@ -177,29 +178,29 @@ collectSrcArgs tipe =
177178-- CANONICAL TYPE TO DOC
178179
179180
180−canToDoc :: Context -> Can.Type -> Doc
181−canToDoc context tipe =
181+canToDoc :: L.Localizer -> Context -> Can.Type -> Doc
182+canToDoc localizer context tipe =
182183 case tipe of
183184 Can.TLambda arg1 result ->
184185 let
185186 (arg2, rest) = collectArgs result
186187 in
187188 lambda context
188− (canToDoc Func arg1)
189− (canToDoc Func arg2)
190− (map (canToDoc Func) rest)
189+ (canToDoc localizer Func arg1)
190+ (canToDoc localizer Func arg2)
191+ (map (canToDoc localizer Func) rest)
191192
192193 Can.TVar name ->
193194 D.fromName name
194195
195196 Can.TType (ModuleName.Canonical _ home) name args ->
196197 apply context
197− (D.fromName home <> "." <> D.fromName name)
198− (map (canToDoc App) args)
198+ (L.toDoc localizer home name)
199+ (map (canToDoc localizer App) args)
199200
200201 Can.TRecord fields ext ->
201202 record
202− (map entryToDocs (Map.toList fields))
203+ (map (entryToDocs localizer) (Map.toList fields))
203204 (fmap D.fromName ext)
204205
205206 Can.TUnit ->
@@ -207,19 +208,19 @@ canToDoc context tipe =
207208
208209 Can.TTuple a b maybeC ->
209210 tuple
210− (canToDoc None a)
211− (canToDoc None b)
212− (map (canToDoc None) (Maybe.maybeToList maybeC))
211+ (canToDoc localizer None a)
212+ (canToDoc localizer None b)
213+ (map (canToDoc localizer None) (Maybe.maybeToList maybeC))
213214
214215 Can.TAlias (ModuleName.Canonical _ home) name args _ ->
215216 apply context
216− (D.fromName home <> "." <> D.fromName name)
217− (map (canToDoc App . snd) args)
217+ (L.toDoc localizer home name)
218+ (map (canToDoc localizer App . snd) args)
218219
219220
220−entryToDocs :: (N.Name, Can.Type) -> (Doc, Doc)
221−entryToDocs (name, tipe) =
222− (D.fromName name, canToDoc None tipe)
221+entryToDocs :: L.Localizer -> (N.Name, Can.Type) -> (Doc, Doc)
222+entryToDocs localizer (name, tipe) =
223+ (D.fromName name, canToDoc localizer None tipe)
223224
224225
225226collectArgs :: Can.Type -> (Can.Type, [Can.Type])