Eric Freese
152d2c6b31
v0.5.2
2019-04-11 10:15:46 -06:00
Eric Freese
b9fee8a324
Allow disabling of automatic widget re-binding
...
Addresses github #411
2019-04-10 11:43:21 -06:00
Eric Freese
db290c518b
cleanup: Leave max size config unset by default to match other options
2019-04-10 11:43:20 -06:00
Eric Freese
d8ba53678e
cleanup: Use + param expansion flag in arithmetic context
2019-04-10 11:42:25 -06:00
Eric Freese
4cd210b70d
Fix async suggestions when SH_WORD_SPLIT is set
2019-04-10 09:51:33 -06:00
Eric Freese
e405afab29
Refactor async mode to no longer use zpty
...
See technique used in `fast-syntax-highlighting`:
- https://github.com/zdharma/fast-syntax-highlighting/commit/ca2e18bbc9e27b9264206c257d2ab68838162c70
- http://www.zsh.org/mla/users/2018/msg00424.html
Also see http://www.zsh.org/mla/users/2018/msg00432.html
In async response handler:
- We only want to read data in case of POLLIN or POLLHUP. Not POLLNVAL
or select error.
- We always want to remove the handler, so it doesn't get called in an
infinite loop when error is nval or err.
There is an upstream bug that prevents ctrl-c from resetting the prompt
immediately after a suggestion has been fetched asynchronously. A patch
has been submitted, but a workaround for now is to add `command true`
after the exec.
See https://github.com/zsh-users/zsh-autosuggestions/issues/364
2019-04-09 14:45:22 -06:00
Eric Freese
a5dc4a8db4
Fix version in compiled plugin script
2019-04-09 14:43:48 -06:00
romkatv and Eric Freese
4a82ff1ead
speed up widget rebinding by removing redundant array subscripts
2019-04-01 14:56:53 -06:00
Eric Freese
f76472272e
cleanup: Remove unnecessary braces
2019-04-01 14:36:31 -06:00
Eric Freese
50579b3371
Move widget definitions inside anonymous function
2018-12-21 23:20:08 -07:00
dana
aee1b10db6
Avoid warn_create_global warnings
2018-12-19 13:38:06 -06:00
Eric Freese
e937e89267
Respect user's set options when running original widget
...
Fixes GitHub #379
2018-12-16 21:13:02 -07:00
Eric Freese
11251d97ca
Merge branch 'master' into develop
2018-12-16 20:50:16 -07:00
Eric Freese
41657e3565
Revert async process substitution & completion strategy
...
They're not quite ready. Keep them on a feature branch for now.
2018-12-16 20:49:06 -07:00
Eric Freese
286656635c
v0.5.0
2018-11-24 09:56:52 -07:00
Eric Nielsen and Eric Freese
9e4d3c337f
Don't overwrite config with default values
...
otherwise users are obliged to set the config values *after* sourcing
the plugin. They're not able to do it before. Also, re-sourcing the
plugin will reset the values to the defaults again.
See zimfw/zimfw#301
Fixes #335
2018-11-24 09:56:52 -07:00
Eric Freese
a78ea16c50
Support fallback strategies by setting array in config
2018-11-24 09:56:30 -07:00
Eric Freese
62f5f14f2f
default => history
2018-11-24 09:56:00 -07:00
Eric Freese
4540304fa0
Reset opts in some functions affected by GLOB_SUBST
...
Should fix GitHub #334
2018-11-19 15:15:48 -07:00
Eric Freese
4097d6e0ae
Support widgets starting with dashes (ex: -a-widget)
...
Fixes #337
2018-11-19 15:15:48 -07:00
Eric Freese
0f80f9511d
Fix handling of newline + carriage return in async pty ( #333 )
2018-11-19 15:15:48 -07:00
Eric Nielsen and Eric Freese
e61442161e
Don't overwrite config with default values
...
otherwise users are obliged to set the config values *after* sourcing
the plugin. They're not able to do it before. Also, re-sourcing the
plugin will reset the values to the defaults again.
See zimfw/zimfw#301
Fixes #335
2018-11-18 12:39:23 -07:00
Eric Freese
681ffc7b28
Reset opts in some functions affected by GLOB_SUBST
...
Should fix GitHub #334
2018-07-13 22:16:53 -06:00
Eric Freese and GitHub
b8bf86f6ab
Merge pull request #359 from zsh-users/fixes/async-bad-file-descriptor
...
Fixes/async bad file descriptor
2018-07-13 20:50:31 -07:00
Eric Freese
7ab2124904
Kill async process by id when job control disabled
2018-07-13 21:48:25 -06:00
Eric Freese
88fe824ddf
Add some error handling to async response handler
...
We only want to read data in case of POLLIN or POLLHUP. Not POLLNVAL or
select error.
We always want to remove the handler, so it doesn't get called in an
infinite loop when error is nval or err.
In zsh source, see main zle event loop in zle_main.c raw_getbyte
function.
2018-07-13 11:26:57 -06:00
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
Eric Freese
bd1fd97738
Cleanup unused async pty name
2018-07-02 22:38:20 -06:00
Eric Freese
f1c3b98774
Only capture completions at the end of the buffer.
...
To prevent the suggestion from not starting with the buffer string.
Example:
`ls / /[cursor left][cursor left]b`
Before the patch, suggests `ls /b /ls /bin/ /`
After the patch, suggests `ls /b /bin/`.
https://github.com/zsh-users/zsh-autosuggestions/issues/343#issuecomment-401675712
2018-07-02 12:25:20 -06:00
Eric Freese
4869a757c8
Ensure we always destroy the zpty
...
If running in sync mode and a completion takes a long time, the user can
^C out of it. Without this patch, the pty will not be destroyed in this
case and the next time we go to create it, it will fail, making the
shell unusable.
2018-07-02 12:25:20 -06:00
Eric Freese
302bd7c059
Setup zshexit hook immediately in both sync/async cases
2018-07-02 12:25:20 -06:00
Eric Freese
245f5d2ba2
Improve completion suggestions
...
Just insert the first completion directly into the buffer and read the
whole buffer from the zpty.
2018-07-02 12:25:20 -06:00
Martin Väth and Eric Freese
8ae0283c90
Do not rely on implicit NULLCMD=cat
2018-07-02 12:21:49 -06:00
Eric Freese
c0315e96d8
Don't use -s option to zmodload
...
It is not available in zsh versions older than 5.3
2018-06-30 16:54:33 -06:00
Eric Freese
5529102afc
zpty module is only needed for completion strategy
2018-06-30 15:09:24 -06:00
Eric Freese
dad6be4d5e
Remove unused feature detection
...
Not needed after move away from zpty for async
2018-06-30 15:05:37 -06:00
Eric Freese
7d968869e3
Return if no completion found
2018-06-30 15:03:14 -06:00
Eric Freese and GitHub
8593624996
Merge pull request #330 from zsh-users/features/completion-suggestions
...
Features/completion suggestions
2018-06-30 14:35:50 -06:00
Eric Freese
1ec43c7291
Fix error when single quote entered into buffer
...
Error looked something like:
```
% echo 'f(zpty):8: unmatched '
_zsh_autosuggest_capture_completion:zpty:9: no such pty command: zsh_autosuggest_completion_pty
_zsh_autosuggest_capture_completion:zpty:14: no such pty command: zsh_autosuggest_completion_pty
_zsh_autosuggest_capture_completion:zpty:21: no such pty command: zsh_autosuggest_completion_pty
```
According to `man zshmodules`, the args to `zpty` are "concatenated with
spaces between, then executed as a command, as if passed to the eval
builtin." So we need to escape the `$` so that `$1` is passed to eval
instead of the value of `$1`.
2018-06-29 22:08:33 -06:00
Martin Väth and Eric Freese
43a011026f
Do not leak global variables REPLY and strategy
...
https://github.com/zsh-users/zsh-autosuggestions/issues/341
2018-06-18 16:39:48 -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
d7171232c3
Merge branch 'develop' into features/completion-suggestions
2018-06-11 02:34:24 -06:00
Eric Freese
9cb0101512
Refactor async mode to no longer use zpty
...
See technique used in `fast-syntax-highlighting`:
- https://github.com/zdharma/fast-syntax-highlighting/commit/ca2e18bbc9e27b9264206c257d2ab68838162c70
- http://www.zsh.org/mla/users/2018/msg00424.html
2018-06-11 02:12:47 -06:00
Eric Freese
b0ffc34fb8
completion should be a local var
2018-06-10 23:35:22 -06:00
Eric Freese
4e466f0e4e
Support widgets starting with dashes (ex: -a-widget)
...
Fixes #337
2018-06-10 22:39:58 -06:00
Eric Freese
bcbdad83e9
Support fallback strategies by setting array in config
2018-06-06 22:03:56 -06:00
Eric Freese
949c374195
Fix completion strategy on older versions of zsh
...
`zpty -r` with a pattern seems to have some funky behavior on older
versions, giving unpredictable results
2018-05-26 15:42:50 -06:00
Eric Freese
973205005c
Add spec for completion strategy
2018-05-26 15:42:50 -06:00
Eric Freese
cf458d2a3b
Fix completion suggestions when compinit is not enabled
...
Need to make sure compinit is called in the pty or the shell hangs
2018-05-26 15:35:29 -06:00
Eric Freese
3dbd9afaec
Fix completion strategy killing other pty's
...
Only a problem in synchronous mode
2018-05-26 15:35:29 -06:00