From 6014bbdb459e30aee0f5ec4a7e0bdfb43a264adf Mon Sep 17 00:00:00 2001 From: Tanaka Akira Date: Sun, 17 Oct 1999 04:52:56 +0000 Subject: zsh-3.1.6-bart-7 --- Completion/Builtins/.distfiles | 4 +- Completion/Commands/.distfiles | 3 +- Completion/Commands/_history_complete_word | 122 ++++++----------------------- Completion/Linux/_rpm | 9 +-- Completion/User/.distfiles | 17 ++-- Completion/User/_man | 9 ++- Completion/X/.distfiles | 2 +- 7 files changed, 48 insertions(+), 118 deletions(-) (limited to 'Completion') diff --git a/Completion/Builtins/.distfiles b/Completion/Builtins/.distfiles index 633dc2d01..8fc8fcc6b 100644 --- a/Completion/Builtins/.distfiles +++ b/Completion/Builtins/.distfiles @@ -2,6 +2,6 @@ DISTFILES_SRC=' .distfiles _aliases _arrays _autoload _bg_jobs _bindkey _builtin _cd _command _compdef _disable _echotc _enable _fc _functions _hash _jobs _kill - _limits _sched _set _setopt _source _stat _trap _unhash _unsetopt - _vars_eq _wait _which _zftp _zle _zmodload + _limits _nothing _sched _set _setopt _source _stat _trap _unhash + _unsetopt _vars_eq _wait _which _zftp _zle _zmodload ' diff --git a/Completion/Commands/.distfiles b/Completion/Commands/.distfiles index 74072b5de..9f7b73b49 100644 --- a/Completion/Commands/.distfiles +++ b/Completion/Commands/.distfiles @@ -1,4 +1,5 @@ DISTFILES_SRC=' - .distfiles _correct_filename _correct_word _expand_word + .distfiles + _bash_completions _correct_filename _correct_word _expand_word _history_complete_word _read_comp _most_recent_file _verbose_list ' diff --git a/Completion/Commands/_history_complete_word b/Completion/Commands/_history_complete_word index ecd2471e5..f459046d2 100644 --- a/Completion/Commands/_history_complete_word +++ b/Completion/Commands/_history_complete_word @@ -1,107 +1,31 @@ -#compdef -K _history-complete-older complete-word \e/ _history-complete-newer complete-word \e, -# -# Complete words from the history -# -# by Adam Spiers, with help gratefully received from -# Sven Wischnowsky and Bart Schaefer -# -# Available configuration keys: -# -# history_list -- display lists of available matches -# history_stop -- prevent looping at beginning and end of matches -# during menu-completion -# history_sort -- sort matches lexically (default is to sort by age) -# history_remove_all_dups -- -# remove /all/ duplicate matches rather than just -# consecutives -# +#compdef -k complete-word \e/ -_history_complete_word () { - local expl direction +local expl - if [[ $WIDGET = *newer ]]; then - direction=older +if [[ -n "$compstate[old_list]" && -n "$compconfig[history_stop]" ]]; then + if [[ -z "$_hist_menu_end" && + compstate[old_insert] -lt _hist_menu_length ]]; then + compstate[old_list]=keep + compstate[insert]=$((compstate[old_insert]+1)) else - direction=newer - fi - - [[ -z "$compconfig[history_list]" ]] && compstate[list]='' - - if [[ -n "$compstate[old_list]" && - ( -n "$compconfig[history_stop]" || "$compstate[insert]" = menu ) ]]; then - # array of matches is newest -> oldest (reverse of history order) - if [[ "$direction" == 'older' ]]; then - if [[ compstate[old_insert] -eq $_hist_menu_length || - "$_hist_stop" == 'oldest' ]]; then - _hist_stop='oldest' - [[ "$compconfig[history_stop]" = verbose ]] && - _message 'beginning of history reached' - elif [[ "$_hist_stop" == 'newest' ]]; then - zle -Rc - _history_complete_word_gen_matches - else - compstate[old_list]=keep - (( compstate[insert] = compstate[old_insert] + 1 )) - fi - elif [[ "$direction" == 'newer' ]]; then - if [[ compstate[old_insert] -eq 1 || "$_hist_stop" == 'newest' ]]; then - _hist_stop='newest' - [[ "$compconfig[history_stop]" = verbose ]] && - _message 'end of history reached' - elif [[ "$_hist_stop" == 'oldest' ]]; then - zle -Rc - _history_complete_word_gen_matches - else - compstate[old_list]=keep - (( compstate[insert] = compstate[old_insert] - 1 )) - fi - fi - else - _hist_stop='' - _hist_old_prefix="$PREFIX" - _history_complete_word_gen_matches - fi - - [[ -n "$compstate[nmatches]" ]] -} - -_history_complete_word_gen_matches () { - if [[ -n "$compconfig[history_list]" ]]; then - if [[ -n "$compconfig[history_sort]" ]]; then - _description expl 'history word' - else - _description -V expl 'history word' - fi - else - if [[ -n "$compconfig[history_sort]" ]]; then - expl=() + _hist_menu_end=yes + if [[ "$compconfig[history_stop]" = verbose ]]; then + _message 'end of history reached' else - expl=('-V' '') + compstate[old_list]=keep + compstate[insert]=_hist_menu_length fi fi - - [[ -n "$_hist_stop" ]] && PREFIX="$_hist_old_prefix" - - local rem_dups - if [[ -n "$compconfig[history_remove_all_dups]" ]]; then - rem_dups='' +else + if [[ -n "$compconfig[history_sort]" ]]; then + _description expl 'history word' else - rem_dups='-1' + _description -V expl 'history word' fi - - compgen "$expl[@]" $rem_dups -Q -H 0 '' - _hist_menu_length="$compstate[nmatches]" - - case "$direction" in - newer) compstate[insert]=$_hist_menu_length - [[ -n "$_hist_stop" ]] && (( compstate[insert]-- )) - ;; - older) compstate[insert]=1 - [[ -n "$_hist_stop" ]] && (( compstate[insert]++ )) - ;; - esac - - [[ -n "$_hist_stop" ]] && _hist_stop='' -} - -_history_complete_word "$@" + compgen "$expl[@]" -Q -H 0 '' + if [[ -n "$compconfig[history_stop]" ]]; then + compstate[insert]=1 + _hist_menu_length="$compstate[nmatches]" + _hist_menu_end='' + fi +fi diff --git a/Completion/Linux/_rpm b/Completion/Linux/_rpm index a09d16587..f54f77522 100644 --- a/Completion/Linux/_rpm +++ b/Completion/Linux/_rpm @@ -148,7 +148,7 @@ while [[ -n "$state" ]]; do '*:RPM package:->package' && ret=0 ;; build_b) - tmp=( '*:spec file:_files -g \*.spec' ) + tmp=( '*:spec file:_path_files -/ -g \*.spec' ) ;& build_t) (( $#tmp )) || tmp=( '*:tar file:_files -g \*.\(\#i\)tar\(.\*\|\)' ) @@ -188,17 +188,14 @@ while [[ -n "$state" ]]; do ;& package) _description expl 'RPM package' - if (( ! $+installed_rpms )); then - installed_rpms=( $(rpm -qa) ) - fi - compadd "$expl[@]" -M 'r:|-=* r:|=*' - $installed_rpms && ret=0 + compadd "$expl[@]" -M 'r:|-=* r:|=*' - $(rpm -qa) && ret=0 ;; package_file) if compset -P ftp://; then _hosts -S/ && ret=0 else _description expl 'RPM package file' - _files "$expl[@]" -g '*.(#i)rpm' && ret=0 + _path_files "$expl[@]" -/ -g '*.(#i)rpm' && ret=0 _description expl 'ftp URL prefix' compadd "$expl[@]" ftp:// fi diff --git a/Completion/User/.distfiles b/Completion/User/.distfiles index 35dfd2f3d..1f97d30df 100644 --- a/Completion/User/.distfiles +++ b/Completion/User/.distfiles @@ -1,11 +1,12 @@ DISTFILES_SRC=' .distfiles - _a2ps _bison _bunzip2 _bzip2 _chown _compress _configure _cvs _dd - _dir_list _dirs _dvi _find _flex _gcc _gdb _gprof _groups _gs _gunzip - _gv _gzip _hosts _ispell _lynx _mailboxes _make _man _mh _mount _mutt - _my_accounts _nslookup _other_accounts _patch _pbm _pdf _perl_basepods - _perl_builtin_funcs _perl_modules _perldoc _ports _ps _pspdf _rcs - _rlogin _sh _socket _ssh _strip _stty _su _tar _tar_archive _telnet - _tex _tiff _uncompress _urls _use_lo _users _users_on _webbrowser _wget - _xargs _yodl _yp + _a2ps _archie _bison _bunzip2 _bzip2 _chown _compress _configure _cvs + _dd _dir_list _dirs _dvi _find _flex _gcc _gdb _gprof _groups _gs + _gunzip _gv _gzip _hosts _ispell _killall _lynx _mailboxes _make _man + _mh _mount _mutt _my_accounts _netscape _nslookup _other_accounts + _pack _patch _pbm _pdf _perl_basepods _perl_builtin_funcs + _perl_modules _perldoc _ports _prompt _ps _pspdf _rcs _rlogin _sh + _socket _ssh _strip _stty _su _tar _tar_archive _telnet _tex _tiff + _uncompress _unpack _urls _use_lo _user_at_host _users _users_on + _webbrowser _wget _whereis _whois _xargs _yodl _yp ' diff --git a/Completion/User/_man b/Completion/User/_man index 0c148a518..fd5702227 100644 --- a/Completion/User/_man +++ b/Completion/User/_man @@ -14,7 +14,14 @@ if [[ -n $_comp_correct ]]; then approx="(#a${_comp_correct})" fi -(( $#manpath )) || manpath=( ${(s.:.)$(manpath 2>/dev/null)} ) || +if (( ! $#manpath )); then + local mp + mp=($(manpath 2>/dev/null)) + [[ "$mp" == *:* ]] && mp=( ${(s.:.)mp} ) + manpath=( $mp ) +fi + +(( $#manpath )) || manpath=( /usr/man(-/N) /(opt|usr)/(dt|share|X11R6|local)/(cat|)man(-/N) ) # `sman' is the SGML manual directory for Solaris 7. diff --git a/Completion/X/.distfiles b/Completion/X/.distfiles index af825329f..475bba785 100644 --- a/Completion/X/.distfiles +++ b/Completion/X/.distfiles @@ -2,6 +2,6 @@ DISTFILES_SRC=' .distfiles _x_arguments _x_borderwidth _x_color _x_cursor _x_display _x_extension _x_font _x_geometry _x_keysym _x_locale _x_modifier _x_name _x_resource - _x_selection_timeout _x_title _x_window _xdvi _xfig _xmodmap + _x_selection_timeout _x_title _x_window _xdvi _xfig _xmodmap _xrdb _xt_arguments _xt_session_id _xterm _xutils _xv ' -- cgit 1.4.1