summaryrefslogtreecommitdiff
path: root/src/cmds/comp
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-03-19 21:38:00 +0800
committer魏曹先生 <1992414357@qq.com>2026-03-19 21:38:00 +0800
commite1f7bda5ab0c260c03d8789ed370d3adc89d5972 (patch)
treea8d334b47df3183dd47b0b1ff170667d2e11a9ee /src/cmds/comp
parent2e65a3f4afb97ba3fc4bcfce0bb5561c3a8408b4 (diff)
Add workspace alias command for ID mapping management
Diffstat (limited to 'src/cmds/comp')
-rw-r--r--src/cmds/comp/workspace_alias.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/cmds/comp/workspace_alias.rs b/src/cmds/comp/workspace_alias.rs
new file mode 100644
index 0000000..c2fc234
--- /dev/null
+++ b/src/cmds/comp/workspace_alias.rs
@@ -0,0 +1,25 @@
+use cli_utils::string_vec;
+
+use crate::systems::comp::context::CompletionContext;
+
+pub fn comp(ctx: CompletionContext) -> Option<Vec<String>> {
+ if ctx.all_words.contains(&"--insert".to_string()) {
+ if ctx.all_words.len() > 7 {
+ return None;
+ }
+ } else if ctx.all_words.len() > 5 {
+ return None;
+ }
+
+ if ctx.current_word.starts_with('-') {
+ return Some(string_vec![
+ "-i", "--insert", "-q", "--query", "-e", "--erase", "--to",
+ ]);
+ }
+
+ if ctx.previous_word == "--to" {
+ return Some(vec![]);
+ }
+
+ return None;
+}