@@ -133,41 +133,47 @@ port name tipe maybeMessage =
133-- TO REPORT
133-- TO REPORT
136−namingError :: Text -> Text -> Report.Report
137−namingError pre post =
138− Report.report "NAMING ERROR" Nothing pre (text post)
141toReport :: RenderType.Localizer -> Error -> Report.Report
136toReport :: RenderType.Localizer -> Error -> Report.Report
142toReport localizer err =
137toReport localizer err =
143 case err of
138 case err of
144 Var (VarError kind name problem suggestions) ->
139 Var (VarError kind name problem suggestions) ->
145− let var = kind <> " `" <> name <> "`"
142+ kind <> " `" <> name <> "`"
146+ "New to Elm? Unsure exactly how `import` works? Learn all about it here: "
147+ <> Help.hintLink "imports"
149+ namingError overview maybeStarter specializedSuggestions =
150+ Report.report "NAMING ERROR" Nothing overview $
151+ maybeYouWant maybeStarter specializedSuggestions (Just learnMore)
147 case problem of
153 case problem of
148 Ambiguous ->
154 Ambiguous ->
149 namingError
155 namingError
150− ("This usage of " <> var <> " is ambiguous.")
156+ ("This usage of " <> variableName <> " is ambiguous.")
151− (maybeYouWant suggestions)
158+ suggestions
153 UnknownQualifier qualifier localName ->
160 UnknownQualifier qualifier localName ->
154 namingError
161 namingError
155− ("Cannot find " <> var <> ".")
162+ ("Cannot find " <> variableName)
156− ( "No module called `" <> qualifier <> "` has been imported. "
163+ (Just $ text $ "No module called `" <> qualifier <> "` has been imported.")
157− <> maybeYouWant (map (\modul -> modul <> "." <> localName) suggestions)
164+ (map (\modul -> modul <> "." <> localName) suggestions)
160 QualifiedUnknown qualifier localName ->
166 QualifiedUnknown qualifier localName ->
161 namingError
167 namingError
162− ("Cannot find " <> var <> ".")
168+ ("Cannot find " <> variableName)
163− ( "`" <> qualifier <> "` does not expose `" <> localName <> "`. "
169+ (Just $ text $ "`" <> qualifier <> "` does not expose `" <> localName <> "`.")
164− <> maybeYouWant (map (\v -> qualifier <> "." <> v) suggestions)
170+ (map (\v -> qualifier <> "." <> v) suggestions)
167 ExposedUnknown ->
172 ExposedUnknown ->
168 namingError
173 namingError
169− ("Cannot find " <> var)
174+ ("Cannot find " <> variableName)
170− (maybeYouWant suggestions)
176+ suggestions
172 BadRecursion region def defs ->
178 BadRecursion region def defs ->
173 case defs of
179 case defs of
@@ -234,27 +240,25 @@ toReport localizer err =
236 Import name importError ->
242 Import name importError ->
237− let moduleName = ModuleName.toText name
239 case importError of
243 case importError of
240 ModuleNotFound suggestions ->
244 ModuleNotFound suggestions ->
241− namingError
245+ Report.report "IMPORT ERROR" Nothing
242− ("Could not find a module named `" <> moduleName <> "`")
246+ ("Could not find a module named `" <> ModuleName.toText name <> "`")
243− (maybeYouWant suggestions)
247+ (maybeYouWant Nothing suggestions Nothing)
245 ValueNotFound value suggestions ->
249 ValueNotFound value suggestions ->
246− namingError
250+ Report.report "IMPORT ERROR" Nothing
247− ("Module `" <> moduleName <> "` does not expose `" <> value <> "`")
251+ ("Module `" <> ModuleName.toText name <> "` does not expose `" <> value <> "`")
248− (maybeYouWant suggestions)
252+ (maybeYouWant Nothing suggestions Nothing)
250 Export name suggestions ->
254 Export name suggestions ->
251− namingError
255+ Report.report "EXPOSING ERROR" Nothing
252− ("Could not export `" <> name <> "` which is not defined in this module.")
256+ ("Could not expose `" <> name <> "` which is not defined in this module.")
253− (maybeYouWant suggestions)
257+ (maybeYouWant Nothing suggestions Nothing)
255 DuplicateExport name ->
259 DuplicateExport name ->
256− namingError
260+ Report.report "EXPOSING ERROR" Nothing
257− ("You are trying to export `" <> name <> "` multiple times!")
261+ ("You are trying to expose `" <> name <> "` multiple times!")
258 "Remove duplicates until there is only one listed."
262 "Remove duplicates until there is only one listed."
260 Port (PortError name tipe maybeMessage) ->
264 Port (PortError name tipe maybeMessage) ->