Skip to main content

HookArgs

Enum HookArgs 

Source
pub enum HookArgs {
Show 51 variants BeforeFileOpen { path: PathBuf, }, AfterFileOpen { buffer_id: BufferId, path: PathBuf, }, BeforeFileSave { buffer_id: BufferId, path: PathBuf, }, AfterFileSave { buffer_id: BufferId, path: PathBuf, }, AfterFileExplorerChange { path: PathBuf, }, BufferClosed { buffer_id: BufferId, }, BeforeInsert { buffer_id: BufferId, position: usize, text: String, }, AfterInsert { buffer_id: BufferId, position: usize, text: String, affected_start: usize, affected_end: usize, start_line: usize, end_line: usize, lines_added: usize, }, BeforeDelete { buffer_id: BufferId, start: usize, end: usize, }, AfterDelete { buffer_id: BufferId, start: usize, end: usize, deleted_text: String, affected_start: usize, deleted_len: usize, start_line: usize, end_line: usize, lines_removed: usize, }, CursorMoved { buffer_id: BufferId, cursor_id: CursorId, old_position: usize, new_position: usize, line: usize, text_properties: Vec<HashMap<String, Value>>, }, BufferActivated { buffer_id: BufferId, }, BufferDeactivated { buffer_id: BufferId, }, DiagnosticsUpdated { uri: String, count: usize, }, PreCommand { action: Action, }, PostCommand { action: Action, }, Idle { milliseconds: u64, }, EditorInitialized {}, PluginsLoaded {}, Ready {}, AuthorityChanged { label: String, }, RenderStart { buffer_id: BufferId, }, RenderLine { buffer_id: BufferId, line_number: usize, byte_start: usize, byte_end: usize, content: String, }, LinesChanged { buffer_id: BufferId, lines: Vec<LineInfo>, }, PromptChanged { prompt_type: String, input: String, }, PromptConfirmed { prompt_type: String, input: String, selected_index: Option<usize>, }, PromptCancelled { prompt_type: String, input: String, }, PromptSelectionChanged { prompt_type: String, selected_index: usize, }, KeyboardShortcuts { bindings: Vec<(String, String)>, }, LspReferences { symbol: String, locations: Vec<LspLocation>, }, ViewTransformRequest { buffer_id: BufferId, split_id: SplitId, viewport_start: usize, viewport_end: usize, tokens: Vec<ViewTokenWire>, cursor_positions: Vec<usize>, }, MouseClick { column: u16, row: u16, button: String, modifiers: String, content_x: u16, content_y: u16, buffer_id: Option<u64>, buffer_row: Option<u32>, buffer_col: Option<u32>, }, MouseMove { column: u16, row: u16, content_x: u16, content_y: u16, }, LspServerRequest { language: String, method: String, server_command: String, params: Option<String>, }, ViewportChanged { split_id: SplitId, buffer_id: BufferId, top_byte: usize, top_line: Option<usize>, width: u16, height: u16, }, LspServerError { language: String, server_command: String, error_type: String, message: String, }, LspStatusClicked { language: String, has_error: bool, missing_servers: Vec<String>, user_dismissed: bool, }, ActionPopupResult { popup_id: String, action_id: String, }, ProcessOutput { process_id: u64, data: String, }, WindowCreated { id: u64, label: String, root: String, }, WindowClosed { id: u64, }, ActiveWindowChanged { previous_id: Option<u64>, active_id: u64, }, TerminalOutput { terminal_id: u64, last_line: String, }, TerminalExited { terminal_id: u64, exit_code: Option<i32>, }, PathChanged { handle: u64, path: String, kind: String, }, LanguageChanged { buffer_id: BufferId, language: String, }, ThemeInspectKey { theme_name: String, key: String, }, MouseScroll { buffer_id: BufferId, delta: i32, col: u16, row: u16, }, Resize { width: u16, height: u16, }, FocusGained {}, WidgetEvent { panel_id: u64, widget_key: String, event_type: String, payload: Value, },
}
Expand description

Arguments passed to hook callbacks

Variants§

§

BeforeFileOpen

Before a file is opened

Fields

§path: PathBuf
§

AfterFileOpen

After a file is successfully opened

Fields

§buffer_id: BufferId
§path: PathBuf
§

BeforeFileSave

Before a buffer is saved to disk

Fields

§buffer_id: BufferId
§path: PathBuf
§

AfterFileSave

After a buffer is successfully saved

Fields

§buffer_id: BufferId
§path: PathBuf
§

AfterFileExplorerChange

The file explorer mutated the filesystem (paste, duplicate, …) without going through a buffer save. Plugins that surface filesystem-derived state (git status decorations, etc.) use this to re-scan after explorer-driven changes that wouldn’t otherwise fire BeforeFileSave/AfterFileSave. path is one of the affected paths; for batch operations (multi-paste) the hook fires once per refresh, not once per file.

Fields

§path: PathBuf
§

BufferClosed

A buffer was closed

Fields

§buffer_id: BufferId
§

BeforeInsert

Before text is inserted

Fields

§buffer_id: BufferId
§position: usize
§text: String
§

AfterInsert

After text was inserted

Fields

§buffer_id: BufferId
§position: usize
§text: String
§affected_start: usize

Byte position where the affected range starts

§affected_end: usize

Byte position where the affected range ends (after the inserted text)

§start_line: usize

Line number where insertion occurred (0-indexed)

§end_line: usize

Line number where insertion ended (0-indexed)

§lines_added: usize

Number of lines added by this insertion

§

BeforeDelete

Before text is deleted

Fields

§buffer_id: BufferId
§start: usize
§end: usize
§

AfterDelete

After text was deleted

Fields

§buffer_id: BufferId
§start: usize
§end: usize
§deleted_text: String
§affected_start: usize

Byte position where the deletion occurred

§deleted_len: usize

Length of the deleted content in bytes

§start_line: usize

Line number where deletion started (0-indexed)

§end_line: usize

Line number where deletion ended (0-indexed, in original buffer)

§lines_removed: usize

Number of lines removed by this deletion

§

CursorMoved

Cursor moved to a new position

Fields

§buffer_id: BufferId
§cursor_id: CursorId
§old_position: usize
§new_position: usize
§line: usize

Line number at new position (1-indexed)

§text_properties: Vec<HashMap<String, Value>>

Text properties at the new cursor position

§

BufferActivated

Buffer became active

Fields

§buffer_id: BufferId
§

BufferDeactivated

Buffer was deactivated

Fields

§buffer_id: BufferId
§

DiagnosticsUpdated

LSP diagnostics were updated for a file

Fields

§uri: String

The URI of the file that was updated

§count: usize

Number of diagnostics in the update

§

PreCommand

Before a command/action is executed

Fields

§action: Action
§

PostCommand

After a command/action was executed

Fields

§action: Action
§

Idle

Editor has been idle for N milliseconds (no input)

Fields

§milliseconds: u64
§

EditorInitialized

Editor is initializing

§

PluginsLoaded

All plugin packages + init.ts have been loaded. Fires after the plugin discovery loop and before session restore — the lifecycle hook for code that wants to configure a plugin via its getPluginApi(…) surface. See design §3.3 (phase 2).

§

Ready

Editor has completed startup: plugins are loaded, session is restored, and the active buffer exists. Design §3.3 (phase 3).

§

AuthorityChanged

The editor’s active authority changed (e.g. local → container, container → local). Fires after the new authority is in place and the plugin state snapshot has been refreshed, so handlers can read the new label via editor.getAuthorityLabel(). Plugins use this to re-register state-dependent commands that should only appear in one authority mode (e.g. dev container Detach only when attached). In production a transition triggers a full editor restart that re-runs plugin init from scratch; this hook lets plugins react inline without that, which keeps the harness in sync too.

Fields

§label: String
§

RenderStart

Rendering is starting for a buffer (called once per buffer before render_line hooks)

Fields

§buffer_id: BufferId
§

RenderLine

A line is being rendered (called during the rendering pass)

Fields

§buffer_id: BufferId
§line_number: usize
§byte_start: usize
§byte_end: usize
§content: String
§

LinesChanged

Lines have changed and need processing (batched for efficiency)

Fields

§buffer_id: BufferId
§lines: Vec<LineInfo>
§

PromptChanged

Prompt input changed (user typed/edited)

Fields

§prompt_type: String
§input: String
§

PromptConfirmed

Prompt was confirmed (user pressed Enter)

Fields

§prompt_type: String
§input: String
§selected_index: Option<usize>
§

PromptCancelled

Prompt was cancelled (user pressed Escape/Ctrl+G)

Fields

§prompt_type: String
§input: String
§

PromptSelectionChanged

Prompt suggestion selection changed (user navigated with Up/Down)

Fields

§prompt_type: String
§selected_index: usize
§

KeyboardShortcuts

Request keyboard shortcuts data (key, action) for the help buffer

Fields

§bindings: Vec<(String, String)>
§

LspReferences

LSP find references response received

Fields

§symbol: String

The symbol name being queried

§locations: Vec<LspLocation>

The locations where the symbol is referenced

§

ViewTransformRequest

View transform request

Fields

§buffer_id: BufferId
§split_id: SplitId
§viewport_start: usize

Byte offset of the viewport start

§viewport_end: usize

Byte offset of the viewport end

§tokens: Vec<ViewTokenWire>

Base tokens (Text, Newline, Space) from the source

§cursor_positions: Vec<usize>

Byte positions of all cursors in this buffer

§

MouseClick

Mouse click event

Fields

§column: u16

Column (x coordinate) in screen cells

§row: u16

Row (y coordinate) in screen cells

§button: String

Mouse button: “left”, “right”, “middle”

§modifiers: String

Modifier keys

§content_x: u16

Content area X offset

§content_y: u16

Content area Y offset

§buffer_id: Option<u64>

Buffer under the click (None when the click is outside any buffer panel).

§buffer_row: Option<u32>

0-indexed buffer row (line number) of the click, accounting for scroll. None when the click is outside any buffer.

§buffer_col: Option<u32>

0-indexed byte column inside the buffer row. None when the click is outside any buffer.

§

MouseMove

Mouse move/hover event

Fields

§column: u16

Column (x coordinate) in screen cells

§row: u16

Row (y coordinate) in screen cells

§content_x: u16

Content area X offset

§content_y: u16

Content area Y offset

§

LspServerRequest

LSP server request (server -> client)

Fields

§language: String

The language/server that sent the request

§method: String

The JSON-RPC method name

§server_command: String

The server command used to spawn this LSP

§params: Option<String>

The request parameters as a JSON string

§

ViewportChanged

Viewport changed (scrolled or resized)

Fields

§split_id: SplitId
§buffer_id: BufferId
§top_byte: usize
§top_line: Option<usize>
§width: u16
§height: u16
§

LspServerError

LSP server failed to start or crashed

Fields

§language: String

The language that failed

§server_command: String

The server command that failed

§error_type: String

Error type: “not_found”, “spawn_failed”, “timeout”, “crash”

§message: String

Human-readable error message

§

LspStatusClicked

User clicked the LSP status indicator

Fields

§language: String

The language of the current buffer

§has_error: bool

Whether there’s an active error

§missing_servers: Vec<String>

Commands of configured servers whose binaries are not on $PATH (or absolute-path equivalents). Empty when every configured server is installed. Plugins can inspect this to show tailored install hints without waiting for a failed spawn.

§user_dismissed: bool

Whether the user previously dismissed the LSP pill for this language (via the popup’s “Disable” action). Plugins seeing this as true should offer “Enable” / “Install” rather than “Start”.

§

ActionPopupResult

User selected an action from an action popup

Fields

§popup_id: String

The popup ID

§action_id: String

The action ID selected, or “dismissed”

§

ProcessOutput

Background process output (streaming)

Fields

§process_id: u64

The process ID

§data: String

The output data

§

WindowCreated

A new editor session was created. Fires after the session is added to Editor.sessions, before any UI retarget. Plugins (like Orchestrator) use this to reconcile their per-session bookkeeping with the editor.

Fields

§id: u64

The new session’s stable id.

§label: String

Resolved label (basename fallback applied).

§root: String

Absolute project root.

§

WindowClosed

An editor session was closed and its state dropped. The id is still valid in the payload but is no longer present in editor.listWindows().

Fields

§id: u64
§

ActiveWindowChanged

The active session changed. Fires after the editor’s UI has retargeted (file tree, working_dir, snapshot). Plugins observing for “the editor’s project root just changed” use this rather than polling.

Fields

§previous_id: Option<u64>

The previously active session id, or None only on first switch from the initial base session — currently always Some since the base session always exists.

§active_id: u64

The newly active session id. Always present in the sessions list.

§

TerminalOutput

PTY terminal received output bytes from the spawned process. Fires for every async batch the editor reads off the PTY, so it is hot — consumers should be cheap. The payload includes only a snapshot of the last visible (cursor) row so plugins can detect prompt patterns ((Y/n), Press enter, > ) without an extra readback API. Plugins that need full output should tail the terminal’s backing file via the existing buffer.

Fields

§terminal_id: u64

Stable terminal session id (matches TerminalId.0).

§last_line: String

Snapshot of the cursor row’s text content. May be empty (just-resized terminal, cleared screen). Trailing whitespace is preserved because prompt detection often depends on it (e.g. "... (Y/n): " ends in a space).

§

TerminalExited

PTY terminal’s spawned process has ended. Fires once per terminal lifetime, after the editor has flushed any final scrollback to the backing file.

Fields

§terminal_id: u64

Stable terminal session id (matches TerminalId.0).

§exit_code: Option<i32>

Process exit code if known. None when the platform did not report a status (signal, detach, kill before wait). Plugins that can’t distinguish should treat None as “errored, cause unknown” rather than “ready”.

§

PathChanged

A path under a watchPath-registered watcher changed. Plugins (Orchestrator’s collision radar, etc.) use this to build path → modifying-session-set matrices. Fires once per raw notify event — no debouncing in core; plugins coalesce per their policy.

Fields

§handle: u64

Watch handle that delivered this event. Maps back to the watchPath() call that registered it; lets plugins route events to per-watcher state.

§path: String

Absolute path the kernel reported as changed.

§kind: String

"modify" | "create" | "delete" | "rename" | "other". Conservative bucketing of notify::EventKind — plugins that need finer detail can switch on more specific strings the editor learns to emit later.

§

LanguageChanged

Buffer language was changed (e.g. via “Set Language” command or Save-As)

Fields

§buffer_id: BufferId
§language: String

The new language identifier (e.g., “markdown”, “rust”, “text”)

§

ThemeInspectKey

Request to inspect a theme key in the theme editor

Fields

§theme_name: String

The name of the current theme

§key: String

The theme key to inspect (e.g. “editor.bg”)

§

MouseScroll

Mouse scroll event (wheel up/down)

Fields

§buffer_id: BufferId
§delta: i32

Scroll delta: negative = up, positive = down (typically ±3)

§col: u16

Mouse column (0-based, terminal origin top-left)

§row: u16

Mouse row (0-based, terminal origin top-left)

§

Resize

Terminal was resized

Fields

§width: u16
§height: u16
§

FocusGained

Terminal focus was gained (e.g. user switched back to the editor)

§

WidgetEvent

A widget mounted via MountWidgetPanel emitted a semantic event. Plugins subscribe via editor.on("widget_event", "<handler>") and dispatch on (panel_id, widget_key, event_type).

event_type is one of: "activate", "toggle", "change", "submit", "hover", "dismiss", "focus". payload is event-specific JSON (e.g. { "value": "search text" } for change, { "previous": "<old key>" } for focus).

At v1 only widgets that have user-driven behaviour fire this hook. The HintBar widget is read-only and does not emit events.

Fields

§panel_id: u64

The plugin-allocated panel ID from the original MountWidgetPanel.

§widget_key: String

The stable key of the widget node that fired the event, or empty when the event originates from the panel root.

§event_type: String

The kind of event — see variants above.

§payload: Value

Event-specific JSON payload.

Trait Implementations§

Source§

impl Clone for HookArgs

Source§

fn clone(&self) -> HookArgs

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for HookArgs

Source§

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

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

impl Serialize for HookArgs

Source§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

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> 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> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

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

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<'a, T> FromIn<'a, T> for T

Source§

fn from_in(t: T, _: &'a Allocator) -> T

Converts to this type from the input type within the given allocator.
Source§

impl<T> Instrument for T

Source§

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

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

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<'a, T, U> IntoIn<'a, U> for T
where U: FromIn<'a, T>,

Source§

fn into_in(self, allocator: &'a Allocator) -> U

Converts this type into the (usually inferred) input type within the given allocator.
Source§

impl<D> OwoColorize for D

Source§

fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>
where C: Color,

Set the foreground color generically Read more
Source§

fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>
where C: Color,

Set the background color generically. Read more
Source§

fn black(&self) -> FgColorDisplay<'_, Black, Self>

Change the foreground color to black
Source§

fn on_black(&self) -> BgColorDisplay<'_, Black, Self>

Change the background color to black
Source§

fn red(&self) -> FgColorDisplay<'_, Red, Self>

Change the foreground color to red
Source§

fn on_red(&self) -> BgColorDisplay<'_, Red, Self>

Change the background color to red
Source§

fn green(&self) -> FgColorDisplay<'_, Green, Self>

Change the foreground color to green
Source§

fn on_green(&self) -> BgColorDisplay<'_, Green, Self>

Change the background color to green
Source§

fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>

Change the foreground color to yellow
Source§

fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>

Change the background color to yellow
Source§

fn blue(&self) -> FgColorDisplay<'_, Blue, Self>

Change the foreground color to blue
Source§

fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>

Change the background color to blue
Source§

fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to magenta
Source§

fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to magenta
Source§

fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to purple
Source§

fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to purple
Source§

fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>

Change the foreground color to cyan
Source§

fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>

Change the background color to cyan
Source§

fn white(&self) -> FgColorDisplay<'_, White, Self>

Change the foreground color to white
Source§

fn on_white(&self) -> BgColorDisplay<'_, White, Self>

Change the background color to white
Source§

fn default_color(&self) -> FgColorDisplay<'_, Default, Self>

Change the foreground color to the terminal default
Source§

fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>

Change the background color to the terminal default
Source§

fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>

Change the foreground color to bright black
Source§

fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>

Change the background color to bright black
Source§

fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>

Change the foreground color to bright red
Source§

fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>

Change the background color to bright red
Source§

fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>

Change the foreground color to bright green
Source§

fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>

Change the background color to bright green
Source§

fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>

Change the foreground color to bright yellow
Source§

fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>

Change the background color to bright yellow
Source§

fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>

Change the foreground color to bright blue
Source§

fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>

Change the background color to bright blue
Source§

fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright magenta
Source§

fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright magenta
Source§

fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright purple
Source§

fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright purple
Source§

fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>

Change the foreground color to bright cyan
Source§

fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>

Change the background color to bright cyan
Source§

fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>

Change the foreground color to bright white
Source§

fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>

Change the background color to bright white
Source§

fn bold(&self) -> BoldDisplay<'_, Self>

Make the text bold
Source§

fn dimmed(&self) -> DimDisplay<'_, Self>

Make the text dim
Source§

fn italic(&self) -> ItalicDisplay<'_, Self>

Make the text italicized
Source§

fn underline(&self) -> UnderlineDisplay<'_, Self>

Make the text underlined
Make the text blink
Make the text blink (but fast!)
Source§

fn reversed(&self) -> ReversedDisplay<'_, Self>

Swap the foreground and background colors
Source§

fn hidden(&self) -> HiddenDisplay<'_, Self>

Hide the text
Source§

fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>

Cross out the text
Source§

fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the foreground color at runtime. Only use if you do not know which color will be used at compile-time. If the color is constant, use either OwoColorize::fg or a color-specific method, such as OwoColorize::green, Read more
Source§

fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the background color at runtime. Only use if you do not know what color to use at compile-time. If the color is constant, use either OwoColorize::bg or a color-specific method, such as OwoColorize::on_yellow, Read more
Source§

fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the foreground color to a specific RGB value.
Source§

fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the background color to a specific RGB value.
Source§

fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>

Sets the foreground color to an RGB value.
Source§

fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>

Sets the background color to an RGB value.
Source§

fn style(&self, style: Style) -> Styled<&Self>

Apply a runtime-determined style
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> ParallelSend for T