h&&;       !"#$%&'()*+,-./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"(1hls-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-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-Inferred1hls-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 "%&'(1 *hls-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-pluginCreate an HscEnv which is suitable for performing interactive evaluation. All necessary home modules will have linkables and the current module will also be loaded into the environment.The interactive context and interactive dynamic flags are also set appropiately.hls-eval-plugin3GHC declarations required for expression evaluationhls-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%1 hls-eval-pluginPlugin descriptor   !"#$%&&'()*++,-./00123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                      -hls-eval-plugin-1.5.0.0-9F5EFbMRDU6kKAaqmpdneIde.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 myExecStmt propSetup testCheck asStatementslogWithlogLeveltimed isLiterate response' gStrictTry hasPackagepkgNames addPackages addImport addExtension modifyFlags showDynFlags GHCiLikeCmdevalGhciLikeCmdcodeLensinitialiseSessionForEval evalSetup errorLinesexceptionLinespad_ evalCommand