pub struct KeymapLeader;Expand description
OM.2b: what <leader> expands to in a binding string. Default
<Space> — vim’s historical \\ is an artifact of which keys
happened to be free in 1991, and the modern vim world maps
leader to space (nvim-orgmode’s documented bindings assume it).
Expansion is bind-time, at try_bind_chord_string, which
every plugin mode / register-binding / init.rs binding funnels
through. So this is read once at boot and a later :set does
not move bindings that already landed — live re-expansion is
the emacs-keys-prefix shape and is deliberately not built
yet. A value that does not parse degrades per-binding to
InvalidChord (skipped + logged), never a panic.
The literal is duplicated from lattice_keymap::DEFAULT_LEADER
rather than imported: lattice-config does not depend on
lattice-keymap and should not gain the dependency for a
default string. They are pinned equal by a test in
lattice-host, where both crates are in scope.
Implementations§
Source§impl KeymapLeader
impl KeymapLeader
Sourcepub fn build_spec() -> Option<String>
pub fn build_spec() -> Option<String>
Build the runtime spec for this declaration.
Used by the registry’s self-registration boot
path; not generally called by hand. Direct
construction of Option<T> is the macro’s
internal-only path – consumer code uses
config.get_typed::<#name_ident>() to read
and config.set_typed::<#name_ident>(...) to
write.
Trait Implementations§
Source§impl HasGroup for KeymapLeader
impl HasGroup for KeymapLeader
Source§const GROUP_NAME: &'static str = <crate::Editor as ::lattice_config::OptionGroup>::NAME
const GROUP_NAME: &'static str = <crate::Editor as ::lattice_config::OptionGroup>::NAME
"editor", "lsp", …). The macro
pulls this from the group = SomeGroup; directive at the
declaration block’s head.Source§impl OptionDecl for KeymapLeader
impl OptionDecl for KeymapLeader
Source§const NAME: &'static str = KeymapLeader
const NAME: &'static str = KeymapLeader
:set <NAME>=…,
TOML keys, completion candidates, :describe-option.
Internal access is type-driven. The macro derives this
from the option’s identifier (with namespace prefix when
declared via mode_options!); manually-typed NAMEs are
not supported for built-in options.Source§const DOC: &'static str = KeymapLeader
const DOC: &'static str = KeymapLeader
:describe-option, the :customize
form’s per-row help, and :apropos results.Source§const CUSTOMIZABLE: bool = true
const CUSTOMIZABLE: bool = true
true (the default) ⇒ option
appears in :set autocomplete + the :customize group
view. false ⇒ plugin / engine-internal state, hidden
from user surfaces. Equivalent of emacs’s defvar vs
defcustom. (See mode-architecture.md §6.5.3.)Source§fn default_value() -> Self::Value
fn default_value() -> Self::Value
const) so non-const-constructible types like String
can be defaults.