Fix smartwd script to ensure that it always works

With Ruby version 1.8.5, the smartwd script would abort with an error that
the shift method would take no arguments. Therefore, I have restricted the
use of the script to ruby version 1.8.7 and above.

On older versions, it will simply behave the same as \w in PS1 of bash.
vimbundler
nirenjan 2013-02-19 15:14:12 -08:00
parent 717dacdf67
commit 4413d17282
1 changed files with 15 additions and 1 deletions

View File

@ -3,12 +3,22 @@
# Script to smartly chop off portions of the current working directory for
# use in the shell prompt
# Some of the methods don't work with Ruby versions older than 1.8.7
min_release = "1.8.7 (2008-08-11)"
ruby_release = "#{RUBY_VERSION} (#{RUBY_RELEASE_DATE})"
# Constants used to decide when to start chopping
DIRLIM = 5
DIR_L = 3
DIR_R = 2
PWDLEN = 14
def backslash_w
homedir = ENV['HOME']
pwd = ENV['PWD']
print pwd.gsub(homedir, '~')
end
def smartwd
username = ENV['USER']
homedir = ENV['HOME']
@ -51,5 +61,9 @@ def smartwd
print pwd
end
if (ruby_release < min_release)
backslash_w
else
smartwd
end