greybel-languageserver-core
Version:
Core functionality of language server for GreyScript
25 lines (24 loc) • 1.02 kB
TypeScript
/// <reference types="node" />
import EventEmitter from 'events';
import { LRUCache as LRU } from 'lru-cache';
import { TextDocument } from 'vscode-languageserver-textdocument';
import { IContext, IDocumentManager } from '../types';
import { ActiveDocument } from './document-manager/active-document';
export declare class DocumentManager extends EventEmitter implements IDocumentManager {
readonly documents: LRU<string, ActiveDocument>;
private _context;
private _documentScheduler;
private _pendingFiles;
get context(): IContext;
setContext(context: IContext): this;
constructor(processingTimeout?: number);
private initEvents;
private processAndPersist;
private process;
schedule(textDocument: TextDocument): boolean;
private open;
getOrOpen(target: string): Promise<ActiveDocument | null>;
get(textDocument: TextDocument): ActiveDocument;
getLatest(document: TextDocument, timeout?: number): Promise<ActiveDocument>;
clear(document: TextDocument): void;
}