1
0
mirror of https://github.com/wting/autojump synced 2026-03-02 03:49:26 +00:00

Makes sure that autojump is sourced before running.

Fixes #255.
This commit is contained in:
William Ting
2014-10-04 19:41:41 -07:00
parent fe5f78fe43
commit 819c5c76cc
6 changed files with 55 additions and 35 deletions

View File

@@ -46,9 +46,10 @@ from autojump_data import Entry
from autojump_data import load
from autojump_data import save
from autojump_utils import first
from autojump_utils import get_tab_entry_info
from autojump_utils import get_pwd
from autojump_utils import get_tab_entry_info
from autojump_utils import has_uppercase
from autojump_utils import is_autojump_sourced
from autojump_utils import is_osx
from autojump_utils import is_windows
from autojump_utils import last
@@ -59,7 +60,7 @@ from autojump_utils import sanitize
from autojump_utils import take
from autojump_utils import unico
VERSION = '22.1.0-beta'
VERSION = '22.1.1-beta'
FUZZY_MATCH_THRESHOLD = 0.6
TAB_ENTRIES_COUNT = 9
TAB_SEPARATOR = '__'
@@ -350,6 +351,12 @@ def print_stats(data, data_path):
def main(args): # noqa
if not is_autojump_sourced() and not is_windows():
print("Please source the correct autojump file in your shell's")
print("startup file. For more information, please reinstall autojump")
print("and read the post installation instructions.")
return 1
config = set_defaults()
# all arguments are mutually exclusive

View File

@@ -1,3 +1,5 @@
export AUTOJUMP_SOURCED=1
# set user installation paths
if [[ -d ~/.autojump/ ]]; then
export PATH=~/.autojump/bin:"${PATH}"
@@ -57,12 +59,13 @@ j() {
return
fi
new_path="$(autojump ${@})"
if [[ -d "${new_path}" ]]; then
echo -e "\\033[31m${new_path}\\033[0m"
cd "${new_path}"
output="$(autojump ${@})"
if [[ -d "${output}" ]]; then
echo -e "\\033[31m${output}\\033[0m"
cd "${output}"
else
echo "autojump: directory '${@}' not found"
echo "\n${output}\n"
echo "Try \`autojump --help\` for more information."
false
fi
@@ -86,17 +89,17 @@ jo() {
return
fi
new_path="$(autojump ${@})"
if [[ -d "${new_path}" ]]; then
output="$(autojump ${@})"
if [[ -d "${output}" ]]; then
case ${OSTYPE} in
linux-gnu)
xdg-open "${new_path}"
xdg-open "${output}"
;;
darwin*)
open "${new_path}"
open "${output}"
;;
cygwin)
cygstart "" $(cygpath -w -a ${new_path})
cygstart "" $(cygpath -w -a ${output})
;;
*)
echo "Unknown operating system." 1>&2
@@ -104,6 +107,7 @@ jo() {
esac
else
echo "autojump: directory '${@}' not found"
echo "\n${output}\n"
echo "Try \`autojump --help\` for more information."
false
fi

View File

@@ -1,3 +1,5 @@
set -x AUTOJUMP_SOURCED 1
# set user installation path
if test -d ~/.autojump
set -x PATH ~/.autojump/bin $PATH
@@ -31,26 +33,22 @@ function __aj_err
echo $argv 1>&2; false
end
function __aj_not_found
__aj_err "autojump: directory '"$argv"' not found"
__aj_err "Try `autojump --help` for more information."
end
# default autojump command
function j
switch "$argv"
case '-*' '--*'
autojump $argv
case '*'
set -l new_path (autojump $argv)
if test -d "$new_path"
set -l output (autojump $argv)
if test -d "$output"
set_color red
echo $new_path
echo $output
set_color normal
cd $new_path
cd $output
else
__aj_not_found $argv
__aj_err "autojump: directory '"$argv"' not found"
__aj_err "\n$output\n"
__aj_err "Try `autojump --help` for more information."
end
end
end
@@ -69,8 +67,11 @@ end
# open autojump results in file browser
function jo
if test -z (autojump $argv)
__aj_not_found $argv
set -l output (autojump $argv)
if test -d "$output"
__aj_err "autojump: directory '"$argv"' not found"
__aj_err "\n$output\n"
__aj_err "Try `autojump --help` for more information."
else
switch (sh -c 'echo ${OSTYPE}')
case linux-gnu

View File

@@ -1,3 +1,5 @@
export AUTOJUMP_SOURCED=1
# set user installation paths
if [[ -d ~/.autojump/bin ]]; then
path=(~/.autojump/bin ${path})
@@ -48,12 +50,13 @@ j() {
fi
setopt localoptions noautonamedirs
local new_path="$(autojump ${@})"
if [[ -d "${new_path}" ]]; then
echo -e "\\033[31m${new_path}\\033[0m"
cd "${new_path}"
local output="$(autojump ${@})"
if [[ -d "${output}" ]]; then
echo -e "\\033[31m${output}\\033[0m"
cd "${output}"
else
echo "autojump: directory '${@}' not found"
echo "\n${output}\n"
echo "Try \`autojump --help\` for more information."
false
fi
@@ -78,17 +81,17 @@ jo() {
fi
setopt localoptions noautonamedirs
local new_path="$(autojump ${@})"
if [[ -d "${new_path}" ]]; then
local output="$(autojump ${@})"
if [[ -d "${output}" ]]; then
case ${OSTYPE} in
linux-gnu)
xdg-open "${new_path}"
xdg-open "${output}"
;;
darwin*)
open "${new_path}"
open "${output}"
;;
cygwin)
cygstart "" $(cygpath -w -a ${new_path})
cygstart "" $(cygpath -w -a ${output})
;;
*)
echo "Unknown operating system." 1>&2
@@ -96,6 +99,7 @@ jo() {
esac
else
echo "autojump: directory '${@}' not found"
echo "\n${output}\n"
echo "Try \`autojump --help\` for more information."
false
fi

View File

@@ -89,6 +89,10 @@ def in_bash():
return 'bash' in os.getenv('SHELL')
def is_autojump_sourced():
return '1' == os.getenv('AUTOJUMP_SOURCED')
def is_python2():
return sys.version_info[0] == 2