Eric Freese
c9a51e0c4c
Handle dashes at the beginning of commands
2017-02-18 16:51:53 -07:00
Eric Freese
48a21bf79e
[cleanup] Remove an extra newline
2017-02-18 11:27:55 -07:00
Eric Freese
4afbbbadda
We only need to run the feature detection if starting async
2017-02-18 11:25:27 -07:00
Eric Freese
e3fa4e4904
Don't do anything but re-bind widgets on each precmd
...
There's no need to re-run feature detection or async_start on every
precmd. Just do those once.
2017-02-18 11:15:53 -07:00
Eric Freese
4321fc097c
We need to bind on every precmd to ensure we wrap other wrappers
...
Specifically, highlighting breaks if our widgets are wrapped by z-syn-h
widgets.
2017-02-17 23:20:04 -07:00
Eric Freese
75e850577d
Gracefully handle being sourced multiple times
...
Should fix #126
2017-02-17 23:19:55 -07:00
Eric Freese
a0fcd81ce1
Destroy zpty on load if it already exists
2017-02-17 22:47:28 -07:00
Eric Freese
39ca3dac45
Use a different name for feature detection zpty
...
So that it doesn't conflict when the file is sourced again
2017-02-17 22:07:48 -07:00
Eric Freese
dcce973287
Remove support for long-deprecated options
...
These options have been deprecated for over a year.
2017-02-17 18:45:46 -07:00
Christian Höltje
0c940e70f2
Don't bind any zle-* methods
...
It seems like all the zle-* methods are special and shouldn't be
monkeyed with.
Specifically `zle-isearch-update` and friends. Binding that widget
caused `history-incremental-pattern-search` to stop working.
Fixes zsh-users/zsh-syntax-highlighting#387
2017-02-17 18:32:52 -07:00
Eric Freese
23ef16c297
Do not show suggestions if the buffer is empty
2017-02-17 18:26:34 -07:00
Eric Freese
c4bfd8e2c6
Need to prevent zpty feature detection from HUPing existing zptys
2017-02-17 15:51:50 -07:00
Eric Freese
9feac573c9
Do not show any error output from async zpty server process
2017-02-16 19:27:32 -07:00
Eric Freese
ed8056c5e8
Lots of async changes
2017-02-16 19:19:30 -07:00
Eric Freese
2c465a932a
Rename async pty name config var
2017-01-29 10:39:07 -07:00
Eric Freese
e3eb286ea2
Lots of little async cleanups
2017-01-27 15:18:26 -07:00
Eric Freese
40bb2e7804
little cleanup
2017-01-26 17:00:56 -07:00
Eric Freese
16666da488
Handle versions of zsh where zpty does not set REPLY to fd of opened pty
...
Based on e702ec4697/async.zsh (L400-L406)
2017-01-26 16:50:19 -07:00
Eric Freese
f33b605a63
Move async initialization into start
function to keep in one place
2017-01-26 16:40:34 -07:00
Eric Freese
78ba07179a
Add feature detection
...
Checks whether `zpty` gives a file descriptor, which was not the case in
older versions of zsh.
Based on a4b2f81c96/async.zsh (L395-L401)
2017-01-26 16:40:34 -07:00
Eric Freese
3f57198d07
Only bind widgets once, on initial sourcing
2017-01-26 16:23:27 -07:00
Eric Freese
6c5cd42331
Go back to tracking last pid because kill %1
didn't seem to be working
2017-01-25 00:00:53 -07:00
Eric Freese
54e1eee924
Optimize case where manually typing in a suggestion
2017-01-25 00:00:13 -07:00
Eric Freese
21d9eda5dd
Wrap suggestion fetch command in parens to actually run in background
2017-01-24 23:59:38 -07:00
Eric Freese
50e6832b8c
Escape the prefix passed into the match_prev_cmd strategy
2017-01-24 23:06:41 -07:00
Eric Freese
0305908adf
Revert fc
usage in calculating suggestion
...
As far as I know, `fc` makes it impossible to tell whether history items
used an actual newline character or the string "\n". Pulling from the
`$history` array gives a more accurate representation of the actual
command that was run.
2017-01-24 23:04:07 -07:00
Eric Freese
b3208b08af
Pass the chosen strategy into the suggestion server pty
2017-01-24 22:48:30 -07:00
Eric Freese
ab2742537f
Quote the suggestion to support sh_split_word option
2017-01-24 22:27:47 -07:00
Eric Freese
e5a5b0c1e0
Output only newlines in the pty
2017-01-24 22:27:09 -07:00
Eric Freese
0337005eb0
Disable word splitting while reading to preserve whitespace
2017-01-24 21:59:22 -07:00
Eric Freese
b530b0c996
Use zpty -r
with pattern matching to fetch suggestion
2017-01-24 20:01:30 -07:00
Eric Freese
5c891afd48
Reset zsh options inside pty (from zsh-async)
2017-01-24 20:01:27 -07:00
Eric Freese
e33eb570c4
Send only the prefix to the suggestion server
2017-01-24 20:01:11 -07:00
Eric Freese
fba20b042e
Use %1 instead of tracking pid
2017-01-24 20:00:50 -07:00
Eric Freese
0308ed797e
Rename worker to server
2017-01-24 20:00:34 -07:00
Eric Freese
e72c2d87e5
add a bunch of comments
2017-01-24 19:53:59 -07:00
Eric Freese
ab8f295225
First pass at async functionality
2017-01-24 19:45:11 -07:00
Eric Freese
9cfaf5d342
v0.3.3
2016-10-17 07:45:09 -06:00
Eric Freese
b377c39d0e
Only fetch a new suggestion if buffer has changed
2016-07-31 20:10:22 -06:00
Eric Freese
a44aa59321
Remove unnecessary reset of POSTDISPLAy
2016-07-31 20:09:26 -06:00
Eric Freese
25f4afb058
Add ZSH_AUTOSUGGEST_IGNORE_WIDGETS array
2016-07-31 19:35:30 -06:00
Lorenzo Bolla
cdf56a3305
Include result of make
2016-07-18 10:56:21 +01:00
Lorenzo Bolla
7b81eb79b8
Disable autosuggest if buffer is too large
...
Make buffer max size configurable, defaulted to infinity
2016-07-18 08:56:00 +01:00
Eric Freese
63816c5da8
Fix #164 : Use fc
builtin instead of $history
array for lookup
...
According to a few tests, the `fc` builtin appears to be quite a bit
faster than searching through the `$history` associative array when
dealing with large history files (500K+).
2016-06-10 13:52:24 -06:00
Eric Freese
b4b3a82ee3
Fix #168 and #130 : Escape tildes when fetching suggestions
2016-06-10 13:51:20 -06:00
Tassilo Horn
ca70612d3c
Document caveats of match_prev_cmd strategy
...
This strategy relies on the history being exactly in the order in which
commands have been entered. Therefore, options like suppressing
duplicates or expiring duplicates first will lead to unexpected
suggestions.
2016-05-28 21:23:35 +02:00
Eric Freese
cce68de46d
v0.3.2
2016-05-28 08:27:08 -06:00
Eric Freese
e87bc74654
Fix 118: Clear suggestion before original widget to fix completions
...
See PR #149
2016-04-25 14:42:09 -06:00
Eric Freese
964773aa75
Use array indices for forward compatibility
...
See issue #152
2016-04-25 14:26:37 -06:00
Eric Freese
945c660856
Fix #152 by escaping widget names inside evals
...
Solves problems when dealing with widget names with irregular
characters such as those that come from `opp.zsh`.
2016-04-25 14:26:35 -06:00