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.
Sourcepub async fn suggest_commands(&self, prompt: &str) -> Result<Vec<Command>>
pub async fn suggest_commands(&self, prompt: &str) -> Result<Vec<Command>>
Suggest command templates from an user prompt using an AI model
Source§impl IntelliShellService
impl IntelliShellService
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 list_variable_completion_root_cmds(&self) -> Result<Vec<String>>
pub async fn list_variable_completion_root_cmds(&self) -> Result<Vec<String>>
Lists all unique root commands for variable completions
Sourcepub async fn list_variable_completions(
&self,
root_cmd: Option<&str>,
) -> Result<Vec<VariableCompletion>>
pub async fn list_variable_completions( &self, root_cmd: Option<&str>, ) -> Result<Vec<VariableCompletion>>
Lists variable completions, optionally filtering by root command and variable name
Sourcepub async fn create_variable_completion(
&self,
var: VariableCompletion,
) -> Result<VariableCompletion>
pub async fn create_variable_completion( &self, var: VariableCompletion, ) -> Result<VariableCompletion>
Creates a new variable completion
Sourcepub async fn update_variable_completion(
&self,
var: VariableCompletion,
) -> Result<VariableCompletion>
pub async fn update_variable_completion( &self, var: VariableCompletion, ) -> Result<VariableCompletion>
Updates a variable completion
Sourcepub async fn delete_variable_completion(&self, id: Uuid) -> Result<()>
pub async fn delete_variable_completion(&self, id: Uuid) -> Result<()>
Deletes a variable completion
Sourcepub async fn delete_variable_completion_by_key(
&self,
root_cmd: impl AsRef<str>,
variable_name: impl AsRef<str>,
) -> Result<Option<VariableCompletion>>
pub async fn delete_variable_completion_by_key( &self, root_cmd: impl AsRef<str>, variable_name: impl AsRef<str>, ) -> Result<Option<VariableCompletion>>
Deletes a variable completion by its unique key, returning it
Source§impl IntelliShellService
impl IntelliShellService
Sourcepub async fn prepare_items_export(
&self,
filter: Option<Regex>,
) -> Result<ImportExportStream>
pub async fn prepare_items_export( &self, filter: Option<Regex>, ) -> Result<ImportExportStream>
Prepare a stream of items to export, optionally filtering commands
Sourcepub async fn export_items(
&self,
items: ImportExportStream,
args: ExportItemsProcess,
gist_config: GistConfig,
) -> Result<ExportStats>
pub async fn export_items( &self, items: ImportExportStream, args: ExportItemsProcess, gist_config: GistConfig, ) -> Result<ExportStats>
Exports given commands and completions
Source§impl IntelliShellService
impl IntelliShellService
Sourcepub async fn import_items(
&self,
items: ImportExportStream,
overwrite: bool,
) -> Result<ImportStats>
pub async fn import_items( &self, items: ImportExportStream, overwrite: bool, ) -> Result<ImportStats>
Import commands and completions
Sourcepub async fn get_items_from_location(
&self,
args: ImportItemsProcess,
gist_config: GistConfig,
) -> Result<ImportExportStream>
pub async fn get_items_from_location( &self, args: ImportItemsProcess, gist_config: GistConfig, ) -> Result<ImportExportStream>
Returns a list of items to import from a location
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<ImportStats>
pub async fn fetch_tldr_commands( &self, category: Option<String>, commands: Vec<String>, progress: Sender<TldrFetchProgress>, ) -> Result<ImportStats>
Fetches and imports tldr commands matching the given criteria
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,
flat_root_cmd: &str,
variable: &Variable,
context: BTreeMap<String, String>,
) -> Result<(Vec<(u8, VariableSuggestion, f64)>, Option<impl Stream<Item = (f64, Result<Vec<String>, String>)> + use<>>)>
pub async fn search_variable_suggestions( &self, flat_root_cmd: &str, variable: &Variable, context: BTreeMap<String, String>, ) -> Result<(Vec<(u8, VariableSuggestion, f64)>, Option<impl Stream<Item = (f64, Result<Vec<String>, String>)> + use<>>)>
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: BTreeMap<String, String>,
) -> Result<i32>
pub async fn increment_variable_value_usage( &self, value_id: i32, context: BTreeMap<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.
Source§impl IntelliShellService
impl IntelliShellService
Sourcepub fn new(
storage: SqliteStorage,
tuning: SearchTuning,
ai: AiConfig,
data_dir: impl AsRef<Path>,
check_updates: bool,
) -> Self
pub fn new( storage: SqliteStorage, tuning: SearchTuning, ai: AiConfig, data_dir: impl AsRef<Path>, check_updates: bool, ) -> Self
Creates a new instance of IntelliShellService
pub async fn query(&self, sql: String) -> Result<String>
Sourcepub async fn load_workspace_items(&self) -> Result<bool>
pub async fn load_workspace_items(&self) -> Result<bool>
Loads workspace commands and completions from the .intellishell
file in the current working directory setting
up the temporary tables in the database if they don’t exist.
Returns whether a workspace file was processed or not
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