Names: Icon, Color, Tone, Side, Method, Command, Menu, Sidebar, Event

Where notesy's API takes one of a fixed set of names (an icon of notesy's, a theme color, a button's tone), a script gives an enum instead of text, so a name that's wrong doesn't compile, and an editor that knows Rune can offer the rest. They're at the top of notesy:

rustuse notesy::{commands, status, view, Color, Command, Icon, Side, Tone};

pub fn ready() {
    let row = view::row(Icon::ArrowRight, "Record the demo video");
    row.color = Color::Accent;
    let button = view::button("Sync now");
    button.tone = Tone::Primary;
    let sync = status::add("sync");
    sync.set(#{ text: "Synced", icon: Icon::Check, side: Side::Left, color: Color::Success });
    commands::run(Command::ToggleSidebar);
}
Enum For Some of them
Icon notesy's own icons, wherever an icon is named Icon::Check, Icon::File, Icon::Folder, Icon::Tag, Icon::Calendar, Icon::Clock, Icon::Link, Icon::Pin, Icon::Bulb, Icon::Alert, Icon::Info, Icon::ArrowRight, Icon::Plugin
Color a theme's colors, wherever a color is named Color::Accent, Color::Success, Color::Warning, Color::Danger, Color::Text, Color::TextMuted, Color::TextFaint, Color::Heading, Color::Link, Color::Tag, Color::CalloutTip
Tone a button's, or a pill's Tone::Plain, Tone::Soft, Tone::Primary, Tone::Danger, Tone::Tag
Side a status item's Side::Left, Side::Right
Method a request's (notesy::net) Method::Get, Method::Post, Method::Put, Method::Patch, Method::Delete, Method::Head, Method::Options
Command notesy's own commands, for commands::run Command::NewNote, Command::OpenToday, Command::ToggleSidebar, Command::CommandPalette, Command::Bold
Menu notesy's right-click menus, for menus::add (notesy::menus) Menu::Note, Menu::File, Menu::Folder, Menu::Tab, Menu::Editor, Menu::Board, Menu::BoardCard, Menu::BoardArrow
Sidebar notesy's own sections of the sidebar, for sections::action (notesy::sections) Sidebar::Notes, Sidebar::Tags
Event what events::on takes, and every event's kind (notesy::events) Event::NoteSaved, Event::AnyNote

Every variant is notesy's name for it written in CamelCase: the icon arrow-right is Icon::ArrowRight, the color text_muted is Color::TextMuted, the command tabs.close_others is Command::CloseOtherTabs (the Keybindings page lists every command).

What the plugin names itself stays text: its own icons ("chart"), its own colors, its settings' and store's keys, its commands' and panels' keys. Text for notesy's names still works too, checked as the script runs.

Every page