pddl-workspace
Version:
61 lines (60 loc) • 2.28 kB
TypeScript
import { PddlSyntaxNode } from "./parser/PddlSyntaxNode";
export declare class PddlPosition {
readonly line: number;
readonly character: number;
constructor(line: number, character: number);
atOrBefore(other: PddlPosition): boolean;
toString(): string;
}
/**
* This is a local version of the vscode Range class, but because the parser is used in both the extension (client)
* and the language server, where the Range class is defined separately, we need a single proprietary implementation,
* which is converted to the VS Code class specific to the two distinct client/server environment.
*/
export declare class PddlRange {
private _start;
private _end;
constructor(details: {
start: PddlPosition;
end: PddlPosition;
});
static createRange(details: {
startLine: number;
startCharacter: number;
endLine: number;
endCharacter: number;
}): PddlRange;
static createSingleCharacterRange(details: {
line: number;
character: number;
}): PddlRange;
static createSingleLineRange(details: {
line: number;
/** Start character */ start: number;
/** End character */ end?: number;
/** Length */ length?: number;
}): PddlRange;
static createFullLineRange(line: number): PddlRange;
static createUnknown(): PddlRange;
includes(positionAtOffset: PddlPosition): boolean;
get start(): PddlPosition;
get end(): PddlPosition;
toString(): string;
}
/**
* Abstract document position resolve. It translates document text offsets to Position or Range.
*/
export declare abstract class DocumentPositionResolver {
abstract resolveToPosition(offset: number): PddlPosition;
abstract resolveToOffset(position: PddlPosition): number;
resolveToRange(start: number, end: number): PddlRange;
rangeIncludesOffset(range: PddlRange, offset: number): boolean;
nodeToRange(node: PddlSyntaxNode): PddlRange;
}
export declare class SimpleDocumentPositionResolver extends DocumentPositionResolver {
readonly documentText: string;
private readonly lineLengths;
constructor(documentText: string);
resolveToOffset(position: PddlPosition): number;
resolveToPosition(offset: number): PddlPosition;
}