@prisma/language-server
Version:
Prisma Language Server
39 lines (38 loc) • 1.37 kB
TypeScript
import { Position, TextDocuments } from 'vscode-languageserver';
import { TextDocument } from 'vscode-languageserver-textdocument';
export type Line = {
readonly document: SchemaDocument;
readonly lineIndex: number;
readonly text: string;
readonly untrimmedText: string;
};
export declare class SchemaDocument {
readonly textDocument: TextDocument;
readonly lines: Line[];
constructor(textDocument: TextDocument);
get uri(): string;
get content(): string;
positionAt(offset: number): Position;
getLineContent(lineIndex: number): string;
}
type FindRegexpResult = {
match: RegExpExecArray;
documentUri: string;
};
export declare class PrismaSchema {
readonly documents: SchemaDocument[];
static singleFile(textDocument: TextDocument): PrismaSchema;
static load(currentDocument: TextDocument, allDocuments: TextDocuments<TextDocument>): Promise<PrismaSchema>;
constructor(documents: SchemaDocument[]);
iterLines(): Generator<Line, void, void>;
linesAsArray(): Line[];
findDocByUri(fileUri: string): SchemaDocument | undefined;
findWithRegex(regexp: RegExp): FindRegexpResult | undefined;
/**
*
* @returns array of (uri, content) tuples. Expected input for prisma-schema-wasm
*/
toTuples(): Array<[string, string]>;
toJSON(): [string, string][];
}
export {};