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
- Overview
- plugin.toml: Every field of plugin.toml
- Permissions: What a plugin can ask for, when notesy asks, and what changes it
- Scripts: How a script runs: its lifecycle, events, limits and errors
- Packing and installing: Making, checking, signing, packing and installing
- notesy::log: Lines for its log on the Plugins page
- notesy::events: Hearing what happens, and every event
- notesy::commands: Adding commands, and running notesy's
- notesy::store: Keeping its own data
- notesy::settings: Reading its settings
- notesy::secrets: Keys and tokens, in the system keychain
- notesy::notes: Reading and changing the vault's notes
- notesy::editor: The note in front
- notesy::files: A folder of its own
- notesy::links: Opening pages in the browser
- notesy::clipboard: Copying and pasting
- notesy::view: What panels, tabs and sections show
- notesy::panels and notesy::views: Adding side panels and tabs
- notesy::sections: Sidebar sections
- notesy::menus: Items in notesy's right-click menus
- notesy::status: Status bar items
- notesy::notices: Notices
- notesy::dialogs: Asking in a dialog, notesy's kinds or its own
- notesy::cards: Its part of the tree's hover cards
- notesy::boards: Boards' cards and arrows, and kinds of card of its own
- notesy::blocks: Drawing its fenced blocks
- notesy::icons: Drawing its own icons
- notesy::net: Requests to the sites it names
- notesy::accounts: Signing in to a service
- notesy::json: Reading and writing JSON
- notesy::toml: Reading and writing TOML
- notesy::yaml: Reading and writing YAML, and a note's front matter
- notesy::time: Now, written in the user's time zone, dates read, how long ago
- notesy::math: Trigonometry and the like, for drawing
- Names: Icon, Color, Tone, Side, Method, Command, Menu, Sidebar, Event: Notesy's names as enums
- notesy::preview: Its own screens for notesy preview
- notesy::perf: Timing its own work
- notesy::tex: Math macros for every note's formulas