h&86?      !"#$%&'()*+,-./0123456789:;<=>  Safe-Inferred!, ?diagnose Analogous to  , but returns @0 on an empty list, instead of throwing an error.Adiagnose Analogous to  , but returns @ in case of an empty list.Bdiagnose Analogous tu  /, but does not throw an error on missing index.Cdiagnose(Safely deconstructs a list from the end.More efficient than (init x, last x)Ddiagnose9Safely deconstructs a list from the beginning, returning @ if the list is empty.?ABCD0Defines location information as a simple record.(c) Mesabloo, 2021-2022BSD3 experimentalPortable Safe-Inferred !$%,:diagnose5Contains information about the location of something.#It is best used in a datatype like: data Located a = a :@ Position deriving (Show, Eq, Ord, Functor, Traversable)Columns are specified in amount of Unicode codepoints from the beginning of the line. Lines and columns start at 1.diagnose*The beginning line and column of the span.diagnose$The end line and column of the span.diagnose The file this position spans in.  Safe-Inferred!,ECustom style definitions(c) Mesabloo, 2021-2022BSD3 experimentalPortable Safe-Inferred!, diagnose1A style is a function which can be applied using .It transforms a Fument containing  s into a F&ument containing color information.diagnose1Some annotations as placeholders for colors in a F.diagnose The color of   markers, depending on whether the report is an error report or a warning report.diagnose The color of  markers.diagnose The color of  markers.diagnoseThe color for hints.Note that the beginning Hint: text will always be in bold.diagnoseThe color for file names.diagnoseThe color of the rule separating the code/markers from the line numbers.diagnoseThe color of the [error]/ [warning] at the top, depending on whether this is an error or warning report.diagnose!The color in which to output the  noline) information when the file was not found.diagnoseAdditional style to apply to marker rules (e.g. bold) on top of some already processed color annotation.diagnose0The color of the code when no marker is present.diagnose)The default style for diagnostics, where:  > markers are colored in red for errors and yellow for warnings! markers are colored in dull blue markers are colored in magentaMarker rules are of the same color of the marker, but also in boldHints are output in cyan(The left rules are colored in bold black#File names are output in dull greenThe [error]/ [warning] at the top is colored in red for errors and yellow for warnings"The code is output in normal white=Internal workings for report definitions and pretty printing.(c) Mesabloo, 2021-2022BSD3 experimentalPortable Safe-Inferred!$%, diagnoseA note is a piece of information that is found at the end of a report.diagnoseA note, which is meant to give valuable information related to the encountered error. diagnoseA hint, to propose potential fixes or help towards fixing the issue.!diagnoseThe type of markers with abstract message type, shown under code lines."diagnoseA red or yellow marker under source code, marking important parts of the code.#diagnose1A blue marker symbolizing additional information.$diagnose+A magenta marker to report potential fixes.%diagnoseAn empty marker, whose sole purpose is to include a line of code in the report without markers under.&diagnose:The type of diagnostic reports with abstract message type.'diagnose$Pattern synonym for an error report.(diagnose%Pattern synonym for a warning report.)diagnose(Constructs a warning or an error report.*diagnose(Constructs a warning or an error report.+diagnose1Transforms a warning report into an error report.,diagnose1Transforms an error report into a warning report.GdiagnosePretty prints a report to a F handling colors.Hdiagnose,Inserts a given number of character after a Fument.IdiagnoseCreates a "dot"-prefix for a report line where there is no code.%Pretty printing yields those results:  with unicode"HHHHH@H"without unicode"HHHHH:H"JdiagnoseCreates a "pipe"-prefix for a report line where there is no code.%Pretty printing yields those results:  with unicode"HHHHHJH"without unicode"HHHHH|H"Kdiagnose>Creates a line-prefix for a report line containing source code%Pretty printing yields those results:  with unicode"HHH3HJH"without unicode"HHH3H|H"Results may be different, depending on the length of the line number.LdiagnoseCreates an ellipsis-prefix, when some line numbers are not consecutive.%Pretty printing yields those results:  with unicode"HHHHHEH"without unicode"HHHH..."MdiagnosePrettyprint a sub-report, which is a part of the report spanning across a single fileNdiagnoseOdiagnosePdiagnoseQdiagnoseRdiagnoseSdiagnose$Extracts the color of a marker as a F coloring function.Tdiagnose'Retrieves the message held by a marker.UdiagnosePretty prints all hints.Vdiagnose Constructs a , from the given message as a literal string. Wdiagnose$Is the report a warning or an error?diagnose+An optional error code to print at the top.diagnose&The message associated with the error.diagnoseA map associating positions with marker to show under the source code.diagnose0A list of notes to add at the end of the report.)diagnoseAn optional error code to be shown right next to "error" or "warning".diagnose*The report message, shown at the very top.diagnose*A list associating positions with markers.diagnoseA possibly mempty list of hints to add at the end of the report.*diagnoseAn optional error code to be shown right next to "error" or "warning".diagnose*The report message, shown at the very top.diagnose*A list associating positions with markers.diagnoseA possibly mempty list of hints to add at the end of the report.Gdiagnose+The content of the file the reports are fordiagnose!Should we print paths in unicode?diagnose1The number of spaces each TAB character will spandiagnoseThe whole report to outputIdiagnose/The length of the left space before the bullet.diagnose0Whether to print with unicode characters or not.Jdiagnose-The length of the left space before the pipe.diagnose0Whether to print with unicode characters or not.KdiagnoseThe length of the amount of space to span before the vertical bar.diagnoseThe line number to show.diagnose)Whether to use unicode characters or not.Mdiagnose'The content of files in the diagnosticsdiagnose+Is the output done with Unicode characters?diagnose&Is the current report an error report?diagnose1The number of spaces each TAB character will spandiagnose#The size of the biggest line numberdiagnose-Is this sub-report the first one in the list?diagnose;The list of line-ordered markers appearing in a single fileOdiagnose1The number of spaces each TAB character will spanSdiagnoseWhether the marker is in an error context or not. This really makes a difference for a " marker.diagnose%The marker to extract the color from.diagnoseA function used to color a F.& !%#$"&('WXY'()*+,GHIJKLZM[NOPQRSTU\%Report definition and pretty printing(c) Mesabloo, 2021-2022BSD3 experimentalPortable Safe-Inferred!,  !%#$"&(')*+, !%#$"&('(')*+,Internal workings for diagnostic definitions and pretty printing.(c) Mesabloo, 2021-2022BSD3 experimentalPortable Safe-Inferred!,," -diagnoseThe data type for diagnostic containing messages of an abstract type.0The constructors are private, but users can use  from the ]4 typeclass to create a new empty diagnostic, and 4 and 5 to alter its internal state..diagnoseChecks whether the given diagnostic has any report or not (if it is effectively empty)./diagnose*Retrieves the reports for this diagnostic.0diagnoseTransforms every warning report in this diagnostic into an error report.1diagnoseTransforms every error report in this diagnostic into a warning report.2diagnosePretty prints a - into a Fument that can be output using ^.=Colors are put by default. If you do not want these, just _ the resulting document like so:let doc = unAnnotate (prettyDiagnostic withUnicode tabSize diagnostic)'Changing the style is also rather easy:let myCustomStyle :: Style = _let doc = myCustomStyle (prettyDiagnostic withUnicode tabSize diagnostic)3diagnose Prints a - onto a specific `.4diagnose7Inserts a new referenceable file within the diagnostic.5diagnose'Inserts a new report into a diagnostic.6diagnoseCreates a JSON object from a diagnostic, containing those fields (only types are indicated): { files: { name: string , content: string[] }[] , reports: { kind: 'error' | 'warning' , code: T? , message: T , markers: { kind: 'this' | 'where' | 'maybe' , position: { beginning: { line: int, column: int } , end: { line: int, column: int } , file: string } , message: T }[] , hints: ({ note: T } | { hint: T })[] }[] }where T0 is the type of the JSON representation for the msg type variable.adiagnose*All the reports contained in a diagnostic.>Reports are output one by one, without connections in between.diagnose=A map associating files with their content as lists of lines.2diagnose*Should we use unicode when printing paths?diagnose2The number of spaces each TAB character will span.diagnoseThe diagnostic to print.3diagnose/The handle onto which to output the diagnostic.diagnose(Should we print with unicode characters?diagnoseb to disable colors.diagnose2The number of spaces each TAB character will span.diagnose,The style in which to output the diagnostic.diagnoseThe diagnostic to output.4diagnoseThe path to the file.diagnoseThe content of the file as a single string, where lines are ended by \n.5diagnose(The new report to add to the diagnostic. -a./0123456)Diagnostic definition and pretty printing(c) Mesabloo, 2021-2022BSD3 experimentalPortable Safe-Inferred!,, -./0123456 -./0123456 Safe-Inferred!,,0E !%#$"&(')*+,-./0123456 Safe-Inferred!,.7diagnose&A class mapping custom errors of type e with messages of type msg.8diagnose;Defines all the hints associated with a given custom error.78Compatibility layer for parsec(c) Mesabloo, 2021-2022BSD3 experimentalPortable Safe-Inferred!',19diagnoseGenerates a diagnostic from a c.:diagnose%Generates an error diagnostic from a c.;diagnose&Generates a warning diagnostic from a c.ddiagnose1Applies a computation to both element of a tuple. both f = bimap @(,) f f9diagnose9Determine whether the diagnostic is an error or a warningdiagnoseAn optional error codediagnose The main error of the diagnosticdiagnose Default hintsdiagnoseThe c to transform into a -:diagnoseAn optional error codediagnose(The main error message of the diagnosticdiagnose Default hintsdiagnoseThe c to convert;diagnoseAn optional error codediagnose(The main error message of the diagnosticdiagnose Default hintsdiagnoseThe c to convert789:;9:;78"Compatibility layer for megaparsec(c) Mesabloo, 2021-2022BSD3 experimentalPortable Safe-Inferred !$%',6D<diagnoseTransforms a megaparsec e into a well-formated - ready to be shown.=diagnose.Creates an error diagnostic from a megaparsec e.>diagnose/Creates a warning diagnostic from a megaparsec e.fdiagnose1Applies a computation to both element of a tuple. both f = bimap @(,) f f<diagnose>How to decide whether this is an error or a warning diagnosticdiagnoseAn optional error codediagnose#The error message of the diagnosticdiagnose.Default hints when trivial errors are reporteddiagnose&The bundle to create a diagnostic from=diagnoseAn optional error codediagnose#The error message of the diagnosticdiagnose.Default hints when trivial errors are reporteddiagnose&The bundle to create a diagnostic from>diagnoseAn optional error codediagnose#The error message of the diagnosticdiagnose.Default hints when trivial errors are reporteddiagnose&The bundle to create a diagnostic from78<=><=>78 Safe-Inferred!,6yghijklmn !"#$%&'()*+,-./01234567889: ;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn<opqrstuvwxyzC{|}~diagnose-2.4.0-inplaceError.Diagnose.DiagnosticError.Diagnose.StyleError.Diagnose.PositionError.Diagnose.ReportError.Diagnose.Compat.Parsec Error.Diagnose.Compat.MegaparsecData.List.Safe Data.Listlasthead!!Error.Diagnose.PrettyThisMaybeWhereError.Diagnose.Report.Internal"Error.Diagnose.Diagnostic.InternalError.DiagnoseError.Diagnose.Compat.HintsPaths_diagnosebaseGHC.IO.StdHandlesstdoutstderrdata-default-class-0.1.2.0-0d4df8766596c63a63287a7334799552ce3c50d8f4b242705c4b63ce6c2e50b1Data.Default.Classdefprettyprinter-1.7.1-c9bcd383d63e02a41b05702f04eda64b41920d9d6db915e87fa6b643f9ec1be7Prettyprinter.Internal reAnnotatePositionbeginendfile$fToJSONPosition$fDefaultPosition$fHashablePosition$fPrettyPosition $fOrdPosition$fShowPosition $fEqPosition$fGenericPositionStyle Annotation ThisColor MaybeColor WhereColor HintColor FileColor RuleColor KindColor NoLineColor MarkerStyle CodeStyle defaultStyleNoteHintMarkerBlankReportErrWarnwarnerrwarningToErrorerrorToWarning Diagnostic hasReports reportsOfwarningsToErrorserrorsToWarningsprettyDiagnosticprintDiagnosticaddFile addReportdiagnosticToJsonHasHintshintsdiagnosticFromParseErrorerrorDiagnosticFromParseErrorwarningDiagnosticFromParseErrordiagnosticFromBundleerrorDiagnosticFromBundlewarningDiagnosticFromBundlesafeLast GHC.MaybeNothingsafeHead safeIndex safeUnsnoc safeUnconsGHC.Base<>Doc prettyReportpad dotPrefix pipePrefix linePrefixellipsisPrefixprettySubReportsplitMarkersPerLineprettyAllLinesgetLine_showAllMarkersInLinereplaceLinesWith markerColor markerMessageprettyAllHints$fIsStringNote WidthTableFileMapgroupMarkersPerFile isThisMarkersafeArrayIndexDefaultprettyprinter-ansi-terminal-1.1.3-0045398f3ea735893600094c14960223b8870ea39c3d89ab8e6c72fc70856ace&Prettyprinter.Render.Terminal.InternalhPutDoc unAnnotateGHC.IO.Handle.TypesHandleghc-prim GHC.TypesFalseparsec-3.1.14.0Text.Parsec.Error ParseErrorbothmegaparsec-9.2.1-8e1295b023f55ef47707b8d92ec62b2bb88fb0e3784a2cd024fe6fc2d21d6b64Text.Megaparsec.ErrorParseErrorBundleversiongetDataFileName getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDir