mirror of
https://github.com/wting/autojump
synced 2024-10-27 20:34:07 +00:00
quick fix so thant it works on mingw and bash 3.1
This commit is contained in:
parent
a4f4472046
commit
a6410994c2
35
autojump
35
autojump
@ -55,23 +55,24 @@ def save(path_dict, dic_file):
|
||||
a backup file."""
|
||||
# If the dic_file exists, check that it belongs to us
|
||||
# Otherwise, fail quietly
|
||||
if (not os.path.exists(dic_file)) or os.getuid() == os.stat(dic_file)[4]:
|
||||
temp = NamedTemporaryFile(dir=CONFIG_DIR, delete=False)
|
||||
pickle.dump(path_dict, temp, 2)
|
||||
temp.flush()
|
||||
os.fsync(temp)
|
||||
temp.close()
|
||||
#cf. http://thunk.org/tytso/blog/2009/03/15/dont-fear-the-fsync/
|
||||
os.rename(temp.name, dic_file)
|
||||
try: #backup file
|
||||
import time
|
||||
if (not os.path.exists(dic_file+".bak") or
|
||||
time.time()-os.path.getmtime(dic_file+".bak")>86400):
|
||||
import shutil
|
||||
shutil.copy(dic_file, dic_file+".bak")
|
||||
except OSError as ex:
|
||||
print("Error while creating backup autojump file. (%s)" %
|
||||
ex, file=stderr)
|
||||
temp = NamedTemporaryFile(dir=CONFIG_DIR, delete=False)
|
||||
pickle.dump(path_dict, temp, 2)
|
||||
temp.flush()
|
||||
os.fsync(temp)
|
||||
temp.close()
|
||||
#cf. http://thunk.org/tytso/blog/2009/03/15/dont-fear-the-fsync/
|
||||
#os.rename(temp.name, dic_file)
|
||||
import shutil
|
||||
shutil.copy(temp.name, dic_file)
|
||||
try: #backup file
|
||||
import time
|
||||
if (not os.path.exists(dic_file+".bak") or
|
||||
time.time()-os.path.getmtime(dic_file+".bak")>86400):
|
||||
import shutil
|
||||
shutil.copy(dic_file, dic_file+".bak")
|
||||
except OSError as ex:
|
||||
print("Error while creating backup autojump file. (%s)" %
|
||||
ex, file=stderr)
|
||||
|
||||
def forget(path_dict, dic_file):
|
||||
"""Gradually forget about directories. Only call
|
||||
|
@ -19,10 +19,11 @@ _autojump()
|
||||
{
|
||||
local cur
|
||||
cur=${COMP_WORDS[*]:1}
|
||||
while read i
|
||||
comps=$(autojump --bash --completion $cur)
|
||||
for i in $comps
|
||||
do
|
||||
COMPREPLY=("${COMPREPLY[@]}" "${i}")
|
||||
done < <(autojump --bash --completion $cur)
|
||||
done
|
||||
}
|
||||
complete -F _autojump j
|
||||
|
||||
@ -43,9 +44,12 @@ then
|
||||
fi
|
||||
|
||||
export AUTOJUMP_HOME=${HOME}
|
||||
AUTOJUMP='{ [[ "$AUTOJUMP_HOME" == "$HOME" ]] && (autojump -a "$(pwd -P)"&)>/dev/null 2>>${AUTOJUMP_DATA_DIR}/.autojump_errors;} 2>/dev/null'
|
||||
if [[ ! $PROMPT_COMMAND =~ autojump ]]; then
|
||||
export PROMPT_COMMAND="$AUTOJUMP ; ${PROMPT_COMMAND:-:}"
|
||||
fi
|
||||
AUTOJUMP='{ [[ "$AUTOJUMP_HOME" == "$HOME" ]] && (autojump -a "$(pwd -P)"&)>/dev/null 2>>"${AUTOJUMP_DATA_DIR}/.autojump_errors";} 2>/dev/null'
|
||||
|
||||
case $PROMPT_COMMAND in
|
||||
*autojump*) ;;
|
||||
*) export PROMPT_COMMAND="$AUTOJUMP ; ${PROMPT_COMMAND:-:}";;
|
||||
esac
|
||||
|
||||
alias jumpstat="autojump --stat"
|
||||
function j { new_path="$(autojump $@)";if [ -n "$new_path" ]; then echo -e "\\033[31m${new_path}\\033[0m"; cd "$new_path";else false; fi }
|
||||
function j { new_path="$(autojump --bash $@)";if [ -n "$new_path" ]; then echo -e "\\033[31m${new_path}\\033[0m"; cd "$new_path";else false; fi }
|
||||
|
20
install.sh
20
install.sh
@ -16,7 +16,7 @@
|
||||
#along with autojump. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
function show_help {
|
||||
echo "sudo ./install.sh [--prefix /usr/local]"
|
||||
echo " ./install.sh [--prefix /usr/local]"
|
||||
}
|
||||
|
||||
# Default install directory.
|
||||
@ -41,17 +41,17 @@ done
|
||||
echo "Installing to ${prefix} ..."
|
||||
|
||||
# INSTALL AUTOJUMP
|
||||
sudo mkdir -p ${prefix}/share/autojump/
|
||||
sudo mkdir -p ${prefix}/bin/
|
||||
sudo mkdir -p ${prefix}/share/man/man1/
|
||||
sudo cp icon.png ${prefix}/share/autojump/
|
||||
sudo cp jumpapplet ${prefix}/bin/
|
||||
sudo cp autojump ${prefix}/bin/
|
||||
sudo cp autojump.1 ${prefix}/share/man/man1/
|
||||
mkdir -p ${prefix}/share/autojump/
|
||||
mkdir -p ${prefix}/bin/
|
||||
mkdir -p ${prefix}/share/man/man1/
|
||||
cp icon.png ${prefix}/share/autojump/
|
||||
cp jumpapplet ${prefix}/bin/
|
||||
cp autojump ${prefix}/bin/
|
||||
cp autojump.1 ${prefix}/share/man/man1/
|
||||
|
||||
if [ -d "/etc/profile.d" ]; then
|
||||
sudo cp autojump.bash /etc/profile.d/
|
||||
sudo cp autojump.sh /etc/profile.d/
|
||||
cp autojump.bash /etc/profile.d/
|
||||
cp autojump.sh /etc/profile.d/
|
||||
|
||||
# Make sure that the code we just copied has been sourced.
|
||||
# check if .bashrc has sourced /etc/profile or /etc/profile.d/autojump.bash
|
||||
|
Loading…
Reference in New Issue
Block a user