Commit Graph

372 Commits (88fe824ddfe1bb635f93e95098346725d864284a)
 

Author SHA1 Message Date
Eric Freese ea505b01e5 Add a spec for unlisted widgets fetching a new suggestion
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`
Eric Freese ce362248fa Use pry-byebug instead of pry for more functionality
Eric Freese cb93366d0e Merge pull request from zsh-users/circle_ci_setup
Set up Circle CI
Eric Freese 39762ecd97 Set up circle ci
Eric Freese 468b7403e9 Test should be passing block to RSpec wait_for
Fixes flaky test
Eric Freese c9a51e0c4c Handle dashes at the beginning of commands
Eric Freese 48a21bf79e [cleanup] Remove an extra newline
Eric Freese 4afbbbadda We only need to run the feature detection if starting async
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.
Eric Freese 2cd99e64b7 Add a test for modifying widget list vars after sourcing plugin
Eric Freese c70d685d15 Clean up widget list spec
Eric Freese 255359dbb8 Use `+=` to be a bit more true to the spec language
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.
Eric Freese 75e850577d Gracefully handle being sourced multiple times
Should fix 
Eric Freese a0fcd81ce1 Destroy zpty on load if it already exists
Eric Freese 39ca3dac45 Use a different name for feature detection zpty
So that it doesn't conflict when the file is sourced again
Eric Freese dcce973287 Remove support for long-deprecated options
These options have been deprecated for over a year.
Christian Höltje 0c940e70f2 Don't bind any zle-* methods
It seems like all the zle-* methods are special and shouldn't be
monkeyed with.

Specifically `zle-isearch-update` and friends. Binding that widget
caused `history-incremental-pattern-search` to stop working.

Fixes 
Eric Freese a109f52fe4 Merge pull request from zsh-users/features/async
Asynchronous suggestions
Eric Freese 23ef16c297 Do not show suggestions if the buffer is empty
Eric Freese 938144530c Fix tests
Eric Freese c4bfd8e2c6 Need to prevent zpty feature detection from HUPing existing zptys
Eric Freese c959408305 Only wait a max of 2 seconds for content to match after clearing screen
Eric Freese 06fca77ffb Readme updates for v0.4.0
Eric Freese 9feac573c9 Do not show any error output from async zpty server process
Eric Freese ed8056c5e8 Lots of async changes
Eric Freese 38eb7cdafd Update license date
Eric Freese 64e7ec5bf8 Rename internal term session method
Eric Freese 98f926d53d Clean up TerminalSession constructor a bit
Eric Freese 51e8755634 TerminalSession methods return self to support chaining
Eric Freese 5151adfe40 Make TerminalSession#clear block until the screen is cleared
Eric Freese 2c465a932a Rename async pty name config var
Eric Freese e3eb286ea2 Lots of little async cleanups
Eric Freese c3425870f1 Wait for the terminal.clear to go through before continuing
Prevents some flakiness in tests
Eric Freese 89dd69d517 Add pry gem for debugging support
Eric Freese 40bb2e7804 little cleanup
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)
Eric Freese f33b605a63 Move async initialization into `start` function to keep in one place
Eric Freese 78ba07179a Add feature detection
Checks whether `zpty` gives a file descriptor, which was not the case in
older versions of zsh.

Based on a4b2f81c96/async.zsh (L395-L401)
Eric Freese 3f57198d07 Only bind widgets once, on initial sourcing
Eric Freese 2dbd261989 Allow configuring of zsh binary to run integration tests against
Eric Freese 6c5cd42331 Go back to tracking last pid because `kill %1` didn't seem to be working
Eric Freese 54e1eee924 Optimize case where manually typing in a suggestion
Eric Freese 21d9eda5dd Wrap suggestion fetch command in parens to actually run in background
Eric Freese 50e6832b8c Escape the prefix passed into the match_prev_cmd strategy
Eric Freese 0305908adf Revert `fc` usage in calculating suggestion
As far as I know, `fc` makes it impossible to tell whether history items
used an actual newline character or the string "\n". Pulling from the
`$history` array gives a more accurate representation of the actual
command that was run.
Eric Freese 8e06a54b1c Add test for string with "\n" in it
Eric Freese b3208b08af Pass the chosen strategy into the suggestion server pty
Eric Freese ab2742537f Quote the suggestion to support sh_split_word option