summaryrefslogtreecommitdiff
path: root/completions/foostore.fish
diff options
context:
space:
mode:
Diffstat (limited to 'completions/foostore.fish')
-rw-r--r--completions/foostore.fish33
1 files changed, 33 insertions, 0 deletions
diff --git a/completions/foostore.fish b/completions/foostore.fish
new file mode 100644
index 0000000..88056f1
--- /dev/null
+++ b/completions/foostore.fish
@@ -0,0 +1,33 @@
+# Fish completion for foostore
+# Install to ~/.config/fish/completions/foostore.fish
+
+# Dynamically load commands from foostore
+function __fish_foostore_commands
+ foostore commands 2>/dev/null
+end
+
+# Get list of entries for completion
+function __fish_foostore_entries
+ # Only run if PIN is set to avoid interactive prompt
+ if set -q PIN
+ foostore ls 2>/dev/null | string replace -r ';.*$' '' | string trim
+ end
+end
+
+# Complete subcommands
+complete -c foostore -f -n "__fish_use_subcommand" -a "(__fish_foostore_commands)"
+
+# Complete search terms for commands that need them
+complete -c foostore -f -n "__fish_seen_subcommand_from search cat paste export pathexport open edit rm" -a "(__fish_foostore_entries)"
+
+# Complete file paths for import
+complete -c foostore -n "__fish_seen_subcommand_from import" -F
+
+# Complete directory paths for import destination
+complete -c foostore -n "__fish_seen_subcommand_from import; and __fish_is_nth_token 3" -F -a "(__fish_complete_directories)"
+
+# Force flag for import
+complete -c foostore -n "__fish_seen_subcommand_from import; and __fish_is_nth_token 4" -f -a "force"
+
+# Complete directory paths for import_r
+complete -c foostore -n "__fish_seen_subcommand_from import_r" -F -a "(__fish_complete_directories)"