Commit graph

674 commits

Author SHA1 Message Date
Sam Stephenson
7fbcde8af0 Properly expand RBENV_DIR and ensure it exists 2011-12-25 16:41:15 -05:00
Sam Stephenson
b670849ebd Merge remote-tracking branch 'mlafeldt/rbenv-rehash'
Conflicts:
	libexec/rbenv-rehash
2011-12-24 18:03:10 -05:00
Sam Stephenson
288c6b3f09 Go with paren-style function definition 2011-12-24 17:49:22 -05:00
Sam Stephenson
802d70568c Merge pull request #168 from mgrubb/topic/portability-fixes
Made ksh portability changes
2011-12-24 14:48:34 -08:00
Sam Stephenson
efe600f6de Ensure shims don't disappear when rehashed 2011-12-24 15:16:37 -05:00
Michael Grubb
7e83e07cf3 Made ksh portability changes
Added specific message for ksh in identifying the proper shell
initialization file.

Changed rbenv functiond definition to be more portable.
Shell functions should be defined by using the function command or
using the parenthesis grammar, but using both is not portable:

rbenv() {...  -or-
function rbenv { ...
2011-12-15 14:54:38 -06:00
Per Velschow
dfc7645609 Quoting the argument to greadlink to make it work with paths containing spaces. 2011-11-18 21:21:16 +01:00
Mathias Lafeldt
9dde161b65 rbenv-rehash: use $OLDPWD to restore previous working directory
$OLDPWD is a standard shell variable that contains the previous working
directory as set by the "cd" command. No need to save $PWD to some
custom variable.

(We could also have used "cd -" but it prints out $OLDPWD too.)
2011-11-14 22:30:47 +01:00
Mathias Lafeldt
0324b118ee rbenv-rehash: remove superfluous trap signals
A trap on the special signal EXIT is executed before the shell
terminates. EXIT actually covers SIGINT and SIGTERM as well, and
we don't need any extra traps for them.

See bash(1) and "help trap" in bash.
2011-11-14 22:30:47 +01:00
Joshua Peek
be7dcc0ad8 Add rbenv root
Prints $RBENV_ROOT (defaults to ~/.rbenv)
2011-11-10 10:54:30 -06:00
Sam Stephenson
01a0ad0b69 rbenv 0.2.1 2011-10-01 12:26:19 -05:00
Sam Stephenson
e49be969ab Ensure RBENV_DIR is always an absolute path
Otherwise, `RBENV_DIR=bin rbenv version-file` loops indefinitely
2011-10-01 12:15:20 -05:00
Sam Stephenson
2cd12e3fa6 rbenv 0.2.0 2011-09-28 13:38:03 -05:00
Joshua Peek
149e61a649 Don't exit out of piped loop
Can cause the stdin of cat to close too soon causing:

  echo: write error: Broken pipe

Fixes #97
2011-09-28 12:08:34 -05:00
Sam Stephenson
72b62e13aa Make rbenv help a little nicer 2011-09-28 10:59:02 -05:00
Sam Stephenson
ada26ab92e Document rbenv which and rbenv whence 2011-09-28 10:48:04 -05:00
Sam Stephenson
058e2cb7a6 Add rbenv shell to help 2011-09-28 10:21:57 -05:00
Sam Stephenson
0a4ffcd15f Global version file is now ${RBENV_ROOT}/version
This is the last time it'll change. Promise.
2011-09-28 09:45:58 -05:00
Sam Stephenson
07815769ae RBENV_DIR sets the directory from which .rbenv-version files are scanned 2011-09-27 15:50:39 -05:00
Sam Stephenson
10084ae020 Automatically add ${RBENV_ROOT}/plugins/*/etc/rbenv.d to $RBENV_HOOK_PATH 2011-09-23 10:47:45 -05:00
Sam Stephenson
8ce5e84c21 Automatically add ${RBENV_ROOT}/plugins/*/bin to $PATH 2011-09-23 10:44:00 -05:00
Sam Stephenson
f9fb3c934e rbenv-plugin-scripts -> rbenv-hooks; RBENV_PLUGIN_PATH -> RBENV_HOOK_PATH 2011-09-23 10:43:06 -05:00
Joshua Peek
eae5e5e092 realpath plugin scripts 2011-09-22 19:15:00 -05:00
Joshua Peek
a238099e38 Include /usr/local/etc hooks 2011-09-22 19:08:03 -05:00
Sam Stephenson
699cd8c203 Quote script path and remove unnecessary semicolon 2011-09-21 13:05:08 -05:00
Sam Stephenson
096743acde Add support for RBENV_PLUGIN_PATH environment variable 2011-09-21 13:00:23 -05:00
Sam Stephenson
0c7c62dc04 Show usage if no arguments are passed to rbenv-plugin-scripts 2011-09-21 12:43:22 -05:00
Joshua Peek
2b5fb40b99 Not exec specific 2011-09-21 12:39:26 -05:00
Joshua Peek
96b98ed039 Use plugin-scripts 2011-09-21 12:38:58 -05:00
Joshua Peek
789ace54ec Add bin to list plugin scripts 2011-09-21 12:36:07 -05:00
Roy Liu
94d87211f9 Restore the current working directory in rbenv-rehash 2011-09-19 10:45:12 -04:00
Sam Stephenson
305db1c35b Fix rbenv-completions for shell commands. Closes #90. 2011-09-16 14:18:29 -05:00
Sam Stephenson
568cd4b23e Strip trailing slashes from RBENV_ROOT (#83) 2011-09-14 12:45:44 -05:00
Sam Stephenson
b4f8906b24 Update zsh completion adapter 2011-09-13 13:12:04 -05:00
Sam Stephenson
465a1472ba Completion for which 2011-09-13 13:02:55 -05:00
Sam Stephenson
3644840d4b Show usage for rbenv which without an argument 2011-09-13 13:01:31 -05:00
Sam Stephenson
03d664e048 Completion for whence 2011-09-13 12:59:59 -05:00
Sam Stephenson
61830048d5 Extract rbenv-shims 2011-09-13 12:55:19 -05:00
Sam Stephenson
69d596f56f Completion for commands 2011-09-13 12:48:49 -05:00
Sam Stephenson
4923838981 Completion for exec 2011-09-13 12:46:06 -05:00
Sam Stephenson
f1ca8906c0 Completions for global, local, prefix, shell 2011-09-13 12:38:34 -05:00
Sam Stephenson
43520db389 Fix rbenv prefix system 2011-09-13 12:37:29 -05:00
Sam Stephenson
d50ce90a36 Add --unset to local completion 2011-09-13 12:33:46 -05:00
Sam Stephenson
6da85246c6 Proof-of-concept external completions 2011-09-13 10:13:27 -05:00
Joshua Peek
964c12fe27 Ensure shims set RBENV_ROOT 2011-09-12 11:05:45 -05:00
Sam Stephenson
0632325a43 Set RBENV_DEBUG=1 to see what's going on under the hood 2011-09-12 10:11:59 -05:00
Sam Stephenson
2e3e141d2e RBENV_ROOT defaults to ~/.rbenv 2011-09-11 12:05:56 -05:00
Sam Stephenson
c36950a7cb RBENV_HOME -> RBENV_ROOT 2011-09-11 12:04:59 -05:00
Sam Stephenson
8f6b0bc1d4 Use RBENV_ROOT to search for rbenv-exec plugins 2011-09-11 12:00:02 -05:00
Sam Stephenson
7ac964353f RBENV_HOME -> RBENV_ROOT 2011-09-11 11:58:57 -05:00
Sam Stephenson
c6ce8fafd8 Merge remote-tracking branch 'alexrinass/systemwide' 2011-09-11 11:28:54 -05:00
Sam Stephenson
6fa81ef28d Add rbenv local --unset 2011-09-11 10:16:22 -05:00
Sam Stephenson
e5c0fd22e1 Exit with 0 status when a version file is read successfully 2011-09-11 10:16:08 -05:00
Sam Stephenson
fb6eee26d4 Only shift if an argument is passed. Fixes #78. 2011-09-10 20:10:07 -05:00
Sam Stephenson
1ba2ce0cb6 Fix quoting in rbenv function 2011-09-10 20:10:07 -05:00
Sam Stephenson
76929320c8 Make rbenv-sh-shell consistent with rbenv-local 2011-09-10 20:10:07 -05:00
Joshua Peek
5ad45afe5e Merge pull request #81 from eric/empty_path_to_remove_in_which
Deal with an empty result from expand_path
2011-09-09 15:05:34 -07:00
Eric Lindvall
b81b64453b Deal with an empty result from expand_path 2011-09-09 15:00:59 -07:00
Sam Stephenson
db2a94d4bc rbenv-version-name returns system for empty version files. Closes #62, #65, #77. 2011-09-09 15:52:31 -05:00
Joshua Peek
783a5700c4 reset isn't standard 2011-09-09 10:45:23 -05:00
Timothy King
555472210b Adds sh-shell subcommand to unset RBENV_VERSION 2011-09-09 08:22:03 -04:00
Timothy King
39497042bc Adds error handling to rbenv-sh-shell 2011-09-09 08:18:14 -04:00
Sam Stephenson
837bfc5aa9 Fix rbenv-version-file-read for version files without trailing newlines 2011-09-07 14:46:33 -05:00
Joshua Peek
042794b651 use -> shell 2011-09-07 10:26:11 -05:00
Joshua Peek
c928ba7a21 Include sh commands in default listing 2011-09-06 22:07:05 -05:00
Alexander Rinass
5130f0464a Support install locations other than $HOME/.rbenv.
Define RBENV_HOME env variable in libexec/rbenv and let all script delegates use this variable to determine rbenv's install location.
2011-08-25 09:28:01 +02:00
Joshua Peek
bff38d7e71 use command 2011-08-23 11:35:06 -05:00
Joshua Peek
f9225d9cb4 Define lightweight rbenv shell function to dispatch commands 2011-08-23 11:34:42 -05:00
Joshua Peek
5a4bee6eb5 List sh commands separately 2011-08-23 11:34:03 -05:00
Sam Stephenson
af36d449bf Exit after printing usage in rbenv-version-file-write 2011-08-18 15:28:35 -05:00
Sam Stephenson
5be66da9f4 Rename rbenv-default to rbenv-global 2011-08-18 14:35:00 -05:00
Sam Stephenson
506bc3634f Extract rbenv-version-file{,-read,-write} 2011-08-18 14:11:40 -05:00
Sam Stephenson
1d5c6531a2 Improve deprecation notice 2011-08-18 14:09:48 -05:00
Sam Stephenson
174e101799 Merge remote-tracking branch 'gma/drop-set-prefix' into drop-set-prefix 2011-08-18 12:50:06 -05:00
Sam Stephenson
113e037646 Move the nullglob declaration further up so a '*' shim isn't created when no Ruby versions are present. Fixes #45. 2011-08-17 17:53:37 -05:00
Sam Stephenson
7bbfecd9af Working on 0.2.0-pre now 2011-08-17 17:35:04 -05:00
Paul Mucur
b7e19b4953 Solaris doesn't support readlink so use greadlink if available instead.
Taken from Ryan Tomayko's "GNU is killing Solaris", c.f. http://tomayko.com/writings/gnu-is-killing-solaris
2011-08-16 22:26:57 +01:00
Sam Stephenson
49ecbe147f rbenv 0.1.2 2011-08-16 00:16:17 -05:00
Sam Stephenson
b45bce80ca Source the zsh autocompletion script in rbenv-init 2011-08-16 00:13:12 -05:00
Sam Stephenson
71b5965540 Use read instead of egrep for reading version files. Closes #41. 2011-08-16 00:01:03 -05:00
Sam Stephenson
6d6b1d6002 Run rbenv rehash on init 2011-08-15 01:18:04 -05:00
Sam Stephenson
dd8a005c7d Atomic rehash 2011-08-15 01:16:13 -05:00
Sam Stephenson
3efdf6a243 Guard against nonexistent entries in $PATH 2011-08-14 14:16:26 -05:00
Sam Stephenson
bd1e56ff37 rbenv 0.1.1 2011-08-14 13:51:51 -05:00
Samuel Cochran
a14095f299 Add "-h" and "--help" which work as expected 2011-08-14 21:30:13 +08:00
Graham Ashton
1ed231cb21 Report default or local version.
If no argument is passed to the default or local sub commands, report
the currently configured version.
2011-08-13 08:26:54 +01:00
Graham Ashton
7a0cde9a4e Remove set- prefix from local and default commands. 2011-08-13 08:26:54 +01:00
Andreas Johansson
6938692ca2 Fix argument that cannot be sent to bash via env
/usr/bin/env seems to have problems with arguments to bash on some
platforms. To bypass this, use set -e instead.
2011-08-12 11:33:45 +02:00
Chris Moore
aae721c5f1 fix typo in rbenv help 2011-08-11 17:43:57 -04:00
Sam Stephenson
5c11f14c9b rbenv 0.1.0 2011-08-11 14:48:40 -05:00
Sam Stephenson
71493e8065 Typo 2011-08-10 09:31:53 -05:00
Sam Stephenson
5394347500 A few tweaks to the help text 2011-08-10 09:23:43 -05:00
Ryan Baumann
f2f8ef88a5 Implement some basic command line help 2011-08-10 09:53:34 -04:00
Ryan Baumann
bd0e1a73f9 Split rbenv-version into rbenv-version-name and rbenv-version-origin, update versions, prefix, and which appropriately 2011-08-09 16:41:35 -04:00
Sam Stephenson
2a495dc9ac Prepend $PATH with the command's dirname before execing for compatibility with ruby -S 2011-08-05 10:13:30 -05:00
Sam Stephenson
2fa7432060 Fix expansion quoting 2011-08-04 01:16:16 -05:00
Sam Stephenson
9f18fe5031 Automatically create a default of system if it's missing instead of raising an error 2011-08-04 01:08:47 -05:00
Sam Stephenson
cd24495045 Silence the warning, too 2011-08-04 01:02:04 -05:00
Sam Stephenson
1235cbd0ef rbenv-versions doesn't require a default to be present 2011-08-04 01:00:08 -05:00
Sam Stephenson
f84dc27c58 Autocreate ~/.rbenv skeleton in rbenv-init 2011-08-04 00:48:37 -05:00
Sam Stephenson
4ee92fca43 Bare rbenv init prints a message; rbenv init - prints the init script 2011-08-04 00:45:40 -05:00
Sam Stephenson
00b8b4db33 Don't need to test if the shims directory is present since rbenv-rehash creates it 2011-08-03 23:53:52 -05:00
Joshua Peek
917b3687cb Export $PATH on init 2011-08-03 23:46:24 -05:00
Joshua Peek
4714b5bd4e Merge pull request #13 from sstephenson/init
init command
2011-08-03 21:26:58 -07:00
Joshua Peek
271bfea97d Don't rehash on init for now 2011-08-03 23:26:37 -05:00
Joshua Peek
70e1f61337 Quote path 2011-08-03 23:20:19 -05:00
Joshua Peek
df61a76ab0 Add init command 2011-08-03 23:16:28 -05:00
Sam Stephenson
fffb29d695 Speed up rbenv-rehash by using hard links 2011-08-03 22:57:27 -05:00
Sam Stephenson
7ce04a6e03 Merge branch 'system' 2011-08-03 22:29:57 -05:00
Sam Stephenson
3b13dc9c14 Add rbenv-commands 2011-08-03 22:20:01 -05:00
Jamis Buck
5d8c40444d iterate over all matching plugins, not just the first 2011-08-03 20:55:03 -06:00
Peter Aronoff
67d3d6b12d Use parameter expansion for basename + dirname
These are built-ins, and they're used elsewhere in the code.
2011-08-03 20:04:42 -04:00
Jamis Buck
b6ebc2f08b look for plugins to extend rehash and which 2011-08-03 11:17:28 -06:00
Sam Stephenson
e0e2d93639 Add support for RBENV_VERSION=system 2011-08-03 08:39:56 -05:00
Jamis Buck
a9837f3a06 look for plugin scripts to extend functionality 2011-08-03 07:28:50 -06:00
Sam Stephenson
4668a2e2ed rbenv-whence requires a command argument 2011-08-03 00:06:23 -05:00
Sam Stephenson
a62bd23ba2 Show which versions of Ruby have a command installed when rbenv-which fails 2011-08-02 23:53:23 -05:00
Sam Stephenson
d257b562e5 Add rbenv-whence to show you which versions of Ruby have a given command 2011-08-02 23:48:07 -05:00
Sam Stephenson
652135db7f Add --bare option to rbenv-versions 2011-08-02 23:19:37 -05:00
Sam Stephenson
86362408f1 rbenv-path -> rbenv-prefix 2011-08-02 23:11:10 -05:00
Sam Stephenson
735a2bc4e7 Consistent style 2011-08-02 23:05:24 -05:00
Joshua Peek
044eb6c802 Merge branch 'master' into libexec 2011-08-02 19:49:57 -05:00
Joshua Peek
d65141c7b5 Merge branch 'master' into libexec
Conflicts:
	bin/rbenv
	libexec/rbenv-shim
2011-08-02 19:41:03 -05:00
Joshua Peek
43624943ee Move subcommands into libexec/ 2011-08-02 18:01:46 -05:00