Skip to main content

HookArgs

Enum HookArgs 

Source
pub enum HookArgs {
Show 54 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, }, TrustChanged { level: 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>, }, LspImplementation { 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, }, StatusBarTokenClicked { plugin_name: String, token_name: 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, window_id: u64, last_line: String, }, TerminalExited { terminal_id: u64, window_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
§

TrustChanged

The workspace trust level changed (e.g. Restricted → Trusted) via the trust modal, the status-bar trust pill, or a plugin-dispatched trust action. Fires after the new level is live and persisted and the plugin state snapshot has been refreshed, so handlers can read it via editor.workspaceTrustLevel() (or the level payload). Plugins use this to re-trigger trust-gated work inline — env-manager re-runs its activation flow the moment a folder is trusted, instead of waiting for the next window switch or editor restart. Deliberately a lightweight hook, not an editor rebuild (which would reset other sessions).

Fields

§level: 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

§

LspImplementation

LSP go-to-implementation response received

Fields

§symbol: String

The symbol name being queried

§locations: Vec<LspLocation>

The locations where the symbol is implemented

§

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”

§

StatusBarTokenClicked

User clicked a plugin-registered status-bar token. Fires regardless of which plugin registered it; subscribers filter by plugin_name + token_name. Plugins typically use this to re-open a deferred prompt or surface the relevant settings UI for what the token represents (e.g., trust chip click → trust elevation popup, env pill click → env activate popup).

Fields

§plugin_name: String

Plugin that originally called RegisterStatusBarElement.

§token_name: String

Token name within that plugin’s namespace.

§

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).

§window_id: u64

Editor window that owns this terminal (matches WindowId.0). Lets a plugin attribute output to a session — Orchestrator keys activity off the window, so output from ANY terminal in the window (not just the one the plugin spawned) counts. Fires on every PTY read, so in-place redraws and carriage-return progress bars register as activity too, not just newlines.

§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).

§window_id: u64

Editor window that owned this terminal (matches WindowId.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> ParallelSend for T

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