pub enum SignColumn {
Yes,
No,
}Expand description
signcolumn — whether to reserve the gutter sign columns.
Only yes / no are wired today. Vim’s auto (reserve only when
a sign is present) is intentionally deferred: it re-introduces the
layout shift the unconditional reserve exists to avoid.
Variants§
Yes
Always reserve the severity + diff-sign columns, so the buffer layout never shifts when a sign appears or clears. The default.
No
Never reserve them — content abuts the line-number gutter. Help / synthetic buffers set this for clean, gutterless render.
Implementations§
Source§impl SignColumn
impl SignColumn
Sourcepub fn label(&self) -> &'static str
pub fn label(&self) -> &'static str
The on-disk / :set spelling: yes or no. The inverse of
Self::parse_label.
Sourcepub fn doc(&self) -> &'static str
pub fn doc(&self) -> &'static str
One-line description of this value for the :set value
completion marginalia.
Sourcepub fn reserved(&self) -> bool
pub fn reserved(&self) -> bool
Whether the sign columns should be reserved for this value. The single predicate every renderer reads to gate the two sign-column cells.
Sourcepub fn all() -> [SignColumn; 2]
pub fn all() -> [SignColumn; 2]
Every value, in completion order (the closed value set).
Sourcepub fn parse_label(s: &str) -> Result<Self, String>
pub fn parse_label(s: &str) -> Result<Self, String>
Parse a Self::label back into a value. Exact match — vim’s
auto / number forms are rejected, not approximated.
§Examples
use lattice_config::SignColumn;
assert!(SignColumn::default().reserved());
assert_eq!(SignColumn::parse_label("no"), Ok(SignColumn::No));
assert!(!SignColumn::No.reserved());
assert!(SignColumn::parse_label("auto").is_err());Trait Implementations§
Source§impl Clone for SignColumn
impl Clone for SignColumn
Source§fn clone(&self) -> SignColumn
fn clone(&self) -> SignColumn
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for SignColumn
Source§impl Debug for SignColumn
impl Debug for SignColumn
Source§impl Default for SignColumn
impl Default for SignColumn
Source§fn default() -> SignColumn
fn default() -> SignColumn
impl Eq for SignColumn
Source§impl OptionType for SignColumn
impl OptionType for SignColumn
Source§fn enumerate_is_exhaustive() -> bool
fn enumerate_is_exhaustive() -> bool
TC.1: closed — parse accepts these forms and nothing else, so
the schema is an enum and :customize can offer a picker.
Source§fn parse(s: &str) -> Result<Self, String>
fn parse(s: &str) -> Result<Self, String>
:set name=value. Errors are
surfaced verbatim through the cmdline echo, so the message
should read well to the user (mention valid forms when the
space is finite). The parser MUST round-trip with format:
T::parse(&v.format()) == Ok(v) for every v.Source§fn format(&self) -> String
fn format(&self) -> String
:set foo? echo,
the customize buffer view, value comparison). Round-trips
with Self::parse.Source§fn type_label() -> &'static str
fn type_label() -> &'static str
:describe-option ("boolean",
"foldmethod", etc.). Used in help bodies and the customize
buffer view.Source§fn enumerate() -> Option<Vec<&'static str>>
fn enumerate() -> Option<Vec<&'static str>>
:set foo=<Tab>
completion. None means “free-form” (no enumerable space –
integers, file paths, free strings). The values are
&'static str to keep the completion source allocation-free
in the common case.Source§fn enumerate_with_docs() -> Option<Vec<EnumeratedValue>>
fn enumerate_with_docs() -> Option<Vec<EnumeratedValue>>
Self::enumerate with empty docs;
types with rich help override. Read moreSource§fn name_forms(_canonical: &str) -> Vec<String>
fn name_forms(_canonical: &str) -> Vec<String>
:set nu / :set nonu). Default:
no extra forms. Booleans return [format!("no{canonical}")].Source§fn is_bool() -> bool
fn is_bool() -> bool
:set noFOO. bool
returns true; everything else false. Drives the negate
path in the cmdline parser.Source§fn accepts_list() -> bool
fn accepts_list() -> bool
Self::parse accepts, rather than rejected
as “not applicable to a scalar option”. false for every
scalar type (the default); true for list types like
crate::ModelineZone. Drives loader::apply_array (ML.5).
The :set cmdline path is unaffected — it always passes a
string and never sees a TOML array.Source§fn try_negation_value() -> Result<Self, String>
fn try_negation_value() -> Result<Self, String>
Self::is_bool true).
Default: returns Err – the registry guards by checking
is_bool() first, so callers that respect the contract
won’t observe this. The bool impl returns Ok(false).Source§fn schema() -> ConfigSchema
fn schema() -> ConfigSchema
Source§fn to_value(&self) -> ConfigValue
fn to_value(&self) -> ConfigValue
Source§fn from_value(value: &ConfigValue) -> Result<Self, String>
fn from_value(value: &ConfigValue) -> Result<Self, String>
Self::to_value,
deferring to parse so a type’s validation rules apply on this
path exactly as they do on :set.Source§impl PartialEq for SignColumn
impl PartialEq for SignColumn
impl StructuralPartialEq for SignColumn
Auto Trait Implementations§
impl Freeze for SignColumn
impl RefUnwindSafe for SignColumn
impl Send for SignColumn
impl Sync for SignColumn
impl Unpin for SignColumn
impl UnsafeUnpin for SignColumn
impl UnwindSafe for SignColumn
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.