Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.7.0 #613

Merged
merged 24 commits into from
Jun 4, 2021
Merged

v0.7.0 #613

merged 24 commits into from
Jun 4, 2021

Conversation

ericfreese
Copy link
Member

@ericfreese ericfreese commented Jun 4, 2021

  • Review readme
  • Update changelog
  • Bump version
  • Tag version (on master after PR is merged)

ericfreese and others added 24 commits January 25, 2020 07:46
We are already using this method in other places.

For example: `ZSH_AUTOSUGGEST_USE_ASYNC`
To avoid wrapping the built-in widgets (e.g. `autosuggest-fetch`,
`autosuggest-toggle`), we were ignoring all widgets whose names start
with `autosuggest-`. This had the downside of preventing wrapping of
user-defined widgets whose names happened to also start with that
prefix.

By being more specific about the exact built-in widgets we want to avoid
wrapping, we can allow users to define widgets whose names start with
`autosuggest-`.

See GitHub issue #496.
Allow users to override the default by unsetting (or setting) the
ZSH_AUTOSUGGEST_USE_ASYNC variable.

See GitHub issue #498.
Add links to documentation on zsh glob patterns to the readme
Be more specific about the built-in widgets we want to avoid wrapping
cleanup: Use more idiomatic method of checking if var is set
Enable async mode by default in newer versions of zsh
Write mock history to a temp file and load it directly with `fc -R`
instead of running each command individually to build up the history.
There's something funny occasionally happening when `with_history` is
used twice in the same test. It seems to be happening more frequently
since asynchronous mode was enabled by default. My guess is it has
something to do with the `C-c` keys being sent toward the end not
consistently terminating the prompt. But I'm really not sure how it
would ever get into a `then` block like it seems to:

```
Failure/Error: wait_for { session.content }.to eq('echo "hello\nworld"')

  expected: "echo \"hello\\nworld\""
       got: "then> echo \"hello\\"
```

Sticking to only one `with_history` per terminal session (per test)
seems to fix the flakiness.

I also removed an old test case because I could not understand why it
was necessary and so couldn't write a good description for it. Could be
we'll need to add it back in at some point.
To reproduce:

1. Run `zsh -f`.
2. Run this:
  function bye() { BUFFER=bye }
  zle -N bye
  bindkey '^B' bye
  print -s 'hibye unexpected'
  source ~/zsh-autosuggestions/zsh-autosuggestions.zsh
3. Type `hi` and press Ctrl-B.

Expected: POSTBUFFER is empty.

Actual: POSTBUFFER is " unexpected".
[fix] install this plugin aside other plugins
Disable ^C async workaround for zsh version 5.8 and later
@ericfreese ericfreese merged commit a411ef3 into master Jun 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants