From 53052335b920a7e62de409119e24291181b1ae86 Mon Sep 17 00:00:00 2001 From: Matthew Martin Date: Sun, 17 May 2020 15:16:18 -0500 Subject: 45831: Add _vi completer --- Completion/Unix/Command/_vi | 47 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 Completion/Unix/Command/_vi (limited to 'Completion/Unix') diff --git a/Completion/Unix/Command/_vi b/Completion/Unix/Command/_vi new file mode 100644 index 000000000..6201299a2 --- /dev/null +++ b/Completion/Unix/Command/_vi @@ -0,0 +1,47 @@ +#compdef ex vi view + +local -a args + +if _pick_variant vim='(N|)VIM' vi --version; then + _vim + return +fi + +args=( + '-c+[execute command on the first file loaded]:command:' + '-r[recover the named files]' + '-t+[start editing at the specified tag]:tag:' + '-w+[set window size to specified number of lines]:lines:' + '*: :_files' +) + +[[ $service != view ]] && args+=( + '-R[set readonly]' +) + +[[ $service == ex ]] && args+=( + '-s[enter batch mode]' + '-v[start in vi mode]' +) + +case $OSTYPE in + *bsd*|dragonfly*) + args+=( + "-F[don't copy the entire file on start]" + '-S[set the secure option]' + ) + [[ $service != ex ]] && args+=( + '-e[start in ex mode]' + ) + ;| + netbsd*) + args+=( + '-G[start in gtags mode]' + ) + [[ $service == vi ]] && args+=( + '-l[set the lisp and showmatch options]' + ) + ;; +esac + +_arguments -s -S -A '-*' : $args -- cgit 1.4.1