1 | import { TextDocument, Range, Position } from 'vscode-languageserver-types';
|
2 | import * as ast from './main';
|
3 | import { ParserDirective } from './parserDirective';
|
4 | import { ImageTemplate } from './imageTemplate';
|
5 | import { Instruction } from './instruction';
|
6 | import { Arg } from './instructions/arg';
|
7 | export declare class Dockerfile extends ImageTemplate implements ast.Dockerfile {
|
8 | private readonly document;
|
9 | private readonly initialInstructions;
|
10 | private readonly buildStages;
|
11 | private currentBuildStage;
|
12 | private directives;
|
13 | |
14 |
|
15 |
|
16 | private foundFrom;
|
17 | constructor(document: TextDocument);
|
18 | getEscapeCharacter(): string;
|
19 | getInitialARGs(): Arg[];
|
20 | getContainingImage(position: Position): ImageTemplate | null;
|
21 | addInstruction(instruction: Instruction): void;
|
22 | setDirectives(directives: ParserDirective[]): void;
|
23 | getDirective(): ParserDirective | null;
|
24 | getDirectives(): ParserDirective[];
|
25 | resolveVariable(variable: string, line: number): string | null | undefined;
|
26 | getAvailableVariables(currentLine: number): string[];
|
27 | private getParentStage;
|
28 | getStageHierarchy(line: number): ImageTemplate[];
|
29 | getAvailableWorkingDirectories(line: number): string[];
|
30 | /**
|
31 | * Internally reorganize the comments in the Dockerfile and allocate
|
32 | * them to the relevant build stages that they belong to.
|
33 | */
|
34 | organizeComments(): void;
|
35 | getRange(): Range | null;
|
36 | }
|