????JFIF??x?x????'
| Server IP : 79.136.114.73 / Your IP : 216.73.216.3 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/bash-completion/completions/ |
Upload File : |
# ri completion for Ruby documentation -*- shell-script -*-
# by Ian Macdonald <ian@caliban.org>
_ri_get_methods()
{
local regex
if [[ $ri_version == integrated ]]; then
if [[ -z $separator ]]; then
regex="(Instance|Class)"
elif [[ $separator == "#" ]]; then
regex=Instance
else
regex=Class
fi
COMPREPLY+=( \
"$( ri ${classes[@]} 2>/dev/null | ruby -ane \
'if /^'"$regex"' methods:/.../^------------------|^$/ and \
/^ / then print $_.split(/, |,$/).grep(/^[^\[]*$/).join("\n"); \
end' 2>/dev/null | sort -u )" )
else
# older versions of ri didn't distinguish between class/module and
# instance methods
COMPREPLY+=( \
"$( ruby -W0 $ri_path ${classes[@]} | ruby -ane \
'if /^-/.../^-/ and ! /^-/ and ! /^ +(class|module): / then \
print $_.split(/, |,$| +/).grep(/^[^\[]*$/).join("\n"); \
end' | sort -u )" )
fi
COMPREPLY=( $( compgen $prefix -W '${COMPREPLY[@]}' -- $method ) )
}
# needs at least Ruby 1.8.0 in order to use -W0
_ri()
{
local cur prev words cword
_init_completion || return
local class method prefix ri_path ri_version separator IFS
local -a classes
ri_path=$(type -p ri)
# which version of ri are we using?
# -W0 is required here to stop warnings from older versions of 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
# need to also split on commas
IFS=$', \n\t'
if [[ "$cur" == [A-Z]*[#.]* ]]; then
[[ "$cur" == *#* ]] && separator=# || separator=.
# we're completing on class and method
class=${cur%$separator*}
method=${cur#*$separator}
classes=( $class )
prefix="-P $class$separator"
_ri_get_methods
return 0
fi
if [[ $ri_version == integrated ]]; then
# 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_version == "ri 1.8a" ]]; then
classes=( $( ruby -W0 $ri_path | \
ruby -ne 'if /^'"'"'ri'"'"' has/..$stdin.eof then \
if /^ .*[A-Z]/ then print; end; end' ))
else
classes=( $( ruby -W0 $ri_path | \
ruby -ne 'if /^I have/..$stdin.eof then \
if /^ .*[A-Z]/ then print; end; end' ))
fi
COMPREPLY=( $( compgen -W '${classes[@]}' -- "$cur" ) )
if [[ "$cur" == [A-Z]* ]]; then
# we're completing on class or module alone
return 0
fi
# we're completing on methods
method=$cur
_ri_get_methods
} &&
complete -F _ri ri
# ex: ts=4 sw=4 et filetype=sh