mirror of
https://github.com/fluencelabs/aqua.git
synced 2024-12-04 22:50:18 +00:00
5bc01a9c02
* Fix interface definition * Fix comment
66 lines
1.2 KiB
TypeScript
66 lines
1.2 KiB
TypeScript
export interface TokenLocation {
|
|
name: string;
|
|
startLine: number;
|
|
startCol: number;
|
|
endLine: number;
|
|
endCol: number;
|
|
}
|
|
|
|
export interface TokenInfo {
|
|
location: TokenLocation;
|
|
type: string;
|
|
}
|
|
|
|
export interface TokenLink {
|
|
current: TokenLocation;
|
|
definition: TokenLocation;
|
|
}
|
|
|
|
export interface TokenImport {
|
|
current: TokenLocation;
|
|
path: string;
|
|
}
|
|
|
|
export interface ErrorInfo {
|
|
infoType: "error";
|
|
start: number;
|
|
end: number;
|
|
message: string;
|
|
location: string | null;
|
|
}
|
|
|
|
export interface WarningInfo {
|
|
infoType: "warning";
|
|
start: number;
|
|
end: number;
|
|
message: string;
|
|
location: string | null;
|
|
}
|
|
|
|
export interface CompilationResult {
|
|
errors: ErrorInfo[];
|
|
warnings: WarningInfo[];
|
|
locations: TokenLink[];
|
|
importLocations: TokenImport[];
|
|
tokens: TokenInfo[];
|
|
}
|
|
|
|
/*
|
|
* Imports configuration for the compiler.
|
|
* Structure:
|
|
* {
|
|
* "<compiled-path-prefix-1>": {
|
|
* "<import-path-prefix-1>": ["<import-path-1>", "<import-path-2>"],
|
|
* ...
|
|
* }
|
|
* ...
|
|
* }
|
|
*/
|
|
export type Imports = Record<string, Record<string, string[]>>;
|
|
|
|
export class Compiler {
|
|
compile(path: string, imports: Imports): Promise<CompilationResult>;
|
|
}
|
|
|
|
export var AquaLSP: Compiler;
|