diff options
Diffstat (limited to 'src/cmds')
| -rw-r--r-- | src/cmds/comp/helpdoc.rs | 22 | ||||
| -rw-r--r-- | src/cmds/comp/sheetdump.rs | 16 | ||||
| -rw-r--r-- | src/cmds/comp/sheetedit.rs | 17 | ||||
| -rw-r--r-- | src/cmds/comp/version.rs | 17 | ||||
| -rw-r--r-- | src/cmds/comp/workspace_alias.rs | 24 | ||||
| -rw-r--r-- | src/cmds/comp/workspace_sheet.rs | 46 |
6 files changed, 91 insertions, 51 deletions
diff --git a/src/cmds/comp/helpdoc.rs b/src/cmds/comp/helpdoc.rs index 7f07cad..423e2bf 100644 --- a/src/cmds/comp/helpdoc.rs +++ b/src/cmds/comp/helpdoc.rs @@ -1,13 +1,17 @@ -use crate::systems::{comp::context::CompletionContext, helpdoc}; +use comp_system_macros::file_suggest; -pub fn comp(ctx: CompletionContext) -> Option<Vec<String>> { +use crate::systems::{ + comp::{context::CompletionContext, result::CompletionResult}, + helpdoc, +}; + +pub fn comp(ctx: CompletionContext) -> CompletionResult { if ctx.previous_word == "helpdoc" { - return Some( - helpdoc::get_helpdoc_list() - .iter() - .map(|s| s.to_string()) - .collect(), - ); + return helpdoc::get_helpdoc_list() + .iter() + .map(|s| s.to_string()) + .collect::<Vec<String>>() + .into(); } - None + file_suggest!() } diff --git a/src/cmds/comp/sheetdump.rs b/src/cmds/comp/sheetdump.rs index 3528cf3..e3105c0 100644 --- a/src/cmds/comp/sheetdump.rs +++ b/src/cmds/comp/sheetdump.rs @@ -1,11 +1,15 @@ -use cli_utils::string_vec; +use comp_system_macros::{file_suggest, suggest}; +use rust_i18n::t; -use crate::systems::comp::context::CompletionContext; +use crate::systems::comp::{context::CompletionContext, result::CompletionResult}; -pub fn comp(ctx: CompletionContext) -> Option<Vec<String>> { +pub fn comp(ctx: CompletionContext) -> CompletionResult { if ctx.current_word.starts_with('-') { - return Some(string_vec!["--no-sort", "--no-pretty"]); + return suggest!( + "--no-sort" = t!("sheetdump.comp.no_sort").trim(), + "--no-pretty" = t!("sheetdump.comp.no_pretty").trim() + ) + .into(); } - - None + file_suggest!() } diff --git a/src/cmds/comp/sheetedit.rs b/src/cmds/comp/sheetedit.rs index d210028..1ebf63d 100644 --- a/src/cmds/comp/sheetedit.rs +++ b/src/cmds/comp/sheetedit.rs @@ -1,15 +1,20 @@ -use cli_utils::string_vec; +use comp_system_macros::{file_suggest, suggest}; +use rust_i18n::t; -use crate::systems::comp::context::CompletionContext; +use crate::systems::comp::{context::CompletionContext, result::CompletionResult}; -pub fn comp(ctx: CompletionContext) -> Option<Vec<String>> { +pub fn comp(ctx: CompletionContext) -> CompletionResult { if ctx.current_word.starts_with('-') { - return Some(string_vec!["-e", "--editor"]); + return suggest!( + "-e" = t!("sheetedit.comp.editor").trim(), + "--editor" = t!("sheetedit.comp.editor").trim(), + ) + .into(); } if ctx.previous_word == "-e" || ctx.previous_word == "--editor" { - return Some(vec![]); + return suggest!().into(); } - None + file_suggest!() } diff --git a/src/cmds/comp/version.rs b/src/cmds/comp/version.rs index 1460214..2c6b674 100644 --- a/src/cmds/comp/version.rs +++ b/src/cmds/comp/version.rs @@ -1,11 +1,16 @@ -use cli_utils::string_vec; +use comp_system_macros::{file_suggest, suggest}; +use rust_i18n::t; -use crate::systems::comp::context::CompletionContext; +use crate::systems::comp::{context::CompletionContext, result::CompletionResult}; -pub fn comp(ctx: CompletionContext) -> Option<Vec<String>> { +pub fn comp(ctx: CompletionContext) -> CompletionResult { if ctx.current_word.starts_with('-') { - return Some(string_vec!["-c", "--with-compile-info", "--no-banner"]); + return suggest!( + "-c" = t!("version.comp.with_compile_info").trim(), + "--with-compile-info" = t!("version.comp.with_compile_info").trim(), + "--no-banner" = t!("version.comp.no_banner").trim() + ) + .into(); } - - None + file_suggest!() } diff --git a/src/cmds/comp/workspace_alias.rs b/src/cmds/comp/workspace_alias.rs index a8ac495..cd39c9d 100644 --- a/src/cmds/comp/workspace_alias.rs +++ b/src/cmds/comp/workspace_alias.rs @@ -1,17 +1,25 @@ -use cli_utils::string_vec; +use comp_system_macros::{file_suggest, suggest}; +use rust_i18n::t; -use crate::systems::comp::context::CompletionContext; +use crate::systems::comp::{context::CompletionContext, result::CompletionResult}; -pub fn comp(ctx: CompletionContext) -> Option<Vec<String>> { +pub fn comp(ctx: CompletionContext) -> CompletionResult { if ctx.current_word.starts_with('-') { - return Some(string_vec![ - "-i", "--insert", "-Q", "--query", "-e", "--erase", "--to", - ]); + return suggest!( + "-i" = t!("workspace_alias.comp.insert").trim(), + "--insert" = t!("workspace_alias.comp.insert").trim(), + "-Q" = t!("workspace_alias.comp.query").trim(), + "--query" = t!("workspace_alias.comp.query").trim(), + "-e" = t!("workspace_alias.comp.erase").trim(), + "--erase" = t!("workspace_alias.comp.erase").trim(), + "--to" = t!("workspace_alias.comp.to").trim() + ) + .into(); } if ctx.previous_word == "--to" { - return Some(vec![]); + return suggest!().into(); } - None + file_suggest!() } diff --git a/src/cmds/comp/workspace_sheet.rs b/src/cmds/comp/workspace_sheet.rs index 3162442..8318fbe 100644 --- a/src/cmds/comp/workspace_sheet.rs +++ b/src/cmds/comp/workspace_sheet.rs @@ -1,25 +1,39 @@ -use crate::systems::comp::context::CompletionContext; -use cli_utils::string_vec; +use comp_system_macros::{file_suggest, suggest}; use just_enough_vcs::system::workspace::workspace::manager::WorkspaceManager; +use rust_i18n::t; -pub fn comp(ctx: CompletionContext) -> Option<Vec<String>> { +use crate::systems::comp::{context::CompletionContext, result::CompletionResult}; + +pub fn comp(ctx: CompletionContext) -> CompletionResult { if ctx.current_word.starts_with('-') { - return Some(string_vec![ - "-A", - "--list-all", - "-p", - "--print-path", - "-n", - "--new", - "-d", - "--delete", - ]); + return suggest!( + "-A" = t!("workspace_sheet.comp.list_all").trim(), + "--list-all" = t!("workspace_sheet.comp.list_all").trim(), + "-p" = t!("workspace_sheet.comp.print_path").trim(), + "--print-path" = t!("workspace.sheet.comp.print_path").trim(), + "-n" = t!("workspace_sheet.comp.new").trim(), + "--new" = t!("workspace_sheet.comp.new").trim(), + "-d" = t!("workspace_sheet.comp.delete").trim(), + "--delete" = t!("workspace_sheet.comp.delete").trim() + ) + .into(); } if ctx.previous_word == "--new" || ctx.previous_word == "-n" { - return Some(vec![]); + return suggest!().into(); + } + + if ctx.previous_word == "--list-all" + || ctx.previous_word == "-A" + || ctx.previous_word == "--print-path" + || ctx.previous_word == "-p" + || ctx.previous_word == "--delete" + || ctx.previous_word == "-d" + { + let rt = tokio::runtime::Runtime::new().unwrap(); + let names = rt.block_on(WorkspaceManager::new().list_sheet_names()); + return names.into(); } - let rt = tokio::runtime::Runtime::new().unwrap(); - Some(rt.block_on(WorkspaceManager::new().list_sheet_names())) + file_suggest!() } |
