h&% q      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  Safe-Inferred"1hls-eval-plugin$The Eval plugin configuration. (see ) Safe-Inferred1hls-eval-plugin;langOptions ":set -XBinaryLiterals -XOverloadedStrings ",Right ["BinaryLiterals","OverloadedStrings"]langOptions ":set"Right []langOptions ""Left "No match" Safe-Inferred%&18;=?hls-eval-plugin#Specify the test section to executehls-eval-pluginunique group id; for test uses hls-eval-pluginRange is that of surrounding entire block comment, not section. Used for detecting no-newline test commands.*hls-eval-plugin!A thing with a location attached..hls-eval-pluginDiscard location information.3hls-eval-pluginSplit setup and normal sections6 " !#$%&'()*+,-./0123456/05 " !#$%&'123)*+,- .(4 Safe-Inferred%&1I Safe-Inferred"%&1;?hls-eval-pluginLine comment group parserhls-eval-plugin Line parserhls-eval-pluginSingle line or block comments?hls-eval-pluginClassification of commentshls-eval-pluginExample line, with >>> stripped offhls-eval-plugin$Prop line, with "prop>" stripped offhls-eval-pluginBlock comment parserhls-eval-plugin>> A"Just [">>> A"]4parseMaybe (parseLine $ takeRest) $ pck "--- >>> A"Just [" >>> A"](parseMaybe (parseLine takeRest) $ pck ""Nothinghls-eval-pluginNon-empty normal line.hls-eval-pluginNormal line is a line neither a example nor prop. Empty line is normal.hls-eval-pluginParses example test line.hls-eval-pluginParses prop test line.hls-eval-pluginGiven a sequence of tokens increasing in their starting position, groups them into sublists consisting of contiguous tokens; Two adjacent tokens are considered to be contiguous ifline number increases by 1, andthey have same starting column.contiguousGroupOn id [(1,2),(2,2),(3,4),(4,4),(5,4),(7,0),(8,0)]:[(1,2) :| [(2,2)],(3,4) :| [(4,4),(5,4)],(7,0) :| [(8,0)]]hls-eval-pluginGiven a map from positions, divides them into subgroup with contiguous line and columns.hls-eval-pluginTrue if it is literate Haskellhls-eval-pluginTrue if Literate Haskellhls-eval-pluginTrue if Literate Haskellhls-eval-pluginTrue if Literate Haskellhls-eval-pluginTrue if Literate Haskellhls-eval-pluginTrue if Literate HAskell Safe-Inferred"(1Ahls-eval-pluginA one-line Haskell statementhls-eval-pluginReturn the ranges of the expression and result parts of the given testhls-eval-pluginThe document range where a test is defined testRange :: Loc Test -> Range testRange = fst . testRanges:The document range where the result of the test is definedhls-eval-plugin3GHC declarations required for expression evaluationhls-eval-plugin A wrapper of   , capturing the execution resulthls-eval-plugin4GHC declarations required to execute test propertiesExample:(\(l::[Bool]) -> reverse (reverse l) == l+++ OK, passed 100 tests.\(l::[Bool]) -> reverse l == l** Failed! Falsified (after 6 tests and 2 shrinks): [True,False]  Safe-Inferred1@hls-eval-pluginLog using hie logger, reports source position of logging statementhls-eval-pluginSet to Info to see extensive debug info in hie log, set to Debug in production  Safe-Inferred15hls-eval-plugin0True if specified package is present in DynFlags- >>> hasPackageTst pkg = run $ df -> return (hasPackage df pkg) >>> hasPackageTst pkg = run $ _ -> addPackages [pkg] >>= return . either Left (df -> Right (hasPackage df pkg))hasPackageTst "base" Right TruehasPackageTst "ghc" Right TruehasPackageTst "extra"Left ": cannot satisfy -package extra\n (use -v for more information)"hasPackageTst "QuickCheck"Left ": cannot satisfy -package QuickCheck\n (use -v for more information)"hls-eval-pluginrun (return . pkgNames)[]hls-eval-pluginExpose a list of packages. >>> addPackagesTest pkgs = run (_ -> (packageFlags  $)  $ addPackages pkgs)addPackagesTest []Right []'addPackagesTest ["base","base","array"]Right [-package base{package base True ([])},-package array{package array True ([])}]addPackagesTest ["Cabal"]/Right [-package Cabal{package Cabal True ([])}]addPackagesTest ["QuickCheck"]Left ": cannot satisfy -package QuickCheck\n (use -v for more information)"#addPackagesTest ["base","notThere"]Left ": cannot satisfy -package notThere\n (use -v for more information)"\(x::Int) -> x + x == 2 * x+++ OK, passed 100 tests.hls-eval-plugin Add import to evaluation context)run $ \_ -> addImport "import Data.Maybe""Could not find module @Data.Maybe@Use -v (or `:set -v` in ghci) to see a list of the files searched for.run $ \df -> addPackages ["base"] >> addImport "import Data.Maybe"[import Data.Maybe]run $ \df -> addPackages ["base"] >> addImport "import qualified Data.Maybe as M""[import qualified Data.Maybe as M]hls-eval-pluginAdd extension to interactive evaluation session >>> import GHC.LanguageExtensions.Type(Extension(..)) >>> run $ _ -> addExtension DeriveGeneric ()  Safe-Inferred "%&'(1hls-eval-plugin Resulting Text MUST NOT prefix each line with -- Such comment-related post-process will be taken place solely in .hls-eval-pluginCode Lens provider NOTE: Invoked every time the document is modified, not just when the document is saved.hls-eval-pluginConvert error messages to a list of text lines Remove unnecessary information.hls-eval-pluginConvert exception messages to a list of text lines Remove unnecessary information and mark it as exception. We use '*** Exception:' to make it identical to doctest output, see #2353.hls-eval-plugin0map (pad_ (T.pack "--")) (map T.pack ["2+2",""])["--2+2","--"] Safe-Inferred%1ahls-eval-pluginPlugin descriptor   !"#$%&&'()*++,-./00123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                    .hls-eval-plugin-1.4.0.0-7VejiFprABwENQ9OLiO0RyIde.Plugin.Eval.TypesIde.Plugin.EvalIde.Plugin.Eval.ConfigIde.Plugin.Eval.Parse.OptionIde.Plugin.Eval.RulesIde.Plugin.Eval.Parse.CommentsIde.Plugin.Eval.CodeInteractiveEvalexecStmtIde.Plugin.Eval.UtilIde.Plugin.Eval.GHCIde.Plugin.Eval.CodeLens EvalParamssectionsmodule_evalIdLanguagePlainHaddockFormat SingleLine MultiLineRawLineCommentgetRawLineCommentRawBlockCommentgetRawBlockCommentComments lineComments blockCommentsGetEvalCommentsTestExampleProperty testLines testOutput testRangetestlineSection sectionName sectionTestssectionLanguage sectionFormatSectionsnonSetupSections setupSectionsTxtLocLocatedlocationlocatedunLoclocatelocate0hasTestshasPropertyTest splitSections nullComments isProperty$fNFDataLocated$fNFDataGetEvalComments$fHashableGetEvalComments$fMonoidComments$fSemigroupComments$fNFDataComments$fIsStringLineChunk$fIsStringExpectedLine$fEqEvalParams$fShowEvalParams$fGenericEvalParams$fFromJSONEvalParams$fToJSONEvalParams$fEqExpectedLine$fShowExpectedLine$fGenericExpectedLine$fFromJSONExpectedLine$fToJSONExpectedLine$fNFDataExpectedLine $fEqLineChunk$fShowLineChunk$fGenericLineChunk$fFromJSONLineChunk$fToJSONLineChunk$fNFDataLineChunk$fShowSections $fEqSections$fGenericSections $fEqSection $fShowSection$fGenericSection$fFromJSONSection$fToJSONSection$fNFDataSection $fEqLanguage$fShowLanguage$fGenericLanguage $fOrdLanguage$fFromJSONLanguage$fToJSONLanguage$fNFDataLanguage $fEqFormat $fShowFormat $fOrdFormat$fGenericFormat$fFromJSONFormat$fToJSONFormat$fNFDataFormat$fShowComments $fEqComments $fOrdComments$fGenericComments$fShowRawLineComment$fEqRawLineComment$fOrdRawLineComment$fIsStringRawLineComment$fStreamRawLineComment!$fTraversableStreamRawLineComment$fVisualStreamRawLineComment$fSemigroupRawLineComment$fMonoidRawLineComment$fNFDataRawLineComment$fShowRawBlockComment$fEqRawBlockComment$fOrdRawBlockComment$fIsStringRawBlockComment$fStreamRawBlockComment"$fTraversableStreamRawBlockComment$fVisualStreamRawBlockComment$fSemigroupRawBlockComment$fMonoidRawBlockComment$fNFDataRawBlockComment$fEqGetEvalComments$fShowGetEvalComments$fGenericGetEvalComments$fEqTest $fShowTest $fGenericTest$fFromJSONTest $fToJSONTest $fNFDataTest $fEqLocated $fShowLocated $fOrdLocated$fFunctorLocated$fGenericLocated$fFromJSONLocated$fToJSONLocatedLog LogEvalRules descriptor $fPrettyLog $fShowLog EvalConfig properties eval_cfg_diffeval_cfg_exception getEvalConfig langOptions parseSetFlagsrulesqueueForEvaluationLineGroupParser LineParser CommentStyleCommentFlavour ExampleLinePropLineBlockCommentParser lineGroupPbase Data.EitherEither parseLinenonEmptyNormalLineP normalLinePexampleLineStrP propLineStrPcontiguousGroupOngroupLineCommentscommentsToSectionsblockCommentBPBlockEnv blockRangeisLhsBlockLine HaddockPrev HaddockNextVanillaNamed TestCommentexampleResults lineExamples propResultslineProptestCommentRange AnExampleAPropgetExampleLine getPropLine blockRangeLisLhsL SectionRange CommentRange_Line_BlockparseBlockMaybetestsToSectionfromTestCommentskipNormalCommentBlock testSymboleob blockExamples blockProp withRange resultBlockPpositionToSourcePossourcePosToPositioncommentFlavourPlineCommentHeadPlineCommentSectionsP lexemeLine resultLinesPnormalLineCommentP nonEmptyLGPexampleLinesGPconvexHullRange exampleLineGP propLineGPconsume getPosition exampleSymbol propSymbol Statement testRanges resultRange evalSetup myExecStmt propSetup testCheck asStatementslogWithlogLeveltimed isLiterate response' gStrictTry hasPackagepkgNames addPackages addImport addExtension modifyFlags showDynFlags GHCiLikeCmdevalGhciLikeCmdcodeLens errorLinesexceptionLinespad_ evalCommand