summaryrefslogtreecommitdiff
path: root/src/cmds/comp
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmds/comp')
-rw-r--r--src/cmds/comp/workspace_sheet.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/cmds/comp/workspace_sheet.rs b/src/cmds/comp/workspace_sheet.rs
new file mode 100644
index 0000000..3d7e6d5
--- /dev/null
+++ b/src/cmds/comp/workspace_sheet.rs
@@ -0,0 +1,20 @@
+use crate::systems::comp::context::CompletionContext;
+use just_enough_vcs::system::workspace::workspace::manager::WorkspaceManager;
+
+pub fn comp(ctx: CompletionContext) -> Option<Vec<String>> {
+ if ctx.current_word.starts_with('-') {
+ return Some(vec![
+ "--list-all".to_string(),
+ "--print-path".to_string(),
+ "--new".to_string(),
+ "--delete".to_string(),
+ ]);
+ }
+
+ if ctx.previous_word == "--new" || ctx.previous_word == "-n" {
+ return Some(vec![]);
+ }
+
+ let rt = tokio::runtime::Runtime::new().unwrap();
+ Some(rt.block_on(WorkspaceManager::new().list_sheet_names()))
+}