Eric Freese
4016ff795b
Fix circle ci build issues
...
We are getting errors on circle ci builds (e.g. see [1]):
```
CircleCI was unable to run the job runner because we were unable to
execute commands in build container.
This typically means that the build container entrypoint or command is
terminating the container prematurely, or interfering with executed
commands. Consider clearing entrypoint/command values and try again.
```
Folks in this thread [2] suggest removing the `command: /sbin/init` line
initially added by the v1 => v2 migration script.
---
1: https://circleci.com/gh/zsh-users/zsh-autosuggestions/381
2: https://discuss.circleci.com/t/circleci-was-unable-to-run-the-job-runner/31894/18
2019-09-30 12:11:41 -06:00
Eric Freese
43f3bc4010
Add gitter badge ( #461 )
2019-07-15 11:39:10 -06:00
Eric Freese
fdc4292a7f
Switch to shields badges
2019-07-15 11:18:31 -06:00
Eric Freese and GitHub
3baf9468c2
Merge pull request #459 from zsh-users/meta/package-installation-links
...
Add package links to install docs (#222 )
2019-07-07 10:30:05 -06:00
Eric Freese
01dce8999f
Add package links to install docs ( #222 )
...
Copied from zsh-users/zsh-completions. Removed missing packages for
Gentoo, Slackware, and MacPorts.
2019-07-02 21:26:52 -06:00
Eric Freese and GitHub
ac4f0b2418
Merge pull request #458 from zsh-users/meta/github-templates
...
Add issue templates
2019-07-02 21:06:21 -06:00
Eric Freese and GitHub
324aad0ac9
Add issue templates
...
Configured through https://github.com/zsh-users/zsh-autosuggestions/issues/templates/edit
2019-07-02 21:03:58 -06:00
Eric Freese and GitHub
146020d9b2
Merge pull request #454 from zsh-users/develop
...
v0.6.3
2019-06-24 09:13:46 -06:00
Eric Freese
0636a39b51
0.6.3
2019-06-24 09:10:42 -06:00
Eric Freese
6769c941ba
Update changelog for v0.6.3 release
2019-06-24 09:10:42 -06:00
Eric Freese and GitHub
371d6441c0
Merge pull request #453 from zsh-users/fixes/move-cursor-on-accept
...
Fix moving cursor to end of buffer when suggestion accepted
2019-06-24 07:16:35 -06:00
Eric Freese
78e4379711
Fix moving cursor to end of buffer when suggestion accepted
...
$max_cursor_pos in this case was not the correct value to use. It was
calculated based on the old length of the $BUFFER. After the suggestion
is accepted, we need to recalculate the new max cursor length and use it
to set the $CURSOR.
Fixes issue #452 . Follow-up to issue #302 (PR #450 ).
2019-06-23 12:37:08 -06:00
Eric Freese and GitHub
c80605595c
Merge pull request #451 from zsh-users/develop
...
v0.6.2
2019-06-22 16:57:19 -06:00
Eric Freese
cb52adf429
v0.6.2
2019-06-22 16:54:32 -06:00
Eric Freese
cdf6be4f06
Update readme description to reference new completion strategy
2019-06-22 16:54:03 -06:00
Eric Freese
66a6de3fb5
Update changelog for v0.6.2 release
2019-06-22 16:52:42 -06:00
Eric Freese and GitHub
2498dbab75
Merge pull request #450 from zsh-users/fixes/vi-delete
...
Fix deleting last character in vi mode (#302 )
2019-06-22 16:42:52 -06:00
Eric Freese
676aebdf44
Fix deleting last character in vi mode ( #302 )
...
Typing `d` and then `l` runs `vi-delete` and then `vi-forward-char`. However,
by default, `vi-forward-char` is configured to accept the suggestion. So in
that case, the suggestion was being accepted and the cursor set to the end of
the buffer before the deletion was run.
The reason the user doesn't see the suggestion accepted is that `vi-delete`
doesn't finish until the movement widget is run, so we're already inside of a
`modify` when `accept` is called. `modify` unsets `POSTDISPLAY` before calling
the original widget so when we get to the accept function, `POSTDISPLAY` is
empty and thus accepting the suggestion is a no-op.
The fix is to make sure we reset the cursor to the correct place before running
the original widget.
We skip the test for versions of zsh below 5.0.8 since there was a bug in
earlier versions where deleting the last char did not work.
See http://www.zsh.org/mla/workers/2014/msg01316.html
2019-06-22 16:34:42 -06:00
Eric Freese and GitHub
ec43fcfccf
Merge pull request #449 from Warkst/i416
...
Possible fix for #416
2019-06-22 10:56:34 -06:00
Eric Freese and GitHub
f5236c4351
Merge pull request #448 from ondrej-fabry/patch-1
...
Update INSTALL.md
2019-06-22 10:50:17 -06:00
Eric Freese and GitHub
d27983b7ca
Merge pull request #447 from zsh-users/features/without-system-module
...
Degrade gracefully on systems missing zsh/system module
2019-06-22 10:46:26 -06:00
Eric Freese
a437544cc5
Degrade gracefully on systems missing zsh/system module
...
When using async mode, stale background processes will not be cancelled
when a new one starts. This shouldn't cause any real issues since the
processes should eventually finish and be cleaned up anyway, and
removing the handler with `zle -F` means that stale suggestions should
never be shown.
2019-06-19 13:41:43 -06:00
Eric Freese and GitHub
112dd3e3c7
Merge pull request #446 from zsh-users/develop
...
v0.6.1
2019-06-18 11:11:59 -06:00
Eric Freese
8a812bdfd2
v0.6.1
2019-06-18 11:04:24 -06:00
Eric Freese
f178efb847
Update changelog for v0.6.1 release
2019-06-18 11:04:04 -06:00
Eric Freese and GitHub
48ffc1bf92
Merge pull request #443 from zsh-users/fixes/alias-parse-error
...
Prefix custom `_complete` implementation with "function" keyword
2019-06-18 07:50:07 -06:00
Eric Freese
adb02c44a2
Prefix custom _complete implementation with "function" keyword
...
For some reason, when `_complete` is aliased before sourcing the plugin,
zsh was blowing up with a parse error. Adding "function" keyword makes
it parse successfully.
See similar issue: https://github.com/robbyrussell/oh-my-zsh/issues/6723#issuecomment-381220834
Fixes GitHub #442
2019-06-17 22:04:31 -06:00
Eric Freese
3654b83ec0
Update license copyright year in built plugin file
...
Should have been committed with 19c976f
2019-06-17 21:58:31 -06:00
Eric Freese and GitHub
b3b34eab49
Merge pull request #440 from zsh-users/develop
...
v0.6.0
2019-06-15 21:46:24 -06:00
Eric Freese
19c976f62a
Update license copyright year
2019-06-15 21:40:39 -06:00
Eric Freese
3250778ce8
v0.6.0
2019-06-15 21:39:57 -06:00
Eric Freese
43ba841742
Update changelog for v0.6.0 release
2019-06-15 21:39:10 -06:00
Eric Freese and GitHub
86f64c30ca
Merge pull request #420 from zsh-users/fixes/completion-newline-issues
...
Fixes/completion newline issues
2019-06-15 21:24:01 -06:00
Eric Freese
f543ba08c3
Fix cr/lf handling in completion strategy
2019-06-15 21:17:58 -06:00
Eric Freese
68343c8de4
Allow suggestions to suggest trailing newlines
...
Command substitution via $() trims trailing newlines so the old approach
to reading everything from the fd was preventing suggestions from ending
with newlines.
Found the read solution here: https://stackoverflow.com/a/15184414/154703
2019-06-15 21:17:58 -06:00
Eric Freese
e263845bed
Add an extra completion to better exercise choosing first
2019-06-15 21:17:58 -06:00
Eric Freese
d94475ca1b
Simplify logic to extract suggestion from between null bytes
...
Just remove up to and including the first null byte and after and
including the last null byte.
I also looked into using `${${(0)line}[2]}`, but it fails when `$line`
starts with a null byte, since the first split string will be empty and
thus not included in the resulting array.
2019-06-15 21:17:58 -06:00
Eric Freese
c04e015d13
Add to explanation of extra stuff after zpty -r
2019-06-15 21:17:58 -06:00
Eric Freese
e9ce05c4c1
Ensure that kill succeeds even in older buggy versions of zsh
...
See https://unix.stackexchange.com/a/477647/156673
2019-06-15 21:17:58 -06:00
Eric Freese
fdf4502c5c
We need to autoload is-at-least for it to be available
...
This error was hidden inside the zpty
2019-06-15 21:17:58 -06:00
Eric Freese
7e048c3f53
Fix error that was hidden in zpty
...
Without the quotes, this was blowing up with:
_zsh_autosuggest_capture_postcompletion:unset:5: not enough arguments
2019-06-15 21:17:58 -06:00
Eric Freese
2b05f5ed2d
Add a comment explaining post-completion hook
2019-06-15 21:17:58 -06:00
Eric Freese and GitHub
5339d2703d
Merge pull request #432 from zsh-users/features/wrap-zle-line-init
...
Wrap zle-line-init to support fetching suggestions on line init
2019-06-14 21:04:02 -06:00
Eric Freese
0d3bbaf8e6
Remove hard-coded ignore of zle-* widgets and add to default config
...
Use case suggested by @romkatv uses zle-line-init to restore buffer
after running a widget to cd up one level (GitHub #431 ).
As far as I can tell, the ignoring of zle-line-* was added in commit
9788c2e to support some deprecation warnings that were removed some time
ago.
The pattern was then widened in commit 0c940e7 to zle-* to fix problems
encountered when wrapping zle-isearch-update.
This commit removes the hard coded ignore of all zle-* widgets and adds
zle-* to the default list of widgets to be ignored. Users who want the
plugin to wrap zle-line-init or zle-line-finish can override the
default.
2019-06-14 16:38:28 -06:00
Eric Freese
848aa741f4
Revert "Merge pull request #439 from zsh-users/fixes/copy-earlier-word"
...
This reverts commit 1c3e3fd939 , reversing
changes made to 733abd4af0 .
This PR should have been merged to develop instead of master.
2019-06-14 13:21:27 -06:00
Eric Freese
9ceeacc797
Try to make async ^C spec less flaky
...
Was intermittently failing, sleep for a little longer to increase
chances of false negatives.
2019-06-14 13:19:07 -06:00
Eric Freese and GitHub
1c3e3fd939
Merge pull request #439 from zsh-users/fixes/copy-earlier-word
...
Don't fetch suggestions after copy-earlier-word
2019-06-14 13:17:34 -06:00
Eric Freese
1912726460
Try to make async ^C spec less flaky
...
Was intermittently failing, sleep for a little longer to increase
chances of false negatives.
2019-06-14 12:50:44 -06:00
Eric Freese and GitHub
de266574d3
Merge pull request #434 from zsh-users/meta/improve-highlight-style-docs
...
Improve documentation for configuring highlight style
2019-05-29 01:40:20 -06:00
Eric Freese and GitHub
48d04447cc
Merge pull request #433 from zsh-users/fixes/ignore-empty-max-size
...
Allow setting max size to empty string (GitHub #422 )
2019-05-29 01:39:24 -06:00
Eric Freese
b714f6667c
Improve documentation for configuring highlight style
...
Supersedes PR #430 and gives additional info.
https://stackoverflow.com/questions/47310537/how-to-change-zsh-autosuggestions-color
2019-05-27 14:56:19 -06:00
Eric Freese
474c577f3c
Allow setting max size to empty string (GitHub #422 )
...
Some people have gotten used to setting ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE
to an empty string rather than leaving it unset. This lets them continue
to do that without getting any warnings (e.g. "bad math expression:
operand expected at end of string").
2019-05-27 14:18:21 -06:00
Eric Freese and GitHub
e9d8231ba7
Merge pull request #401 from zsh-users/features/completion-suggestions
...
Features/completion suggestions
2019-04-15 12:55:35 -06:00
Eric Freese
ce6ee94f30
Add spec to demonstrate bracketed-paste-magic bug workaround
...
Add `bracketed-paste` to list of widgets that clear the suggestion as a
workaround for GitHub #351
2019-04-15 12:47:21 -06:00
Eric Freese
e7c7efe2e2
Set options immediately after sourcing the plugin before next precmd
...
So that you can access defaults to e.g. add elements to an existing
array.
2019-04-15 12:46:21 -06:00
Eric Freese and GitHub
733abd4af0
Merge pull request #419 from zsh-users/develop
...
v0.5.2
2019-04-11 10:18:26 -06:00
Eric Freese
152d2c6b31
v0.5.2
2019-04-11 10:15:46 -06:00
Eric Freese
528e338e57
Update changelog for v0.5.2 release
2019-04-11 10:15:13 -06:00
Eric Freese
c1910348c7
Implement completion suggestion strategy ( #111 )
...
Based on https://github.com/Valodim/zsh-capture-completion
`zpty -r` with a pattern seems to have some funky behavior on older
versions, giving unpredictable results
Don't use `-s` option to `zmodload`. It is not available in zsh versions
older than 5.3
If running in sync mode and a completion takes a long time, the user can
^C out of it. We need to use `always` in the strategy function or 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.
User can have many different completion styles set that will modify what
they've already typed. These styles will result in suggestions that
don't match what the user has already typed. We try our best to unset
some of the more problematic ones, but add some code to fetch to
invalidate suggestions that don't match what the user's already typed.
2019-04-11 09:53:55 -06:00
Eric Freese and GitHub
937d6fc241
Merge pull request #418 from zsh-users/features/manual-rebind
...
Allow disabling of automatic widget re-binding
2019-04-10 13:53:37 -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 and GitHub
586b51366b
Merge pull request #417 from zsh-users/features/async-process-substitution
...
Refactor async mode to no longer use zpty
2019-04-10 08:06:52 -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
Eric Freese
543f2b5477
Support new zsh version
2019-04-09 14:12:35 -06:00
Eric Freese
a36a9aca44
Enable tcsetpgrp to support job control
...
See https://github.com/zsh-users/zsh-docker/pull/15
2019-04-09 13:14:34 -06:00
Eric Freese and GitHub
cbf0e24b18
Merge pull request #415 from zsh-users/develop
...
v0.5.1
2019-04-03 10:58:45 -06:00
Eric Freese
f94e667f59
v0.5.1
2019-04-03 10:52:43 -06:00
Eric Freese
3ee91c731c
Update changelog for v0.5.1 release
2019-04-03 10:51:48 -06:00
Eric Freese and GitHub
0b13f663da
Merge pull request #413 from zsh-users/features/faster-prompts
...
Features/faster prompts
2019-04-02 07:39:55 -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
Eric Freese and GitHub
66b842579a
Merge pull request #403 from okdana/dana/typeset-g
...
Set global parameters with typeset -g
2018-12-21 23:19:23 -07:00
Eric Freese and GitHub
ebc2c07ac8
Merge pull request #402 from zsh-users/fixes/autocd-tab-completion
...
Respect user's set options when running original widget
2018-12-17 17:59:06 -07: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
70f36c007d
Finish renaming "default" strategy to "history"
2018-11-24 15:07:08 -07:00
Eric Freese and GitHub
a7f0106b31
Merge pull request #393 from zsh-users/releases/v0.5.0
...
Releases/v0.5.0
2018-11-24 10:00:59 -07:00
Eric Freese
286656635c
v0.5.0
2018-11-24 09:56:52 -07:00
Eric Freese
0d994d4732
Update changelog for v0.5.0 release
2018-11-24 09:56:52 -07:00
Eric Freese
f0f1332e6b
Add after_sourcing hook for tests
...
Is executed immediately after sourcing the plugin
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
df6f6f9ff4
Add install directions for Antigen
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
822a1f30e0
Async is less reliable in zsh versions < 5.0.8
...
`stty` occasionally hangs (always in CircleCI) inside the async pty.
Disable the tests for now until we can figure out and fix/workaround
this issue.
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 Freese
4838222dde
Merge branch 'master' into develop
2018-11-18 22:32:17 -07:00
Eric Freese and GitHub
35c286de9a
Merge pull request #390 from zsh-users/features/no-overwrite-config
...
Features/no overwrite config
2018-11-18 22:19:31 -07:00
Eric Freese
be6b22b864
Add info to the readme about docker testing image
2018-11-18 21:35:52 -07:00
Eric Freese
69d7fa14d3
Build docker image for running tests
...
Published at `ericfreese/zsh-autosuggestions-test`.
Contains:
- Ruby 2.5.3
- Supported zsh versions 4.3.11 through 5.6.2
- Test ruby dependencies
Also updates Circle CI config to use built docker image.
2018-11-18 21:11:35 -07:00
Eric Freese
4b28d92e01
Add after_sourcing hook for tests
...
Is executed immediately after sourcing the plugin
2018-11-10 14:55:13 -07:00
Eric Freese
b512a1b040
Merge branch 'master' into develop
2018-11-10 13:43:47 -07:00
Eric Freese
affe7c687e
Run circle-ci upgrade script
...
From: https://raw.githubusercontent.com/CircleCI-Public/circleci-config-generator/9979b712033a072c3135aafb3c06e252c4e791f1/cci-config-generator.sh
2018-11-10 13:11:25 -07:00
Eric Freese and GitHub
fa5d9c0ff5
Merge pull request #360 from zsh-users/fixes/glob-subst-bad-pattern
...
Reset opts in some functions affected by GLOB_SUBST
2018-07-17 22:26:55 -07:00