!Z7`      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_-None"#$%147MPX_k((None"#$%147MPX_k-)ghcide2A debouncer can be used to avoid triggering many events (e.g. diagnostics) for the same key (e.g. the same file) within a short timeframe. This is accomplished by delaying each event for a given time. If another event is registered for the same key within that timeframe, only the new event will fire.We abstract over the debouncer used so we an use a proper debouncer in the IDE but disable debouncing in the DAML CLI compiler.+ghcide9Debouncer used in the IDE that delays events as expected.`ghcidevRegister an event that will fire after the given delay if no other event for the same key gets registered until then.If there is a pending event for the same key, the pending event will be killed. Events are run unmasked so it is up to the user of * to mask if required.,ghcideFDebouncer used in the DAML CLI compiler that emits events immediately.)*+,)*+,None"#$%147MPX_k3-aghcideCompose two position mappings. Composes in the same way as function composition (ie the second argument is applyed to the position first).8ghcide6Convert a set of changes into a delta from k to k + 19ghcide>Add a new delta onto a Mapping k n to make a Mapping (k - 1) n-./0123456789:;<-.34/0129856:7;<None"#$%147MPX_gk4k bcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \=> ] ^ _ ` a b c d e fNone"#$%147MPX\_`k^ gghcideFind out path to  ghcversion.h file h iNone"#$%147MPX_k_ jghcide%A monad transformer implementing the  k effect j lNone"#$%147MPX_ko5 mghcide"Add position indexing to a String. indexedByPositionStartingFrom (0,0) "hey\n ho" "a [ ((0,0),'h') , ((0,1),'e') , ((0,2),'y') , ((0,3),'\n') , ((1,0),' ') , ((1,1),'h') , ((1,2),'o') ] nghcide"Add position indexing to a String. @indexedByPosition = indexedByPositionStartingFrom (Position 0 0) oghcideReturns a tuple (before, contents, after) if the range is present. The range is present only if both its start and end positions are present pghcide?Strips out all the positions included in the range. Returns  q@ if the start or end of the range are not included in the input. rghcideReturns the smallest possible set of disjoint ranges that is equivalent to the input. Assumes input ranges are sorted on the start positions. sghcide_Returns a sorted list of ranges with extended selections including preceding or trailing commas \ a, |b|, c ===> a|, b|, c a, b, |c| ===> a, b|, c| a, |b|, |c| ===> a|, b||, c|  t u m n r sNone"#$%147MPX_kpCghcide#Get ALL source spans in the source. ?@ABCDEFGHI BCDFE?@AGHINone"#$%147MPX_ky vghcideEnd result of the completions wghcide6All module names in scope. Prelude is a single module xghcideAll Possible completion items yghcide:Completion items associated to to a specific module name. zghcide!All modules that may be imported. {ghcide*Original name, such as Maybe, //, or find. |ghcide&From where this item is imported from. }ghcideAvailable type information. ~ghcideLabel to display to the user. ghcide?Did the completion happen in the context of an infix notation. ghcideAvailable documentation. v w x y z ~ { | }  None"#$%147MPX_kMghcideWe use an empty string as a filepath when we don t have a file. However, haskell-lsp doesn t support that in uriToFilePath and given that it is not a valid filepath it does not make sense to upstream a fix. So we have our own wrapper here that supports empty filepaths.Tghcide Parser for the GHC output format #"!$%KLMNOPQRSTQRS#"!$ %PLNKOMTNone"#$%147MPX_kUghcide/Human readable diagnostics for a specific file.This type packages a pretty printed, human readable error message along with the related source location so that we can display the error on either the console or in the IDE at the right source location.VghcideODefines whether a particular diagnostic should be reported back to the user.One important use case is "missing signature" code lenses, for which we need to enable the corresponding warning during type checking. However, we do not want to show the warning unless the programmer asks for it (#261).WghcideReport back to the userXghcideHide from user ghcideLabel a document. ghcide.The layout options used for the SDK assistant. ghcide%Render without any syntax annotations ghcide Render a Document as an ANSII colored string. ghcide&Rendering width of the pretty printer.   '&UVWXYZ[\]  VWXUY '&Z[\]None"#$%147MPX_gk=bghcidedPattern synonym to make it a bit more convenient to match on diagnostics in things like damlc test.bbNone"#$%147MPX_k)cghcideAn  ] with equality. Two values are considered equal if they are created with the same call to t.gghcide2Used to modify dyn flags in preference to calling D, since that function also reloads packages (which is very slow).hghcideGiven a   try and find the associated   in the environment.ighcideConvert from the text package to the GHC  U. Currently implemented somewhat inefficiently (if it ever comes up in a profile).lghcide7Pretty print a GHC value using 'unsafeGlobalDynFlags '.mghcidePretty print a  a wrapping operators in parensnghcidePretty print a  F wrapping operators in parensoghcideRun a  monad value using an existing  g. Sets up and tears down all the required pieces, but designed to be more efficient than a standard .pghcideRun a  monad value using an existing  g. Sets up and tears down all the required pieces, but designed to be more efficient than a standard .qghcideGiven a module location, and its parse tree, figure out what is the include directory implied by it. For example, given the file /usr/Test/Foo/Bar.hs with the module name Foo.Bar the directory  /usr/Test7 should be on the include path to find sibling modules.rghcide Unwrap an HsEnvEq.tghcideWrap an   into an c.ughcideQRead a UTF8 file, with lenient decoding, so it will never raise a decoding error.vghcideConvert from a   to a .wghcide Convert a   to a  M by copying the byte across. Will produce an 8 byte unreadable ByteString.xghcide Take the   of a  .yghcideA slightly modified version of  hDuplicateTo7 from GHC. Importantly, it avoids the bug listed in  6https://gitlab.haskell.org/ghc/ghc/merge_requests/2318. ghcide;This is copied unmodified from GHC since it is not exposed. ghcide_This is copied unmodified from GHC since it is not exposed. Note the beautiful inline comment! ghcide;This is copied unmodified from GHC since it is not exposed.=>cdefghijklmnopqrstuvwxycdefrtgopslmnjhikqvwxuy=> None"#$%147MPX_k ghcidebType of some span of source code. Most of these fields are unboxed but Haddock doesn't show that. ghcide#Start line of the span, zero-based. ghcide%Start column of the span, zero-based. ghcide,End line of the span (absolute), zero-based. ghcide.End column of the span (absolute), zero-based. ghcide-A pretty-printed representation for the type. ghcide The actutal  F associated with the span, if any. This can be useful for accessing a variety of information about the identifier such as module, locality, definition location, etc. ghcideDocumentation for the element !None"#$%147HMPVX_k "None"#$%147=?MPX_k None"#$%147MPX_k] ghcide;Produce a GHC-style error from a source span and a message.ghciderMerges two sorted lists of diagnostics, removing duplicates. Assumes all the diagnostics are for the same file.ghcide.Convert a GHC SrcSpan to a DAML compiler RangeghcideExtract a file name from a GHC SrcSpan (use message for unhelpful ones) FIXME This may not be an _absolute_ file name, needs fixing.ghcideFConvert a GHC severity to a DAML compiler Severity. Severities below Warning' level are dropped (returning Nothing).ghcide#Produce a bag of GHC-style errors ( ErrorMessages=) from the given (optional) locations and message strings.ghcide;Produce a GHC-style error from a source span and a message.ghcide:Produces an "unhelpful" source span with the given string.ghcideFcreates a span with zero length in the filename of the argument passedghcideRun something in a Ghc monad and catch the errors (SourceErrors and compiler-internal exceptions like Panic or InstallationError).ghcidefile path of span#None"#$%147MPX_k ghcide$Shows this part of the documentation ghcide3All of the possible modules it could be defined in.ghcide$The name you want documentation for. $None"#$%147MPX_kJ ghcide"True if a module is a source input ghcideElocate a module in the file system. Where we go from *daml to Haskell ghcideThis function is used to map a package name to a set of import paths. It only returns Just for unit-ids which are possible to import into the current module. In particular, it will return Nothing for main@ components as they can never be imported into another package. ghcideelocate a module in either the file system or the package database. Where we go from *daml to Haskell ghcide"Don't call this on a found module.  None"#$%147MPX_k@ghcideXTransitive module dependencies in topological order. The module itself is not included.ghcideXTransitive module dependencies in topological order. The module itself is not included.ghcide1Transitive pkg dependencies in unspecified order. ghcideA processed node in the dependency graph. If there was any error during processing the node or any of its dependencies, this is an  . Otherwise it is a  .ghcide4An error attached to a node in the dependency graph.ghcideThis module is part of an import cycle. The module name corresponds to the import that enters the cycle starting from this module. The list of filepaths represents the elements in the cycle in unspecified order.ghcide3This module has an import that couldn t be located.ghcideThis module is the parent of a module that cannot be processed (either it cannot be parsed, is part of a cycle or the parent of another error node). ghcide%Error when trying to locate a module.ghcide\This does not contain the actual parse error as that is already reported by GetParsedModule.ghcide)Nodes that cannot be processed correctly.ghcidebFor a non-error node, this contains the set of module immediate dependencies in the same package.ghcideBFor a non-error node, this contains the set of immediate pkg deps.ghcideMap from FilePath to FilePathIdghcide2Map from hs-boot file to the corresponding hs fileghcideBUnprocessed results that we find by following imports recursively. ghcideSet of s ghcide Map from ghcideFor processing dependency information, we need lots of maps and sets of filepaths. Comparing Strings is really slow, so we work with IntMap/IntSet instead and only convert at the edges.ghcideThe imports for a given module.ghcideeImports of a module in the current package and the file path of that module on disk (if we found it)ghcide8Transitive package dependencies unioned for all imports. ghcideGiven a dependency graph, buildResultGraph detects and propagates errors in that graph as follows: 1. Mark each node that is part of an import cycle as an error node. 2. Mark each node that has a parse error as an error node. 3. Mark each node whose immediate children could not be located as an error. 4. Recursively propagate errors to parents if they are not already error nodes.11 None"#$%147=?HMPVX_kJghcideMContains the typechecked module and the OrigNameCache entry for that module. ghcide1The parse tree for the file using GetFileContents ghcidewResolve the imports in a module to the file path of a module in the same package or the package id of another package. ghcideThe dependency information produced by following the imports recursively. This rule will succeed even if there is an error, e.g., a module could not be located, a module could not be parsed or an import cycle. ghcideThis rule is used to report import cycles. It depends on GetDependencyInformation. We cannot report the cycles directly from GetDependencyInformation since we can only report diagnostics for the current file. ghcideTransitive module and pkg dependencies based on the information produced by GetDependencyInformation. This rule is also responsible for calling ReportImportCycles for each file in the transitive closure. ghcide:The type checked version of this file, requires TypeCheck+ ghcide<Information about what spans occur where, requires TypeCheck ghcide$Convert to Core, requires TypeCheck* ghcide(Generate byte code for template haskell. ghcideA GHC session that we reuse. ghcideRead the module interface file ghcideMGet a module interface, either from an interface file or a typechecked module ghcideGenerate a ModSummary that has enough information to be used to get .hi and .hie files. without needing to parse the entire source%%%None"#$%147MPX_k$- ghcide Take a GHC monadic action (e.g. typecheckModule pm for some parsed module 'pm@'i) and produce a "decorated" action that will harvest any warnings encountered executing the action. The phase( argument classifies the context (e.g. Parser,  Typechecker).2The ModSummary function is required because of  ghttps://github.com/ghc/ghc/blob/5f1d949ab9e09b8d95319633854b7959df06eb58/compiler/main/GHC.hs#L623-L640 which basically says that log_action is taken from the ModSummary when GHC feels like it. The given argument lets you refresh a ModSummary log_action &None"#$%147MPX_k* ghcideGiven a file and some contents, apply any necessary preprocessors, e.g. unlit/cpp. Return the resulting buffer and the DynFlags it implies. ghcideDThis reads the pragma information directly from the provided buffer. ghcideERun (unlit) literate haskell preprocessor on a file, or buffer if set ghcideRun CPP on a file ghcideRun a preprocessor on a file  None"#$%147MPSX_k3^ghcideNote that this is logging actions _of the program_, not of the user. You shouldn't call warning/error if the user has caused an error, only if our code has gone wrong and is itself erroneous (e.g. we threw an exception).bghcide2Events that are useful for gathering user metrics.cghcideVerbose debug logging.dghcide9Useful information in case an error has to be understood.eghcideWThese error messages should not occur in a expected usage, and should be investigated.fghcide5Such log messages must never occur in expected usage.^_`acfedbghijklacfedb^_`ghijkl None"#$%147MPSX_kVrghcideGThe set of options used to locate files belonging to external packages.tghcidelLocate the HIE file for the given module. The PackageConfig can be used to lookup settings like importDirs.ughcideLocate the source file for the given module. The PackageConfig can be used to lookup settings like importDirs. For DAML, we place them in the package DB. For cabal this could point somewhere in ~.cabal packages.|ghcide%Warnings emitted by the preprocessor.}ghcide#Errors emitted by the preprocessor.~ghcide+New parse tree emitted by the preprocessor.ghcidePreprocessor to run over all parsed source trees, generating a list of warnings and a list of errors, along with a new parse tree.ghcide+Setup a GHC session for a given file, e.g. Foo.hs. For the same ComponentOptionsv from hie-bios, the resulting function will be applied once per file. It is desirable that many files get the same c!, so that more IDE features work.ghcideHow to locate source and .hie files given a module name.ghcideKFile extensions to search for code, defaults to Haskell sources (including .hs)ghcideENumber of threads to use. Use 0 for number of threads on the machine.ghcideVDirectory where the shake database should be stored. For ghcide this is always set to  qj for now meaning we keep everything in memory but the daml CLI compiler uses this for incremental builds.ghcideSet to  , to create a directory of profiling reports.ghcideXWhether to enable additional lsp messages used by the test suite for checking invariantsghcide2Whether to report progress during long operations.ghcidethe ```language to useghcide#whether to use new colon conventionghcideokeywords used for completions. These are customizable since DAML has a different set of keywords than Haskell.ghcide,Whether to defer type errors, typed holes and out of scope variables. Deferral allows the IDE to continue to provide features such as diagnostics and go-to-definition, in situations in which they would become unavailable because of the presence of type errors, holes or unbound variables. ghcideFrom !https://wiki.haskell.org/KeywordsYrstuvwxyz{|}~z{|}~xyvwrstuY'None"#$%147MPX_k[ ghcide6Locate the definition of the name at a given position. ghcide*Synopsis for the name at a given position. ghcide3Filter out spans which do not enclose a given point (None"#$%147MPX_kiP ghcideA context of a declaration in the program e.g. is the declaration a type declaration or a value declaration Used for determining which code completions to show TODO: expand this with more contexts like classes or instances for smarter code completion ghcidemodule context with module name ghcideimport context with module name ghcide$import list context with module name ghcide&import hiding context with module name ghcide4List of exported identifiers from the current module ghcideGenerates a map of where the context is a type and where the context is a value i.e. where are the value decls and the type decls ghcideAReturns the cached completions for the given module and position. ghcidejUnder certain circumstance GHC generates some extra stuff that we don't want in the autocompleted symbols ghcide(Prefixes that can occur in a GHC OccName v None"#$%,147EHMPVX_k0 ghcide5This is what we use when we get Nothing from a rule. ghcideThis is used both for   as well as  . ghcideRule type, input file ghcideInvariant: the vK must be in normal form (fully evaluated). Otherwise we keep repeatedly  (ing values taken from the Shake database ghcideWhen we depend on something that reported an error, and we fail as a direct result, throw BadDependency which short-circuits the rest of the actionghcideVA Shake database plus persistent store. Can be thought of as storing mappings from  (FilePath, k) to  RuleResult k. ghcideThe result of an IDE operation. Warnings and errors are in the Diagnostic, and a value is in the Maybe. For operations that throw an error you expect a non-empty list of diagnostics, at least one of which is an error, and a Nothing. For operations that succeed you expect perhaps some warnings and a Just. For operations that depend on other failing operations you may get empty diagnostics and a Nothing, to indicate this phase throws no fresh errors but still failed. ghcideKey type ghcideThe state of the all values.ghcidewThis represents the set of diagnostics that we have published. Due to debouncing not every change might get published.ghcideMap from a text document version to a PositionMapping that describes how to map positions in a version of that document to positions in the latest version First mapping is delta from previous version and second one is an accumlation of all previous mappings.ghcide(How many rules are running for each file ghcide2Convert a Value to a Maybe. This will only return  + for up2date results not for stale values. ghcidefReturn the most recent, potentially stale, value and a PositionMapping for the version of that value.ghcide1Delete the value stored for a given ide build key ghcide^We return Nothing if the rule has not run and Just Failed if it has failed to produce a value. ghcideSeq the result stored in the Shake value. This only evaluates the value to WHNF not NF. We take care of the latter elsewhere and doing it twice is expensive.ghcideOpen a , should be shut using . ghcideThis is a variant of withMVar where the first argument is run unmasked and if it throws an exception, the previous value is restored while the second argument is executed masked.ghcidegSpawn immediately. If you are already inside a call to shakeRun that will be aborted with an exception.ghcide[FIXME: This function is temporary! Only required because the files of interest doesn't workghcideFClear the results for all files that do not match the given predicate.ghcide6Return up2date results. Stale results will be ignored.ghcide5Return the last computed result which might be stale. ghcideySets the diagnostics for a file and compilation step if you want to clear the diagnostics call this with an empty list ghcide$Get the modification time of a file.ghcide8Large unit (platform dependent, do not make assumptions)ghcide8Small unit (platform dependent, do not make assumptions)ghcidediagnostic handler ghcidecurrent results ghcideGthe time that the file these diagnostics originate from was last edited>Y>YNone"#$%147=?HMPVX_kghcide6The rule that initialises the files of interest state.ghcide'Get the files that are open in the IDE.ghcidexSet the files-of-interest - not usually necessary or advisable. The LSP client will keep this information up to date.ghcide{Modify the files-of-interest - not usually necessary or advisable. The LSP client will keep this information up to date.None"#$%147MPX_dkbghcide)Lsp client relevant configuration detailsNone"#$%147HMPVX_kghcidehaskell-lsp manages the VFS internally and automatically so we cannot use the builtin VFS without spawning up an LSP server. To be able to test things like  ) we abstract over the VFS implementation.ghcide"get the contents of a virtual file ghcide~set a specific file to a value. If Nothing then we are ignoring these signals anyway so can just say something was modified ghcideMNotify the compiler service that a particular file has been modified. Use  q` to say the file is no longer in the virtual file system but should be sourced from disk, or   to give its new value. ghcideNote that some buffer somewhere has been modified, but don't say what. Only valid if the virtual file system was initialised by LSP, as that independently tracks which files are modified. ghcidefGet the contents of a file, either dirty (if the buffer is modified) or Nothing to mean use from disk.        )None "#$%147HMPVX_kƊ ghcideA wrapper around a mutable   ghcide%A map for tracking the file existence ghcide!Grab the current global value of   without acquiring a dependency ghcide&Modify the global store of file exists ghcide&Modify the global store of file exists ghcideReturns True if the file exists Note that a file is not considered to exist unless it is saved to disk. In particular, VFS existence is not enough. Consider the following example: 1. The file A.hs containing the line import B1 is added to the files of interest Since B.hse is neither open nor exists, GetLocatedImports finds Nothing 2. The editor creates a new buffer B.hs( Unless the editor also sends a DidChangeWatchedFiley event, ghcide will not pick it up Most editors, e.g. VSCode, only send the event when the file is saved to disk. ghcide Installs the   rules. Provides a fast implementation if client supports dynamic watched files. Creates a global state as a side effect in that case. None"#$%147=?HMPVX_k=ghcide Initialise the Compiler Service.ghcideShutdown the Compiler Service.ghcide is similar to 7 but it will wait for all rules (so in particular the ofInterestRule) to finish running. This is mainly useful in tests, where you want to wait for all rules to fire so you can check diagnostics.  None"#$%147MPSX_dkS !" !"*None"#$%147MPSX_dkQ +None"#$%147MPSX_kh ghcide>Whether we should run the -O0 simplifier when generating core.TThis is required for template Haskell to work but we disable this in DAML. See #256 ghcideGGiven a string buffer, return the string (after preprocessing) and the . ghcide;Given a package identifier, what packages does it depend on ghcide*Compile a single type-checked module to a  value, or provide errors. ghcideMSetup the environment that GHC needs according to our best understanding (!)BThis involves setting up the finder cache and populating the HPT. ghcideJInitialise the finder cache, dependencies should be topologically sorted. ghcideLoad a module, quickly. Input doesn't need to be desugared. A module must be loaded before dependent modules can be typechecked. This variant of loadModuleHome will *never* cause recompilation, it just modifies the session.The order modules are loaded is important when there are hs-boot files. In particular you should make sure to load the .hs version of a file after the .hs-boot version. ghcideLoad module interface. ghcideuGhcMonad function to chase imports of a module given as a StringBuffer. Returns given module's name and its imports. ghcide-Produce a module summary from a StringBuffer. ghcidexGiven a buffer, env and filepath, produce a module summary by parsing only the imports. Runs preprocessors as needed. ghcideGiven a buffer, flags, and file path, produce a parsed module (or errors) and any parse warnings. Does not run any preprocessors ghcideAfter parsing the module remove all package imports referring to these packages as we have already dealt with what they map to. ghcide\Retuns an up-to-date module interface if available. Assumes file exists. Requires the   to be set up with dependencies ghcide flags to useghcideThe package imports to ignoreghcide#the filename (for source locations)ghcide6Haskell module source text (full Unicode is supported)         !  "  # ,None"#$%147MPSX_kh $ghcide@Get source span info, used for e.g. AtPoint and Goto Definition. %ghcide#Get ALL source spans in the module. &ghcidehThe locations in the typechecked module are slightly messed up in some cases (e.g. HsMatchContext always points to the first match) whereas the parsed module has the correct locations. Therefore we build up a map from OccName to the corresponding definition in the parsed module to lookup precise locations for things like multi-clause function definitions.$For now this only contains FunBinds. 'ghcide:Variant of GHC's ieNames that produces LIdP instead of IdP (ghcide#Get the name and type of a binding. )ghcide!Get information about constraints *ghcide'Get the name and type of an expression. +ghcide#Get the name and type of a pattern. ,ghcidePretty print the types into a  . $ghcide!Dependencies in topological orderghcideDependencies parsed, optionalghcide(Dependencies module interfaces, required %ghcideimports $None"#$%147=?HMPVX_dk P*ghcideThis is useful for rules to convert rules that can only produce errors or a result into the more general IdeResult type that supports producing warnings while also producing a result.+ghcideeuseE is useful to implement functions that aren t rules but need shortcircuiting e.g. getDefinition./ghcideZGet all transitive file dependencies of a given module. Does not include the file itself.0ghcide/Try to get hover text for the name under point.1ghcideGoto Definition.2ghcide"Parse the contents of a daml file. -ghcideaGiven a target file path, construct the raw dependency results by following imports recursively.7ghcide)A rule that wires per-file rules together .ghcidefile we're editingghcidemodule dep we want info forghcidehie stuff for the module /ghcide$Package Module to load .hie file forghcide0Path of home module importing the package module 0ghcidePath to source fileghcide$Should generate .hi and .hie files ?&'()*+,-./01234567()&'345+,-*.701/26-None"#$%147MPX_kANone"#$%147MPX_kRHghcideMPrefix to uniquely identify commands sent to the client. This has two partsA representation of the process id to make sure that a client has unique commands if it is running multiple servers, since some clients have a global command table and get confused otherwise.A string to identify ghcide, to ease integration into haskell-language-server, which routes commands to plugins based on that.IghcideGet the operating system process id for the running server instance. This should be the same for the lifetime of the instance, and different from that of any other currently running instance.BCDEFGHIBCDEFGHINone"#$%147HMPVX_k 1ghcideGenerate code actions. 2ghcide#Produce completions info for a fileMMNone"#$%147MPX_dk' UghcideGenerate code actions.VghcideGenerate code lenses.Wghcide(Execute the "typesignature.add" command. 3ghcideAll the GHC extensions 4ghcideIf a range takes up a whole line (it begins at the start of the line and there's only whitespace between the end of the range and the next newline), extend the range to take up the whole line. 5ghcideReturns [start .. end[ 6ghcide9Returns the ranges for a binding in an import declaration 7ghcideExtends an import list with a new binding. Assumes an import statement of the form: import (qualified) A (..) .. Places the new binding first, preserving whitespace. Copes with multi-line import lists 8ghcide@Returns Just (the submatches) for the first capture, or Nothing.ATUVWTUVAWNone"#$%147MPX_dk+L 9ghcideWrap the Document imports into a hierarchical outline for a better overview of symbols in scope. If there are no imports, then no hierarchy will be created.YZYZNone"#$%147MPX_k- :ghcide6Respond to and log a hover or go-to-definition request[\]^^]\[None"#$%147EMPX_k7 ;ghcideA message that we need to deal with - the pieces are split up with existentials to gain additional type safety and defer precise processing until later (allows us to keep at a higher level of abstraction slightly longer) <ghcide~Used for cases in which we need to send not only a response, but also an additional request to the client. For example, executeCommand may generate an applyWorkspaceEdit request. =ghcide]Used for the InitializeRequest only, where the response is generated by the LSP core handler. >ghcideeThings that get sent to us, but we don't deal with. Set them to avoid a warning in VS Code output.__ ?./0./1./234567867967:67;67<67=67>67?67?67@67A67B67C67D6EF6EG6EH6EH6EI6EJ6EK6EK6EL6EM6EN6EN6OP6OQ6OR6OS6OT6OT6OU6OV6WX6WXYZ[\]^^__`abcdefghijklmnopqrstuvwxyz{|}~                                                                       ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v v w x y z { | } ~                                        xx      !"#$%&''(()*+,-./001123456789:;<=>?@ABCDEFGH-IJJKLMNOPQRSTUVWXYZT[\]^_`abcdefg.hi.hj.hk.hl.hm.hn.ho.hp.hq.hr.hs.ht.hu.hv.hw.hx.hy.hz.h{.h|.h}.h~.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h...............................................................  .  .  .  . . . . . . . . . . . . . . . . . . . . .  . !. ". #. $. %. &. '. (. ). *. +. ,. -. .. /. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. :. ;. <. =. >. ?. @. A. B. B. C. D. E. F. G. H. I. J. K. L. M. N.OP.OP.OQ.OR.OS.OT.OU.OV.WX.WY.WZ.W[.W\.W].W^.W_.W`.Wa.Wb.Wc.Wd.We.Wf.Wg.Wh.Wi.Wj.Wk.Wl.Wm.Wn.Wo.Wp.Wq.Wr.Ws.Wt.Wu.Wv.Ww.Wx.Wy.Wz.W{.W|.W}.W~.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W...................................... . . . . ................... .!.".#.$.%.&.'.(.(.).*.+.+.,.-.../.0.1.2.3.4.5.6.7.8.9.:.;.:.<.<.=.>.>.?.@.A.B.B.C.D.E.F.G.H.I.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.[.\.].^._.`.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.p.q.r.s.t.u.v.w.x.y.x.z.{.|.}.~............................................................................................................................................... . . . . ..................... .!.".#.$.%.%.&.'.(.).*.+.,.-..././.0.1.2.3.4.4.5.6.7.8.9.:.;.<.=.>.?.?.@.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.[.\.].^.^._.`.a.a.b.c.d.e.e.f.g.h.i.j.k.l.m.m.n.o.p.q.r.s.t.u.v.w.x.y.z.{.|.}.~..........................................................................|.......................................................................... . . . . ................... ..!.".#.$.%.&.'.(.).*.+.,.-.../.0.1.2.3.4.5.6.7.8.9.:.;.<.=.>.?.@.A.B.C.D.E.F.F.G.H.I.J.K.L.M.N.O.P.,.Q.R.S.T.U.V.W..X.Y.Z.[.[.\.].^._.`.a.b.c.d.e.f.g.h.i.j.k.l.k.m.n.o.p.q.r.s.t.t.u.v.w.x.y.z.{|.{}.{~.{........................................................................................................................................... . . . .. ..................... .!.".#.$.$.%.&.'.(.).*.+.,-.,-.,..,/.,0.,1.,2.,2.,3.,4.,5.,6.,7.,8.,9.,:.,;.,<.,=.,>.,?.,?.,@.,A.,B.,C.,D.,E.,F.,G.,H.,I.,J.,K.,L.,M.NO.NP.NQ.NR.NS.NT.NU.NV.NW.NX.NY.Z[.Z\.Z].Z^.Z_.Z`.Za.Za.Zb.Zc.Zd.Ze.Zf.Zg.Zh.Zi.Zj.Zk.Zl.Zm.Zn.Zo.Zp.qr.qs.qt.qu.qv.qw.qx.qq.qy.qz.q{.q|.q}.q~.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q..........................Z.Z.ZZ........q.................................................................................... . . . . . ................... .!.".#.$.%.&.'.(.).*.+.,.-.../.0.1.2.2.3.4.5.6.7.8.9.:.;.<.=.>.?.@.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.PQ.PR.PR.PS.PT.PU.PV.PW.PX.PY.PZ.P[.P\.P].P^.PX.P_.P`.Pa.Pb.Pc.Pd.Pe.Pf.Pg.Ph.PQ.Pi.Pj.Pk.Pl.Pm.Pn.Po.Pp.Pq.Pr.Ps.Pt.Pu.Pv.Pw.Px.Py.Pz.P{.P|.P}.P~.P.P.P.P.P.Pl.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P !.P ".P #.P $.P %.P &.P '.P;.P (.P ).P *.P +.P ,.P -.P ..P /.P 0.P 1.P 2.P 3.P 4.P 5.P 6.P 7.P 8.P 9.P :.P ;.P <.P =.P >.P ?.P @.P A.P B.P C.P D.P E.P F.P G.P H.P I.P J.P K.Py.P L.P M.P N.P O.P P.P Q.P R.P S.P T.P U.P V.P W.P X.P Y.P Z.P [.P \.P ].P ^.P _.P `.P.P a.P b.P c.P d.P e.P f.P g.P h.P i.P j.P k.P l.P m.P n.P o.P p.P q.P r.P s.P t.P u.P v.P w.P x.P y.P z.P {.P |.P }.P ~.P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P.P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P .P . .  . . . . N.  ./ . . . . . .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  !.  ".  #.  $.  %.  &.  '.  (.  ).  *.  +.  ,.  -.  ..  /. 0 0. 0 1. 0 2. 3 4. 5 6. 5 7. 5 8. 5 9. 5 :. 5 ;. 5 <. 5 =. 5 >. 5 ?. 5 @. 5 A. 5 A. 5 B. 5 B. C D. C E. C F. C G. C H. C I. J K. J L. J M. J N. J O. J P. J Q. J R. J S. J T. J U. J V. J W. J X. J Y. J Z. J [. J \. J ]. J ^. J _. J `. J a. J b. J c. d e. f g. f h. f i. f j. f k. f l. f m. f n. f o. p q. p r. p s. p t. p u. p v. p w. p x. p y. p z. p {. p |. p }. p ~. p . p . p . p . p . p . 3 . 3 . 3 . 3 . 3 . 3 . 3 . 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  .  .  .  .  . .  .  .  .  .  .  .. . . . . . . . . .  . f f. f . f . f . f . .. . . . J J. J J. J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J !. J ". J #. J $. J %. J &. J '. J (. J ). J *. J +. J ,. J -. J .. J /. J 0. J 1. J 2. J 3. J 4. J 5. J 6. J 7. J 8. J 9. J :. J ;. J <. J =. J >. J ?. J @. J A. J B. J C. J D. J E. J F. J G. J H. J I. J J. J K. J L. J M. J N. J O. J P. J Q. J R. J S. J T. J U. J V. J W. J X. J Y. J Z. J [. J \. J ]. J ^. J _. J `. J a. J b. J c. J d. J e. J f. J g. J h. J i. J j. J k. J l. J m. J n. J o. J p. J q. J r. J s. J t. J u. J v. J w. J x. J y. J z. J {. J |. J }. J ~. J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J . J .  .  .  .  .  .  .  .  .  .  .  .  .  . C C.  .  .        .h       ! l " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8. J 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R R S T U V W X Y Z [ \. ] ]. ^ ^.  _ ? ` a b c d e f g  h i j k l m n o  p  q  r  s  t  h  u  u v w x! y! y! z! {! {! |! }! ~! ! # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $                    % & & & & & ? @ 'a' ' ( ( ( ( ( ( ( ( ( ( ( ( (                     ) ) ) ) ) ) ) * + ++ + + + + + + + + + + + + ++ + + + + + + , , , , , , , , ,                    #ghcide-0.2.0-HKsdlJpUfsj7QU2D2Ij409Development.IDE.GHC.Util!Development.IDE.Types.DiagnosticsDevelopment.IDE.Types.LocationDevelopment.IDE.CompatDevelopment.IDE.Core.Debouncer$Development.IDE.Core.PositionMappingDevelopment.IDE.Spans.CommonDevelopment.IDE.LSP.ProtocolDevelopment.IDE.GHC.Error,Development.IDE.Import.DependencyInformationDevelopment.IDE.Core.RuleTypesDevelopment.IDE.Types.LoggerDevelopment.IDE.Types.OptionsDevelopment.IDE.Core.ShakeDevelopment.IDE.Core.OfInterest%Development.IDE.Core.IdeConfigurationDevelopment.IDE.Core.FileStoreDevelopment.IDE.Core.ServiceDevelopment.IDE.LSP.ServerDevelopment.IDE.Core.Rules!Development.IDE.Plugin.CodeActionDevelopment.IDE.Plugin"Development.IDE.Plugin.CompletionsDevelopment.IDE.LSP.Outline#Development.IDE.LSP.HoverDefinition"Development.IDE.LSP.LanguageServerDevelopment.IDE.GHC.CompatDevelopment.IDE.GHC.CPP Development.IDE.GHC.WithDynFlags1Development.IDE.Plugin.CodeAction.PositionIndexed(Development.IDE.Plugin.Completions.TypesDevelopment.IDE.Spans.Type+Development.IDE.Plugin.CodeAction.RuleTypesDevelopment.IDE.GHC.Orphans#Development.IDE.Spans.Documentation"Development.IDE.Import.FindImportsDevelopment.IDE.GHC.Warnings!Development.IDE.Core.PreprocessorDevelopment.IDE.Spans.AtPoint(Development.IDE.Plugin.Completions.LogicDevelopment.IDE.Core.FileExists!Development.IDE.LSP.NotificationsDevelopment.IDE.Core.CompileDevelopment.IDE.Spans.Calculate'Development.IDE.Plugin.CodeAction.RulesghcLexerPFailedPOk ParseResult+haskell-lsp-0.22.0.0-CGdanHfc2C8LuzOZufrIIf Language.Haskell.LSP.DiagnosticsDiagnosticStore1haskell-lsp-types-0.22.0.0-7tdcmftsqhoJQJ4bWvcyu1%Language.Haskell.LSP.Types.Diagnostic#$sel:_relatedInformation:Diagnostic$sel:_tags:Diagnostic$sel:_message:Diagnostic$sel:_source:Diagnostic$sel:_code:Diagnostic$sel:_severity:Diagnostic$sel:_range:Diagnostic DiagnosticDsHintDsInfo DsWarningDsErrorDiagnosticSeverity#Language.Haskell.LSP.Types.Location_range_uriLocation_end_startRange _character_linePositionLanguage.Haskell.LSP.Types.UrifromNormalizedFilePathfromNormalizedUritoNormalizedUrigetUriUri NormalizedUriNormalizedFilePathLanguage.Haskell.LSP.Types.ListList getProcessID Debouncer registerEventnewAsyncDebouncer noopDebouncerPositionMapping PositionDeltatoDelta fromDeltafromCurrentPositiontoCurrentPositiontoCurrentRangefromCurrentRange zeroMappingmkDeltaaddDelta applyChange toCurrent fromCurrentsetDefaultHieDirdontWriteHieFilesSpanDoc SpanDocString SpanDocTextshowGhclistifyAllSpanslistifyAllSpans'safeTyThingType safeTyThingId emptySpanDocspanDocToMarkdownspanDocToMarkdownForTest $fShowSpanDoctoNormalizedFilePath' emptyFilePathuriToFilePath' emptyPathUrifilePathToUri'fromUri noFilePathnoRange showPosition readSrcSpanFileDiagnosticShowDiagnosticShowDiagHideDiag IdeResult ideErrorTextideErrorWithSourceshowDiagnosticsshowDiagnosticsColored$fNFDataShowDiagnostic$fEqShowDiagnostic$fOrdShowDiagnostic$fShowShowDiagnosticEventFileDiagnosticsHscEnvEqGhcVersionMismatch compileTimerunTimemodifyDynFlagslookupPackageConfigtextToStringBuffer runParserstringBufferToByteString prettyPrint printRdrName printName evalGhcEnv runGhcEnvmoduleImportPathhscEnvdeps newHscEnvEq readFileUtf8cgGutsToCoreModulefingerprintToBSfingerprintFromStringBuffer hDuplicateTo'$fBinaryHscEnvEq$fHashableHscEnvEq$fNFDataHscEnvEq $fEqHscEnvEq$fShowHscEnvEqdiagFromErrMsgdiagFromErrMsgsmergeDiagnosticssrcSpanToRangesrcSpanToFilenamesrcSpanToLocationisInsideSrcSpan toDSeveritydiagFromStringsdiagFromStringnoSpanzeroSpanrealSpancatchSrcErrorsdiagFromGhcExceptionNamedModuleDep nmdFilePath nmdModuleNamenmdModLocationTransitiveDependenciestransitiveModuleDepstransitiveNamedModuleDepstransitivePkgDeps NodeError PartOfCycleFailedToLocateImport ParseErrorParentOfErrorNodeModuleParseErrorDependencyInformation depErrorNodesdepModuleNames depModuleDeps depPkgDeps depPathIdMap depBootMapRawDependencyInformation rawImports rawPathIdMap rawBootMap BootIdMap PathIdMap FilePathId getFilePathId ModuleImports moduleImportspackageImportsemptyPathIdMap getPathId insertImportpathToIdlookupPathToIdidToPath insertBootIdreachableModulesprocessDependencyInformationtransitiveDeps$fNFDataPathIdMap$fShowShowableModuleName$fNFDataModuleParseError$fNFDataLocateError$fNFDataNodeError$fNFDataDependencyInformation$fSemigroupNodeResult$fShowNamedModuleDep$fNFDataNamedModuleDep$fEqNamedModuleDep$fNFDataTransitiveDependencies$fShowFilePathId$fNFDataFilePathId$fEqFilePathId$fOrdFilePathId$fShowModuleImports$fShowPathIdMap$fGenericPathIdMap$fNFDataShowableModuleName$fShowModuleParseError$fGenericModuleParseError$fShowRawDependencyInformation$fEqLocateError$fShowLocateError$fGenericLocateError$fShowNodeError$fGenericNodeError$fShowDependencyInformation$fGenericDependencyInformation$fShowNodeResult$fGenericNamedModuleDep$fEqTransitiveDependencies$fShowTransitiveDependencies$fGenericTransitiveDependencies GetModSummaryIsFileOfInterest GetModIface GetHiFile GhcSessionGenerateByteCode GenerateCore GetSpanInfo TypeCheckGetDependenciesReportImportCyclesGetDependencyInformationGetLocatedImportsGetParsedModule HiFileResult hirModSummary hirModIfaceTcModuleResult tmrModule tmrModInfo tmrModSummary$fNFDataTcModuleResult$fShowTcModuleResult$fShowHiFileResult$fNFDataHiFileResult$fBinaryGetParsedModule$fNFDataGetParsedModule$fHashableGetParsedModule$fBinaryGetLocatedImports$fNFDataGetLocatedImports$fHashableGetLocatedImports $fBinaryGetDependencyInformation $fNFDataGetDependencyInformation"$fHashableGetDependencyInformation$fBinaryReportImportCycles$fNFDataReportImportCycles$fHashableReportImportCycles$fBinaryGetDependencies$fNFDataGetDependencies$fHashableGetDependencies$fBinaryTypeCheck$fNFDataTypeCheck$fHashableTypeCheck$fBinaryGetSpanInfo$fNFDataGetSpanInfo$fHashableGetSpanInfo$fBinaryGenerateCore$fNFDataGenerateCore$fHashableGenerateCore$fBinaryGenerateByteCode$fNFDataGenerateByteCode$fHashableGenerateByteCode$fBinaryGhcSession$fNFDataGhcSession$fHashableGhcSession$fBinaryGetHiFile$fNFDataGetHiFile$fHashableGetHiFile$fBinaryGetModIface$fNFDataGetModIface$fHashableGetModIface$fBinaryIsFileOfInterest$fNFDataIsFileOfInterest$fHashableIsFileOfInterest$fBinaryGetModSummary$fNFDataGetModSummary$fHashableGetModSummary$fEqGetParsedModule$fShowGetParsedModule$fGenericGetParsedModule$fEqGetLocatedImports$fShowGetLocatedImports$fGenericGetLocatedImports$fEqGetDependencyInformation$fShowGetDependencyInformation!$fGenericGetDependencyInformation$fEqReportImportCycles$fShowReportImportCycles$fGenericReportImportCycles$fEqGetDependencies$fShowGetDependencies$fGenericGetDependencies $fEqTypeCheck$fShowTypeCheck$fGenericTypeCheck$fEqGetSpanInfo$fShowGetSpanInfo$fGenericGetSpanInfo$fEqGenerateCore$fShowGenerateCore$fGenericGenerateCore$fEqGenerateByteCode$fShowGenerateByteCode$fGenericGenerateByteCode$fEqGhcSession$fShowGhcSession$fGenericGhcSession $fEqGetHiFile$fShowGetHiFile$fGenericGetHiFile$fEqGetModIface$fShowGetModIface$fGenericGetModIface$fEqIsFileOfInterest$fShowIsFileOfInterest$fGenericIsFileOfInterest$fEqGetModSummary$fShowGetModSummary$fGenericGetModSummaryLogger logPriorityPriority TelemetryDebugInfoWarningErrorlogError logWarninglogInfologDebug logTelemetry noLogging $fEqPriority$fShowPriority $fOrdPriority$fEnumPriority$fBoundedPriorityIdePkgLocationOptionsoptLocateHieFileoptLocateSrcFileIdeDeferIdeReportProgressIdePreprocessedSourcepreprocWarnings preprocErrors preprocSource IdeOptionsoptPreprocessor optGhcSessionoptPkgLocationOpts optExtensions optThreads optShakeFilesoptShakeProfiling optTestingoptReportProgressoptLanguageSyntaxoptNewColonConvention optKeywordsoptDeferclientSupportsProgressdefaultIdeOptions FileVersion VFSVersionModificationTimeGetModificationTime OnDiskRulegetHashrunRuleIdeState shakeExtrasIdeRule IsIdeGlobal ShakeExtraseventer debouncerloggerglobalsstate diagnosticshiddenDiagnosticspublishedDiagnosticspositionMapping inProgressgetShakeExtrasgetShakeExtrasRules addIdeGlobaladdIdeGlobalExtrasgetIdeGlobalActiongetIdeGlobalState deleteValue shakeOpen shakeProfile shakeShutshakeRungetDiagnosticsgetHiddenDiagnosticsunsafeClearDiagnosticsgarbageCollectdefineuse useWithStale useNoFileuse_ useNoFile_uses_uses usesWithStaledefineEarlyCutoff defineOnDisk needOnDisk needOnDisks setPriority sendEvent ideLogger actionLoggermodificationTimeupdatePositionMapping $fHashableKey$fEqKey $fShowKey $fNFDataValue$fExceptionBadDependency$fShowQ $fBinaryQ $fNFDataA $fShowQDisk $fBinaryQDisk $fNFDataQDisk$fHashableQDisk$fNFDataShakeValue$fBinaryGetModificationTime$fNFDataGetModificationTime$fHashableGetModificationTime$fNFDataFileVersion$fFunctorValue$fGenericValue $fShowValue$fShowBadDependency$fEqQ $fHashableQ $fNFDataQ $fGenericQ$fShowA $fEqQDisk$fGenericQDisk$fGenericShakeValue$fShowShakeValue$fEqGetModificationTime$fShowGetModificationTime$fGenericGetModificationTime$fShowFileVersion$fGenericFileVersionofInterestRulesgetFilesOfInterestsetFilesOfInterestmodifyFilesOfInterest$fIsIdeGlobalOfInterestVar$fBinaryGetFilesOfInterest$fNFDataGetFilesOfInterest$fHashableGetFilesOfInterest$fEqGetFilesOfInterest$fShowGetFilesOfInterest$fGenericGetFilesOfInterestIdeConfiguration&$sel:workspaceFolders:IdeConfigurationregisterIdeConfigurationparseConfigurationparseWorkspaceFoldermodifyWorkspaceFoldersisWorkspaceFile $fIsIdeGlobalIdeConfigurationVar$fShowIdeConfiguration VFSHandlegetVirtualFile makeVFSHandlemakeLSPVFSHandlegetFileContentsfileStoreRulessetBufferModifiedsetSomethingModified$fIsIdeGlobalVFSHandle$fBinaryGetFileContents$fNFDataGetFileContents$fHashableGetFileContents$fEqGetFileContents$fShowGetFileContents$fGenericGetFileContents initialise writeProfileshutdown runAction runActionSync getIdeOptions$fIsIdeGlobalGlobalIdeOptionsPartialHandlers WithMessage$sel:withResponse:WithMessage!$sel:withNotification:WithMessage'$sel:withResponseAndRequest:WithMessage$sel:withInitialize:WithMessage$fMonoidPartialHandlers$fSemigroupPartialHandlers$fDefaultPartialHandlers GhcSessionFun GhcSessionIO toIdeResultuseE useNoFileEusesE defineNoFilegetDependencies getAtPoint getDefinitiongetParsedModulepriorityTypeCheckpriorityGenerateCorepriorityFilesOfInterest generateCoremainRule$fBinaryGhcSessionIO$fNFDataGhcSessionIO$fHashableGhcSessionIO$fNFDataGhcSessionFun$fShowGhcSessionFun$fShowGenerateInterfaceFiles$fEqGhcSessionIO$fShowGhcSessionIO$fGenericGhcSessionIOrulePackageExportsPlugin pluginRules pluginHandlercodeActionPlugincodeActionPluginWithRulesmakeLspCommandIdgetPid$fMonoidPlugin$fSemigroupPlugin$fDefaultPluginplugin$fBinaryProduceCompletions$fNFDataProduceCompletions$fHashableProduceCompletions$fEqProduceCompletions$fShowProduceCompletions$fGenericProduceCompletions codeActioncodeLensexecuteAddSignatureCommand$fShowNotInScopesetHandlersOutline moduleOutlinegotoDefinitionhoversetHandlersDefinitionsetHandlersHoverrunLanguageServerasyncRegisterEvent composeDeltaGHCparser lookupNameobtainTermFromIdobtainTermFromValgetHistorySpan getGHCiMonad setGHCiMonadmoduleTrustReqsisModuleTrusted lookupModule findModuleshowRichTokenStreamaddSourceToTokensgetRichTokenStreamgetTokenStreampprParenSymName dataConTypegetNameToInstancesIndexgetGREfindGlobalAnnslookupGlobalName isDictonaryIdmodInfoModBreaks modInfoSafe modInfoIfacemodInfoLookupNamemkPrintUnqualifiedForModulemodInfoIsExportedNamemodInfoInstancesmodInfoExportsWithSelectorsmodInfoExportsmodInfoTopLevelScopemodInfoTyThings getModuleInfogetPrintUnqualgetInsts getBindingsisLoadedgetModuleGraphcompileToCoreSimplifiedcompileToCoreModule loadModule desugarModuletypecheckModule parseModule getModSummaryworkingDirectoryChanged guessTarget removeTarget addTarget getTargets setTargetsparseDynamicFlagsgetInteractiveDynFlagssetInteractiveDynFlagsgetProgramDynFlags setLogActionsetProgramDynFlagssetSessionDynFlags initGhcMonadwithCleanupSessionrunGhcTrunGhcdefaultCleanupHandlerdefaultErrorHandler ParsedMod parsedSourceTypecheckedMod renamedSourcetypecheckedSource moduleInfo ParsedModulepm_mod_summarypm_parsed_sourcepm_extra_src_filespm_annotationsTypecheckedModuletm_parsed_moduletm_renamed_sourcetm_typechecked_sourcetm_checked_module_info tm_internals_DesugaredModuledm_typechecked_moduledm_core_module ParsedSource RenamedSourceTypecheckedSource CoreModule cm_modulecm_typescm_bindscm_safe ModuleInfoGhcMakecyclicModuleErrtopSortModuleGraphloaddepanal LoadHowMuchLoadAllTargetsLoadUpToLoadDependenciesOfInteractiveEvalreconstructTypemoduleIsBootOrNotObjectLinkable showModuledynCompileExprcompileParsedExprcompileParsedExprRemotecompileExprRemote compileExpr parseExprtypeKindexprTypegetDocsisDeclisImport hasImportisStmt parseNamegetRdrNamesInScopegetNamesInScopegetInfomoduleIsInterpreted getContext setContext abandonAllabandonforwardback resumeExecparseImportDeclrunDeclsWithLocationrunDeclsexecStmt execOptionsgetHistoryModulegetResumeContextGetDocsFailureNameHasNoModule NoDocsInIfaceInteractiveName TcRnDriverrunTcInteractive TcRnExprModeTM_Inst TM_NoInst TM_Default PprTyThing pprFamInstGhcMonaddefaultWarnErrLoggerprintExceptiongetSessionDynFlags getSession setSessionGhcGhcT WarnErrLoggerHscTypes ms_mod_name mkModuleGraphemptyMGmgLookupModulemgModSummariesmapMGneedsTemplateHaskellOrQQhandleSourceErrorHscEnvTargettargetIdtargetAllowObjCodetargetContentsTargetId TargetModule TargetFileModIface mi_module mi_sig_of mi_iface_hash mi_mod_hash mi_flag_hash mi_opt_hash mi_hpc_hashmi_plugin_hash mi_orphan mi_finsts mi_hsc_srcmi_deps mi_usages mi_exports mi_exp_hash mi_used_th mi_fixitiesmi_warnsmi_annsmi_decls mi_globalsmi_insts mi_fam_instsmi_rulesmi_orphan_hash mi_warn_fn mi_fix_fn mi_hash_fnmi_hpcmi_trust mi_trust_pkgmi_complete_sigs mi_doc_hdr mi_decl_docs mi_arg_docsInteractiveImportIIDeclIIModule ModuleGraph ModSummaryms_mod ms_hsc_src ms_location ms_hs_date ms_obj_date ms_iface_date ms_srcimpsms_textual_imps ms_parsed_mod ms_hspp_file ms_hspp_opts ms_hspp_bufHsSynHsModule hsmodName hsmodExports hsmodImports hsmodDeclshsmodDeprecMessagehsmodHaddockModHeaderHsUtils lPatImplicitshsValBindsImplicitslStmtsImplicitshsDataFamInstBindersgetPatSynBindshsPatSynSelectorshsForeignDeclsBindershsLTyClDeclBindershsTyClForeignBindershsGroupBinderscollectPatsBinderscollectPatBinderscollectStmtBinderscollectLStmtBinderscollectStmtsBinderscollectLStmtsBinderscollectMethodBinderscollectHsBindListBinderscollectHsBindsBinderscollectHsBindBinderscollectHsValBinderscollectHsIdBinderscollectLocalBindersisBangedHsBindisUnliftedHsBindmkMatchmkPrefixFunRhsmk_easy_FunBindisInfixFunBind mkPatSynBind mkVarBind mkHsVarBind mkTopFunBind mkFunBind mkHsDictLet mkHsWrapPatCo mkHsWrapPat mkLHsCmdWrap mkHsCmdWrap mkLHsWrapCo mkHsWrapCoR mkHsWrapComkHsWrap mkLHsWrap typeToLHsType mkClassOpSigs mkHsSigEnvmkLHsSigWcType mkLHsSigTypechunkify mkChunkifiedmkBigLHsPatTupmkBigLHsVarPatTup mkBigLHsTupmkBigLHsVarTup missingTupArg nlTuplePat mkLHsVarTuplemkLHsTupleExpr nlHsTyConApp nlHsParTy nlHsFunTy nlHsTyVar nlHsAppTynlListnlHsCasenlHsIfnlHsParnlHsLam nlHsOpAppnlHsDo nlWildPatName nlWildPat nlWildConPatnlNullaryConPat nlConPatNamenlConPat nlInfixConPatnlConVarPatName nlConVarPat nlHsVarAppsnlHsAppsnlHsSyntaxAppsnlHsAppnlLitPatnlVarPat nlHsIntLitnlHsLit nlHsDataConnlHsVaruserHsTyVarBndrsuserHsLTyVarBndrsmkHsStringPrimLit mkHsStringunqualQuasiQuotemkHsQuasiQuote mkHsSpliceTy mkHsSpliceTE mkHsSpliceEmkUntypedSplice mkHsOpApp mkRecStmtemptyRecStmtIdemptyRecStmtName emptyRecStmt unitRecStmtTc mkTcBindStmt mkBindStmt mkBodyStmt mkLastStmtmkGroupByUsingStmtmkGroupUsingStmtmkTransformByStmtmkTransformStmtemptyTransStmt mkNPlusKPatmkNPatmkHsIfmkHsCompmkHsDo mkHsIsStringmkHsFractional mkHsIntegralnlParPatmkParPatmkLHsPar nlHsTyApps nlHsTyApp mkHsCaseAltmkHsLamsmkHsLam mkHsAppTypes mkHsAppTypemkHsApp mkMatchGroup unguardedRHSunguardedGRHSs mkSimpleMatchmkHsParHsExpr pprStmtInCtxtpprMatchInCtxtmatchContextErrStringpprStmtContextpprAStmtContextpprMatchContextNounpprMatchContextmatchSeparatorisMonadFailStmtContextisListCompExpr isPatSynCtxt pp_dotdot thTyBrackets thBrackets pprHsBracketisTypedBracket ppr_splice ppr_quasippr_splice_declpprPendingSplice isTypedSplicepprQualspprComp ppr_do_stmtspprDopprBy pprTransStmtpprTransformStmtpprStmtpp_rhspprGRHSpprGRHSspprMatch pprMatches hsLMatchPatsmatchGroupArityisSingletonMatchGroupisEmptyMatchGroup isInfixMatch pprCmdArgppr_cmdppr_lcmd isQuietHsCmdpprCmdpprLCmdisAtomicHsExprparenthesizeHsExprhsExprNeedsParens pprParendExprpprParendLExprpprDebugParendExprpprExternalSrcLocppr_appsppr_expr ppr_lexprpprBinds isQuietHsExpr tupArgPresent unboundVarOccmkRnSyntaxExpr noSyntaxExprnoExpr PostTcExpr PostTcTableCmdSyntaxTable UnboundVar OutOfScope TrueExprHole RecordConTc rcon_con_like rcon_con_expr RecordUpdTc rupd_cons rupd_in_tys rupd_out_tys rupd_wrap LHsTupArgHsTupArgPresentMissingXTupArgLHsCmd HsArrAppTypeHsHigherOrderAppHsFirstOrderApp LHsCmdTopHsCmdTopXCmdTopCmdTopTc HsRecordBinds MatchGroupTc mg_arg_tys mg_res_tyLMatchMatchXMatchm_extm_ctxtm_patsm_grhssLGRHSGRHSXGRHSLStmtLStmtLRStmtCmdLStmtCmdStmt ExprLStmtExprStmt GuardLStmt GuardStmt GhciLStmtGhciStmtStmtLRLastStmtBindStmtApplicativeStmtBodyStmtLetStmtParStmt TransStmtRecStmtXStmtLRtrS_exttrS_form trS_stmts trS_bndrs trS_usingtrS_bytrS_rettrS_bindtrS_fmaprecS_ext recS_stmtsrecS_later_ids recS_rec_ids recS_bind_fn recS_ret_fn recS_mfix_fn RecStmtTc recS_bind_tyrecS_later_rets recS_rec_rets recS_ret_ty TransFormThenForm GroupForm ParStmtBlock XParStmtBlockApplicativeArgApplicativeArgOneApplicativeArgManyXApplicativeArgSpliceDecoration HasParens HasDollarNoParensThModFinalizersHsSplicedThing HsSplicedExpr HsSplicedTy HsSplicedPatSplicePointNamePendingRnSpliceUntypedSpliceFlavourUntypedExpSpliceUntypedPatSpliceUntypedTypeSpliceUntypedDeclSplicePendingTcSplice HsBracketXBracketExpBrPatBrDecBrLDecBrGTypBrVarBrTExpBr ArithSeqInfoFromFromThenFromTo FromThenToHsMatchContextPatSynFunRhs LambdaExprCaseAltIfAltProcExpr PatBindRhs PatBindGuardsRecUpdStmtCtxt ThPatSplice ThPatQuotemc_fun mc_fixity mc_strictness HsStmtContextListComp MonadCompDoExprMDoExpr ArrowExpr GhciStmtCtxtPatGuard ParStmtCtxt TransStmtCtxtHsDeclsroleAnnotDeclNameannProvenanceName_maybe docDeclDocpprFullRuleNamecollectRuleBndrSigTysflattenRuleDeclsderivStrategyNameinstDeclDataFamInsts pprFamInstLHSpprDataFamInstFlavourhsConDeclThetahsConDeclArgTys getConNamesnewOrDataToFlavourresultVariableNamefamDeclHasCusk mkTyClGrouptyClGroupRoleDeclstyClGroupInstDeclstyClGroupTyClDeclsemptyTyClGrouppprTyClDeclFlavour hsDeclHasCuskcountTyClDeclstyClDeclTyVarstcdName tyClDeclLNametyFamInstDeclLNametyFamInstDeclNameisDataFamilyDeclisClosedTypeFamilyInfoisOpenTypeFamilyInfoisTypeFamilyDecl isFamilyDecl isClassDecl isSynDecl isDataDecl appendGroupshsGroupInstDecls emptyRnGroup emptyRdrGroupLHsDeclHsDeclSigDDefDWarningDAnnDRuleDSpliceDDocD RoleAnnotDXHsDeclHsGroupXHsGrouphs_exths_valds hs_splcds hs_tyclds hs_derivdshs_fixdshs_defdshs_fords hs_warndshs_annds hs_ruledshs_docs LSpliceDecl SpliceDecl XSpliceDecl LTyClDeclTyClDeclFamDeclSynDeclDataDecl ClassDecl XTyClDecltcdFExttcdFamtcdSExttcdLName tcdTyVars tcdFixitytcdRhstcdDExt tcdDataDefntcdCExttcdCtxttcdFDstcdSigstcdMethstcdATs tcdATDefstcdDocs DataDeclRn tcdDataCusktcdFVs TyClGroup XTyClGroup group_ext group_tyclds group_roles group_instdsLFamilyResultSigFamilyResultSigNoSigKindSigTyVarSigXFamilyResultSig LFamilyDecl FamilyDecl XFamilyDeclfdExtfdInfofdLNamefdTyVarsfdFixity fdResultSigfdInjectivityAnnLInjectivityAnnInjectivityAnn FamilyInfo DataFamilyOpenTypeFamilyClosedTypeFamily HsDataDefn XHsDataDefndd_extdd_NDdd_ctxtdd_cType dd_kindSigdd_cons dd_derivs HsDerivingLHsDerivingClauseHsDerivingClauseXHsDerivingClausederiv_clause_extderiv_clause_strategyderiv_clause_tys NewOrDataDataTypeNewTypeLConDeclConDecl ConDeclGADT ConDeclH98XConDecl con_g_ext con_names con_forall con_qvars con_mb_cxtcon_args con_res_tycon_doccon_extcon_name con_ex_tvsHsConDeclDetails LTyFamInstEqnLTyFamDefltEqnHsTyPats TyFamInstEqn TyFamDefltEqnLTyFamInstDecl TyFamInstDecltfid_eqnLDataFamInstDeclDataFamInstDecldfid_eqn LFamInstEqn FamInstEqnFamEqnXFamEqnfeqn_ext feqn_tycon feqn_pats feqn_fixityfeqn_rhs LClsInstDecl ClsInstDecl XClsInstDeclcid_ext cid_poly_ty cid_bindscid_sigscid_tyfam_instscid_datafam_instscid_overlap_mode LInstDeclInstDeclClsInstD DataFamInstD TyFamInstD XInstDecl cid_d_extcid_instdfid_ext dfid_insttfid_ext tfid_inst LDerivDecl DerivDecl XDerivDecl deriv_ext deriv_typederiv_strategyderiv_overlap_modeLDerivStrategy DerivStrategy StockStrategyAnyclassStrategyNewtypeStrategy ViaStrategy LDefaultDecl DefaultDecl XDefaultDecl LForeignDecl ForeignDecl ForeignExport ForeignImport XForeignDeclfd_i_extfd_name fd_sig_tyfd_fifd_e_extfd_feCImport CImportSpecCLabel CFunctionCWrapperCExport LRuleDecls RuleDeclsHsRules XRuleDeclsrds_extrds_src rds_rules LRuleDeclRuleDeclHsRule XRuleDeclHsRuleRn LRuleBndrRuleBndr RuleBndrSig XRuleBndrLDocDeclDocDeclDocCommentNextDocCommentPrevDocCommentNamedDocGroup LWarnDecls WarnDeclsWarnings XWarnDeclswd_extwd_src wd_warnings LWarnDeclWarnDecl XWarnDeclLAnnDeclAnnDecl HsAnnotationXAnnDecl AnnProvenanceValueAnnProvenanceTypeAnnProvenanceModuleAnnProvenanceLRoleAnnotDecl RoleAnnotDeclXRoleAnnotDeclHsPatcollectEvVarsPatcollectEvVarsPatsparenthesizePatpatNeedsParensisIrrefutableHsPatlooksLazyPatBind isBangedLPat mkCharLitPatmkNilPatmkPrefixConPat pprConArgs pprParendLPathsRecUpdFieldOcchsRecUpdFieldIdhsRecUpdFieldRdr hsRecFieldId hsRecFieldSelhsRecFieldsArgs hsRecFields hsConPatArgsInPatOutPat ListPatTcHsConPatDetails HsRecFieldsrec_flds rec_dotdot LHsRecField' LHsRecFieldLHsRecUpdField HsRecField HsRecUpdField HsRecField' hsRecFieldLbl hsRecFieldArghsRecPunHsBinds pprMinimalSigpprTcSpecPragspprSpec pprVarSigpragSrcBrackets pragBracketsppr_sighsSigDocisCompleteMatchSig isSCCFunSig isMinimalLSig isInlineLSig isPragLSigisSpecInstLSig isSpecLSig isTypeLSig isFixityLSigisDefaultMethod hasSpecPrags noSpecPragsisEmptyIPBindsTcisEmptyIPBindsPRpprTicks ppr_monobindplusHsValBindsisEmptyLHsBinds emptyLHsBindsemptyValBindsOutemptyValBindsInisEmptyValBindseqEmptyLocalBindsisEmptyLocalBindsPRisEmptyLocalBindsTcemptyLocalBinds pprDeclListpprLHsBindsForUser pprLHsBinds HsLocalBinds LHsLocalBindsHsLocalBindsLR HsIPBinds HsValBindsEmptyLocalBindsXHsLocalBindsLRLHsLocalBindsLR HsValBindsLRValBinds XValBindsLR NHsValBindsLR NValBindsLHsBindLHsBindsHsBind LHsBindsLR LHsBindLRHsBindLR PatSynBindFunBindPatBindVarBindAbsBinds XHsBindsLRfun_extfun_id fun_matches fun_co_fnfun_tickpat_extpat_lhspat_rhs pat_ticksvar_extvar_idvar_rhs var_inlineabs_extabs_tvs abs_ev_vars abs_exports abs_ev_binds abs_bindsabs_sig NPatBindTcpat_fvs pat_rhs_tyABExportABE XABExportabe_extabe_polyabe_monoabe_wrap abe_prags XPatSynBindPSBpsb_extpsb_idpsb_argspsb_defpsb_dir XHsIPBindsIPBindsLIPBindIPBindXIPBindLSigSigTypeSig PatSynSigIdSigFixSig InlineSigSpecSig SpecInstSig MinimalSig SCCFunSigCompleteMatchSigXSig LFixitySig FixitySig XFixitySig TcSpecPragsIsDefaultMethod SpecPrags LTcSpecPrag TcSpecPragSpecPragHsPatSynDetailsRecordPatSynFieldrecordPatSynSelectorIdrecordPatSynPatVar HsPatSynDirUnidirectionalImplicitBidirectionalExplicitBidirectionalInstEnvpprInstanceHdr pprInstanceinstanceDFunIdClsInst FamInstEnvFamInst ByteCodeTypes BreakIndex ModBreaksmodBreaks_flagsmodBreaks_locsmodBreaks_varsmodBreaks_decls modBreaks_ccsmodBreaks_breakInfoHsTypesparenthesizeHsTypehsTypeNeedsParens pprHsTypepprConDeclFieldspprHsContextMaybepprHsContextNoArrow pprHsContextpprHsForAllTvspprHsForAllExtra pprHsForAllpprAnonWildCardambiguousFieldOccunambiguousFieldOccselectorAmbiguousFieldOccrdrNameAmbiguousFieldOccmkAmbiguousFieldOcc mkFieldOccgetLHsInstDeclClass_maybegetLHsInstDeclHeadsplitLHsInstDeclTysplitLHsQualTysplitLHsForAllTysplitLHsSigmaTysplitLHsPatSynTy splitHsAppTyshsTyGetAppHead_maybesplitHsFunType mkHsAppTys mkHsAppTymkHsOpTymkAnonWildCardTy isLHsForAllTy ignoreParens sameWildCard wildCardNamehsLTyVarBndrsToTypeshsLTyVarBndrToTypehsLTyVarLocNameshsLTyVarLocNamehsAllLTyVarNameshsExplicitLTyVarNames hsLTyVarName hsTyVarName hsScopedTvs hsWcScopedTvshsTvbAllKindedisHsKindedTyVar hsIPNameFSmkEmptyWildCardBndrsmkEmptyImplicitBndrsmkHsWildCardBndrsmkHsImplicitBndrs dropWildCards hsSigWcType hsSigTypehsImplicitBodyisEmptyLHsQTvs emptyLHsQTvs hsQTvExplicitmkHsQTvsgetBangStrictness getBangType LBangTypeBangType LHsContext HsContextLHsTypeHsKindLHsKind LHsTyVarBndr LHsQTyVarsHsQTvs XLHsQTyVarshsq_ext hsq_explicitHsQTvsRn hsq_implicit hsq_dependentHsImplicitBndrsHsIBXHsImplicitBndrshsib_ext hsib_bodyHsIBRn hsib_vars hsib_closedHsWildCardBndrsHsWCXHsWildCardBndrshswc_ext hswc_body LHsSigType LHsWcType LHsSigWcTypeHsIPName HsTyVarBndr UserTyVar KindedTyVar XTyVarBndrHsTypeHsTyLit HsForAllTyHsQualTyHsTyVarHsAppTyHsFunTyHsListTy HsTupleTyHsSumTyHsOpTyHsParTy HsIParamTyHsStarTy HsKindSig HsSpliceTyHsDocTyHsBangTyHsRecTyHsExplicitListTyHsExplicitTupleTy HsWildCardTyXHsType hst_xforall hst_bndrshst_body hst_xqualhst_ctxt NewHsTypeX NHsCoreTyHsNumTyHsStrTyHsWildCardInfo AnonWildCard HsTupleSortHsUnboxedTuple HsBoxedTupleHsConstraintTupleHsBoxedOrConstraintTuplePromoted NotPromoted LConDeclField ConDeclField XConDeclField cd_fld_ext cd_fld_names cd_fld_type cd_fld_doc HsConDetails PrefixConRecConInfixCon LFieldOccFieldOcc XFieldOcc extFieldOccrdrNameFieldOccAmbiguousFieldOcc Unambiguous AmbiguousXAmbiguousFieldOccInteractiveEvalTypes ExecOptionsexecSingleStepexecSourceFileexecLineNumberexecWrap SingleStepRunToCompletionRunAndLogSteps ExecResult ExecComplete ExecBreak execResultexecAllocation breakNames breakInfo BreakInfobreakInfo_modulebreakInfo_numberResume resumeStmt resumeContextresumeBindingsresumeFinalIds resumeApStackresumeBreakInfo resumeSpan resumeDecl resumeCCS resumeHistoryresumeHistoryIxHistoryhistoryBreakInfohistoryEnclosingDeclsId isBottomingId isDeadBinder isImplicitId idDataConisDataConWorkId isFCallId isPrimOpIdisClassOpId_maybeisRecordSelectorrecordSelectorTyConidTypeDataConisVanillaDataCondataConUserType dataConSigdataConSrcBangsdataConIsInfixisMarkedStrict HsSrcBang HsImplBangHsLazyHsStrictHsUnpack SrcStrictnessSrcLazy SrcStrict NoSrcStrictSrcUnpackedness SrcUnpack SrcNoUnpack NoSrcUnpackStrictnessMark MarkedStrictNotMarkedStrictHsLithsOverLitNeedsParenshsLitNeedsParens pmPprHsLit pp_st_suffix convertLit overLitTypenegateOverLitValHsChar HsCharPrimHsString HsStringPrimHsInt HsIntPrim HsWordPrim HsInt64Prim HsWord64Prim HsIntegerHsRat HsFloatPrim HsDoublePrimXLit HsOverLitXOverLitOverLitol_extol_val ol_witness OverLitTc ol_rebindableol_type OverLitVal HsIntegral HsFractional HsIsStringTypesplitForAllTys funResultTyTysPrim alphaTyVarsTyCoRep pprTypeApp pprForAllpprThetaArrowTy pprParendTypeTyContyConClass_maybe isClassTyConsynTyConRhs_maybesynTyConDefn_maybe tyConDataConsisOpenTypeFamilyTyConisTypeFamilyTyConisOpenFamilyTyCon isFamilyTyConisTypeSynonymTyCon isNewTyCon isPrimTyConClass pprFundeps classTvsFds classSCThetaclassATs classMethods dataConTyCondataConFieldLabelspprLExprpprExpr pprSplice pprSpliceDecl pprPatBind pprFunBindHsVar HsUnboundVar HsConLikeOutHsRecFld HsOverLabelHsIPVarHsLam HsLamCaseHsApp HsAppTypeOpAppNegAppHsParSectionLSectionR ExplicitTuple ExplicitSumHsCaseHsIf HsMultiIfHsLetHsDo ExplicitList RecordCon RecordUpd ExprWithTySigArithSeqHsSCC HsCoreAnnHsRnBracketOutHsTcBracketOut HsSpliceEHsProcHsStaticHsArrApp HsArrFormHsTick HsBinTick HsTickPragmaEWildPatEAsPatEViewPatELazyPatHsWrapXExprrcon_ext rcon_con_name rcon_fldsrupd_ext rupd_expr rupd_fldsHsCmd HsCmdArrApp HsCmdArrFormHsCmdAppHsCmdLamHsCmdPar HsCmdCaseHsCmdIfHsCmdLetHsCmdDo HsCmdWrapXCmdHsSplice HsTypedSpliceHsUntypedSplice HsQuasiQuote HsSplicedXSplice MatchGroupMG XMatchGroupmg_extmg_alts mg_originGRHSsXGRHSsgrhssExt grhssGRHSsgrhssLocalBinds SyntaxExprsyn_expr syn_arg_wraps syn_res_wrapLHsExprHsImpExp pprImpExpreplaceLWrappedNamereplaceWrappedNameieLWrappedName ieWrappedNameieNamesieNamesimpleImportDecl LImportDecl ImportDecl XImportDeclideclExtideclSourceSrc ideclName ideclPkgQual ideclSource ideclSafeideclQualified ideclImplicitideclAs ideclHiding IEWrappedNameIEName IEPatternIETypeLIEWrappedNameLIEIEIEVar IEThingAbsIEModuleContentsIEGroupIEDoc IEDocNamedXIE IEWildcard NoIEWildcardPatWildPatVarPatLazyPatAsPatParPatBangPatListPatTuplePatSumPatConPatIn ConPatOutViewPat SplicePatLitPatNPat NPlusKPatSigPatCoPatXPatpat_con pat_arg_tyspat_tvs pat_dicts pat_bindspat_argspat_wrapLPat HsExtensionnoExtNoExtGhcPassPassParsedRenamed TypecheckedGhcPsGhcRnGhcTcGhcTcIdIdPLIdP XHsValBindsXEmptyLocalBindsXXHsLocalBindsLRForallXHsLocalBindsLR XValBinds XXValBindsLRForallXValBindsLRXFunBindXPatBindXVarBind XAbsBinds XXHsBindsLRForallXHsBindsLRXABE XXABExportForallXABExportXPSB XXPatSynBindForallXPatSynBindXIPBinds XXHsIPBindsForallXHsIPBindsXCIPBindXXIPBind ForallXIPBindXTypeSig XPatSynSig XClassOpSigXIdSigXFixSig XInlineSigXSpecSig XSpecInstSig XMinimalSig XSCCFunSigXCompleteMatchSigXXSig ForallXSig XXFixitySigForallXFixitySigXTyClDXInstDXDerivDXValDXSigDXDefDXForD XWarningDXAnnDXRuleDXSpliceDXDocD XRoleAnnotDXXHsDecl ForallXHsDecl XCHsGroup XXHsGroupForallXHsGroup XXSpliceDeclForallXSpliceDeclXFamDeclXSynDecl XDataDecl XClassDecl XXTyClDeclForallXTyClDecl XCTyClGroup XXTyClGroupForallXTyClGroupXNoSig XCKindSig XTyVarSigXXFamilyResultSigForallXFamilyResultSig XCFamilyDecl XXFamilyDeclForallXFamilyDecl XCHsDataDefn XXHsDataDefnForallXHsDataDefnXCHsDerivingClauseXXHsDerivingClauseForallXHsDerivingClause XConDeclGADT XConDeclH98 XXConDeclForallXConDeclXCFamEqnXXFamEqn ForallXFamEqn XCClsInstDecl XXClsInstDeclForallXClsInstDecl XClsInstD XDataFamInstD XTyFamInstD XXInstDeclForallXInstDecl XCDerivDecl XXDerivDeclForallXDerivDecl XViaStrategy XCDefaultDecl XXDefaultDeclForallXDefaultDeclXForeignImportXForeignExport XXForeignDeclForallXForeignDecl XCRuleDecls XXRuleDeclsForallXRuleDeclsXHsRule XXRuleDeclForallXRuleDecl XCRuleBndr XRuleBndrSig XXRuleBndrForallXRuleBndr XWarnings XXWarnDeclsForallXWarnDeclsXWarning XXWarnDeclForallXWarnDecl XHsAnnotation XXAnnDeclForallXAnnDeclXCRoleAnnotDeclXXRoleAnnotDeclForallXRoleAnnotDeclXVar XUnboundVar XConLikeOutXRecFld XOverLabelXIPVar XOverLitEXLitEXLamXLamCaseXApp XAppTypeEXOpAppXNegAppXPar XSectionL XSectionRXExplicitTuple XExplicitSumXCaseXIfXMultiIfXLetXDo XExplicitList XRecordCon XRecordUpdXExprWithTySig XArithSeqXSCCXCoreAnn XRnBracketOut XTcBracketOutXSpliceEXProcXStaticXArrAppXArrFormXTickXBinTick XTickPragma XEWildPatXEAsPat XEViewPat XELazyPatXWrapXXExpr ForallXExpr XUnambiguous XAmbiguousXXAmbiguousFieldOccForallXAmbiguousFieldOccXPresentXMissingXXTupArg ForallXTupArg XTypedSpliceXUntypedSplice XQuasiQuoteXSplicedXXSplice ForallXSpliceXExpBrXPatBrXDecBrLXDecBrGXTypBrXVarBrXTExpBr XXBracketForallXBracketXXCmdTop ForallXCmdTopXMG XXMatchGroupForallXMatchGroupXCMatchXXMatch ForallXMatchXCGRHSsXXGRHSs ForallXGRHSsXCGRHSXXGRHS ForallXGRHS XLastStmt XBindStmtXApplicativeStmt XBodyStmtXLetStmtXParStmt XTransStmtXRecStmtXXStmtLR ForallXStmtLR XCmdArrApp XCmdArrFormXCmdAppXCmdLamXCmdParXCmdCaseXCmdIfXCmdLetXCmdDoXCmdWrapXXCmd ForallXCmdXXParStmtBlockForallXParStmtBlockXApplicativeArgOneXApplicativeArgManyXXApplicativeArgForallXApplicativeArgXHsChar XHsCharPrim XHsString XHsStringPrimXHsInt XHsIntPrim XHsWordPrim XHsInt64Prim XHsWord64Prim XHsIntegerXHsRat XHsFloatPrim XHsDoublePrimXXLit ForallXHsLit XXOverLitForallXOverLitXWildPatXVarPatXLazyPatXAsPatXParPatXBangPatXListPat XTuplePatXSumPatXConPatXViewPat XSplicePatXLitPatXNPat XNPlusKPatXSigPatXCoPatXXPat ForallXPatXHsQTvs XXLHsQTyVarsForallXLHsQTyVarsXHsIBXXHsImplicitBndrsForallXHsImplicitBndrsXHsWCXXHsWildCardBndrsForallXHsWildCardBndrs XForAllTyXQualTyXTyVarXAppTyXFunTyXListTyXTupleTyXSumTyXOpTyXParTy XIParamTyXStarTyXKindSig XSpliceTyXDocTyXBangTyXRecTyXExplicitListTyXExplicitTupleTyXTyLit XWildCardTyXXType ForallXType XUserTyVar XKindedTyVar XXTyVarBndrForallXTyVarBndrXXConDeclFieldForallXConDeclField XCFieldOcc XXFieldOccForallXFieldOcc XCImportDecl XXImportDeclForallXImportDeclXIEVar XIEThingAbs XIEThingAll XIEThingWithXIEModuleContentsXIEGroupXIEDoc XIEDocNamedXXIE ForallXIE Convertableconvert ConvertIdX OutputableXOutputableBndrId PlaceHolderplaceHolderNamesTc NameOrRdrNameVar isExportedId isGlobalId isLocalIdTyVarToken ApiAnnotation unicodeAnngetAndRemoveAnnotationCommentsgetAnnotationCommentsgetAndRemoveAnnotation getAnnotationApiAnns AnnKeywordIdAnnOpenAnnClose AnnHeaderAnnValAnnType AnnBackquoteAnnTilde AnnPattern AnnDotdotAnnComma AnnModule AnnImportAnnSafe AnnQualifiedAnnPackageNameAnnAs AnnHidingAnnSemi AnnDcolon AnnForallAnnDot AnnDarrow AnnRarrowAnnBangAnnUnit AnnDefaultAnnInfix AnnInstanceAnnVbarAnnEqual AnnLarrowAnnWhereAnnFunIdAnnAtAnnRole AnnForeign AnnExport AnnDerivingAnnStock AnnNewtypeAnnData AnnFamilyAnnOpenP AnnClosePAnnClassAnnThenAnnByAnnGroupAnnUsingAnnLetAnnRec Annlarrowtail Annrarrowtail AnnLarrowtail AnnRarrowtailAnnOpenB AnnCloseBAnnLamAnnCaseAnnOfAnnIfAnnElseAnnInAnnDoAnnMinusAnnOpenE AnnOpenEQ AnnCloseQAnnProc AnnStaticAnnColon AnnAnyclass AnnCloseBU AnnCloseC AnnCloseQU AnnCloseS AnnCommaTuple AnnDarrowU AnnDcolonU AnnForallU AnnLarrowUAnnMdoAnnName AnnOpenBUAnnOpenC AnnOpenEQU AnnOpenPE AnnOpenPTEAnnOpenS AnnRarrowUAnnSimpleQuote AnnSignature AnnThIdSpliceAnnThIdTySplice AnnThTyQuote AnnValStrAnnViaAnnlarrowtailUAnnrarrowtailUAnnLarrowtailUAnnRarrowtailU AnnEofPosAnnotationCommentAnnDocCommentNextAnnDocCommentPrevAnnDocCommentNamed AnnDocSection AnnDocOptionsAnnLineCommentAnnBlockCommentRdrNameUnqualQualErrUtilsprettyPrintGhcErrorsHsDocemptyArgDocMapemptyDeclDocMap concatDocs appendDocs ppr_mbDochsDocStringToByteString unpackHDSmkHsDocStringUtf8ByteString mkHsDocString HsDocString LHsDocString DeclDocMap ArgDocMapName nameModuleisExternalName nameSrcSpan NamedThing getOccNamegetNameDynFlagsgoptdefaultObjectTargetincludePathsQuoteincludePathsGlobalSafeHaskellModeSf_None Sf_UnsafeSf_TrustworthySf_Safe HscTargetHscCHscAsmHscLlvmHscInterpreted HscNothingGhcModeOneShot CompManagerMkDependGhcLinkNoLink LinkBinary LinkInMemory LinkDynLib LinkStaticLib DriverPhasesPhaseModule pprModulemkModule mkModuleNamemoduleNameString addBootSuffix ModLocation ml_hs_file ml_hi_file ml_obj_file BasicTypesfailed succeeded compareFixity negateFixity defaultFixity maxPrecedenceFixityFixityDirectionInfixLInfixRInfixN LexicalFixityPrefixInfix SuccessFlag SucceededFailedSpliceExplicitFlagExplicitSpliceImplicitSpliceSeverity SevOutputSevFatalSevInteractiveSevDumpSevInfo SevWarningSevErrorSrcLoc isSubspanOfspansleftmost_largestleftmost_smallest rightmost cmpLocated eqLocatedaddCLoc combineLocsmkGeneralLocatednoLocgetLocunLoc srcSpanEnd srcSpanStart srcSpanEndColsrcSpanStartColsrcSpanEndLinesrcSpanStartLine isGoodSrcSpan mkSrcSpan srcLocSpan noSrcSpan srcLocCol srcLocLine srcLocFilenoSrcLocmkSrcLoc RealSrcLoc UnhelpfulLoc RealSrcSpan srcSpanFileSrcSpan UnhelpfulSpan GenLocatedLLocatedTyThingAnIdAConLikeATyConACoAxiomPredTypeKind ThetaType Outputable alwaysQualifyPrintUnqualified moduleName moduleUnitId ModuleNameUnitId isFunTyCon tyConKind tyConArity tyConTyVars useUnicodepprCols pprUserLengthghcModeghcLink hscTargetsettings llvmTargets llvmPasses verbosityoptLevel debugLevel simplPhasesmaxSimplIterationsmaxPmCheckIterations ruleCheck inlineCheckstrictnessBefore parMakeCountenableTimeStats ghcHeapSizemaxRelevantBindsmaxValidHoleFitsmaxRefHoleFitsrefLevelHoleFitsmaxUncoveredPatternssimplTickFactorspecConstrThresholdspecConstrCountspecConstrRecursiveliberateCaseThreshold floatLamArgscmmProcAlignment historySize importPaths mainModIs mainFunIsreductionDepthsolverIterationsthisInstalledUnitIdthisComponentId_thisUnitIdInsts_waysbuildTag splitInfo objectDirdylibInstallNamehiDirstubDirdumpDir objectSufhcSufhiSufcanGenerateDynamicToo dynObjectSufdynHiSuf outputFile dynOutputFileoutputHi dynLibLoader dumpPrefixdumpPrefixForceldInputs includePaths libraryPathsframeworkPathscmdlineFrameworksrtsOptsrtsOptsEnabledrtsOptsSuggestionshpcDirpluginModNamespluginModNameOptsfrontendPluginOptspluginshooks depMakefiledepIncludePkgDepsdepExcludeMods depSuffixespackageDBFlagsignorePackageFlags packageFlagspluginPackageFlags trustFlags packageEnv pkgDatabasepkgState filesToClean dirsToCleannextTempSuffixgeneratedDumps dumpFlags generalFlags warningFlagsfatalWarningFlagslanguage safeHaskell safeInfer safeInferredthOnLoc newDerivOnLocoverlapInstLocincoherentOnLoc pkgTrustOnLoc warnSafeOnLocwarnUnsafeOnLoctrustworthyOnLoc extensionsextensionFlagsufCreationThresholdufUseThresholdufFunAppDiscountufDictDiscountufKeenessFactorufDearOpufVeryAggressive maxWorkerArgs ghciHistSize log_actionflushOutflushErrghcVersionFilehaddockOptions ghciScriptsuseColor canUseColor colSchemeprofAutointeractivePrintnextWrapperNum sseVersion bmiVersionavxavx2avx512cdavx512eravx512favx512pfrtldInfortccInfomaxInlineAllocSizemaxInlineMemcpyInsnsmaxInlineMemsetInsns reverseErrors maxErrors initialUniqueuniqueIncrement GeneralFlagOpt_DumpToFileOpt_D_faststring_statsOpt_D_dump_minimal_importsOpt_DoCoreLintingOpt_DoStgLintingOpt_DoCmmLintingOpt_DoAsmLintingOpt_DoAnnotationLintingOpt_NoLlvmMangler Opt_FastLlvmOpt_WarnIsErrorOpt_ShowWarnGroupsOpt_HideSourcePathsOpt_PrintExplicitForallsOpt_PrintExplicitKindsOpt_PrintExplicitCoercionsOpt_PrintExplicitRuntimeRepsOpt_PrintEqualityRelationsOpt_PrintUnicodeSyntaxOpt_PrintExpandedSynonymsOpt_PrintPotentialInstancesOpt_PrintTypecheckerElaboration Opt_CallArityOpt_ExitificationOpt_StrictnessOpt_LateDmdAnalOpt_KillAbsenceOpt_KillOneShotOpt_FullLaziness Opt_FloatInOpt_LateSpecialiseOpt_SpecialiseOpt_SpecialiseAggressivelyOpt_CrossModuleSpecialise Opt_StaticArgumentTransformationOpt_CSE Opt_StgCSEOpt_LiberateCaseOpt_SpecConstrOpt_SpecConstrKeenOpt_DoLambdaEtaExpansionOpt_IgnoreAssertsOpt_DoEtaReduction Opt_CaseMergeOpt_CaseFoldingOpt_UnboxStrictFieldsOpt_UnboxSmallStrictFieldsOpt_DictsCheapOpt_EnableRewriteRules Opt_RegsGraphOpt_RegsIterativeOpt_PedanticBottoms Opt_LlvmTBAAOpt_LlvmPassVectorsInRegistersOpt_LlvmFillUndefWithGarbageOpt_IrrefutableTuples Opt_CmmSinkOpt_CmmElimCommonBlocksOpt_AsmShortcuttingOpt_OmitYieldsOpt_FunToThunkOpt_DictsStrictOpt_DmdTxDictSelOpt_Loopification Opt_CprAnalOpt_WorkerWrapperOpt_SolveConstantDictsOpt_AlignmentSanitisationOpt_CatchBottomsOpt_NumConstantFoldingOpt_SimplPreInliningOpt_IgnoreInterfacePragmasOpt_OmitInterfacePragmasOpt_ExposeAllUnfoldingsOpt_WriteInterfaceOpt_AutoSccsOnIndividualCafsOpt_ProfCountEntriesOpt_PpOpt_ForceRecompOpt_IgnoreOptimChangesOpt_IgnoreHpcChangesOpt_ExcessPrecisionOpt_EagerBlackHoling Opt_NoHsMain Opt_SplitObjsOpt_SplitSections Opt_StgStatsOpt_HideAllPackagesOpt_HideAllPluginPackagesOpt_PrintBindResult Opt_HaddockOpt_HaddockOptionsOpt_BreakOnExceptionOpt_BreakOnErrorOpt_PrintEvldWithShowOpt_PrintBindContentsOpt_GenManifestOpt_EmbedManifestOpt_SharedImplibOpt_BuildingCabalPackageOpt_IgnoreDotGhciOpt_GhciSandboxOpt_GhciHistoryOpt_GhciLeakCheckOpt_LocalGhciHistoryOpt_NoItOpt_HelpfulErrorsOpt_DeferTypeErrorsOpt_DeferTypedHolesOpt_DeferOutOfScopeVariablesOpt_PICOpt_PIEOpt_PICExecutableOpt_ExternalDynamicRefsOpt_SccProfilingOn Opt_TickyOpt_Ticky_Allocd Opt_Ticky_LNEOpt_Ticky_Dyn_Thunk Opt_RPathOpt_RelativeDynlibPathsOpt_Hpc Opt_FlatCacheOpt_ExternalInterpreterOpt_OptimalApplicativeDoOpt_VersionMacrosOpt_WholeArchiveHsLibsOpt_SingleLibFolderOpt_ErrorSpansOpt_DiagnosticsShowCaretOpt_PprCaseAsLetOpt_PprShowTicksOpt_ShowHoleConstraintsOpt_ShowValidHoleFitsOpt_SortValidHoleFitsOpt_SortBySizeHoleFitsOpt_SortBySubsumHoleFitsOpt_AbstractRefHoleFitsOpt_UnclutterValidHoleFitsOpt_ShowTypeAppOfHoleFitsOpt_ShowTypeAppVarsOfHoleFitsOpt_ShowTypeOfHoleFitsOpt_ShowProvOfHoleFitsOpt_ShowMatchesOfHoleFitsOpt_ShowLoadedModulesOpt_HexWordLiteralsOpt_SuppressCoercionsOpt_SuppressVarKindsOpt_SuppressModulePrefixesOpt_SuppressTypeApplicationsOpt_SuppressIdInfoOpt_SuppressUnfoldingsOpt_SuppressTypeSignaturesOpt_SuppressUniquesOpt_SuppressStgFreeVarsOpt_SuppressTicksOpt_SuppressTimestampsOpt_AutoLinkPackagesOpt_ImplicitImportQualifiedOpt_KeepHiDiffsOpt_KeepHcFilesOpt_KeepSFilesOpt_KeepTmpFilesOpt_KeepRawTokenStreamOpt_KeepLlvmFilesOpt_KeepHiFilesOpt_KeepOFilesOpt_BuildDynamicTooOpt_DistrustAllPackagesOpt_PackageTrustOpt_G_NoStateHackOpt_G_NoOptCoercionPanicwithSignalHandlersshowGhcException GhcExceptionSignal UsageError CmdLineErrorPprPanicSorryPprSorryInstallationError ProgramErrorPprProgramError Exceptiongcatchgbracketgfinally ghci-8.6.3GHCi.RemoteTypes ForeignHValueHValue coreModule HieFileResulthie_file_resultHieFile hie_module IEThingAll IEThingWith ClassOpSigTyClDInstDValDForDDerivDhPutStringBufferaddIncludePathsQuote mkHieFile ml_hie_filehieExportNames writeHieFile readHieFilesupportsHieFilesgetHeaderImports getModuleHash getConArgsgetPackageNamegetGhcVersionPathNamedoCppaddOptP WithDynFlags HasDynFlagsevalWithDynFlagsindexedByPositionStartingFromindexedByPosition unconsRange stripRangebase GHC.MaybeNothing mergeRanges!extendAllToIncludeCommaIfPossiblePositionIndexedStringPositionIndexedCachedCompletionsallModNamesAsNS unqualCompls qualComplsimportableModulesorigName importedFrom thingTypelabelisInfixdocsCC QualCompls getQualComplsCompItemCIBacktick SurroundedLeftSideslabel_ cliLayout srenderPlainsrenderColored PackageConfig StringBufferCgGutsGHC.Fingerprint.Type Fingerprintbytestring-0.10.8.2Data.ByteString.Internal ByteString dupHandleTo dupHandle_ioe_dupHandlesNotCompatibleSpanInfospaninfoStartLinespaninfoStartColspaninfoEndLinespaninfoEndCol spaninfoTypespaninfoSource spaninfoDocs SpanSourceLitNamedSpanSNoSource SpansInfo spansExprsspansConstraintsgetNameMPackageExportsPackageExportsMap IdentInforenderednameparent isDatacon mkIdentInfos docHeadersgetDocumentationgetDocumentationTryGhcartifactIsSourcelocateModuleFile mkImportDirs locateModule notFoundErrArtifactsLocationartifactFilePathartifactModLocationImport FileImport PackageImportisBootLocationmodSummaryToArtifactsLocation NodeResult ErrorNode SuccessNode LocateError FilePathIdSet FilePathIdMapbuildResultGraphD:R:RuleResultGetParsedModuleD:R:RuleResultGetLocatedImports&D:R:RuleResultGetDependencyInformation D:R:RuleResultReportImportCyclesD:R:RuleResultGetDependenciesD:R:RuleResultTypeCheckD:R:RuleResultGetSpanInfoD:R:RuleResultGenerateCoreD:R:RuleResultGenerateByteCodeD:R:RuleResultGhcSessionD:R:RuleResultGetHiFileD:R:RuleResultGetModIfaceD:R:RuleResultGetModSummary withWarnings preprocessorparsePragmasIntoDynFlagsrunLhsrunCpprunPreprocessorJusthaskellKeywordsatPoint spansAtPointContext ModuleContext ImportContextImportListContextImportHidingContext ExportContext getCContextgetCompletionsstripAutoGeneratedprefixes WithSnippetscacheDataProducer ShakeNoCutoff ShakeResultQDiskAdeepseq-1.4.4.0Control.DeepSeqrnf BadDependencyValueKeyValues currentValue lastValue getValuesseqValue withMVar'setStageDiagnostics!D:R:RuleResultGetModificationTimeupdateFileDiagnosticssetVirtualFileContentsD:R:RuleResultGetFileContentsFileExistsMapVar FileExistsMapgetFileExistsMapUntrackedmodifyFileExistsActionmodifyFileExists getFileExistsfileExistsRulessetHandlersNotifications RunSimplifiercomputePackageDeps compileModulesetupEnvsetupFinderCacheloadModuleHomeloadDepModuleIOgetImportsParsedgetModSummaryFromBuffergetModSummaryFromImportsparseFileContentsremovePackageImports loadInterfacegenerateByteCodeaddRelativeImportmkTcModuleResultgenerateAndWriteHieFilegenerateAndWriteHiFile loadDepModule loadHieFilegetSrcSpanInfos getSpanInfo funBindMapieLNamesgetTypeLHsBindgetConstraintsLHsBindgetTypeLHsExpr getTypeLPat toSpanInforawDependencyInformation getHieFilegetPackageHieFiletypeCheckRuleDefinitiongetCompletionsLSP D:R:RuleResultProduceCompletions ghcExtensionsextendToWholeLineIfPossible textInRangerangesForBindingaddBindingToImportList matchRegexdocumentSymbolForImportSummaryrequestMessageResponseAndRequest InitialParamssetHandlersIgnore