SYMBOL INDEX (109 symbols across 12 files) FILE: src/config.ts type LogLevel (line 8) | type LogLevel = 'off' | 'messages' | 'verbose'; type ClientLogLevel (line 9) | type ClientLogLevel = 'off' | 'error' | 'info' | 'debug'; type Config (line 11) | type Config = { function initConfig (line 26) | function initConfig(workspaceConfig: WorkspaceConfiguration, uri: Uri, f... function initLoggerFromConfig (line 57) | function initLoggerFromConfig(config: Config): ExtensionLogger { function logConfig (line 61) | function logConfig(logger: Logger, config: Config) { function getLogFile (line 76) | function getLogFile(workspaceConfig: WorkspaceConfiguration) { function getClientLogLevel (line 85) | function getClientLogLevel(workspaceConfig: WorkspaceConfiguration): Cli... function getLogLevel (line 105) | function getLogLevel(workspaceConfig: WorkspaceConfiguration): LogLevel { function resolveLogFilePath (line 124) | function resolveLogFilePath(logFile: string | undefined, currentWorkingD... function getServerArgs (line 128) | function getServerArgs(workspaceConfig: WorkspaceConfiguration, logLevel... FILE: src/docsBrowser.ts function showDocumentation (line 23) | async function showDocumentation({ function registerDocsBrowser (line 74) | function registerDocsBrowser(): Disposable { function openDocumentationOnHackage (line 78) | async function openDocumentationOnHackage({ function registerDocsOpenOnHackage (line 98) | function registerDocsOpenOnHackage(): Disposable { function hoverLinksMiddlewareHook (line 102) | function hoverLinksMiddlewareHook( function completionLinksMiddlewareHook (line 117) | function completionLinksMiddlewareHook( function processLink (line 142) | function processLink(ms: MarkdownString | MarkedString): string | Markdo... FILE: src/errors.ts class HlsError (line 3) | class HlsError extends Error {} class MissingToolError (line 5) | class MissingToolError extends HlsError { method constructor (line 7) | constructor(tool: string) { method installLink (line 34) | public installLink(): Uri | null { class NoMatchingHls (line 49) | class NoMatchingHls extends Error { method constructor (line 50) | constructor(readonly ghcProjVersion: string) { method docLink (line 53) | public docLink(): Uri { FILE: src/extension.ts type Client (line 21) | type Client = { function activate (line 32) | async function activate(context: ExtensionContext) { function activateServer (line 132) | async function activateServer(context: ExtensionContext, document: TextD... function activateServerForFolder (line 149) | async function activateServerForFolder(context: ExtensionContext, uri: U... function handleInitializationError (line 293) | async function handleInitializationError(e: unknown, logger: Logger) { function initServerEnvironment (line 324) | function initServerEnvironment(config: Config, hlsExecutable: HlsExecuta... function deactivate (line 339) | async function deactivate() { FILE: src/ghcup.ts type Tool (line 10) | type Tool = 'hls' | 'ghc' | 'cabal' | 'stack'; type ToolConfig (line 12) | type ToolConfig = Map; function initDefaultGHCup (line 14) | function initDefaultGHCup(config: GHCupConfig, logger: Logger, folder?: ... type GHCupConfig (line 22) | type GHCupConfig = { type ToolInfo (line 28) | type ToolInfo = { class GHCup (line 34) | class GHCup { method constructor (line 35) | constructor( method call (line 50) | public async call( method upgrade (line 72) | public async upgrade(): Promise { method getSetVersion (line 85) | public async getSetVersion(tool: Tool): Promise { method getAnyLatestVersion (line 102) | public async getAnyLatestVersion(tool: Tool): Promise { method getLatestAvailableVersion (line 121) | public async getLatestAvailableVersion(tool: Tool, tag: string = 'late... method listTool (line 138) | private async listTool(tool: Tool, category: string): Promise { function findGHCup (line 164) | function findGHCup(logger: Logger, exePath?: string, folder?: WorkspaceF... FILE: src/hlsBinaries.ts type Context (line 18) | type Context = { type ManageHLS (line 35) | type ManageHLS = 'GHCup' | 'PATH'; function fetchConfig (line 38) | function fetchConfig() { function findServerExecutable (line 49) | function findServerExecutable(logger: Logger, folder?: WorkspaceFolder):... function findHlsInPath (line 68) | function findHlsInPath(logger: Logger): string { type HlsExecutable (line 82) | type HlsExecutable = HlsOnPath | HlsViaVSCodeConfig | HlsViaGhcup; type HlsOnPath (line 84) | type HlsOnPath = { type HlsViaVSCodeConfig (line 89) | type HlsViaVSCodeConfig = { type HlsViaGhcup (line 94) | type HlsViaGhcup = { function findHaskellLanguageServer (line 118) | async function findHaskellLanguageServer( function promptUserForManagingHls (line 349) | async function promptUserForManagingHls(context: ExtensionContext, manag... function getLatestProjectHls (line 383) | async function getLatestProjectHls( function getProjectGhcVersion (line 430) | async function getProjectGhcVersion( function getStoragePath (line 487) | function getStoragePath(context: ExtensionContext): string { function findAvailableHlsBinariesFromGHCup (line 510) | async function findAvailableHlsBinariesFromGHCup(ghcup: GHCup): Promise<... function installationStatusOfGhcupTool (line 537) | async function installationStatusOfGhcupTool(ghcup: GHCup, tool: Tool, v... class ToolStatus (line 548) | class ToolStatus { method constructor (line 563) | public constructor( FILE: src/logger.ts type LogLevel (line 5) | enum LogLevel { class ExtensionLogger (line 12) | class ExtensionLogger implements Logger { method constructor (line 18) | constructor(name: string, level: string, channel: OutputChannel, logFi... method warn (line 24) | public warn(message: string): void { method info (line 28) | public info(message: string): void { method error (line 32) | public error(message: string) { method log (line 36) | public log(message: string) { method write (line 40) | private write(msg: string) { method logLevel (line 52) | private logLevel(level: LogLevel, msg: string) { method getLogLevel (line 58) | private getLogLevel(level: string) { FILE: src/metadata.ts type ReleaseMetadata (line 46) | type ReleaseMetadata = Map>>; type Platform (line 48) | type Platform = 'Darwin' | 'Linux_UnknownLinux' | 'Windows' | 'FreeBSD'; type Arch (line 50) | type Arch = 'A_ARM' | 'A_ARM64' | 'A_32' | 'A_64'; function getHlsMetadata (line 60) | async function getHlsMetadata(storagePath: string, logger: Logger): Prom... function findSupportedHlsPerGhc (line 96) | function findSupportedHlsPerGhc( function getReleaseMetadata (line 126) | async function getReleaseMetadata(storagePath: string, logger: Logger): ... FILE: src/statusBar.ts class HaskellStatusBar (line 4) | class HaskellStatusBar { method constructor (line 6) | constructor(readonly version?: string) { method refresh (line 11) | refresh(): void { method show (line 27) | show() { method hide (line 31) | hide() { method dispose (line 35) | dispose() { FILE: src/utils.ts type IEnvVars (line 12) | type IEnvVars = { type ProcessCallback (line 19) | type ProcessCallback = ( function callAsync (line 43) | function callAsync( function comparePVP (line 125) | function comparePVP(l: string, r: string): number { function httpsGetSilently (line 159) | async function httpsGetSilently(options: https.RequestOptions): Promise<... function executableExists (line 202) | function executableExists(exe: string): boolean { function directoryExists (line 213) | function directoryExists(path: string): boolean { function expandHomeDir (line 217) | function expandHomeDir(path: string): string { function resolvePathPlaceHolders (line 224) | function resolvePathPlaceHolders(path: string, folder?: WorkspaceFolder) { function resolvePATHPlaceHolders (line 232) | function resolvePATHPlaceHolders(path: string) { function addPathToProcessPath (line 241) | function addPathToProcessPath(extraPath: string): string { function resolveServerEnvironmentPATH (line 251) | function resolveServerEnvironmentPATH(serverEnv: IEnvVars): IEnvVars { FILE: test/suite/extension.test.ts constant LOG (line 14) | const LOG = 'hls.log'; constant CACHE (line 15) | const CACHE = 'cache-test'; constant BIN (line 16) | const BIN = 'bin'; type AllowedKeys (line 17) | type AllowedKeys = typeof LOG | typeof CACHE; function getWorkspaceRoot (line 87) | function getWorkspaceRoot(): vscode.WorkspaceFolder { function getWorkspaceFile (line 96) | function getWorkspaceFile(name: string): vscode.Uri { function workspaceFileExist (line 106) | function workspaceFileExist(key: AllowedKeys): boolean { function runWithIntervalAndTimeout (line 120) | async function runWithIntervalAndTimeout(fn: () => boolean, interval: nu... function getExtensionLogContent (line 137) | function getExtensionLogContent(): string | undefined { FILE: test/suite/index.ts function run (line 5) | async function run(): Promise {