pub struct ZleConfig {
pub configured: bool,
pub autosuggest: bool,
pub syntax_highlight: bool,
pub history_search: bool,
pub autopair: bool,
pub vi_backspace_unrestricted: bool,
}Expand description
[zle] — the native fish-ported line-editor engines and other
deliberate ZLE deviations.
The four ENGINES default ON. They are the point of the shell, not an
experiment to opt into, and a user who has an rc file is asking for a
configured interactive shell. Set any field false in
~/.zshrs/zshrs.toml to turn one off; ZSHRS_NATIVE_ZLE_FX=0 remains
the blanket kill switch.
Parity is preserved at the other end, but by ABSENCE rather than by
-f: zle_fx refuses every engine when RCS is unset AND the file
carries no [zle] table, so a machine that has never configured the
editor — CI, a fresh install — keeps zshrs -f byte-identical to
zsh -f. Writing a [zle] section is a statement about the editor
this shell should be, and -f (which is about RC FILES, not about the
shell’s own config) does not overrule it.
vi_backspace_unrestricted stays OFF by default: it is a keybinding
deviation from classic vi, not one of the engines, so it keeps opt-in
semantics.
Fields§
§configured: boolTrue when ~/.zshrs/zshrs.toml actually carries a [zle] table.
Not a TOML key — load_from sets it after parsing, and #[serde(skip)]
keeps a stray configured = true in a user’s file from forging it. It
exists so zle_fx can tell “the user said nothing about the editor”
from “the user configured the editor”, which is the difference between
a bare zshrs -f and one that honours the config (see zle_fx::enabled).
autosuggest: boolfish-ported history autosuggestions (ghost text).
syntax_highlight: boolfish-ported command-line syntax highlighting.
history_search: boolfish-ported up-arrow substring/prefix history search.
autopair: boolzsh-autopair port (bracket/quote auto-pairing).
vi_backspace_unrestricted: boolviins ^H/DEL bound to unrestricted backward-delete-char (vim’s backspace=indent,eol,start) instead of the classic-vi vi-backward-delete-char.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ZleConfig
impl<'de> Deserialize<'de> for ZleConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for ZleConfig
impl RefUnwindSafe for ZleConfig
impl Send for ZleConfig
impl Sync for ZleConfig
impl Unpin for ZleConfig
impl UnsafeUnpin for ZleConfig
impl UnwindSafe for ZleConfig
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more