pub struct PickerDisplay;Expand description
Where the picker UI is drawn. "minibuffer" renders
vertico-style: prompt sits on the cmdline row and the
candidate list fans above it (TUI) / above the status
line (GPUI), keeping the buffer fully visible.
"popup" renders a centred overlay floating over the
buffer area (terminal-friendly when narrow, common in
IDE-style editors). Behaviour is identical between the
TUI and GPUI peers so users carry the same muscle
memory across them. Future variants ("split",
"sidebar") may be added without breaking this key.
Implementations§
Source§impl PickerDisplay
impl PickerDisplay
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 PickerDisplay
impl HasGroup for PickerDisplay
Source§const GROUP_NAME: &'static str = <crate::Picker as ::lattice_config::OptionGroup>::NAME
const GROUP_NAME: &'static str = <crate::Picker 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 PickerDisplay
impl OptionDecl for PickerDisplay
Source§const NAME: &'static str = PickerDisplay
const NAME: &'static str = PickerDisplay
: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 = PickerDisplay
const DOC: &'static str = PickerDisplay
: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.