pddl-workspace
Version:
82 lines (81 loc) • 3 kB
TypeScript
import { PddlRange, DocumentPositionResolver } from "./DocumentPositionResolver";
import { PddlBracketNode, PddlSyntaxNode } from "./parser/PddlSyntaxNode";
import { PddlSyntaxTree } from "./parser/PddlSyntaxTree";
import { FileStatus, PddlLanguage, Variable } from "./language";
import { URI } from "vscode-uri";
import { Compilations } from "./Compilations";
export declare function stripComments(pddlText: string): string;
/**
* An abstract PDDL file.
*/
export declare abstract class FileInfo {
readonly fileUri: URI;
private version;
readonly name: string;
readonly syntaxTree: PddlSyntaxTree;
private readonly positionResolver;
private text?;
private status;
private parsingProblems;
private requirements?;
private requirementsNode;
private readonly compilations;
constructor(fileUri: URI, version: number, name: string, syntaxTree: PddlSyntaxTree, positionResolver: DocumentPositionResolver);
abstract getLanguage(): PddlLanguage;
getVersion(): number;
getText(): string;
setText(text: string): void;
getCompiledText(): string;
isDomain(): boolean;
isProblem(): boolean;
isUnknownPddl(): boolean;
isPlan(): boolean;
isHappenings(): boolean;
update(version: number, text: string, force?: boolean): boolean;
setStatus(status: FileStatus): void;
getStatus(): FileStatus;
/**
* Adds a parsing problem.
* @param parsingProblem parsing problems
*/
addProblem(parsingProblem: ParsingProblem): void;
/**
* Adds list of parsing problems.
* @param parsingProblems parsing problems
*/
addProblems(parsingProblems: ParsingProblem[]): void;
getParsingProblems(): ParsingProblem[];
getVariableReferences(variable: Variable): PddlRange[];
private isVariableReference;
getTypeReferences(typeName: string): PddlRange[];
protected getRange(node: PddlSyntaxNode): PddlRange;
setRequirements(requirements: string[], node?: PddlBracketNode): void;
getRequirements(): string[];
getRequirementsNode(): PddlBracketNode | undefined;
getDocumentPositionResolver(): DocumentPositionResolver;
/**
* @returns code injections, code replacements
*/
getCompilations(): Compilations;
}
export type ParsingProblemSeverity = "error" | "warning" | "info" | "hint";
/**
* Parsing problem.
*/
export declare class ParsingProblem {
readonly problem: string;
readonly severity: ParsingProblemSeverity;
readonly range: PddlRange;
/**
* Constructs parsing problem.
* @param problem problem description to display
* @param severity problem severity
* @param range range where the problem is
*/
constructor(problem: string, severity: ParsingProblemSeverity, range: PddlRange);
}
export declare class UnknownFileInfo extends FileInfo {
constructor(fileUri: URI, version: number, positionResolver: DocumentPositionResolver);
getLanguage(): PddlLanguage;
isUnknownPddl(): boolean;
}