Public declaration syntax from harness-sdk/src/external_editor.rs Original source SHA-256: 9acd17d1e89f28a0e0cb954dc78e23b897a270581df47ad17c4a00057a46fca3 Function bodies and constant values are omitted. This is not the complete implementation. Source line 19 #[derive(Debug, Error)] pub enum ExternalEditorError { /// Neither `$VISUAL` nor `$EDITOR` is set. #[error("neither VISUAL nor EDITOR is set")] MissingEditor, /// Editor command failed to parse via `shlex` (POSIX) or /// produced an empty argv on Windows. #[error("failed to parse editor command")] ParseFailed, /// Resolved editor command was empty. #[error("editor command is empty")] EmptyCommand, /// I/O failure (temp file creation, child process spawn, etc.). #[error("editor io: {0}")] Io(#[from] io::Error), /// Editor exited with a non-zero status. #[error("editor exited with status {0}")] NonZeroExit(i32), /// Editor was terminated by signal. #[error("editor was terminated by signal")] Terminated, } Source line 53 pub fn resolve_editor_command() -> Result, ExternalEditorError>; Source line 70 pub fn open_in_editor(seed: &str) -> Result; Source line 78 pub fn open_with_command(seed: &str, editor_cmd: &[String]) -> Result;