Skip to main content

MouseEnabled

Struct MouseEnabled 

Source
pub struct MouseEnabled;
Expand description

Whether the editor captures mouse events from the terminal.

With it on: the wheel scrolls the pane under the pointer, a click positions the cursor, a drag selects in Visual mode, and modeline elements that declare an on_click are clickable.

Default true as of MO.2, and the trade is worth stating. Capture takes the mouse away from the terminal emulator, so the emulator’s own click-drag selection and middle-click paste stop working inside Lattice unless the terminal offers a Shift-drag override (most do; not all). MO.1 defaulted this off because the only thing capture bought was modeline clicks — a bad trade against a capability every terminal user already has. Now that the editor body answers the mouse, the trade goes the other way for most users, and the ones it does not suit have one line of config:

[ui]
mouse = false

:set ui.mouse=false does the same thing for the session; the TUI mirrors the option into the terminal’s reporting state without a restart.

Terminal buffers get editor semantics like any other buffer. Passthrough to a child pty is a separate mechanism and is not built; until it is, a full-screen program inside :terminal does not see the mouse.

Ignored by the GPUI peer, which owns its window’s input and therefore takes nothing away by listening for mouse events.

Implementations§

Source§

impl MouseEnabled

Source

pub fn build_spec() -> Option<bool>

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 MouseEnabled

Source§

const GROUP_NAME: &'static str = <crate::group::Mouse as ::lattice_config::OptionGroup>::NAME

Group display name ("editor", "lsp", …). The macro pulls this from the group = SomeGroup; directive at the declaration block’s head.
Source§

impl OptionDecl for MouseEnabled

Source§

const NAME: &'static str = MouseEnabled

Public display name. Boundary-facing only – :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 = MouseEnabled

Doc string. Shown in :describe-option, the :customize form’s per-row help, and :apropos results.
Source§

const CUSTOMIZABLE: bool = true

Customize-visibility flag. 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§

type Value = bool

The runtime value type. bool, i64, String, plus any domain enum that impls OptionType.
Source§

fn default_value() -> Self::Value

Default value. Returned by a function (rather than a const) so non-const-constructible types like String can be defaults.
Source§

fn type_id() -> TypeId
where Self: Sized,

TypeId of the declaration type itself. Hot-path key for the registry’s type-driven storage. Default impl works for every concrete impl.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more