From 3acedf2ed8ffec0afd55329f340f1338b8f278b2 Mon Sep 17 00:00:00 2001 From: William Ting Date: Mon, 2 Jul 2012 17:34:21 -1000 Subject: [PATCH] Remove loading compinit module from autojump.zsh. I've updated the documentation to notify end users to add compinit to their ~/.zshrc if they want tab completion. --- ChangeLog | 141 ++++++++++++++++++++++++----------------------- README.md | 7 +++ bin/autojump | 2 +- bin/autojump.zsh | 1 - docs/autojump.1 | 13 +++++ docs/body.md | 6 ++ 6 files changed, 100 insertions(+), 70 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3fecc6a..f8eebbc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,111 +4,116 @@ * 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 + autoload -U compinit; compinit - A menu showing the top database entries will be displayed. Type in any number - followed by to complete the entry. + To use type: - - Database entry weight growth changed form linear to logarithmic scale. + j - 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 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 diff --git a/README.md b/README.md index 6570c91..f3873b3 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/bin/autojump b/bin/autojump index 511401e..cc2ba5f 100755 --- a/bin/autojump +++ b/bin/autojump @@ -29,7 +29,7 @@ import shutil import sys from tempfile import NamedTemporaryFile -VERSION = 'release-v21-rc.1' +VERSION = 'release-v21-rc.2' MAX_KEYWEIGHT = 1000 MAX_STORED_PATHS = 1000 COMPLETION_SEPARATOR = '__' diff --git a/bin/autojump.zsh b/bin/autojump.zsh index c9e6880..6791241 100644 --- a/bin/autojump.zsh +++ b/bin/autojump.zsh @@ -31,7 +31,6 @@ 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 diff --git a/docs/autojump.1 b/docs/autojump.1 index 7dd9734..af8294e 100644 --- a/docs/autojump.1 +++ b/docs/autojump.1 @@ -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 diff --git a/docs/body.md b/docs/body.md index 0dcf30f..48b98ed 100644 --- a/docs/body.md +++ b/docs/body.md @@ -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: