| /*** |
| * Node External Editor |
| * |
| * Kevin Gravier <kevin@mrkmg.com> |
| * MIT 2019 |
| */ |
| import { CreateFileError } from "./errors/CreateFileError"; |
| import { LaunchEditorError } from "./errors/LaunchEditorError"; |
| import { ReadFileError } from "./errors/ReadFileError"; |
| import { RemoveFileError } from "./errors/RemoveFileError"; |
| export interface IEditorParams { |
| args: string[]; |
| bin: string; |
| } |
| export interface IFileOptions { |
| prefix?: string; |
| postfix?: string; |
| mode?: number; |
| template?: string; |
| dir?: string; |
| } |
| export declare type StringCallback = (err: Error, result: string) => void; |
| export declare type VoidCallback = () => void; |
| export { CreateFileError, LaunchEditorError, ReadFileError, RemoveFileError }; |
| export declare function edit(text?: string, fileOptions?: IFileOptions): string; |
| export declare function editAsync(text: string, callback: StringCallback, fileOptions?: IFileOptions): void; |
| export declare class ExternalEditor { |
| private static splitStringBySpace; |
| text: string; |
| tempFile: string; |
| editor: IEditorParams; |
| lastExitStatus: number; |
| private fileOptions; |
| readonly temp_file: string; |
| readonly last_exit_status: number; |
| constructor(text?: string, fileOptions?: IFileOptions); |
| run(): string; |
| runAsync(callback: StringCallback): void; |
| cleanup(): void; |
| private determineEditor; |
| private createTemporaryFile; |
| private readTemporaryFile; |
| private removeTemporaryFile; |
| private launchEditor; |
| private launchEditorAsync; |
| } |