fish-shell/share/completions/rbenv.fish

126 lines
4.5 KiB
Fish
Raw Normal View History

2012-07-29 00:42:09 +08:00
# fish completion for rbenv
function __fish_rbenv_needs_command
set -l cmd (commandline -xpc)
if test (count $cmd) -eq 1
return 0
end
2012-07-29 00:42:09 +08:00
return 1
2012-07-29 00:42:09 +08:00
end
function __fish_rbenv_using_command
set -l cmd (commandline -xpc)
if test (count $cmd) -gt 1
if test $argv[1] = $cmd[2]
return 0
end
2012-07-29 00:42:09 +08:00
end
return 1
2012-07-29 00:42:09 +08:00
end
function __fish_rbenv_executables
rbenv exec --complete
2012-07-29 00:42:09 +08:00
end
function __fish_rbenv_installed_rubies
rbenv versions --bare
2012-07-29 00:42:09 +08:00
end
function __fish_rbenv_official_rubies
if command -sq ruby-build
ruby-build --definitions
else
# Remove trailing spaces, otherwise completion options appear like
# "\ \ option"
rbenv install --list | sed "s/^[[:space:]]*//"
end
2012-07-29 00:42:09 +08:00
end
function __fish_rbenv_prefixes
rbenv prefix --complete
2012-07-29 00:42:09 +08:00
end
### commands
complete -f -c rbenv -n __fish_rbenv_needs_command -a commands -d 'List all available rbenv commands'
2020-01-29 05:58:58 +08:00
complete -f -c rbenv -n '__fish_rbenv_using_command commands' -a '--sh --no-sh'
2012-07-29 00:42:09 +08:00
### completions
complete -f -c rbenv -n __fish_rbenv_needs_command -a completions
2012-07-29 00:42:09 +08:00
### exec
complete -f -c rbenv -n __fish_rbenv_needs_command -a exec
2012-07-29 00:42:09 +08:00
complete -f -c rbenv -n '__fish_rbenv_using_command exec' -a '(__fish_rbenv_executables)'
### global
complete -f -c rbenv -n __fish_rbenv_needs_command -a global -d 'Set or show the global Ruby version'
2012-07-29 00:42:09 +08:00
complete -f -c rbenv -n '__fish_rbenv_using_command global' -a '(__fish_rbenv_installed_rubies)'
### help
complete -f -c rbenv -n __fish_rbenv_needs_command -a help
2012-07-29 00:42:09 +08:00
### hooks
complete -f -c rbenv -n __fish_rbenv_needs_command -a hooks -d 'List hook scripts for a given rbenv command'
2012-07-29 00:42:09 +08:00
### init
complete -f -c rbenv -n __fish_rbenv_needs_command -a init -d 'Configure the shell environment for rbenv'
2012-07-29 00:42:09 +08:00
### install
complete -f -c rbenv -n __fish_rbenv_needs_command -a install -d 'Install a Ruby version'
2012-07-29 00:42:09 +08:00
complete -f -c rbenv -n '__fish_rbenv_using_command install' -a '(__fish_rbenv_official_rubies)'
### uninstall
complete -f -c rbenv -n __fish_rbenv_needs_command -a uninstall -d 'Uninstall a Ruby version'
complete -f -c rbenv -n '__fish_rbenv_using_command uninstall' -a '(__fish_rbenv_installed_rubies)'
2012-07-29 00:42:09 +08:00
### local
complete -f -c rbenv -n __fish_rbenv_needs_command -a local -d 'Set or show the local application-specific Ruby version'
2012-07-29 00:42:09 +08:00
complete -f -c rbenv -n '__fish_rbenv_using_command local' -a '(__fish_rbenv_installed_rubies)'
### prefix
complete -f -c rbenv -n __fish_rbenv_needs_command -a prefix -d 'Display the directory where a Ruby version is installed'
2012-07-29 00:42:09 +08:00
complete -f -c rbenv -n '__fish_rbenv_using_command prefix' -a '(__fish_rbenv_prefixes)'
### rehash
complete -f -c rbenv -n __fish_rbenv_needs_command -a rehash -d 'Rehash rbenv shims (run this after installing executables)'
2012-07-29 00:42:09 +08:00
### root
complete -f -c rbenv -n __fish_rbenv_needs_command -a root -d 'Display the root directory where versions and shims are kept'
2012-07-29 00:42:09 +08:00
### shell
complete -f -c rbenv -n __fish_rbenv_needs_command -a shell -d 'Set or show the shell-specific Ruby version'
2012-07-29 00:42:09 +08:00
complete -f -c rbenv -n '__fish_rbenv_using_command shell' -a '--unset (__fish_rbenv_installed_rubies)'
### shims
complete -f -c rbenv -n __fish_rbenv_needs_command -a shims -d 'List existing rbenv shims'
complete -f -c rbenv -n '__fish_rbenv_using_command shims' -a --short
2012-07-29 00:42:09 +08:00
### version
complete -f -c rbenv -n __fish_rbenv_needs_command -a version -d 'Show the current Ruby version & how it was selected'
2012-07-29 00:42:09 +08:00
### version-file
complete -f -c rbenv -n __fish_rbenv_needs_command -a version-file -d 'Detect the file that sets the current rbenv version'
2012-07-29 00:42:09 +08:00
### version-file-read
complete -f -c rbenv -n __fish_rbenv_needs_command -a version-file-read
2012-07-29 00:42:09 +08:00
### version-file-write
complete -f -c rbenv -n __fish_rbenv_needs_command -a version-file-write
2012-07-29 00:42:09 +08:00
### version-name
complete -f -c rbenv -n __fish_rbenv_needs_command -a version-name -d 'Show the current Ruby version'
2012-07-29 00:42:09 +08:00
### version-origin
complete -f -c rbenv -n __fish_rbenv_needs_command -a version-origin -d 'Explain how the current Ruby version is set'
2012-07-29 00:42:09 +08:00
### versions
complete -f -c rbenv -n __fish_rbenv_needs_command -a versions -d 'List all Ruby versions known by rbenv'
2012-07-29 00:42:09 +08:00
### whence
complete -f -c rbenv -n __fish_rbenv_needs_command -a whence -d 'List all Ruby versions that contain the given executable'
complete -f -c rbenv -n '__fish_rbenv_using_command whence' -a --path
2012-07-29 00:42:09 +08:00
### which
complete -f -c rbenv -n __fish_rbenv_needs_command -a which -d 'Show the full path for the given Ruby executable'
2012-07-29 00:42:09 +08:00
complete -f -c rbenv -n '__fish_rbenv_using_command which' -a '(__fish_rbenv_executables)'