summaryrefslogtreecommitdiffstats
path: root/completions/mypy
diff options
context:
space:
mode:
Diffstat (limited to 'completions/mypy')
-rw-r--r--completions/mypy57
1 files changed, 57 insertions, 0 deletions
diff --git a/completions/mypy b/completions/mypy
new file mode 100644
index 0000000..534d575
--- /dev/null
+++ b/completions/mypy
@@ -0,0 +1,57 @@
+# mypy completion -*- shell-script -*-
+
+_mypy()
+{
+ local cur prev words cword split
+ _init_completion -s || return
+
+ [[ $cword -gt 2 && ${words[cword - 2]} == --shadow-file ]] &&
+ prev=--shadow-file # hack; takes two args
+
+ case $prev in
+ --help | --version | --python-version | --platform | --always-true | \
+ --always-false | --find-occurrences | --package | --command | -!(-*)[hVpc])
+ return
+ ;;
+ --config-file)
+ _filedir
+ return
+ ;;
+ --follow-imports)
+ COMPREPLY=($(compgen -W 'normal silent skip error' -- "$cur"))
+ return
+ ;;
+ --python-executable)
+ COMPREPLY=($(compgen -c -- "${cur:-py}"))
+ return
+ ;;
+ --*-dir | --*-report)
+ _filedir -d
+ return
+ ;;
+ --custom-typing | --module | -!(-*)m)
+ _xfunc python _python_modules
+ return
+ ;;
+ --shadow-file)
+ _filedir '@(py|pyi)'
+ return
+ ;;
+ --junit-xml)
+ _filedir xml
+ return
+ ;;
+ esac
+
+ $split && return
+
+ if [[ $cur == -* ]]; then
+ COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
+ return
+ fi
+
+ _filedir '@(py|pyi)'
+} &&
+ complete -F _mypy mypy
+
+# ex: filetype=sh