pub struct IntelliShellService { /* private fields */ }
Expand description
Service for managing user commands in IntelliShell
Implementations§
Source§impl IntelliShellService
impl IntelliShellService
Sourcepub async fn fix_command<F>(
&self,
command: &str,
history: Option<&str>,
on_progress: F,
) -> Result<Option<CommandFix>>where
F: FnMut(AiFixProgress),
pub async fn fix_command<F>(
&self,
command: &str,
history: Option<&str>,
on_progress: F,
) -> Result<Option<CommandFix>>where
F: FnMut(AiFixProgress),
Tries to fix a failing command by using an AI model.
If the command was successfully executed, this method will return None.
Source§impl IntelliShellService
impl IntelliShellService
Sourcepub async fn load_workspace_commands(&self) -> Result<u64>
pub async fn load_workspace_commands(&self) -> Result<u64>
Loads workspace commands from the .intellishell
file in the current working directory setting up the temporary
tables in the database if they don’t exist.
Returns the number of commands loaded.
Sourcepub async fn is_storage_empty(&self) -> Result<bool>
pub async fn is_storage_empty(&self) -> Result<bool>
Returns whether the commands storage is empty
Sourcepub async fn insert_command(&self, command: Command) -> Result<Command>
pub async fn insert_command(&self, command: Command) -> Result<Command>
Bookmarks a new command
Sourcepub async fn update_command(&self, command: Command) -> Result<Command>
pub async fn update_command(&self, command: Command) -> Result<Command>
Updates an existing command
Sourcepub async fn increment_command_usage(&self, command_id: Uuid) -> Result<i32>
pub async fn increment_command_usage(&self, command_id: Uuid) -> Result<i32>
Increases the usage of a command, returning the new usage count
Sourcepub async fn delete_command(&self, id: Uuid) -> Result<()>
pub async fn delete_command(&self, id: Uuid) -> Result<()>
Deletes an existing command
Searches for tags based on a query string
Sourcepub async fn search_commands(
&self,
mode: SearchMode,
user_only: bool,
query: &str,
) -> Result<(Vec<Command>, bool)>
pub async fn search_commands( &self, mode: SearchMode, user_only: bool, query: &str, ) -> Result<(Vec<Command>, bool)>
Searches for commands based on a query string, returning both the command and whether it was an alias match
Source§impl IntelliShellService
impl IntelliShellService
Sourcepub async fn import_commands(
&self,
commands: Pin<Box<dyn Stream<Item = Result<Command>> + Send>>,
overwrite_commands: bool,
) -> Result<(u64, u64)>
pub async fn import_commands( &self, commands: Pin<Box<dyn Stream<Item = Result<Command>> + Send>>, overwrite_commands: bool, ) -> Result<(u64, u64)>
Import commands, returning the number of new commands inserted and skipped (because they already existed)
Sourcepub async fn get_commands_from_location(
&self,
args: ImportCommandsProcess,
gist_config: GistConfig,
) -> Result<Pin<Box<dyn Stream<Item = Result<Command>> + Send>>>
pub async fn get_commands_from_location( &self, args: ImportCommandsProcess, gist_config: GistConfig, ) -> Result<Pin<Box<dyn Stream<Item = Result<Command>> + Send>>>
Returns a list of commands from a location
Sourcepub async fn prepare_commands_export(
&self,
filter: Option<Regex>,
) -> Result<Pin<Box<dyn Stream<Item = Result<Command>> + Send>>>
pub async fn prepare_commands_export( &self, filter: Option<Regex>, ) -> Result<Pin<Box<dyn Stream<Item = Result<Command>> + Send>>>
Prepare a stream of commands to export, optionally filtering them
Sourcepub async fn export_commands(
&self,
commands: Pin<Box<dyn Stream<Item = Result<Command>> + Send>>,
args: ExportCommandsProcess,
gist_config: GistConfig,
) -> Result<(u64, Option<String>)>
pub async fn export_commands( &self, commands: Pin<Box<dyn Stream<Item = Result<Command>> + Send>>, args: ExportCommandsProcess, gist_config: GistConfig, ) -> Result<(u64, Option<String>)>
Exports commands, returning the number of commands exported and an optional output to write to stdout
Source§impl IntelliShellService
impl IntelliShellService
Sourcepub async fn clear_tldr_commands(&self, category: Option<String>) -> Result<u64>
pub async fn clear_tldr_commands(&self, category: Option<String>) -> Result<u64>
Removes tldr commands matching the given criteria.
Returns the number of commands removed
Sourcepub async fn fetch_tldr_commands(
&self,
category: Option<String>,
commands: Vec<String>,
progress: Sender<TldrFetchProgress>,
) -> Result<(u64, u64)>
pub async fn fetch_tldr_commands( &self, category: Option<String>, commands: Vec<String>, progress: Sender<TldrFetchProgress>, ) -> Result<(u64, u64)>
Fetches and imports tldr commands matching the given criteria.
Returns the number of new commands inserted and potentially updated (because they already existed)
Source§impl IntelliShellService
impl IntelliShellService
Sourcepub fn replace_command_variables(
&self,
command: String,
values: Vec<(String, Option<String>)>,
use_env: bool,
) -> Result<String, Vec<String>>
pub fn replace_command_variables( &self, command: String, values: Vec<(String, Option<String>)>, use_env: bool, ) -> Result<String, Vec<String>>
Replaces the variables found in a command with their values.
If one or more values are not found, they will be returned as an error.
Sourcepub async fn search_variable_suggestions(
&self,
root_cmd: &str,
variable: &Variable,
context: impl IntoIterator<Item = (String, String)>,
) -> Result<Vec<VariableSuggestion>>
pub async fn search_variable_suggestions( &self, root_cmd: &str, variable: &Variable, context: impl IntoIterator<Item = (String, String)>, ) -> Result<Vec<VariableSuggestion>>
Searches suggestions for the given variable
Sourcepub async fn insert_variable_value(
&self,
value: VariableValue,
) -> Result<VariableValue>
pub async fn insert_variable_value( &self, value: VariableValue, ) -> Result<VariableValue>
Inserts a new variable value
Sourcepub async fn update_variable_value(
&self,
value: VariableValue,
) -> Result<VariableValue>
pub async fn update_variable_value( &self, value: VariableValue, ) -> Result<VariableValue>
Updates an existing variable value
Sourcepub async fn increment_variable_value_usage(
&self,
value_id: i32,
context: impl IntoIterator<Item = (String, String)>,
) -> Result<i32>
pub async fn increment_variable_value_usage( &self, value_id: i32, context: impl IntoIterator<Item = (String, String)>, ) -> Result<i32>
Increases the usage of a variable value, returning the new usage count
Sourcepub async fn delete_variable_value(&self, id: i32) -> Result<()>
pub async fn delete_variable_value(&self, id: i32) -> Result<()>
Deletes an existing variable value
Source§impl IntelliShellService
impl IntelliShellService
Sourcepub fn check_new_version(&self) -> Option<Version>
pub fn check_new_version(&self) -> Option<Version>
Checks if there’s a new version available. This method returns immediately.
On the first call, it spawns a background task to check for a new version.
Subsequent calls will return None
until the check is complete.
Once finished, it will always return the cached result.
Trait Implementations§
Source§impl Clone for IntelliShellService
impl Clone for IntelliShellService
Source§fn clone(&self) -> IntelliShellService
fn clone(&self) -> IntelliShellService
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for IntelliShellService
impl RefUnwindSafe for IntelliShellService
impl Send for IntelliShellService
impl Sync for IntelliShellService
impl Unpin for IntelliShellService
impl UnwindSafe for IntelliShellService
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> 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