pub enum HookArgs {
Show 40 variants
BeforeFileOpen {
path: PathBuf,
},
AfterFileOpen {
buffer_id: BufferId,
path: PathBuf,
},
BeforeFileSave {
buffer_id: BufferId,
path: PathBuf,
},
AfterFileSave {
buffer_id: BufferId,
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,
range: Range<usize>,
},
AfterDelete {
buffer_id: BufferId,
range: Range<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,
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,
},
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,
},
ActionPopupResult {
popup_id: String,
action_id: String,
},
ProcessOutput {
process_id: u64,
data: 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,
}Expand description
Arguments passed to hook callbacks
Variants§
BeforeFileOpen
Before a file is opened
AfterFileOpen
After a file is successfully opened
BeforeFileSave
Before a buffer is saved to disk
AfterFileSave
After a buffer is successfully saved
BufferClosed
A buffer was closed
BeforeInsert
Before text is inserted
AfterInsert
After text was inserted
Fields
BeforeDelete
Before text is deleted
AfterDelete
After text was deleted
Fields
CursorMoved
Cursor moved to a new position
Fields
BufferActivated
Buffer became active
BufferDeactivated
Buffer was deactivated
DiagnosticsUpdated
LSP diagnostics were updated for a file
Fields
PreCommand
Before a command/action is executed
PostCommand
After a command/action was executed
Idle
Editor has been idle for N milliseconds (no input)
EditorInitialized
Editor is initializing
RenderStart
Rendering is starting for a buffer (called once per buffer before render_line hooks)
RenderLine
A line is being rendered (called during the rendering pass)
LinesChanged
Lines have changed and need processing (batched for efficiency)
PromptChanged
Prompt input changed (user typed/edited)
PromptConfirmed
Prompt was confirmed (user pressed Enter)
PromptCancelled
Prompt was cancelled (user pressed Escape/Ctrl+G)
PromptSelectionChanged
Prompt suggestion selection changed (user navigated with Up/Down)
KeyboardShortcuts
Request keyboard shortcuts data (key, action) for the help buffer
LspReferences
LSP find references response received
Fields
locations: Vec<LspLocation>The locations where the symbol is referenced
ViewTransformRequest
View transform request
Fields
tokens: Vec<ViewTokenWire>Base tokens (Text, Newline, Space) from the source
MouseClick
Mouse click event
Fields
Mouse button: “left”, “right”, “middle”
MouseMove
Mouse move/hover event
Fields
LspServerRequest
LSP server request (server -> client)
Fields
ViewportChanged
Viewport changed (scrolled or resized)
Fields
LspServerError
LSP server failed to start or crashed
Fields
LspStatusClicked
User clicked the LSP status indicator
Fields
ActionPopupResult
User selected an action from an action popup
ProcessOutput
Background process output (streaming)
LanguageChanged
Buffer language was changed (e.g. via “Set Language” command or Save-As)
Fields
ThemeInspectKey
Request to inspect a theme key in the theme editor
Fields
MouseScroll
Mouse scroll event (wheel up/down)
Fields
Resize
Terminal was resized
FocusGained
Terminal focus was gained (e.g. user switched back to the editor)
Trait Implementations§
Source§impl Serialize for HookArgs
impl Serialize for HookArgs
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for HookArgs
impl RefUnwindSafe for HookArgs
impl Send for HookArgs
impl Sync for HookArgs
impl Unpin for HookArgs
impl UnsafeUnpin for HookArgs
impl UnwindSafe for HookArgs
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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)
fn as_any(&self) -> &(dyn Any + 'static)
&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)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&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
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more