Np l      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ 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[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{ | } ~      !!!!!"""""""""####$$$$$$$$$$$$$$$$$$$$$%%%%%%%&&&&&&&&''''''''''((((((((((((((((((()))))))))))))))))**** + + + + +++++++++++++++++++ +!+"+#+$+%+&+'+(+)+*+++,+-+.+/+0+1+2+345,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/0NoneNonellNone24 mnopqrs      mnopqrs Nonetuvwx   tuvwx Safe-Inferred ! ! ! !None24E5.Set default values, if option doesn't present ;Make - with flag set =Get argument value >Get numeric value ?Get integer value @Get list argument A Is flag set B Flag option CRequired option D List option EConvert req option to list FSet description !flag "quiet" `desc` "quiet mode" G Set aliases fliag "quiet" `alias` H Shortcuts J#Parse with no options declarations ="#$%&'()*+,-./0123y456789:;<=>?@ABCDEFGHzIJKLMNOP{|}~6 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP/0123-./),+*"#$%&'(456789:;<=>?@ABCDEFGHIJKLMNOP/"#$%&'(),+*-./0123y456789:;<=>?@ABCDEFGHzIJKLMNOP{|}~ NoneZMGet command arguments from source arguments, by default it cuts command name ] Arguments doesn't match command ^Invalid command arguments _Run cmd `Set default opts aValidate Args in command bAlter Args in command cMake CmdAction function d<Cut name of command from arguments and checks if it matches cutName >=> cmdAct act iUnnamed command jBMake help command, which will show help on for specified commands kAdd help command m Run commands nRun commands with parsed args oRun commands with "QRSTUVWXYZ[\]^_`abcdefghijklmnoU !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmno\]^_`abTUVWXYZ[cdefghiQSRjklmnoQSRTUVWXYZ[\]^_`abcdefghijklmno  Safe-Inferred2pSGroup is monoid with invertibility But for our purposes we prefer two functions: q and r. t Sums list pqrstpqrstpqrstpqrst  Safe-InferredyEvent on async value Event to function uvwxyz{|}~uvwxyz{|}~y~}|{zuvwxuvwxy~}|{z  Safe-Inferred  Safe-Inferred+ Task result @Wait until task starts or be cancelled, returns True if started Wait for task  Kill task %Cancel task if it is not started yet 6Cancel or kill task, returns whether it was cancelled Run task in separate thread !None&Run action with current directory set Get directory contents safely 0Collect all file names in directory recursively Search something up Is one path parent of another Is haskell source? Is cabal file? Add N tabs to line Add N tabs to multiline  Trim string  Split list gWorkaround, sometimes we get HM.lookup "foo" v == Nothing, but lookup "foo" (HM.toList v) == Just smth Union two JSON objects Lift IO exception to ErrorT Same as  liftException liftE for IO Run actions ignoring errors  Lift IO exception to MonadError Lift IO exceptions to ErrorT Throw error as exception Read file in UTF8 None 24BHM'Replace action Suffix of contents (Prefix of contents cutted at some point Edit monad is state on Edit#, it also collects region mappings  Edit data *Map region from source contents to edited  Edit contents splitted by lines Contents is list of lines Main idea is that there are only two basic actions , that chances regions: inserting and cutting When something is cutted out or inserted in, region positions must be updated All editings can be represented as many cuts and inserts, so we can combine them to get function which maps source regions to regions on updated data Because insert is dual to cut (and therefore composes iso), we can also get function to map regions back Combining this functions while edit, we get function, that maps regions from source data to edited one To get back function, we must also combine opposite actions, or we can represent actions as isomorphisms Same idea goes for modifying contents, represent each action as isomorphism and combine them together  Region from Point to Point Point at text: line and column 'Distance between points is measured in lines and columns. And it is defined, that distance between point at l:c and point (l + 1):0 is one line no matter c is because we need to go to new line to reach destination point Columns are taken into account only if points are on the same line  pt .-. base is distance from base to pt6 Distance can't be less then zero lines and columns Opposite to ".-.", (pt .-. base) .+. base = pt  Distance in n lines  Distance in n chars within one line Region height in lines. Any Region at least of one line height Is Region empty Ln'th line region, starts at the beginning of line and ends on the next line  Make region -Make region from starting point and its size !Get contents at specified region Apply mapping  Back mapping Cut region mapping Opposite to "cut" GUpdate second region position as if it was data cutted at first region IUpdate second region position as if it was data inserted at first region Basic edit action in monad It takes region, region edit function and contents updater and passes mapped region to these functions to get new state Get mapped region Run edit monad Edit contents  Eval edit Make prefix from full contents RConcat prefix and suffix. First line of suffix is appended to last line of prefix SSplit contents at point. First argument is function to split one line at position. Contents size  Erase data Paste data at position Replace data with S   F   F   9   NoneU  Cabal or sandbox  Get sandbox Is -package-db file Is .cabal-sandbox FFind -package-db path for sandbox directory or package-db file itself /Create sandbox by directory or package-db file %Try find sandbox by parent directory Search sandbox Cabal ghc option            NoneEntity with project extensions  Build info  Test % Executable *Library in project 5Cabal project Analyze cabal file ;Read project info from .cabal <Load project description =Find project sandbox >Make project by .cabal file ?Extensions for target @Returns build targets infos APCheck if source related to target, source must be relative to project directory BGet target for source file C!Finds source dir file belongs to D7Returns source dirs for library, executables and tests EExtension as flag name FConvert -Xext to ext GConvert ext to -Xext HExtensions as opts to GHC Q !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH3 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH356789:01234./*+,-%&'() !"#$;<=>?@ABCDEFGH4 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHNone-24 J.Part of result list, returns via notification LResult from server MError NResult ONotification from server QRequest from client V-Message with id to link request and response ZGet messages by id \Add options to request ]Remove options from request *IJKLMNOPQRSTUVWXYZ[\]^_`abcdIJKLMNOPQRSTUVWXYZ[\]^_`abcdVWXYZQRSTU[\]OPLNMJKI^_`abcdIJKLNMOPQRSTUVWXYZ[\]^_`abcdNoneeLocation of symbol qLocation of module Get string at region =Recalc position to interpret '\t' as one symbol instead of 8 9efghijklmnopqrstuvwxyz{|}~.  efghijklmnopqrstuvwxyz{|}~${|}~qxtryzuvwsmnopijklefgh$efghijklmnopq xtryzuvws{|}~None24None4  efghijklmnopqrstuvwxyz{|}~NoneDocumented symbol Default detailed docs None24+Inspected module Inspected entity Inspection data Time and flags of inspection No inspection (Canonicalize all paths within something Symbol exported with !Symbol in context of some module Declaration info .Common info for type, newtype, data and class  Declaration Where declaration defined, Nothing if here Declaration imported with. Nothing2 if unknown (cabal modules) or here (source file) Module  Module id Module import  Import list Module export Get name of export $Check whether name pass import list Get import module name Simple import .Imported module can be accessed via qualifier Bring locals to top Set all declaration  to this module 7Drop all declarations, that not defined in this module Clear  information Get declarations with locals .Get list of declarations as ModuleDeclaration Get scopes of  Declaration, where Nothing is global scope Get function type of type info Get type info of declaration Merge ModuleDeclaration into ExportedDeclaration !Returns qualified name of symbol  Find project file is related to Search project up Locate source dir of file IGet source module root directory, i.e. for "...srcFooBar.hs" with module 01 will return "...src" 2Get path of imported module >importedModulePath Foo.Bar "...srcFooBar.hs"  Quux.Blah = "...srcQuuxBlah.hs" Add declaration to module Unalias import name Module contents Get inspection opts       !"#$%&'(  efghijklmnopqrstuvwxyz{|}~ps       !"#$%&'(NoneGet module project Get module cabal Get module package Check if module in project *Check if module in deps of project target "Check if module in deps of source #Check if module in deps of project Check if module in cabal  Check if module in package  Check if module in file  Check if module in source  "Check if declaration is in module  Check if module defined in file (Check if module got from cabal database Check if module is standalone Get list of imports SGet list of imports, which can be accessed with specified qualifier or unqualified /Check if module imported via imports specified =Check if module visible from this module within this project +Check if module is in scope with qualifier )Select symbols with last package version "Select module, defined by sources +Select module, visible in project or cabal  Select preferred visible module %Remove duplicate modules, leave only  +Select value, satisfying to all predicates +Select value, satisfying one of predicates                     NoneStructured database "HsDev database &3Database intersection, prefers first database data 'Check if database is empty (Bring all locals to scope ) All modules *All declarations +Make database from module ,Make database from project -Filter database by predicate .Project database /Cabal database 0Standalone database 1Select module by predicate 2 Select declaration by predicate 3'Lookup module by its location and name 4!Lookup module by its source file 5Refine project 6Get inspected module 7Append database 8Remove database * !"#$%&'()*+,-./0123456789:;)*+,-./0123 !"#$%&'()*+,-./0123456789:;"#$%&'()*+,-./012345678 !9:;# !"#$%&'()*+,-./0123456789:;)*+,-./0123None< Escape path =Name of cache for cabal >Name of cache for projects ?#Name of cache for standalone files @Dump database to file A Load database from file, strict <=>?@A<=>?@A<=>?@A<=>?@ANoneB Write cache CLoad all cache 4Load data from cache DLoad cabal from cache ELoad project from cache FLoad standalone files BC4DEFBCDEFBCDEFBC4DEFNoneIGThis function is used to ensure that all previous updates were applied GHIuvwxyz{|}~GHIGHIGHINoneB JIModule with declarations bringed to scope and with exported declarations OTree of resolved modules PResolve monad uses existing Database and  ResolvedTree as state. SMake Module with scope declarations TMake Module! with exported only declarations UGet top-level scope VMResolve modules, function is not IO, so all file names must be canonicalized WResolve one module XResolve module Y"Select declarations exported with Export ZBring declarations into scope [Merge imported declarations JKLMNOPQRSTUVWXYZ[JKLMNOPQRSTUVWXYZ[PQROJKLMNSTUVWXYZ[ JKLMNOPQRSTUVWXYZ[None_ Run command and wait for result `Run command with no input aTool bTool with no input hParse readable value i Run parser j#Run parser and select first result \]^_`abcdefghij\]^_`abcdefghij^]_`abcdefg\hij\]^_`abcdefghijNone3HMkFind declaration by name lFind module by name mFind module in file 5Find project of module n%Lookup visible within project symbol oWhois symbol in scope pAccessible modules qSymbols in scope r Completions sModule completions t Check module uCheck declaration v"Allow only selected cabal sandbox w1Check whether module is visible from source file x8Split identifier into module name and identifier itself yGet context file and project zTry get context file 6&Restrict only modules file depends on klm5nopqrstuvwxyz6klmnopqrstuvwxyzklmnopqrstuvwxyzklm5nopqrstuvwxyz6 None {|}~78 {|}~ {|}~{|}~78!NoneGet docs for module  Get all docs Set docs for module Load docs for module "None 2Analize source contents9Analize source contents: Get exports; Get import<Decl declarations=Get definitions>&Get declaration and child declarations?.Get constructor and record fields declarations@3Get GADT constructor and record fields declarationsAGet record field declarationBGet definitionsC=Make function declaration by location, name and function typeD'Make function from arguments and result  [a, b, c...] D r == a TyFun b TyFun c ... TyFun rEGet name of qualified nameF Get name of H.NameGPrint something in one lineHConvert H.SrcLoc to @PositionISet  Declaration positionJ!Adds documentation to declarationK0Adds documentation to all declarations in module5Extract file docs and set them to module declarationsInspect contents Inspect fileFile inspection dataEnumerate project dirsEnumerate project source filesInspect project9:;<=>?@ABCDEFGHIJK  9:;<=>?@ABCDEFGHIJK#NoneBrowse packages Browse all modules LMNOPQRSTUVWXYLMNOPQRSTUVWXY$None Hayoo symbol Hayoo response  HayooFunction as   Search hayoo Remove tags in description Z[\]^_`a Z[\ ]^_`a%NoneDump minimal imports Read imports from file Clean temporary files Dump and read imports 6Groups several lines related to one import by indents 'Split import to import and import-list +Returns minimal imports for file specified bRetry action on fail bb& Safe-Inferred is stoppable channel unline 23 Create channel Duplicate channel Write data to channel Get data from channel Read channel contents Close channel. @ will still work, but no data will be available on other ending !Stop channel and return all data cc' Safe-InferredHM ( None&234TdReplace NULL with newline 1Create ghc-mod worker for project or for sandbox 5Manage many ghc-mod workers for each project/sandbox -efghdijklmnopqrsF#egfhdijklmnopqrs(None Scan info Cabal sandbox to scan Project ready to scan  Module with flags ready to scan Compile flags Enum cabal modules Enum project sources Enum directory modules Scan project file  Scan module bScan additional info and modify scanned module. Dones't fail on error, just left module unchanged  Is inspected module up to date? Rescan inspected module "Is module new or recently changed 6Returns new (to scan) and changed (to rescan) modules 4None   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@Aklmnopqrstuvwxyz)NoneApply corrections 7Apply corrections and update rest correction positions tuvS    tuv*NoneIs declaration untyped Infer type of declaration Infer types for module Infer type in module +None36B!Run   monad " Post status #Wait DB to complete actions $Update task result to database w"Clear obsolete data from database %(Get data from cache without updating DB &0Load data from cache if not loaded yet and wait ' Run one task (Run many tasks with numeration )Get database value * Scan module + Scan modules ,Scan source file -Scan cabal modules .Scan project file / Scan project 0-Scan directory for source files and projects 1}Generic scan function. Reads cache only if data is not already loaded, removes obsolete modules and rescans changed modules. 2 Lift errors 4 xy     !"#$w%&'()*+,-./01Read data from cache Get data from database <Actual modules. Other modules will be removed from database Extra scan options #Function to update changed modules 2z{|}~*      !"#$%&'()*+,-./012*      !"#$%&'()*+,-./012  xy     !"#$w%&'()*+,-./012z{|}~None34+343434,None24(56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY%56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY%JKLMNOPQRSTUVWXHIYGFE5DCBA@?>=<;:9876 5DCBA@?>=<;:9876EFGHIJKLMNOPQRSTUVWXY-NoneZClient commands Check positional args count Find sandbox by path Canonicalize path Get context: file and sandbox ,Get current sandbox set, user-db by default Get current sandbox if set !Get list of enumerated sandboxes Find project by name of path \Find dependency: it may be source, project file or project name, also returns sandbox found 4Check if project or source depends from this module /Supply module with its source file path if any Wait for DB to complete update 3Bring locals to top scope to search within them if  flag set 1Select newest packages if 'no-last' flag not set Convert from just of throw Get actual DB state Get DB async var Run DB update action *Filter declarations with prefix and infix %Filter declarations with infix match &Filter declarations with prefix match ZZZZ. Safe-Inferred]Flipped version of \, which can be used like this: foo `with` [f, g, h] [\][\][\][\]/NoneFT^Server commands_Server options`Client optionsaServer default optionsbClient default optionscCommand to send to clientdSend command to servereBInits log chan and returns functions (print message, wait channel)f Run serverg<Process request, notifications can be sent during processingh4Process client, listen for requests and process themProcess client by socketiPerform action on cache6If response points to mmap, get its contents and parse Log message^_`abcdefghijk^_`abcdefghijk^_a`bcdefghijk^_`abcdefghijk56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[[\]^_`aKbcddeffghijklmnopqrstuvwxyz{|}~                       >        !"#$%&'()*+,-./01234356789:;<<=>??@ABCDDEFGHHIJKLLMNOPQQRSTUUVWXYZ[\]^_`abcdefghiijkjllmmnopqqrstuivwxyz{|}~~  NUY      !!"#$%%&'()*+,-./0123456789:;<=>?@ABCBCD[EFGHIIJKLMNNOPQRSTUVWXYZj[\]^_`abcdefghijklmnopqrstu v v w x y z { | }!~!!!!"""""""""####$$$$$$$$$$$$$$$$$$$$$%%%%%%%&3&&&&&&&''''''''''y((((((((((((((((((()))))))s))))))))))****+++++++++++++++++++++++ + + + + +++++++++++++++,,,,, ,!,",#,$,%,&,',(,),*,+,,,-,.,/,/,0,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`PQRSTUVWXYZ[\]^_`abcdefghi j k l m n o p q rstuvwxyz{|}~{|       """"""" "!"""#"$"%"&"'"(")"*"+",#-#.#/#0##1#2#3#4#5#6##7#8$9$9$:$;$<$=$>$?%@&3ABCDEFGHIJKLMNOP)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/{/|/}~ hsdev-0.1.3.4HsDev.Tools.Ghc.WorkerHsDev.Tools.GhcMod HsDev.VersionHsDev.Tools.Ghc.Prelude Text.Format Data.Lisp Data.HelpSystem.Console.ArgsSystem.Console.Cmd Data.Group Data.AsyncControl.Concurrent.UtilControl.Concurrent.Task HsDev.Util Data.Mark HsDev.Cabal HsDev.ProjectHsDev.Server.MessageHsDev.Symbols.Location HsDev.DisplayHsDev.Symbols.ClassHsDev.Symbols.Documented HsDev.SymbolsHsDev.Symbols.UtilHsDev.Database HsDev.CacheHsDev.Cache.StructuredHsDev.Database.AsyncHsDev.Symbols.ResolveHsDev.Tools.BaseHsDev.CommandsHsDev.Tools.CabalHsDev.Tools.HDocs HsDev.InspectHsDev.Scan.BrowseHsDev.Tools.HayooHsDev.Tools.ClearImportsControl.Concurrent.FiniteChanControl.Concurrent.Worker HsDev.ScanHsDev.Tools.AutoFixHsDev.Tools.GhcMod.InferTypeHsDev.Database.UpdateHsDev.Server.TypesHsDev.Client.CommandsControl.Apply.UtilHsDev.Server.CommandsFooBarControl.ConcurrentChanHsDev ghc-7.8.3GhcMonadGhcghc-mod-5.2.1.2Language.Haskell.GhcMod.MonadGhcModT cabalVersionreduceonetrimrxsrxHolehole FormatArgsFormatformat%~~~%%=LispListNumberStringSymbolBoolNulllisp decodeLisp encodeLispHelpbriefhelpindent indentHelpdetailedindentedOptoptNameoptShortoptLongoptDescriptionoptArgArgRequiredFlagOptsgetOptsArgsposArgs namedArgswithOptsdefOptsdefArgs selectOpts splitOpts%--%-?hoisthasargnargiarglistArgflagSetflagreqlistmanyReqdescaliasshortparseparse_tryParsetoArgsinfo splitArgs unsplitArgsverifyCmdHelp HelpCommands HelpUsageCmdcmdNamecmdArgscmdOptscmdDesc cmdGetArgs cmdAction CmdActionnotMatch failMatchrunCmd defaultOpts validateArgs alterArgscmdActcutNamecmdacmda_cmdcmd_defCmd helpCommandwithHelp printWithrunrunArgsrunOnGroupaddsubzerogroupSumAsyncasyncVar asyncEventsEventActionModifyClearRemoveAppendeventnewAsync readAsync modifyAsyncforkracetimeoutwithSync withSync_ TaskResulttaskResultEmptytaskResultTryReadtaskResultTaketaskResultFail TaskException TaskKilled TaskCancelledTask taskStart taskResult taskStarted taskRunning taskStoppedtaskDone taskFailed taskCancelled taskWaitStarttaskWaittaskKill taskCanceltaskStoprunTaskrunTask_ runTaskTry runTaskErrorforkTasktryTwithCurrentDirectorydirectoryContentstraverseDirectory searchPathisParent haskellSource cabalFiletabtabssplit.::.::? objectUnion liftExceptionliftEliftEIOtriestriesMapliftExceptionM liftIOErrorseitherT liftThrowfromUtf8toUtf8 readFileUtf8 writeFileUtf8 hGetLineBS logExceptionlogIOignoreIOliftTaskReplace replaceRegion replaceWithEditablesplitAtlengthlinesunlinesSuffix suffixLine suffixLinesPrefix prefixLines prefixLineEditMrunEditMEditeditCtseditMapContentsMapmapIsoSizeRegion regionFromregionToPoint pointLine pointColumn.-..+. linesSize stringSize regionLines emptyRegionlineregion regionSizeatapplybackcutinsert cutRegion insertRegion editRegion mapRegionrunEditediteditEvalprefixsuffix concatCtssplitCtsmeasureerasewritereplaceeraserwriterreplacerCabalSandboxsandbox isPackageDb findPackageDb locateSandbox getSandbox searchSandboxcabalOpt Extensions extensionsentityInfo infoDepends infoLanguageinfoExtensionsinfoSourceDirsTesttestName testEnabled testBuildInfo ExecutableexecutableNameexecutablePathexecutableBuildInfoLibrarylibraryModuleslibraryBuildInfoTarget buildInfoProjectDescriptionprojectLibraryprojectExecutables projectTestsProject projectName projectPath projectCabalprojectDescription readProject loadProjectgetProjectSandboxprojectwithExtensionsinfosinTarget fileTarget findSourceDir sourceDirs showExtension flagExtension extensionFlagextensionsOptsResponse ResultPartResultError NotificationRequestrequestCommand requestArgs requestOptsMessage messageIdmessage messagesById requestToArgs withoutOptsisNotification notificationresult responseError resultPartgroupResponses responsesByIdLocationlocationModulelocationPositionPosition positionLinepositionColumnModuleLocation ModuleSourcemoduleSourceName CabalModule moduleCabal modulePackagecabalModuleName FileModule moduleFile moduleProject ModulePackage packageNamepackageVersion moduleSourcemoduleProject_moduleStandalone moduleCabal_moduleCabalPackage regionStr packageOpt recalcTabsDisplaydisplay displayType symbolNamesymbolQualifiedName symbolDocssymbolLocationsymbolModuleLocation DocumenteddefaultDetailedInspectedModule Inspected inspection inspectedIdinspectionResult Inspection InspectionAtInspectionNone Canonicalize canonicalizeExportedDeclaration exportedByexportedDeclarationModuleDeclarationdeclarationModuleIdmoduleDeclarationDeclarationInfoClass classInfoDatadataInfoNewType newTypeInfoTypetypeInfoFunction functionTypelocalDeclarationsTypeInfotypeInfoContext typeInfoArgstypeInfoDefinition DeclarationdeclarationNamedeclarationDefineddeclarationImporteddeclarationDocsdeclarationPosition declarationLocalslocalswhere_Module moduleName moduleDocsmoduleLocation moduleExports moduleImportsmoduleDeclarationsModuleId moduleIdNamemoduleIdLocationImportimportModuleNameimportIsQualifiedimportAs importListimportPosition ImportList hidingList importSpecExport ExportModule ExportNameexportpassImportList importNameimport_importQualifierunnamedModuleIdsortDeclarations moduleLocals setDefinedIn dropExternalsclearDefinedInmoduleLocalDeclarationsmoduleModuleDeclarationsmoduleIddecl definedIndeclarationLocalsscopes showTypeInfodeclarationInfodeclarationTypeInfodeclarationTypeCtordeclarationTypeName mergeExported qualifiedName locateProject searchProjectlocateSourceDirsourceModuleRootimportedModulePathaddDeclarationunaliasmoduleContentsinspectionOpts projectOfcabalOf packageOf inProjectinDepsOfTarget inDepsOfFileinDepsOfProjectinCabal inPackage inVersioninFileinModuleSourceinModulebyFilebyCabal standaloneimports qualifierimportedvisibleinScope newestPackage sourceModule visibleModulepreferredModule uniqueModulesallOfanyOf StructuredstructuredCabalsstructuredProjectsstructuredFilesDatabasedatabaseModulesdatabaseProjectsdatabaseIntersection nullDatabasedatabaseLocals allModulesallDeclarations fromModule fromProjectfilterDB projectDBcabalDB standaloneDB selectModulesselectDeclarations lookupModule lookupFile refineProject getInspectedappendremove structured structurizemerge escapePath cabalCache projectCachestandaloneCachedumpload loadCabal loadFilesupdateclearwaitResolvedModuleresolvedModule resolvedScoperesolvedExports ResolvedTreeResolveM runResolveM scopeModule exportsModuleresolvedTopScoperesolve resolveOne resolveModuleexported resolveImport mergeImportedReadMToolMrunWaitrunWait_tooltool_matchRxsplitRx replaceRxinspect readParse parseReads parseReadfindDeclaration findModule fileModule lookupSymbolwhois scopeModulesscope completionsmoduleCompletions checkModulecheckDeclaration restrictCabal visibleFromsplitIdentifierfileCtx fileCtxMaybe CabalPackagecabalPackageNamecabalPackageSynopsiscabalPackageDefaultVersioncabalPackageInstalledVersionscabalPackageHomepagecabalPackageLicense cabalListhdocs hdocsCabalsetDocsloadDocs hdocsProcess analyzeModule inspectDocsinspectContentscontentsInspection inspectFilefileInspection projectDirsprojectSourcesinspectProjectbrowsePackages listModules browseModulesbrowse HayooSymbol resultUritag hayooPackage hayooName hayooSourcehayooDescriptionhayooSignature hayooModules hayooScore hayooType HayooResult resultMax resultOffset resultCount resultResulthayooAsDeclarationhayoountagDescriptiondumpMinimalImports waitImportscleanTmpImportsfindMinimalImports groupImports splitImport clearImportsnewChandupChanputChangetChanreadChan closeChanstopChanWorker workerChan workerWrap workerTask workerRestart startWorkersendTaskpushTask stopWorker WorkerMap OutputMessage errorLocation errorLevel errorMessage TypedRegion typedRegion typedExpr typedTypebrowseInspectionlangsflagstypeOfparseOutputMessagesparseOutputMessagechecklint runGhcModlocateGhcModEnv ghcModEnvPath ghcModWorkerghcModMultiWorkerdispatchwaitMultiGhcMod ScanContents modulesToScanprojectsToScansandboxesToScan SandboxToScan ProjectToScan ModuleToScan CompileFlag enumCabal enumProject enumDirectoryscanProjectFile scanModule scanModifyupToDate rescanModule changedModulechangedModulesCorrectorMatch CorrectioncorrectionFilecorrectionType descriptionsolution correctorcorrect correctionsautoFix_autoFix updateRegion correctorsmatch findCorrectoruntyped inferType inferTypesinferUpdateDBSettingsdatabasedatabaseCacheReaderdatabaseCacheWriteronStatus ghcOptionstaskName taskStatus taskParams taskProgress taskChildProgressprogressCurrent progressTotalStatus StatusErrorStatusOk StatusWorkingisStatusupdateDB postStatuswaiterupdater loadCachegetCacherunTasksreadDB scanModulesscanFile scanCabal scanProject scanDirectoryscan liftErrorT ghcWorkerevaluate ResultValue ResultNone ResultString ResultJSON ResultMap ResultListResultOutputMessage ResultTyped ResultProject ResultPackageResultInspectedModule ResultModuleResultModuleIdResultModuleDeclarationResultDeclarationResultDatabaseCommandActionTCommandM CommandAction CommandErrorCommandOptionscommandDatabasecommandWriteCachecommandReadCache commandRoot commandLogcommandListenLogcommandLogWait commandGhc commandGhcMod commandNotify commandLink commandHold commandExit commandErrorcommands&chainwith serverOpts clientOpts serverDefCfg clientDefCfg clientCmdsendCmdinitLog runServerprocessRequest processClient withCache writeCache readCache$fHole[] $fHole(,)$fHolea $fHole[]0$fFormatInteger $fFormatInt $fFormat[]readable$fFromJSONLisp $fToJSONLisp $fShowLisp $fReadLispargNamefindOptisFlaglongOptshortOpt$fHelp[] $fHelpOpt$fFromJSONOpts $fToJSONOpts $fMonoidOpts$fTraversableOpts$fFoldableOpts $fFunctorOpts $fMonoidArgs verifyOpts $fHelpCmd $fFunctorCmd $fGroupMap $fGroupSet $fGroup[] $fFunctorTask$fFunctorTaskResult$fExceptionTaskException$fFromJSONReplace$fToJSONReplace$fEditableText $fEditable[]$fFunctorSuffix$fFunctorPrefix $fMonoidEdit $fMonoidMap$fFromJSONRegion$fToJSONRegion $fMonoidPoint$fFromJSONPoint $fToJSONPointcabalSandboxDir$fFromJSONCabal $fToJSONCabal $fShowCabal $fNFDataCabal analyzeCabalparseDT$fTraversableExtensions$fFoldableExtensions$fApplicativeExtensions$fFunctorExtensions$fFromJSONInfo $fToJSONInfo $fShowInfo$fFromJSONTest $fToJSONTest $fShowTest $fTargetTest$fFromJSONExecutable$fToJSONExecutable$fShowExecutable$fTargetExecutable$fFromJSONLibrary$fToJSONLibrary $fShowLibrary$fTargetLibrary$fFromJSONProjectDescription$fToJSONProjectDescription$fShowProjectDescription$fFromJSONProject$fToJSONProject $fShowProject $fOrdProject $fEqProject$fNFDataProject$fFromJSONEither$fToJSONEither$fFromJSONResultPart$fToJSONResultPart$fFromJSONResult$fToJSONResult$fFromJSONNotification$fToJSONNotification$fFromJSONRequest$fToJSONRequest$fTraversableMessage$fFoldableMessage$fFromJSONMessage$fToJSONMessage$fFromJSONLocation$fToJSONLocation$fShowLocation$fNFDataLocation $fShowRegion$fNFDataRegion$fFromJSONPosition$fToJSONPosition$fShowPosition$fNFDataPosition$fFromJSONModuleLocation$fToJSONModuleLocation$fShowModuleLocation$fNFDataModuleLocation$fFromJSONModulePackage$fToJSONModulePackage$fReadModulePackage$fShowModulePackage$fNFDataModulePackage $fDisplay[]$fDisplayProject$fDisplayModuleLocation$fDisplayCabal$fFromJSONInspected$fToJSONInspected$fShowInspected$fNFDataInspected$fTraversableInspected$fFoldableInspected$fFunctorInspected$fFromJSONInspection$fToJSONInspection$fReadNominalDiffTime$fShowInspection$fNFDataInspection$fDocumentedModuleDeclaration$fDocumentedDeclaration$fDocumentedModule$fDocumentedModuleId$fCanonicalizeModuleLocation$fCanonicalizeProject$fCanonicalizeCabal$fCanonicalize[]$fFromJSONExportedDeclaration$fToJSONExportedDeclaration$fShowExportedDeclaration$fNFDataExportedDeclaration$fFromJSONModuleDeclaration$fToJSONModuleDeclaration$fShowModuleDeclaration$fNFDataModuleDeclaration$fLocalsDeclarationInfo$fFromJSONDeclarationInfo$fToJSONDeclarationInfo$fEqDeclarationInfo$fNFDataDeclarationInfo$fFromJSONTypeInfo$fToJSONTypeInfo$fNFDataTypeInfo$fLocalsDeclaration$fFromJSONDeclaration$fToJSONDeclaration$fShowDeclaration$fNFDataDeclaration $fShowModule $fEqModule$fNFDataModule$fFromJSONModule$fToJSONModule$fFromJSONModuleId$fToJSONModuleId$fShowModuleId$fNFDataModuleId$fSymbolModuleDeclaration$fSymbolDeclaration$fSymbolModuleId$fSymbolModule$fFromJSONImport$fToJSONImport $fShowImport$fNFDataImport$fFromJSONImportList$fToJSONImportList$fShowImportList$fNFDataImportList$fFromJSONExport$fToJSONExport $fShowExport$fNFDataExportmodCabal$fFromJSONStructured$fToJSONStructured$fMonoidStructured$fGroupStructured$fNFDataStructured$fFromJSONDatabase$fToJSONDatabase$fMonoidDatabase$fGroupDatabase$fNFDataDatabaseloadData getProjectfileDeps$fFromJSONCabalPackage$fToJSONCabalPackageanalyzeModule_ getExports getImportgetDeclsgetBindsgetDecl getConDecl getGConDeclgetRecgetDefmkFuntyFun identOfQName identOfName oneLinePrint toPosition setPositionaddDocaddDocs browseModulewithInitializedPackages withPackages withPackages_ formatType removeForAllsremoveForAlls'showOutputableshowUnqualifiedPagestyleUnqualified readPackageghcModuleLocation HayooValue hayooValue$fFromJSONHayooValue$fFromJSONHayooSymbol$fDocumentedHayooSymbol$fSymbolHayooSymbol$fFromJSONHayooResultretrynullToNLOutputMessageLevel ErrorMessageWarningMessagerecalcOutputMessageTabs$fMonadCatchGhcModT$fMonadThrowGhcModT$fFromJSONOutputMessage$fToJSONOutputMessage$fNFDataOutputMessage$fFromJSONOutputMessageLevel$fToJSONOutputMessageLevel$fNFDataOutputMessageLevel$fFromJSONTypedRegion$fToJSONTypedRegion$fNFDataTypedRegion$fFromJSONCorrection$fToJSONCorrection$fCanonicalizeCorrectioncleaner runUpdateDBsubject$fFromJSONTask $fToJSONTask$fFromJSONProgress$fToJSONProgress$fFromJSONStatus$fToJSONStatus$fMonadCatchGhc$fMonadThrowGhc$fFromJSONResultValue$fToJSONResultValue$fErrorCommandError checkPosArgs findSandboxfindPathgetCtxgetCabal getCabal_ getSandboxes findProjectfindDepinDepstoPairwaitDblocalsDatabasenewest forceJustgetDbdbVar updateProcess filterMatch findMatch prefMatch cacheLoad mapErrorStrprocessClientSocketunMmaplogMsgdecodeLispOrJSONencodeLispOrJSON