Skip to main content

User

Struct User 

Source
pub struct User;
Expand description

A blank Mode, intended for plugin authors to use

The only key this Mode actually accepts is KeyCode::Esc, in which case it promptly resets to the default Buffer Mode, which is duatmode’s “Normal” by default.

This means that you can compose more complex expressions and accrue them in the User mode. For example, something that I find particularly useful in prose filetypes is the following:

use duat::prelude::*;
setup_duat!(setup);

fn setup() {
    map::<User>("f", "<Esc><A-j>|fold -s -w 80<Enter>")
        .doc("Fold selected lines by whitespace");
}

This is also where Plugin remappings should be done:

use duat::prelude::*;
 
map::<User>("fb", |pa: &mut Pass| {
    mode::set(pa, mode::RunCommands::new_with("frobnificate "));
});

cmd::add("frobnificate", |pa: &mut Pass, buf: Handle| {
    // Do stuff
    Ok(None)
});

Trait Implementations§

Source§

impl Clone for User

Source§

fn clone(&self) -> User

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for User

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Mode for User

Source§

type Widget = Buffer

The Widget that this Mode controls
Source§

fn bindings() -> Bindings

A list of all available keybindings for this Mode Read more
Source§

fn send_key(&mut self, pa: &mut Pass, _: KeyEvent, _: Handle<Self::Widget>)

Sends a KeyEvent to this Mode
Source§

impl Copy for User

Auto Trait Implementations§

§

impl Freeze for User

§

impl RefUnwindSafe for User

§

impl Send for User

§

impl Sync for User

§

impl Unpin for User

§

impl UnsafeUnpin for User

§

impl UnwindSafe for User

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> TryClone for T
where T: Clone,

Source§

fn try_clone(&self) -> Result<T, Error>

Clones self, possibly returning an error.
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.