summaryrefslogtreecommitdiff
path: root/src/cmds/comp/workspace_alias.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmds/comp/workspace_alias.rs')
-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;
+}