pub struct IndentMethodOption;Expand description
Where a newly created line’s indent comes from: none
(column 0), keep (copy the previous line – vim’s
autoindent), or syntax (tree-sitter indents.scm,
falling back to keep). A cascade with a named floor, so a
language with no query degrades to documented vim behaviour
rather than to a silent wrong answer.
Honoured progressively: none from IN.0, keep from IN.1,
syntax from IN.2. Until then syntax degrades to the
highest rung that exists – the cascade behaving as designed.
Implementations§
Source§impl IndentMethodOption
impl IndentMethodOption
Sourcepub fn build_spec() -> Option<IndentMethod>
pub fn build_spec() -> Option<IndentMethod>
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 IndentMethodOption
impl HasGroup for IndentMethodOption
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 IndentMethodOption
impl OptionDecl for IndentMethodOption
Source§const NAME: &'static str = IndentMethodOption
const NAME: &'static str = IndentMethodOption
: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 = IndentMethodOption
const DOC: &'static str = IndentMethodOption
: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.