1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 | import { CreateFileError } from "./errors/CreateFileError";
|
8 | import { LaunchEditorError } from "./errors/LaunchEditorError";
|
9 | import { ReadFileError } from "./errors/ReadFileError";
|
10 | import { RemoveFileError } from "./errors/RemoveFileError";
|
11 | export interface IEditorParams {
|
12 | args: string[];
|
13 | bin: string;
|
14 | }
|
15 | export interface IFileOptions {
|
16 | prefix?: string;
|
17 | postfix?: string;
|
18 | mode?: number;
|
19 | template?: string;
|
20 | dir?: string;
|
21 | }
|
22 | export declare type StringCallback = (err: Error, result: string) => void;
|
23 | export declare type VoidCallback = () => void;
|
24 | export { CreateFileError, LaunchEditorError, ReadFileError, RemoveFileError };
|
25 | export declare function edit(text?: string, fileOptions?: IFileOptions): string;
|
26 | export declare function editAsync(text: string, callback: StringCallback, fileOptions?: IFileOptions): void;
|
27 | export declare class ExternalEditor {
|
28 | private static splitStringBySpace;
|
29 | text: string;
|
30 | tempFile: string;
|
31 | editor: IEditorParams;
|
32 | lastExitStatus: number;
|
33 | private fileOptions;
|
34 | readonly temp_file: string;
|
35 | readonly last_exit_status: number;
|
36 | constructor(text?: string, fileOptions?: IFileOptions);
|
37 | run(): string;
|
38 | runAsync(callback: StringCallback): void;
|
39 | cleanup(): void;
|
40 | private determineEditor;
|
41 | private createTemporaryFile;
|
42 | private readTemporaryFile;
|
43 | private removeTemporaryFile;
|
44 | private launchEditor;
|
45 | private launchEditorAsync;
|
46 | }
|