[Bash-completion-commits] [bash-completion] 02/03: ri: Fix class completion with ri >= 3.

Ville Skyttä scop-guest at moszumanska.debian.org
Fri Feb 21 17:40:12 UTC 2014


This is an automated email from the git hooks/post-receive script.

scop-guest pushed a commit to branch master
in repository bash-completion.

commit 3cdcfdeda65a281a4f175a6b2f330c983a4bd217
Author: Ville Skyttä <ville.skytta at iki.fi>
Date:   Fri Feb 21 19:37:18 2014 +0200

    ri: Fix class completion with ri >= 3.
---
 completions/ri | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/completions/ri b/completions/ri
index 2210329..7cc8dad 100644
--- a/completions/ri
+++ b/completions/ri
@@ -37,7 +37,7 @@ _ri()
     local cur prev words cword
     _init_completion -n : || return
 
-    local class method prefix ri_path ri_version separator IFS
+    local class method prefix ri_path ri_version ri_major separator IFS
     local -a classes
 
     ri_path=$(type -p ri)
@@ -46,6 +46,7 @@ _ri()
     # from being captured when used with Ruby 1.8.1 and later
     ri_version="$(ruby -W0 $ri_path -v 2>&1)" || ri_version=integrated
     [[ $ri_version != ${ri_version%200*} ]] && ri_version=integrated
+    [[ $ri_version =~ ri[[:space:]]v?([0-9]+) ]] && ri_major=${BASH_REMATCH[1]}
 
     # need to also split on commas
     IFS=$', \n\t'
@@ -64,6 +65,8 @@ _ri()
         # integrated ri from Ruby 1.9
         classes=( $( ri -c 2>/dev/null | ruby -ne 'if /^\s*$/..$stdin.eof then \
         if /, [A-Z]+/ then print; end; end' 2>/dev/null ) )
+    elif [[ $ri_major && $ri_major -ge 3 ]]; then
+        classes=( $( ri -l 2>/dev/null ) )
     elif [[ $ri_version == "ri 1.8a" ]]; then
         classes=( $( ruby -W0 $ri_path | \
             ruby -ne 'if /^'"'"'ri'"'"' has/..$stdin.eof then \

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/bash-completion/bash-completion.git



More information about the Bash-completion-commits mailing list