about summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-10-17 04:52:56 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-10-17 04:52:56 +0000
commit6014bbdb459e30aee0f5ec4a7e0bdfb43a264adf (patch)
treed04738e985ed498621fb5f4930ffd4ce0143ee42 /Completion
parentbf23cb8fe738c1fcd2c1b8a458f4316a3b782652 (diff)
downloadzsh-6014bbdb459e30aee0f5ec4a7e0bdfb43a264adf.tar.gz
zsh-6014bbdb459e30aee0f5ec4a7e0bdfb43a264adf.tar.xz
zsh-6014bbdb459e30aee0f5ec4a7e0bdfb43a264adf.zip
zsh-3.1.6-bart-7 zsh-3.1.6-bart-7
Diffstat (limited to 'Completion')
-rw-r--r--Completion/Builtins/.distfiles4
-rw-r--r--Completion/Commands/.distfiles3
-rw-r--r--Completion/Commands/_history_complete_word122
-rw-r--r--Completion/Linux/_rpm9
-rw-r--r--Completion/User/.distfiles17
-rw-r--r--Completion/User/_man9
-rw-r--r--Completion/X/.distfiles2
7 files changed, 48 insertions, 118 deletions
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
 '