notesy::editor

The note in front: what it says, where the caret is, and typing into it. Takes the editor permission. Everything here works on the note the user has in front, and nothing else; changes are steps the user can undo, like their own typing.

rustuse notesy::{commands, editor};

pub fn ready() {
    commands::add("stamp", "Stamp the note's path", |command| {
        editor::insert(`— ${editor::path().unwrap_or("?")}`);
    });
}
Function What it does
editor::note() The note in front, a Note (unsaved edits and all), Some(note), or None when there's none.
editor::path() The note in front's path, Some(path), or None when there's none.
editor::text() Its text, unsaved edits and all, or None.
editor::selection() Where the caret is: #{ start, end, text }, start and end in characters from the top (the same when nothing's selected), or None.
editor::insert(text) Types text at the caret, over what's selected.
editor::insert_snippet(text) The same, and the caret goes to its first $0: "**$0**" leaves it between the stars.
editor::replace(start, end, text) Puts text in place of the characters from start to end.

With no note in front, insert and replace are errors. Positions count characters, not bytes: "é" is one.

Every page