h&,K&u      !"#$%&'()*+,-./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.0hls-eval-pluginDiscard location information.5hls-eval-pluginSplit setup and normal sections8  !$"#%&'()*+,-./012345678127  !$"#%&'()345+,-./ 0*6 Safe-Inferred%&1p 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"(1 hls-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-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 "%&'(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-pluginThe result of evaluating a test line can be: * a value * nothing * a (possibly multiline) error message-A value is returned for a correct expression.Either a pure value: >>> h :"askell" "haskell"=Or an 'IO a' (output on stdout/stderr is ignored): >>> print OK >> return ABC ABC,Nothing is returned for a correct directive::set -XFlexibleInstancesimport Data.MaybeNothing is returned for a correct declaration (let..,x=, data, class) let x = 11y = 22data B = T | F class C a&Nothing is returned for an empty line:A, possibly multi line, error is returned for a wrong declaration, directive or value or an exception thrown by the evaluated code::set -XNonExistent2Some flags have not been recognized: -XNonExistentcls C%Variable not in scope: cls :: t0 -> t Data constructor not in scope: C"A9lexical error in string/character literal at end of inputExceptions are shown as if printed, but it can be configured to include prefix like in GHCi or doctest. This allows it to be used as a hack to simulate print until we get proper IO support. See #1977 3 `div` 0divide by zero:error "Something went wrong\nbad times" :: E.SomeExceptionSomething went wrong bad timesOr for a value that does not have a Show instance and can therefore not be displayed: >>> data V = V >>> V No instance for (Show V) arising from a use of @evalPrint@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%1&ehls-eval-pluginPlugin descriptor   !"#$%&''()*+,,-./01123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                       .hls-eval-plugin-2.3.0.0-3hkQAbbtNfUJWsWY7ySlSEIde.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 blockCommentsGetEvalComments IsEvaluatingTestExampleProperty testLines testOutput testRangetestlineSection sectionName sectionTestssectionLanguage sectionFormatSectionsnonSetupSections setupSectionsTxtLocLocatedlocationlocatedunLoclocatelocate0hasTestshasPropertyTest splitSections nullComments isProperty$fNFDataLocated$fNFDataIsEvaluating$fHashableIsEvaluating$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$fEqIsEvaluating$fShowIsEvaluating$fGenericIsEvaluating$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 parseSetFlagsrulesqueueForEvaluationunqueueForEvaluationLineGroupParser LineParser CommentStyleCommentFlavour ExampleLinePropLineBlockCommentParser lineGroupPbase Data.EitherEither parseLinenonEmptyNormalLineP normalLinePexampleLineStrP propLineStrPcontiguousGroupOngroupLineCommentscommentsToSectionsblockCommentBPBlockEnv blockRangeisLhsLineBlock 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 evalSetupevals errorLinesexceptionLinespad_ evalCommand