Commit graph

162 commits

Author SHA1 Message Date
Alyssa Ross
3fa98998c5 Revert "Declare global variables"
This reverts commit b554feb7ba.
2016-11-02 01:23:59 +00:00
Alyssa Ross
d26aaa6594 Revert "Declare more global variables"
This reverts commit ec88096611.
2016-11-02 01:23:59 +00:00
Suraj N. Kurapati
af69798423 README: don't assume UP/DOWN arrows; configure it! 2016-10-19 21:44:12 -07:00
Suraj N. Kurapati
2f8a21062c README: bind arrow keys after observing key codes
Don't suggest using $terminfo[kcuu1] or $terminfo[cuu1] lookups anymore!
Instead, have the user observe the actual key codes for their arrow keys
using `cat -v` and then use those observed values to create keybindings.
This should eliminate confusion and complaints about binding arrow keys.

See https://github.com/zsh-users/zsh-history-substring-search/issues/63
2016-10-19 14:37:16 -07:00
Alyssa Ross
ec88096611 Declare more global variables 2016-09-13 22:00:53 +01:00
Alyssa Ross
b554feb7ba Declare global variables
This was causing warnings with `setopt warn_create_global`.
2016-08-31 16:55:09 +00:00
Suraj N. Kurapati
6008552895 GH-44: fix "parameter not set" warning by set -u
$ zsh -f
zsh% set -u
zsh% source zsh-history-substring-search.zsh
zsh% bindkey '^[[A' history-substring-search-up
zsh% bindkey '^[[B' history-substring-search-down
zsh% so<up>
_history-substring-search-begin:11: _history_substring_search_result: parameter not set
2016-07-16 09:25:50 -07:00
Suraj N. Kurapati
434fabd55e README: fix markdown rendering on Github: - and _
* Extra `---` lines were rendered as horizontal rules.
* Underscores in configuration variables were italics.
2016-07-16 09:11:25 -07:00
Suraj N. Kurapati
43b456b85c README: format HISTORY as list; mention @gezalore 2016-07-16 09:07:16 -07:00
Daniel Shahaf
4257c1435d README: remove incorrect statement
Publishing a copyrightable work does not make it public domain.
2016-07-16 08:52:56 -07:00
Suraj N. Kurapati
557d25e940 Merge pull request #55 from gezalore/ensure_unique 2016-06-25 12:18:36 -07:00
Geza Lore
3e64e0e9fa Fix repeat search with HIST_FIND_NO_DUPS. 2016-05-23 21:42:08 +01:00
Geza Lore
b546105d7e Initialize option to empty string instead of unsetting. 2016-05-22 09:41:30 +01:00
Suraj N. Kurapati
f5c164d4c3 GH-53: configure arrow keys for iTerm2 with cuu/d1 2016-03-06 22:33:47 -08:00
Geza Lore
8224802bda Use lazy enumeration to keep response time fast.
With HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE, it can take a while to compute
all unique search results, which would normally keep the shell unresponsive
during this computation.

This commit separates the retrieval of all history matches from the
computation of the matches that need to be presented to the user (unique
matches only if HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE is set). The
computation of the matches needing to be displayed is then done lazily,
and only when the user requests a new previously undisplayed result.
This keeps the response time fast while still enabling us to filter for
unique search results.
2016-03-06 10:50:33 +00:00
Geza Lore
352943873d Add option to ensure unique search results.
If HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE is set to a non-empty string,
then all displayed search results will be unique even if the shell
option HIST_IGNORE_ALL_DUPS is not set.
2016-03-05 19:36:25 +00:00
Geza Lore
7444ca5783 Do not search history when query is empty.
We used to do a history search when the query string was empty, which
resulted in all history indices being returned, but they are never
actually used as _history-substring-search-up-history and
_history-substring-search-down-history will just act like ZSH up-history
and down-history if the query is empty. Removing this unnecessary lookup
should speed up the empty query case, especially if you have a long
history.
2016-03-05 15:21:24 +00:00
Geza Lore
6001e1f0f5 Refactor to reverse internal enumeration order.
This is a pure refactoring patch and does note change any functionality.

We remove an unnecessary reversal of the history match array by swapping
the enumeration order of match indices. Older entries now have higher
internal indices than younger entries, and hence we start from 1.

Also removed one unreachable elif clause each from search-up and
search-down.
2016-03-05 13:53:25 +00:00
Suraj N. Kurapati
7a4b54b708 Merge pull request #51 from Eriner/master
add *.zwc to gitignore
2015-12-18 11:02:01 -08:00
Matt Hamilton
e669342235 add *.zwc to gitignore 2015-12-17 12:19:28 -05:00
Suraj N. Kurapati
2f8a5f8fe3 drop oh-my-zsh config file: they supply their own
https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/history-substring-search/history-substring-search.plugin.zsh
2015-12-14 11:19:29 -08:00
Suraj N. Kurapati
2c29543217 Merge pull request #45 from Eriner/master
convert ksh functions to POSIX syntax
2015-09-28 10:47:34 -07:00
Matt Hamilton
e2ab5b8214 convert ksh functions to POSIX syntax 2015-09-28 13:19:16 -04:00
Suraj N. Kurapati
c4a83561a1 README: add Fedora 21 to fallback up/down bindkey
https://github.com/zsh-users/zsh-history-substring-search/issues/37#issuecomment-96327615
2015-04-26 20:17:10 -07:00
Suraj N. Kurapati
6d7bc718ae skip HIST_FIND_NO_DUPS if HIST_IGNORE_ALL_DUPS set
Thanks to @ELLIOTTCABLE for suggesting this optimization:
https://github.com/zsh-users/zsh-history-substring-search/issues/19#issuecomment-90295460
2015-04-06 17:33:27 -07:00
Suraj N. Kurapati
b5c81fd750 README: document HIST_FIND_NO_DUPS as alternative
Elliott Cable wrote:

> HIST_IGNORE_ALL_DUPS doesn't provide the functionality I want;
>
> I don't want my history actually modified; I simply want to skip
> duplicate entries when using my history-substring-search keybind. |=<

https://github.com/zsh-users/zsh-history-substring-search/issues/19#issuecomment-90289051
2015-04-06 17:24:00 -07:00
joe9
98a5e85c2d setopt HIST_IGNORE_ALL_DUPS also fixes #19 and #42 2015-04-06 16:57:21 -07:00
Suraj N. Kurapati
fc7eb3cbf0 GH-42: speed up HIST_FIND_NO_DUPS: drop O(n) prune
Don't prune all duplicates from the search space *before* performing the
search! Instead, simply redo the search when a duplicate result is found.
2015-03-22 11:16:12 -07:00
Suraj N. Kurapati
5866858947 Merge pull request #41 from parkercoates/master
GH-19: Respect the HIST_FIND_NO_DUPS option.
2015-03-17 10:59:44 -07:00
Parker Coates
13033d87a1 GH-19: Respect the HIST_FIND_NO_DUPS option.
This is the best way I've found to remove duplicate entries while
keeping the most recent occurence, but I'm not a ZSH expert. There may
be a more efficient way.
2015-03-16 08:35:28 -03:00
Parker Coates
fd31074470 Use array reversal instead of array sorting.
There's no need to do a full numerical sort here, since we know the
keys will be in reverse numerical order, because (R) searches in last-
to-first order. Not a big deal, but this is just simpler and
presumably more efficient.

Also cleaned up a rather confusing comment about (on) being used to
remove duplicates, which it definitely doesn't.
2015-03-16 08:30:05 -03:00
Suraj N. Kurapati
3c7b079275 Merge zsh-syntax-highlighting #143 to close #15
The problem reported in issue #15 was fixed upstream in #143:
https://github.com/zsh-users/zsh-syntax-highlighting/pull/143
2015-02-17 12:16:55 -08:00
Suraj N. Kurapati
9f9fc7d550 README: MacOSX 10.9 users need to bind ^[[A/B too
Thanks to Andrea Leopardi for reporting this in issue #37.
2014-08-30 10:38:17 -07:00
Suraj N. Kurapati
1e76804052 README: document that ZSH 4.3 or newer is required
closes #24
2013-11-02 12:55:57 -07:00
Arash Rouhani
9c51863eb2 README: $terminfo does not work under Ubuntu 12.04
This gives further advice for keybindings: for some reason, on my Ubuntu
12.04 system, I need to enter `^[[A` but `$terminfo[kcuu1]` gives `^[OA`
2013-09-26 13:24:48 -07:00
Sorin Ionescu
d9b28ed7f9 GH-21: bind arrow key codes according to terminfo 2013-07-05 08:51:14 -07:00
Jon Rogers
99341be866 GH-21: fix bindkey strings for up and down arrows 2013-06-18 23:13:26 -07:00
Suraj N. Kurapati
82fbef5132 drop default key bindings (move them into README)
https://github.com/sorin-ionescu/prezto/issues/422

3c5363ef9b
2013-04-25 14:46:22 -07:00
Suraj N. Kurapati
3bd84be43e we need to bind ^[[A and ^[[B not ^[A and ^[B 2013-02-22 12:21:34 -08:00
Suraj N. Kurapati
428ea10598 Merge branch 'bindkey'; closes issue #12 2013-01-05 17:47:45 -08:00
Sorin Ionescu
ebde030990 GH-12: fix arrow bindkey and support emacs & vicmd 2012-11-21 22:11:32 -08:00
Suraj N. Kurapati
04c2eca00c use explicit return codes instead of true & false 2012-03-28 11:00:53 -07:00
Sorin Ionescu
c61c9956c4 use 0 instead of true in returns 2012-03-28 11:05:00 -04:00
Suraj N. Kurapati
a23cfbb11f GH-10: retain not-found highlight at boundaries 2012-03-28 06:44:05 -07:00
Suraj N. Kurapati
226ae9a368 GH-10: clear highlights before displaying result 2012-03-27 21:36:09 -07:00
Suraj N. Kurapati
527f95fee9 GH-9: retain search query highlight on cursor move 2012-03-13 13:54:54 -07:00
Suraj N. Kurapati
0943070a9d GH-8: do not interfere with self-insert overrides 2012-03-12 21:23:37 -07:00
Aaron Hall
68904e1d72 Update widget-remap code from zsh-syntax-highlighting
This brings in the several improvements since the code was initially
added for compatibility. In particular, this fixes widget conflicts with
existing functions and executables by prefixing all redefined widgets
with "_zsh_highlight_widget_".
2012-01-11 21:43:27 -08:00
Suraj N. Kurapati
ba2e1a76aa extendedglob used in *end() function; closes #6 2011-09-30 17:02:29 -07:00
Suraj N. Kurapati
db51e71ec7 Merge branch 'local_options' 2011-09-30 11:18:48 -07:00