h$)'+      !"#$%&'()*  Safe-Inferred ++diagnose Analogous to , but returns ,0 on an empty list, instead of throwing an error.-diagnose Analogous to , but returns , in case of an empty list..diagnose Analogous tu  /, but does not throw an error on missing index./diagnose(Safely deconstructs a list from the end.More efficient than (init x, last x)0diagnose9Safely deconstructs a list from the beginning, returning , if the list is empty.+-./00Defines location information as a simple record.(c) Mesabloo, 2021-2022BSD3 experimentalPortable Safe-Inferred #$+8>0diagnose5Contains 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 +d1Custom style definitions(c) Mesabloo, 2021-2022BSD3 experimentalPortable Safe-Inferred + diagnose1A style is a function which can be applied using .It transforms a 2ument containing  s into a 2&ument containing color information.diagnose1Some annotations as placeholders for colors in a 2.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.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  =Internal workings for report definitions and pretty printing.(c) Mesabloo, 2021-2022BSD3 experimentalPortableNone  #$+>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.#diagnose:The type of diagnostic reports with abstract message type.$diagnose(Constructs a warning or an error report.%diagnose(Constructs a warning or an error report.3diagnosePretty prints a report to a 2 handling colors.4diagnose,Inserts a given number of character after a 2ument.5diagnoseCreates 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"6diagnoseCreates a "pipe"-prefix for a report line where there is no code.%Pretty printing yields those results:  with unicode"HHHHHJH"without unicode"HHHHH|H"7diagnose>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.8diagnoseCreates an ellipsis-prefix, when some line numbers are not consecutive.%Pretty printing yields those results:  with unicode"HHHHHEH"without unicode"HHHH..."9diagnosePrettyprint a sub-report, which is a part of the report spanning across a single file:diagnose;diagnose<diagnose=diagnose>diagnose?diagnose$Extracts the color of a marker as a 2 coloring function.@diagnose'Retrieves the message held by a marker.AdiagnosePretty prints all hints.Bdiagnose Constructs a , from the given message as a literal string. Cdiagnose$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.3diagnose+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 output5diagnose/The length of the left space before the bullet.diagnose0Whether to print with unicode characters or not.6diagnose-The length of the left space before the pipe.diagnose0Whether to print with unicode characters or not.7diagnoseThe 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.9diagnose'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 file;diagnose1The number of spaces each TAB character will span?diagnoseWhether 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 2.! "#CDE$%345678F9G:;<=>?@AH%Report definition and pretty printing(c) Mesabloo, 2021-2022BSD3 experimentalPortableNone + !" #$% !" #$%Internal workings for diagnostic definitions and pretty printing.(c) Mesabloo, 2021-2022BSD3 experimentalPortableNone +>& &diagnoseThe data type for diagnostic containing messages of an abstract type.0The constructors are private, but users can use  from the I4 typeclass to create a new empty diagnostic, and ) and * to alter its internal state.'diagnosePretty prints a & into a 2ument that can be output using J.=Colors are put by default. If you do not want these, just K 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)(diagnose Prints a & onto a specific L.)diagnose7Inserts a new referenceable file within the diagnostic.*diagnose'Inserts a new report into a diagnostic.Mdiagnose*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.'diagnose*Should we use unicode when printing paths?diagnose2The number of spaces each TAB character will span.diagnoseThe diagnostic to print.(diagnose/The handle onto which to output the diagnostic.diagnose(Should we print with unicode characters?diagnoseN 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.)diagnoseThe path to the file.diagnoseThe content of the file as a single string, where lines are ended by \n.*diagnose(The new report to add to the diagnostic.&M'()*)Diagnostic definition and pretty printing(c) Mesabloo, 2021-2022BSD3 experimentalPortableNone +&&'()*&'()*None +&%1!" #$%&'()*None +'Odiagnose&A class mapping custom errors of type e with messages of type msg.Pdiagnose;Defines all the hints associated with a given custom error.OP Safe-Inferred +'QRSTUVWX !"#$%&'()*+,-./01234456   789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX7YZ[\]^_`abcd:efghijklmnopq%diagnose-2.2.0-1AEWvDawE7WEMdg9E4ZuhHError.Diagnose.DiagnosticError.Diagnose.StyleError.Diagnose.PositionError.Diagnose.ReportData.List.Safe Data.Listlasthead!!Error.Diagnose.PrettyThisMaybeWhereError.Diagnose.Report.Internal"Error.Diagnose.Diagnostic.InternalError.DiagnoseError.Diagnose.Compat.HintsPaths_diagnosebaseGHC.IO.Handle.FDstdoutstderr1data-default-class-0.1.2.0-IIN1s3V8yfYEDHe5yjxXHVData.Default.Classdef)prettyprinter-1.7.1-BauxLiNvN3EiJKyXe93SMPrettyprinter.Internal reAnnotatePositionbeginendfile$fDefaultPosition$fHashablePosition$fPrettyPosition $fOrdPosition$fShowPosition $fEqPosition$fGenericPositionStyle Annotation ThisColor MaybeColor WhereColor HintColor FileColor RuleColor KindColor NoLineColor MarkerStyle defaultStyleNoteHintMarkerReportwarnerr DiagnosticprettyDiagnosticprintDiagnosticaddFile addReportsafeLast GHC.MaybeNothingsafeHead safeIndex safeUnsnoc safeUnconsGHC.Base<>Doc prettyReportpad dotPrefix pipePrefix linePrefixellipsisPrefixprettySubReportsplitMarkersPerLineprettyAllLinesgetLine_showAllMarkersInLinereplaceLinesWith markerColor markerMessageprettyAllHints$fIsStringNote WidthTableFileMapgroupMarkersPerFile isThisMarkersafeArrayIndexDefault8prettyprinter-ansi-terminal-1.1.3-5zU5dX52LGV5aYlnF8nkry&Prettyprinter.Render.Terminal.InternalhPutDoc unAnnotateGHC.IO.Handle.TypesHandleghc-prim GHC.TypesFalseHasHintshintsversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName