summaryrefslogtreecommitdiff
path: root/tools/swift.bash_completion
diff options
context:
space:
mode:
Diffstat (limited to 'tools/swift.bash_completion')
-rw-r--r--tools/swift.bash_completion32
1 files changed, 32 insertions, 0 deletions
diff --git a/tools/swift.bash_completion b/tools/swift.bash_completion
new file mode 100644
index 0000000..2f98a6b
--- /dev/null
+++ b/tools/swift.bash_completion
@@ -0,0 +1,32 @@
+declare -a _swift_opts # lazy init
+
+_swift_get_current_opt()
+{
+ local opt
+ for opt in ${_swift_opts[@]} ; do
+ if [[ $(echo ${COMP_WORDS[*]} |grep -c " $opt\$") > 0 ]] || [[ $(echo ${COMP_WORDS[*]} |grep -c " $opt ") > 0 ]] ; then
+ echo $opt
+ return 0
+ fi
+ done
+ echo ""
+ return 0
+}
+
+_swift()
+{
+ local opt cur prev sflags
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+
+ if [ "x$_swift_opts" == "x" ] ; then
+ _swift_opts=(`swift bash_completion "$sbc" | sed -e "s/-[-A-Za-z0-9_]*//g" -e "s/ */ /g"`)
+ fi
+
+ opt="$(_swift_get_current_opt)"
+ COMPREPLY=($(compgen -W "$(swift bash_completion $opt)" -- ${cur}))
+
+ return 0
+}
+complete -F _swift swift