mirror of
https://github.com/wting/autojump
synced 2024-10-27 20:34:07 +00:00
merging rc branch
This commit is contained in:
commit
1ab78ae91c
142
ChangeLog
142
ChangeLog
@ -4,111 +4,117 @@
|
|||||||
|
|
||||||
* Release v21:
|
* Release v21:
|
||||||
|
|
||||||
- New mailing list for developer discussion and announcements:
|
- New mailing list for developer discussion and announcements:
|
||||||
|
|
||||||
https://groups.google.com/forum/?fromgroups%5C#!forum/autojump
|
https://groups.google.com/forum/?fromgroups%5C#!forum/autojump
|
||||||
|
|
||||||
- Switch to semantic versioning (http://semver.org/): major.minor.micro
|
- Switch to semantic versioning (http://semver.org/): major.minor.micro
|
||||||
|
|
||||||
major = breaks backwards compatibility
|
major = breaks backwards compatibility
|
||||||
minor = new features with backwards compatibility
|
minor = new features with backwards compatibility
|
||||||
micro = bug fixes with backwards compatibility
|
micro = bug fixes with backwards compatibility
|
||||||
|
|
||||||
- Migration code for v17 or older users has been removed.
|
- Migration code for v17 or older users has been removed.
|
||||||
|
|
||||||
During testing, it was apparent that the migration code wasn't working to
|
During testing, it was apparent that the migration code wasn't working to
|
||||||
begin with. The major distros (Debian, RedHat) have already moved to v18+ for
|
begin with. The major distros (Debian, RedHat) have already moved to v18+ for
|
||||||
LTS. Rolling release distros and Homebrew / Macports are regularly kept up to
|
LTS. Rolling release distros and Homebrew / Macports are regularly kept up to
|
||||||
date.
|
date.
|
||||||
|
|
||||||
Users upgrading from v17 or older will start with a new database.
|
Users upgrading from v17 or older will start with a new database.
|
||||||
|
|
||||||
- Approximate matching introduced.
|
- Approximate matching introduced.
|
||||||
|
|
||||||
Matching priority is now:
|
Matching priority is now:
|
||||||
1. exact match
|
1. exact match
|
||||||
2. case insensitive match
|
2. case insensitive match
|
||||||
3. approximate match
|
3. approximate match
|
||||||
|
|
||||||
- The `j` function now accepts autojump arguments (e.g. --help, --stat).
|
- The `j` function now accepts autojump arguments (e.g. --help, --stat).
|
||||||
|
|
||||||
As a result, the `jumpstat` alias is now removed. The preferred method is `j
|
As a result, the `jumpstat` alias is now removed. The preferred method is `j
|
||||||
--stat` or `j -s`. Consequently, autojump cannot jump to directories
|
--stat` or `j -s`. Consequently, autojump cannot jump to directories
|
||||||
beginning with a hyphen '-'.
|
beginning with a hyphen '-'.
|
||||||
|
|
||||||
- Always use case insensitive search with AUTOJUMP_IGNORE_CASE=1
|
- Always use case insensitive search with AUTOJUMP_IGNORE_CASE=1
|
||||||
|
|
||||||
As mentioned earlier, normal priority is to prefer exact match and then check
|
As mentioned earlier, normal priority is to prefer exact match and then check
|
||||||
for case insensitive match. For users who prefer case insensitivity can now
|
for case insensitive match. For users who prefer case insensitivity can now
|
||||||
modify the program behavior.
|
modify the program behavior.
|
||||||
|
|
||||||
- Prevent database decay with AUTOJUMP_KEEP_ALL_ENTRIES=1
|
- Prevent database decay with AUTOJUMP_KEEP_ALL_ENTRIES=1
|
||||||
|
|
||||||
The database is regularly trimmed for performance reasons. However users can
|
The database is regularly trimmed for performance reasons. However users can
|
||||||
prevent database maintenance with the above environmental variable.
|
prevent database maintenance with the above environmental variable.
|
||||||
|
|
||||||
- ZSH tab completion fixed.
|
- ZSH tab completion fixed.
|
||||||
|
|
||||||
ZSH behavior now matches Bash behavior. To use type:
|
ZSH behavior now matches Bash behavior. However it requires the `compinit`
|
||||||
|
module to be loaded. Add the following line to ~/.zshrc:
|
||||||
|
|
||||||
j<space><tab><tab>
|
autoload -U compinit; compinit
|
||||||
|
|
||||||
A menu showing the top database entries will be displayed. Type in any number
|
To use type:
|
||||||
followed by <tab> to complete the entry.
|
|
||||||
|
|
||||||
- Database entry weight growth changed form linear to logarithmic scale.
|
j<space><tab><tab>
|
||||||
|
|
||||||
A combination of low total weight ceiling and linear growth resulted in
|
A menu showing the top database entries will be displayed. Type in any number
|
||||||
a few, commonly used directories to be responsible for 50%+ of the total
|
followed by <tab> to complete the entry.
|
||||||
database weight. This caused unnecessary trimming of long tail entries.
|
|
||||||
|
|
||||||
Switching to logarithmic growth combined with regular decay meant that
|
- Database entry weight growth changed form linear to logarithmic scale.
|
||||||
commonly used directories still climbed database ranking appropriately with a
|
|
||||||
more even weight distribution.
|
|
||||||
|
|
||||||
- Unit testing suite added.
|
A combination of low total weight ceiling and linear growth resulted in
|
||||||
|
a few, commonly used directories to be responsible for 50%+ of the total
|
||||||
|
database weight. This caused unnecessary trimming of long tail entries.
|
||||||
|
|
||||||
- Miscellaneous refactoring, bug fixes, documentation updates.
|
Switching to logarithmic growth combined with regular decay meant that
|
||||||
|
commonly used directories still climbed database ranking appropriately with a
|
||||||
|
more even weight distribution.
|
||||||
|
|
||||||
|
- Unit testing suite added.
|
||||||
|
|
||||||
|
- Miscellaneous refactoring, bug fixes, documentation updates.
|
||||||
|
|
||||||
* Release v20:
|
* Release v20:
|
||||||
|
|
||||||
- Python versions supported is now v2.7+ and v3.2+ due to rewrite using
|
- Python versions supported is now v2.7+ and v3.2+ due to rewrite using
|
||||||
argparse.
|
argparse.
|
||||||
|
|
||||||
- Man page and --help has been overhauled to provide better documentation and
|
- Man page and --help has been overhauled to provide better documentation and
|
||||||
usage scenarios.
|
usage scenarios.
|
||||||
|
|
||||||
- Installation scripts now act dependent on current environmental settings.
|
- Installation scripts now act dependent on current environmental settings.
|
||||||
|
|
||||||
If run as root, will do a global install. Installation script also detects
|
If run as root, will do a global install. Installation script also detects
|
||||||
which version to install (bash or zsh) dependent on $SHELL. Both of these
|
which version to install (bash or zsh) dependent on $SHELL. Both of these
|
||||||
behaviors can be overrode using --local/--global or --bash/--zsh arguments.
|
behaviors can be overrode using --local/--global or --bash/--zsh arguments.
|
||||||
|
|
||||||
- Uninstallation script added, will remove both global and local installations
|
- Uninstallation script added, will remove both global and local installations
|
||||||
but ignores database.
|
but ignores database.
|
||||||
|
|
||||||
- Allow symlink database entries with AUTOJUMP_KEEP_SYMLINKS=1
|
- Allow symlink database entries with AUTOJUMP_KEEP_SYMLINKS=1
|
||||||
|
|
||||||
Normally symlinks are resolved to full path to prevent duplicate database
|
Normally symlinks are resolved to full path to prevent duplicate database
|
||||||
entries. However users who prefer symlink paths can modify behavior with the
|
entries. However users who prefer symlink paths can modify behavior with the
|
||||||
above environmental variable.
|
above environmental variable.
|
||||||
|
|
||||||
- This ChangeLog added to better help package maintainers keep track of changes
|
- This ChangeLog added to better help package maintainers keep track of
|
||||||
between releases.
|
changes
|
||||||
|
between releases.
|
||||||
|
|
||||||
- Miscellaneous bug fixes.
|
- Miscellaneous bug fixes.
|
||||||
|
|
||||||
* Release v19:
|
* Release v19:
|
||||||
|
|
||||||
- prototype `cp` and `mv` directory tab completion
|
- prototype `cp` and `mv` directory tab completion
|
||||||
- Debian post-installation instructions
|
- Debian post-installation instructions
|
||||||
- minor Mac OS X fixes
|
- minor Mac OS X fixes
|
||||||
|
|
||||||
* Release v18:
|
* Release v18:
|
||||||
|
|
||||||
- add automated version numbering
|
- add automated version numbering
|
||||||
- performance tweaks to reduce filesystem checks
|
- performance tweaks to reduce filesystem checks
|
||||||
- add local installation option
|
- add local installation option
|
||||||
- unicode fixes
|
- unicode fixes
|
||||||
- ugly fixes for Python 3
|
- ugly fixes for Python 3
|
||||||
- migrate to new database format
|
- migrate to new database format
|
||||||
|
13
README.md
13
README.md
@ -145,6 +145,13 @@ INTERNAL OPTIONS
|
|||||||
ADDITIONAL CONFIGURATION
|
ADDITIONAL CONFIGURATION
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
|
- Enable ZSH Tab Completion
|
||||||
|
|
||||||
|
ZSH tab completion requires the `compinit` module to be loaded.
|
||||||
|
Please add the following line to your \~/.zshrc:
|
||||||
|
|
||||||
|
autoload -U compinit; compinit
|
||||||
|
|
||||||
- Always Ignore Case
|
- Always Ignore Case
|
||||||
|
|
||||||
Default behavior is to prioritize exact matches over all else. For
|
Default behavior is to prioritize exact matches over all else. For
|
||||||
@ -188,6 +195,12 @@ ADVANCED USAGE
|
|||||||
a different entry. In the above example, `j w in` would then jump
|
a different entry. In the above example, `j w in` would then jump
|
||||||
you into /home/user/work/inbox.
|
you into /home/user/work/inbox.
|
||||||
|
|
||||||
|
- ZSH Tab Completion
|
||||||
|
|
||||||
|
Tab completion requires two tabs before autojump will display the
|
||||||
|
completion menu. However if `setopt nolistambiguous` is enabled,
|
||||||
|
then only one tab is required.
|
||||||
|
|
||||||
- Change Directory Weight
|
- Change Directory Weight
|
||||||
|
|
||||||
To manually change a directory's key weight, you can edit the file
|
To manually change a directory's key weight, you can edit the file
|
||||||
|
@ -29,7 +29,7 @@ import shutil
|
|||||||
import sys
|
import sys
|
||||||
from tempfile import NamedTemporaryFile
|
from tempfile import NamedTemporaryFile
|
||||||
|
|
||||||
VERSION = 'release-v21-rc'
|
VERSION = 'release-v21-rc.2'
|
||||||
MAX_KEYWEIGHT = 1000
|
MAX_KEYWEIGHT = 1000
|
||||||
MAX_STORED_PATHS = 1000
|
MAX_STORED_PATHS = 1000
|
||||||
COMPLETION_SEPARATOR = '__'
|
COMPLETION_SEPARATOR = '__'
|
||||||
|
@ -63,7 +63,7 @@ case $PROMPT_COMMAND in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
function j {
|
function j {
|
||||||
if [[ ${@} =~ -.* ]]; then
|
if [[ ${@} =~ ^-{1,2}.* ]]; then
|
||||||
autojump ${@}
|
autojump ${@}
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# determine the data directory according to the XDG Base Directory Specification
|
# determine the data directory according to the XDG Base Directory Specification
|
||||||
if [[ -n ${XDG_DATA_HOME} ]] && [[ ${XDG_DATA_HOME} == *${USER}* ]]; then
|
if [[ -n ${XDG_DATA_HOME} ]] && [[ ${XDG_DATA_HOME} == *${USER}* ]]; then
|
||||||
export AUTOJUMP_DATA_DIR="${XDG_DATA_HOME}/autojump"
|
export AUTOJUMP_DATA_DIR="${XDG_DATA_HOME}/autojump"
|
||||||
else
|
else
|
||||||
export AUTOJUMP_DATA_DIR=${HOME}/.local/share/autojump
|
export AUTOJUMP_DATA_DIR=${HOME}/.local/share/autojump
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -e ${AUTOJUMP_DATA_DIR} ]]; then
|
if [[ ! -e ${AUTOJUMP_DATA_DIR} ]]; then
|
||||||
@ -31,15 +31,15 @@ function autojump_preexec() {
|
|||||||
{ (autojump -a "$(pwd ${_PWD_ARGS})"&)>/dev/null 2>>|${AUTOJUMP_DATA_DIR}/.autojump_errors ; } 2>/dev/null
|
{ (autojump -a "$(pwd ${_PWD_ARGS})"&)>/dev/null 2>>|${AUTOJUMP_DATA_DIR}/.autojump_errors ; } 2>/dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
autoload -U compinit; compinit
|
|
||||||
typeset -ga preexec_functions
|
typeset -ga preexec_functions
|
||||||
preexec_functions+=autojump_preexec
|
preexec_functions+=autojump_preexec
|
||||||
|
|
||||||
function j {
|
function j {
|
||||||
if [[ ${@} == -* ]]; then
|
# Cannot use =~ due to MacPorts zsh v4.2, see issue #125.
|
||||||
autojump ${@}
|
if [[ ${@} == -* ]]; then
|
||||||
return
|
autojump ${@}
|
||||||
fi
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
local new_path="$(autojump $@)"
|
local new_path="$(autojump $@)"
|
||||||
if [ -d "${new_path}" ]; then
|
if [ -d "${new_path}" ]; then
|
||||||
|
@ -54,6 +54,19 @@ wrapper function.
|
|||||||
.fi
|
.fi
|
||||||
.SS ADDITIONAL CONFIGURATION
|
.SS ADDITIONAL CONFIGURATION
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
|
Enable ZSH Tab Completion
|
||||||
|
.RS 2
|
||||||
|
.PP
|
||||||
|
ZSH tab completion requires the \f[C]compinit\f[] module to be loaded.
|
||||||
|
Please add the following line to your ~/.zshrc:
|
||||||
|
.IP
|
||||||
|
.nf
|
||||||
|
\f[C]
|
||||||
|
autoload\ -U\ compinit;\ compinit
|
||||||
|
\f[]
|
||||||
|
.fi
|
||||||
|
.RE
|
||||||
|
.IP \[bu] 2
|
||||||
Always Ignore Case
|
Always Ignore Case
|
||||||
.RS 2
|
.RS 2
|
||||||
.PP
|
.PP
|
||||||
@ -123,6 +136,15 @@ In the above example, \f[C]j\ w\ in\f[] would then jump you into
|
|||||||
/home/user/work/inbox.
|
/home/user/work/inbox.
|
||||||
.RE
|
.RE
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
|
ZSH Tab Completion
|
||||||
|
.RS 2
|
||||||
|
.PP
|
||||||
|
Tab completion requires two tabs before autojump will display the
|
||||||
|
completion menu.
|
||||||
|
However if \f[C]setopt\ nolistambiguous\f[] is enabled, then only one
|
||||||
|
tab is required.
|
||||||
|
.RE
|
||||||
|
.IP \[bu] 2
|
||||||
Change Directory Weight
|
Change Directory Weight
|
||||||
.RS 2
|
.RS 2
|
||||||
.PP
|
.PP
|
||||||
|
10
docs/body.md
10
docs/body.md
@ -18,6 +18,12 @@ Options must be passed to 'autojump' and not the 'j' wrapper function.
|
|||||||
|
|
||||||
## ADDITIONAL CONFIGURATION
|
## ADDITIONAL CONFIGURATION
|
||||||
|
|
||||||
|
- Enable ZSH Tab Completion
|
||||||
|
|
||||||
|
ZSH tab completion requires the `compinit` module to be loaded. Please add the following line to your ~/.zshrc:
|
||||||
|
|
||||||
|
autoload -U compinit; compinit
|
||||||
|
|
||||||
- Always Ignore Case
|
- Always Ignore Case
|
||||||
|
|
||||||
Default behavior is to prioritize exact matches over all else. For example, `j foo` will prefer /foobar over /FooBar even if the latter has a higher weight. To change this behavior and ignore case, add the following environmental variable in your ~/.bashrc:
|
Default behavior is to prioritize exact matches over all else. For example, `j foo` will prefer /foobar over /FooBar even if the latter has a higher weight. To change this behavior and ignore case, add the following environmental variable in your ~/.bashrc:
|
||||||
@ -47,6 +53,10 @@ Options must be passed to 'autojump' and not the 'j' wrapper function.
|
|||||||
|
|
||||||
`j in` would jump into /home/user/mail/inbox as the higher weighted entry. However you can pass multiple arguments to autojump to prefer a different entry. In the above example, `j w in` would then jump you into /home/user/work/inbox.
|
`j in` would jump into /home/user/mail/inbox as the higher weighted entry. However you can pass multiple arguments to autojump to prefer a different entry. In the above example, `j w in` would then jump you into /home/user/work/inbox.
|
||||||
|
|
||||||
|
- ZSH Tab Completion
|
||||||
|
|
||||||
|
Tab completion requires two tabs before autojump will display the completion menu. However if `setopt nolistambiguous` is enabled, then only one tab is required.
|
||||||
|
|
||||||
- Change Directory Weight
|
- Change Directory Weight
|
||||||
|
|
||||||
To manually change a directory's key weight, you can edit the file _$XDG_DATA_HOME/autojump/autojump.txt_. Each entry has two columns. The first is the key weight and the second is the path:
|
To manually change a directory's key weight, you can edit the file _$XDG_DATA_HOME/autojump/autojump.txt_. Each entry has two columns. The first is the key weight and the second is the path:
|
||||||
|
Loading…
Reference in New Issue
Block a user