UNPKG

plaxtony

Version:

Static code analysis of SC2 Galaxy Script

66 lines (65 loc) 2.89 kB
import * as gt from '../compiler/types'; import { SourceFile } from '../compiler/types'; import { Parser } from '../compiler/parser'; import { S2WorkspaceMetadata } from './s2meta'; import { SC2Workspace, S2QualifiedFile } from '../sc2mod/archive'; import * as lsp from 'vscode-languageserver'; import { TextDocument } from 'vscode-languageserver-textdocument'; import { DataCatalogConfig, MetadataConfig } from './server'; export declare function createTextDocument(uri: string, text: string): TextDocument; export declare function createTextDocumentFromFs(filepath: string): TextDocument; export declare function readDocumentFile(fsPath: string): Promise<TextDocument>; export declare function createTextDocumentFromUri(uri: string): TextDocument; export declare function openSourceFilesInLocation(...srcFolders: string[]): AsyncGenerator<TextDocument, void, unknown>; export declare class IndexedDocument { textDocument: TextDocument; sourceNode: SourceFile; } export interface S2WorkspaceChangeEvent { src: string; workspace: SC2Workspace; } export declare class WorkspaceWatcher { readonly folders: string[]; protected _onDidOpen: lsp.Emitter<lsp.TextDocumentChangeEvent<TextDocument>>; constructor(...folders: string[]); get onDidOpen(): lsp.Event<lsp.TextDocumentChangeEvent<TextDocument>>; } export declare class S2WorkspaceWatcher extends WorkspaceWatcher { protected _onDidOpenS2Workspace: lsp.Emitter<S2WorkspaceChangeEvent>; protected modSources: string[]; constructor(workspacePath: string, modSources: string[]); get onDidOpenS2Archive(): lsp.Event<S2WorkspaceChangeEvent>; watch(): Promise<void>; } export interface IStoreSymbols { resolveGlobalSymbol(name: string): gt.Symbol | undefined; } export interface SourceFileS2Meta { file: S2QualifiedFile; docName: string; } export interface QualifiedSourceFile extends SourceFile { s2meta?: SourceFileS2Meta; } export declare class Store implements IStoreSymbols { protected parser: Parser; rootPath?: string; documents: Map<string, QualifiedSourceFile>; readonly qualifiedDocuments: Map<string, Map<string, QualifiedSourceFile>>; openDocuments: Set<string>; s2workspace: SC2Workspace; s2metadata: S2WorkspaceMetadata; constructor(opts?: { parser?: Parser; }); clear(): void; protected removeQualifiedDocument(qsFile: QualifiedSourceFile): void; protected requalifyFile(qsFile: QualifiedSourceFile): void; removeDocument(documentUri: string): void; updateDocument(document: TextDocument, check?: boolean): void; updateS2Workspace(workspace: SC2Workspace): Promise<void>; rebuildS2Metadata(metadataCfg?: MetadataConfig, dataCatalogConfig?: DataCatalogConfig): Promise<void>; isUriInWorkspace(documentUri: string): boolean; resolveGlobalSymbol(name: string): gt.Symbol | undefined; }