-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path_proj_completion.bash
More file actions
38 lines (32 loc) · 1.13 KB
/
Copy path_proj_completion.bash
File metadata and controls
38 lines (32 loc) · 1.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash
# Bash completion for proj CLI
# Source this file in your .bashrc:
# source ~/bin/proj/_proj_completion.bash
_proj_completion() {
local cur prev commands
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
commands="list path docs add set-docs set-category set-description set-visibility set-repo set-next-steps remove scan export-daemon complete pause archive reactivate help version"
if [ $COMP_CWORD -eq 1 ]; then
# Complete commands
COMPREPLY=( $(compgen -W "${commands}" -- ${cur}) )
return 0
fi
if [ $COMP_CWORD -eq 2 ]; then
case "${prev}" in
path|docs|remove|complete|pause|archive|reactivate|set-docs|set-category|set-description|set-visibility|set-repo|set-next-steps)
# Complete with project names
local projects=$(proj list --json 2>/dev/null | jq -r '.projects[].name' 2>/dev/null)
COMPREPLY=( $(compgen -W "${projects}" -- ${cur}) )
return 0
;;
add|scan)
# Complete with directories
COMPREPLY=( $(compgen -d -- ${cur}) )
return 0
;;
esac
fi
}
complete -F _proj_completion proj