Commit graph

31 commits

Author SHA1 Message Date
Eric Freese
93877f6b76 We also need to remove the handler when cancelling async request
Should fix GitHub #353
2018-07-13 11:25:59 -06:00
Martin Väth
8ae0283c90 Do not rely on implicit NULLCMD=cat 2018-07-02 12:21:49 -06:00
Eric Freese
cd81522b30 Attempt to kill async worker process when new request comes in
See http://www.zsh.org/mla/users/2018/msg00432.html
2018-06-12 23:45:29 -06:00
Eric Freese
9cb0101512 Refactor async mode to no longer use zpty
See technique used in `fast-syntax-highlighting`:
- ca2e18bbc9
- http://www.zsh.org/mla/users/2018/msg00424.html
2018-06-11 02:12:47 -06:00
Eric Freese
63789e96b5 Fix handling of newline + carriage return in async pty (#333) 2018-05-26 14:16:00 -06:00
Eric Freese
df5fb858aa Destroy old pty even if it's no longer running (#249)
For unknown reasons, the pty will occasionally quit running. In these
cases, we still want to remove it so that a fresh one can be created. We
don't actually need this check because error messages from `zle` and
`zpty` are redirected to /dev/null.

One sure way to kill all currently running pty's is to run `exit` in a
subshell. Even without zsh-autosuggestions loaded, the following works:

    % zmodload zsh/zpty
    % zpty -b foo cat
    % zpty -b bar cat
    % zpty
    (31689) bar: cat
    (31666) foo: cat
    % $(exit)
    % zpty
    (finished) bar: cat
    (finished) foo: cat
2018-05-15 13:55:37 -06:00
Eric Freese
60aff2d944 Remove unused local $suggestion variable 2018-03-27 14:51:37 -06:00
Kaleb Elwert
940e10a691 Fix conditionals to use [[ and (( rather than [
This fixes a small issue in src/widgets.zsh which makes it so if you
alias [ to g[ (as is done in prezto if the gnu-utility module is loaded)
autosuggestions would fail.

The documentation for GNU test mentions that -o and -a should be avoided
if possible because it's not very clear. Also, with zsh and [[ -o
actually tests if an option is set, which makes this option even more
confusing.
2017-11-27 08:31:41 -07:00
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
a0fcd81ce1 Destroy zpty on load if it already exists 2017-02-17 22:47:28 -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
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
21d9eda5dd Wrap suggestion fetch command in parens to actually run in background 2017-01-24 23:59:38 -07:00
Eric Freese
b3208b08af Pass the chosen strategy into the suggestion server pty 2017-01-24 22:48:30 -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