1
0
mirror of https://github.com/wting/autojump synced 2024-10-27 20:34:07 +00:00

merging rc branch

This commit is contained in:
William Ting 2012-07-02 17:46:01 -10:00
commit 1ab78ae91c
7 changed files with 128 additions and 77 deletions

142
ChangeLog
View File

@ -4,111 +4,117 @@
* 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
minor = new features with backwards compatibility
micro = bug fixes with backwards compatibility
major = breaks backwards compatibility
minor = new features 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
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
date.
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
LTS. Rolling release distros and Homebrew / Macports are regularly kept up to
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:
1. exact match
2. case insensitive match
3. approximate match
Matching priority is now:
1. exact match
2. case insensitive 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
--stat` or `j -s`. Consequently, autojump cannot jump to directories
beginning with a hyphen '-'.
As a result, the `jumpstat` alias is now removed. The preferred method is `j
--stat` or `j -s`. Consequently, autojump cannot jump to directories
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
for case insensitive match. For users who prefer case insensitivity can now
modify the program behavior.
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
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
prevent database maintenance with the above environmental variable.
The database is regularly trimmed for performance reasons. However users can
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
followed by <tab> to complete the entry.
To use type:
- 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 few, commonly used directories to be responsible for 50%+ of the total
database weight. This caused unnecessary trimming of long tail entries.
A menu showing the top database entries will be displayed. Type in any number
followed by <tab> to complete the entry.
Switching to logarithmic growth combined with regular decay meant that
commonly used directories still climbed database ranking appropriately with a
more even weight distribution.
- Database entry weight growth changed form linear to logarithmic scale.
- 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:
- Python versions supported is now v2.7+ and v3.2+ due to rewrite using
argparse.
- Python versions supported is now v2.7+ and v3.2+ due to rewrite using
argparse.
- Man page and --help has been overhauled to provide better documentation and
usage scenarios.
- Man page and --help has been overhauled to provide better documentation and
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
which version to install (bash or zsh) dependent on $SHELL. Both of these
behaviors can be overrode using --local/--global or --bash/--zsh arguments.
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
behaviors can be overrode using --local/--global or --bash/--zsh arguments.
- Uninstallation script added, will remove both global and local installations
but ignores database.
- Uninstallation script added, will remove both global and local installations
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
entries. However users who prefer symlink paths can modify behavior with the
above environmental variable.
Normally symlinks are resolved to full path to prevent duplicate database
entries. However users who prefer symlink paths can modify behavior with the
above environmental variable.
- This ChangeLog added to better help package maintainers keep track of changes
between releases.
- This ChangeLog added to better help package maintainers keep track of
changes
between releases.
- Miscellaneous bug fixes.
- Miscellaneous bug fixes.
* Release v19:
- prototype `cp` and `mv` directory tab completion
- Debian post-installation instructions
- minor Mac OS X fixes
- prototype `cp` and `mv` directory tab completion
- Debian post-installation instructions
- minor Mac OS X fixes
* Release v18:
- add automated version numbering
- performance tweaks to reduce filesystem checks
- add local installation option
- unicode fixes
- ugly fixes for Python 3
- migrate to new database format
- add automated version numbering
- performance tweaks to reduce filesystem checks
- add local installation option
- unicode fixes
- ugly fixes for Python 3
- migrate to new database format

View File

@ -145,6 +145,13 @@ INTERNAL OPTIONS
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
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
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
To manually change a directory's key weight, you can edit the file

View File

@ -29,7 +29,7 @@ import shutil
import sys
from tempfile import NamedTemporaryFile
VERSION = 'release-v21-rc'
VERSION = 'release-v21-rc.2'
MAX_KEYWEIGHT = 1000
MAX_STORED_PATHS = 1000
COMPLETION_SEPARATOR = '__'

View File

@ -63,7 +63,7 @@ case $PROMPT_COMMAND in
esac
function j {
if [[ ${@} =~ -.* ]]; then
if [[ ${@} =~ ^-{1,2}.* ]]; then
autojump ${@}
return
fi

View File

@ -1,8 +1,8 @@
# determine the data directory according to the XDG Base Directory Specification
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
export AUTOJUMP_DATA_DIR=${HOME}/.local/share/autojump
export AUTOJUMP_DATA_DIR=${HOME}/.local/share/autojump
fi
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
}
autoload -U compinit; compinit
typeset -ga preexec_functions
preexec_functions+=autojump_preexec
function j {
if [[ ${@} == -* ]]; then
autojump ${@}
return
fi
# Cannot use =~ due to MacPorts zsh v4.2, see issue #125.
if [[ ${@} == -* ]]; then
autojump ${@}
return
fi
local new_path="$(autojump $@)"
if [ -d "${new_path}" ]; then

View File

@ -54,6 +54,19 @@ wrapper function.
.fi
.SS ADDITIONAL CONFIGURATION
.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
.RS 2
.PP
@ -123,6 +136,15 @@ In the above example, \f[C]j\ w\ in\f[] would then jump you into
/home/user/work/inbox.
.RE
.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
.RS 2
.PP

View File

@ -18,6 +18,12 @@ Options must be passed to 'autojump' and not the 'j' wrapper function.
## 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
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.
- 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
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: