FooterWidgets

Struct FooterWidgets 

Source
pub struct FooterWidgets<U: Ui> { /* private fields */ }
Expand description

A footer WidgetAlias consisting of a StatusLine, PromptLine and Notifications combo

These are the default Widgets placed in the footer position of Duat. By default, they will be placed around the window, but they can also be placed around individual Files:

setup_duat!(setup);
use duat::prelude::*;
use duat_utils::widgets::{FooterWidgets, status};

fn setup() {
    hook::add::<File>(|pa, (cfg, builder)| {
        builder.push(FooterWidgets::new(status!(
            "{name_txt}{Spacer}{} {sels_txt} {main_txt}",
            mode_txt(pa)
        )));
        cfg
    });
}

This specific Widget configuration makes use of hooks in order to show the PromptLine only when it is in focus, showing Notifications whenever that is not the case. Like Vim/Neovim, it also takes up two lines on the screen, one for the StatusLine and one for the other two Widgets.

If you want a Kakoune-like one line footer, use the one_line method. You can also use the prompt and notifs methods in order to specify the PromptLine and Notifications Widgets, respectively.

Additionally, you can call the above method in order to place the footer as a header instead.

Implementations§

Source§

impl<U: Ui> FooterWidgets<U>

Source

pub fn new(status_cfg: StatusLineCfg<U>) -> Self

Returns a new FooterWidgets, with a StatusLine and default PromptLine and Notifications

You can set those other two through the prompt and notifs methods.

Source

pub fn one_line(self) -> Self

Turns this footer into a Kakoune-like one liner, as opposed to a Neovim-like two liner

Source

pub fn above(self) -> Self

Changes this footer to a header

Source

pub fn prompt(self, prompt_cfg: PromptLineCfg<U>) -> Self

Sets the PromptLine to be used

Source

pub fn notifs(self, notifs_cfg: NotificationsCfg<U>) -> Self

Sets the Notifications to be used

Trait Implementations§

Source§

impl<U: Default + Ui> Default for FooterWidgets<U>

Source§

fn default() -> FooterWidgets<U>

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<U> Freeze for FooterWidgets<U>

§

impl<U> !RefUnwindSafe for FooterWidgets<U>

§

impl<U> Send for FooterWidgets<U>

§

impl<U> !Sync for FooterWidgets<U>

§

impl<U> Unpin for FooterWidgets<U>
where U: Unpin,

§

impl<U> !UnwindSafe for FooterWidgets<U>

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.

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.