Edit editor contents externally

This commit is contained in:
Joscha 2022-08-02 00:42:52 +02:00
parent 415da3afd8
commit fe0f6c7520
2 changed files with 27 additions and 3 deletions

View file

@ -3,11 +3,15 @@ use std::sync::Arc;
use parking_lot::FairMutex;
use toss::terminal::Terminal;
pub fn prompt(terminal: &mut Terminal, crossterm_lock: &Arc<FairMutex<()>>) -> Option<String> {
pub fn prompt(
terminal: &mut Terminal,
crossterm_lock: &Arc<FairMutex<()>>,
initial_text: &str,
) -> Option<String> {
let content = {
let _guard = crossterm_lock.lock();
terminal.suspend().expect("could not suspend");
let content = edit::edit("");
let content = edit::edit(initial_text);
terminal.unsuspend().expect("could not unsuspend");
content
};