Eric Freese
d7171232c3
Merge branch 'develop' into features/completion-suggestions
2018-06-11 02:34:24 -06:00
Eric Freese and GitHub
faf0f9a698
Merge pull request #338 from zsh-users/fixes/async-refactor
...
Refactor async mode to no longer use zpty
2018-06-11 02:25:12 -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
7d19f8f9b2
Rename default spec to history spec
2018-05-26 15:35:29 -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
Eric Freese
6ffaec725a
Allow completion suggestions from current shell
...
The `zsh -f` running in the PTY doesn't know about the non-exported
variables and functions defined in the original shell, thus can't make
suggestions for them. Run local functions in the PTY instead of a new
`zsh` process.
We have to handle things differently based on whether zle is active or
not (async vs. sync mode).
2018-05-26 15:35:29 -06:00
Eric Freese
0a548c62f4
Forgot to make after small tweak
2018-05-26 15:35:29 -06:00
Eric Freese
4cca26ec84
Modify completion code to better fit our needs
...
Only need the first completion result
2018-05-26 15:35:29 -06:00
Eric Freese
f63afd5969
Fix async pty name option spec
2018-05-26 15:35:29 -06:00
Eric Freese
c5551daabc
Default strategy now tries history first and falls back to completion
2018-05-26 15:35:29 -06:00
Eric Freese
82b08e2dc8
First pass at getting suggestions from completion engine ( #111 )
...
Uses https://github.com/Valodim/zsh-capture-completion with some slight
modifications.
2018-05-26 15:35:29 -06:00
Eric Freese
5549b68e6e
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-05-26 15:34:57 -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 and GitHub
d7c796719e
Merge pull request #332 from zsh-users/develop
...
v0.4.3
2018-05-21 11:40:10 -06:00
Eric Freese
aa0b10db44
v0.4.3
2018-05-21 11:38:41 -06:00
Eric Freese
72ccee33b4
Pull out separate doc for installation instructions
2018-05-21 11:35:26 -06:00
Eric Freese
c113e49fe2
Update license copyright year
2018-05-21 10:52:41 -06:00
Eric Freese
3b39b9561c
Merge branch 'master' into develop
2018-05-21 10:47:20 -06:00
Eric Freese
b003b2238a
Update changelog for v0.4.3 release
2018-05-21 10:46:03 -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
726bc4eb5c
Create general spec for async behavior
2018-05-15 13:42:18 -06:00
Eric Freese
393f7b8bb9
Fix vi-mode partial-accept
...
Issue #188 . PR #324 .
Thanks to @toadjaune and @IngoHeimbach.
2018-05-15 11:44:42 -06:00
Eric Freese
42f5a06f7f
Need to reset the POSTDISPLAY if exiting early
...
Specific case where this matters is following:
Be in vi insert mode with some text in the buffer and the cursor at the
end of the buffer. Press `esc` to trigger `vi-cmd-mode widget`, then
before the cursor moves (KEYTIMEOUT), press `h` to trigger
`vi-backward-char` widget. When `vi-cmd-mode` original widget exits,
KEYS_QUEUED_COUNT will be non-zero and the suggestion will be lost.
2018-05-15 11:44:42 -06:00
Eric Freese
51fef255da
Add method to connect terminal to tmux session during tests
...
Useful with `binding.pry` to inspect behavior of tests.
2018-05-15 11:44:18 -06:00
Eric Freese
19ad3ba7cd
Add new 5.5.1 version of zsh to CI
2018-05-15 11:44:18 -06:00
Eric Freese and GitHub
67a364bc17
Merge pull request #321 from babaorum/fix/documentation/oh-my-zsh-install
...
make Oh my zsh install works without ZSH_CUSTOM defined
2018-04-17 15:00:46 -06:00
Eric Freese
60aff2d944
Remove unused local $suggestion variable
2018-03-27 14:51:37 -06:00
Eric Freese and GitHub
6dfe9c8cd8
Merge pull request #319 from zsh-users/fixes/async_history
...
Don't fetch suggestions after [up,down]-line-or-beginning-search
2018-03-23 16:15:56 -06:00
Eric Freese
3136700ccf
Don't fetch suggestions after [up,down]-line-or-beginning-search
...
These widgets rely on `$LASTWIDGET` being set to restore the cursor
position. When asynchronous suggestions are enabled, and the widget
triggers a suggestion to be fetched, `autosuggest-suggest` will be
called and $LASTWIDGET will be set to it.
2018-03-23 16:08:11 -06:00
Eric Freese and GitHub
2202ed7bac
Merge pull request #304 from okdana/dana/no-beep
...
Avoid ringing bell when accepting suggestions
2018-01-16 14:11:06 -07:00
Eric Freese and GitHub
c7d4a85031
Merge pull request #299 from zsh-users/develop
...
v0.4.2
2017-12-06 08:31:52 -07:00
Eric Freese
15931f04ff
v0.4.2
2017-12-06 08:30:12 -07:00
Eric Freese and GitHub
9f1046727a
Merge pull request #298 from zsh-users/fixes/support_older_versions
...
Fixes/support older versions
2017-12-06 08:27:18 -07:00
Eric Freese
f462410b3c
Add zsh version requirements to readme
2017-12-06 08:21:27 -07:00
Eric Freese
4ea825faf8
Fix #247 and #248 without using (b) flag
...
To support older versions of zsh (< 5.0.8).
We were missing the EXTENDED_GLOB option that allows use of `(#m)` flag.
2017-12-06 08:09:14 -07:00
Eric Freese
a1babef972
Revert "Simplify escaping of pattern and fix match_prev_cmd strategy"
...
This reverts commit 7f8ff2867c .
2017-12-06 08:08:53 -07:00
Eric Freese
be8bba6f38
Run CI on prominent versions of zsh back to 4.3.11
...
RHEL6 bundles v4.3.11
Ubuntu 14.04 and Amazon Linux bundle v5.0.2
2017-12-06 07:45:45 -07:00
Eric Freese and GitHub
dda220f140
Merge pull request #295 from zsh-users/develop
...
v0.4.1
2017-11-28 10:14:41 -07:00
Eric Freese
9f9237ab8a
v0.4.1
2017-11-28 10:07:49 -07:00
Eric Freese
29257230fe
Add missing issue/pr numbers from last version
2017-11-28 10:07:49 -07:00
Eric Freese
9f1f322979
Update comment about KEYS_QUEUED_COUNT support
...
Now that patch has released
2017-09-27 15:04:42 -06:00
Eric Freese and GitHub
680ce21f26
Merge pull request #275 from zsh-users/fixes/warn_nested_var_opt
...
Use typeset -g to avoid warnnestedvar warnings
2017-09-27 15:02:15 -06:00
Eric Freese
256293cbb6
Use typeset -g to avoid warnnestedvar warnings
...
Fixes github issue #271
2017-09-27 13:24:06 -06:00
Eric Freese and GitHub
977e70e21b
Merge pull request #270 from ssiegel/fix-match_prev_cmd
...
Simplify escaping of pattern and fix match_prev_cmd strategy
2017-09-26 08:33:14 -06:00
Eric Freese
218acf2fbe
Merge branch 'fixes/match_prev_cmd_special_chars' into develop
2017-09-26 08:30:43 -06:00
Eric Freese
0681a1c121
Remove flaky test that doesn't really matter that much
...
Seems like this would happen on some machines but not on others. Not
sure exactly what's going on, but this is such an edge case I'm just
going to remove the test.
2017-09-26 08:23:00 -06:00
Eric Freese
9e3f1bd359
Use https protocol instead of git in README instructions
...
https should work more broadly for folks
2017-09-26 07:56:29 -06:00
Eric Freese and GitHub
ae4c344e82
Merge pull request #267 from isaacwhanson/fixes/match_prev_cmd_special_chars
...
escape pattern-matching chars on $prefix for match_prev_cmd strategy
2017-09-12 09:19:17 -06:00
Eric Freese and GitHub
33b91a9dea
Merge pull request #268 from thomas-mcdonald/patch-1
...
replace tabs in Rubocop config with spaces
2017-08-22 19:02:15 -06:00
Eric Freese
9e110406fa
Add test for special characters with match_prev_cmd strategy
...
Github #247 and #258
2017-08-18 11:18:07 -06:00
Eric Freese and GitHub
d6d9a46981
Merge pull request #261 from alonhar/patch-1
...
Update README.md
2017-07-30 09:30:48 +02:00
Eric Freese and GitHub
e304365745
Merge pull request #256 from sumnerevans/patch-1
...
Added installation instructions for AUR, Homebrew
2017-07-08 09:58:35 +02:00
Eric Freese and GitHub
2cb6eb6e29
Merge pull request #218 from zsh-users/develop
...
v0.4.0
2017-05-10 15:18:07 -06:00
Eric Freese
14179d869d
Bump version
2017-05-10 15:05:43 -06:00
Eric Freese
281ed9bbf7
v0.4.0 changelog updates
2017-05-10 15:05:43 -06:00
Eric Freese
83129dd796
Make asynchronous suggestions disabled by default
...
While they are still experimental
2017-04-14 08:48:54 -06:00
Eric Freese and GitHub
40b96f6cfd
Merge pull request #223 from zsh-users/fixes/bpm_async_fix
...
Fixes/bpm async fix
2017-03-05 12:59:19 -05:00
Eric Freese
a2f0ffb122
Enabling suggestions should not fetch a suggestion if buffer is empty
2017-03-05 12:53:13 -05:00
Eric Freese
7d4a1d9a4a
Add enable/disable/toggle widgets to disable suggestion functionality
...
[GitHub #219 ]
Intended to be helpful for folks using bracketed-paste-magic and other
widgets that use `zle -U`.
2017-03-03 18:43:17 -05:00
Eric Freese
e1959d0f61
Put in a general fix for #219 - Handling input from zle -U
...
Depends on patch to ZSH from workers/40702:
http://www.zsh.org/mla/workers/2017/msg00414.html
2017-03-03 18:43:17 -05:00
Eric Freese
c52c428793
Fix issues with widgets wrapped by other plugins
...
Puts in a better fix for #126 and related issues.
2017-03-03 18:43:10 -05:00
Eric Freese
ea505b01e5
Add a spec for unlisted widgets fetching a new suggestion
2017-03-03 18:43:10 -05:00
Eric Freese
502fb4a174
Make tmux_socket_name public so you can access easily from binding.pry
...
Can attach while tests are stopped with `tmux -L <socket_name> attach`
2017-03-03 18:43:10 -05:00
Eric Freese
ce362248fa
Use pry-byebug instead of pry for more functionality
2017-03-03 18:43:10 -05:00
Eric Freese and GitHub
cb93366d0e
Merge pull request #221 from zsh-users/circle_ci_setup
...
Set up Circle CI
2017-02-26 14:36:15 -07:00
Eric Freese
39762ecd97
Set up circle ci
2017-02-26 14:26:41 -07:00
Eric Freese
468b7403e9
Test should be passing block to RSpec wait_for
...
Fixes flaky test
2017-02-26 14:18:22 -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
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
2cd99e64b7
Add a test for modifying widget list vars after sourcing plugin
2017-02-18 11:15:53 -07:00
Eric Freese
c70d685d15
Clean up widget list spec
2017-02-18 11:12:10 -07:00
Eric Freese
255359dbb8
Use += to be a bit more true to the spec language
2017-02-18 10:35:30 -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
Eric Freese and GitHub
a109f52fe4
Merge pull request #180 from zsh-users/features/async
...
Asynchronous suggestions
2017-02-17 18:28:54 -07:00
Eric Freese
23ef16c297
Do not show suggestions if the buffer is empty
2017-02-17 18:26:34 -07:00
Eric Freese
938144530c
Fix tests
2017-02-17 16:01:07 -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
c959408305
Only wait a max of 2 seconds for content to match after clearing screen
2017-02-17 15:33:09 -07:00
Eric Freese
06fca77ffb
Readme updates for v0.4.0
2017-02-16 20:12:04 -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
38eb7cdafd
Update license date
2017-02-16 19:07:41 -07:00
Eric Freese
64e7ec5bf8
Rename internal term session method
2017-01-29 10:43:20 -07:00
Eric Freese
98f926d53d
Clean up TerminalSession constructor a bit
2017-01-29 10:43:00 -07:00
Eric Freese
51e8755634
TerminalSession methods return self to support chaining
2017-01-29 10:42:28 -07:00
Eric Freese
5151adfe40
Make TerminalSession#clear block until the screen is cleared
2017-01-29 10:40:05 -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