notesy::settings
The plugin's settings, as the user left them on its settings page. The
settings themselves are declared in the manifest ([[settings]], see
plugin.toml); notesy draws the page for them. Needs no
permission.
rustuse notesy::{log, settings};
pub fn ready() {
let goal = settings::get("goal")?;
log::info(`aiming for ${goal} words`);
}
pub fn setting_changed(key) {
log::info(`${key} is now ${settings::get(key)?}`);
}
| Function | What it does |
|---|---|
settings::get(key) |
The setting key: its value as the user set it, or its default. None for a key the manifest doesn't declare. |
settings::set(key, value) |
Sets its setting key as though the user had, on its page: a list of places its panel adds to, say. The value has the setting's type; a secret one is the user's to type, and can't be set. |
settings::on_suggest(handler) |
handler(key, text) once typing pauses in the field for a new item of a list setting with suggest = true: it answers with settings::suggest, then or once it knows. |
settings::suggest(key, text, items) |
What it suggests for text in setting key's field, as a view's suggest takes them (notesy::view): text, or #{ text, detail, icon, value }. A pick adds its value (its text, unless the value is text). |
Values have the setting's type: a switch is true or false, a number an
integer or a float, a text field a string, a multi-choice or list a vector
of strings, a color a #rrggbb string.
A secret setting (a token, a password) is kept in the system keychain, not
the store; settings::get reads it from there. A script's own secrets are
in notesy::secrets.
When the user changes a setting, the script's setting_changed(key) is
called (Scripts), after notesy has read the new
value, so settings::get(key) returns it.
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