summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
Diffstat (limited to 'Completion')
-rw-r--r--Completion/Unix/Command/_python30
1 files changed, 23 insertions, 7 deletions
diff --git a/Completion/Unix/Command/_python b/Completion/Unix/Command/_python
index be27f8300..ca1ed37fd 100644
--- a/Completion/Unix/Command/_python
+++ b/Completion/Unix/Command/_python
@@ -1,23 +1,39 @@
 #compdef python
 
-# Python 2.4
+# Python 2.6
+# Python 3.0
 
 local curcontext="$curcontext" state line expl
 typeset -A opt_args
 
-_arguments -C -s -S \
+local -a args
+
+if _pick_variant python3=Python\ 3 python2 --version; then
+  args=(
+    '(-bb)-b[issue warnings about str(bytes_instance), str(bytearray_instance) and comparing bytes/bytearray with str]'
+    '(-b)-bb[issue errors about str(bytes_instance), str(bytearray_instance) and comparing bytes/bytearray with str]'
+  )
+else
+  args=(
+    '-Q+[division options]:division option:(old warn warnall new)'
+    '(-tt)-t[issue warnings about inconsistent tab usage]'
+    '(-t)-tt[issue errors about inconsistent tab usage]'
+    '-3[warn about Python 3.x incompatibilities]'
+  )
+fi
+
+_arguments -C -s -S "$args[@]" \
+  "-B[don't write .py\[co\] files on import]" \
   '(1 -)-c+[program passed in as string (terminates option list)]:python command:' \
   '-d[debug output from parser]' \
-  '-E[ignore environment variables (such as PYTHONPATH)]' \
+  '-E[ignore PYTHON* environment variables (such as PYTHONPATH)]' \
   '(1 * -)-h[display help information]' \
   '-i[inspect interactively after running script]' \
   '(1 * -)-m[run library module as a script (terminates option list)]:module:->modules' \
-  '-O[optimize generated bytecode]' \
+  '-O[optimize generated bytecode slightly]' \
   '-OO[remove doc-strings in addition to the -O optimizations]' \
-  '-Q+[division options]:division option:(old warn warnall new)' \
+  "-s[don't add user site directory to sys.path]" \
   "-S[don't imply 'import site' on initialization]" \
-  '-t[issue warnings about inconsistent tab usage]' \
-  '-tt[issue errors about inconsistent tab usage]' \
   '-u[unbuffered binary stdout and stderr]' \
   '-v[verbose (trace import statements)]' \
   '(1 * -)-V[display version information]' \