Commit Graph
100 Commits
Author SHA1 Message Date
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 FreeseandGitHub 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 FreeseandGitHub 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
Eric Freese c3425870f1 Wait for the terminal.clear to go through before continuing
Prevents some flakiness in tests
2017-01-27 14:07:06 -07:00
Eric Freese 89dd69d517 Add pry gem for debugging support 2017-01-27 14:06:37 -07:00
Eric Freese 40bb2e7804 little cleanup 2017-01-26 17:00:56 -07:00
Eric Freese 16666da488 Handle versions of zsh where zpty does not set REPLY to fd of opened pty
Based on https://github.com/mafredri/zsh-async/blob/e702ec4697ab6469b8948d599768227304d146b1/async.zsh#L400-L406
2017-01-26 16:50:19 -07:00
Eric Freese f33b605a63 Move async initialization into start function to keep in one place 2017-01-26 16:40:34 -07:00
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 https://github.com/mafredri/zsh-async/blob/a4b2f81c966a00eeb38876d505d97423cc8addfd/async.zsh#L395-L401
2017-01-26 16:40:34 -07:00
Eric Freese 3f57198d07 Only bind widgets once, on initial sourcing 2017-01-26 16:23:27 -07:00
Eric Freese 2dbd261989 Allow configuring of zsh binary to run integration tests against 2017-01-26 16:04:46 -07:00
Eric Freese 6c5cd42331 Go back to tracking last pid because kill %1 didn't seem to be working 2017-01-25 00:00:53 -07:00
Eric Freese 54e1eee924 Optimize case where manually typing in a suggestion 2017-01-25 00:00:13 -07:00
Eric Freese 21d9eda5dd Wrap suggestion fetch command in parens to actually run in background 2017-01-24 23:59:38 -07:00
Eric Freese 50e6832b8c Escape the prefix passed into the match_prev_cmd strategy 2017-01-24 23:06:41 -07:00
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.
2017-01-24 23:04:07 -07:00
Eric Freese 8e06a54b1c Add test for string with "\n" in it 2017-01-24 22:49:21 -07:00
Eric Freese b3208b08af Pass the chosen strategy into the suggestion server pty 2017-01-24 22:48:30 -07:00
Eric Freese ab2742537f Quote the suggestion to support sh_split_word option 2017-01-24 22:27:47 -07:00
Eric Freese e5a5b0c1e0 Output only newlines in the pty 2017-01-24 22:27:09 -07:00
Eric Freese 0337005eb0 Disable word splitting while reading to preserve whitespace 2017-01-24 21:59:22 -07:00
Eric Freese b530b0c996 Use zpty -r with pattern matching to fetch suggestion 2017-01-24 20:01:30 -07:00
Eric Freese 5c891afd48 Reset zsh options inside pty (from zsh-async) 2017-01-24 20:01:27 -07:00
Eric Freese e33eb570c4 Send only the prefix to the suggestion server 2017-01-24 20:01:11 -07:00
Eric Freese fba20b042e Use %1 instead of tracking pid 2017-01-24 20:00:50 -07:00
Eric Freese 0308ed797e Rename worker to server 2017-01-24 20:00:34 -07:00
Eric Freese e72c2d87e5 add a bunch of comments 2017-01-24 19:53:59 -07:00
Eric Freese ab8f295225 First pass at async functionality 2017-01-24 19:45:11 -07:00
Eric Freese debbffc79a Add rspec test around accepting suggestions 2017-01-19 22:38:19 -07:00
Eric Freese 4850119887 Add separate test task for RSpec 2017-01-19 22:38:19 -07:00
Eric Freese c22ab0e399 Implement suggestion integration tests in RSpec + tmux 2017-01-19 22:38:19 -07:00
Eric Freese 07a6768fcb Add TerminalSession helper for managing a tmux session 2017-01-19 22:38:19 -07:00
Eric Freese e6591d5de0 Add RSpec for high-level integration testing 2017-01-19 22:33:17 -07:00
Eric Freese af671fb406 Add ruby settings to editor config 2017-01-19 01:03:24 -07:00
Eric FreeseandGitHub fedc22e9bb Merge pull request #169 from zsh-users/develop
v0.3.3
2016-10-17 07:45:49 -06:00
Eric Freese 9cfaf5d342 v0.3.3 2016-10-17 07:45:09 -06:00
Eric Freese 9333f0653f Update changelog for v0.3.3 2016-10-17 07:43:56 -06:00
Eric Freese b377c39d0e Only fetch a new suggestion if buffer has changed 2016-07-31 20:10:22 -06:00
Eric Freese a44aa59321 Remove unnecessary reset of POSTDISPLAy 2016-07-31 20:09:26 -06:00
Eric Freese 25f4afb058 Add ZSH_AUTOSUGGEST_IGNORE_WIDGETS array 2016-07-31 19:35:30 -06:00
Eric FreeseandGitHub 472394681e Merge pull request #178 from lbolla/issue141-develop
Disable autosuggest if buffer is too large
2016-07-18 10:28:45 -06:00
Eric Freese 63816c5da8 Fix #164: Use fc builtin instead of $history array for lookup
According to a few tests, the `fc` builtin appears to be quite a bit
faster than searching through the `$history` associative array when
dealing with large history files (500K+).
2016-06-10 13:52:24 -06:00
Eric Freese b4b3a82ee3 Fix #168 and #130: Escape tildes when fetching suggestions 2016-06-10 13:51:20 -06:00
Eric Freese 85ea943789 Merge pull request #163 from tsdh/develop
Document caveats of match_prev_cmd strategy
2016-05-28 13:34:00 -06:00
Eric Freese 62cdba4e0f Merge pull request #142 from zsh-users/v0.3.x
v0.3.2
2016-05-28 08:28:18 -06:00
Eric Freese cce68de46d v0.3.2 2016-05-28 08:27:08 -06:00
Eric Freese 4a2d9f9049 Fix Makefile to not create symbolic link after PR #156 was merged 2016-05-28 08:26:24 -06:00
Eric Freese 7c688ec20c Add note to readme about PRs going to develop branch 2016-05-28 08:23:53 -06:00
Eric Freese 96eb0fae77 Changelog updates for v0.3.2 2016-05-28 08:18:52 -06:00
Eric Freese 5e5bfdb659 Merge pull request #156 from adamkruszewski/v0.3.x
Adjust plugin.zsh file to run on zsh 5.1 in mSYS2.
2016-05-12 08:53:20 -06:00
Eric Freese e87bc74654 Fix 118: Clear suggestion before original widget to fix completions
See PR #149
2016-04-25 14:42:09 -06:00
Eric Freese 964773aa75 Use array indices for forward compatibility
See issue #152
2016-04-25 14:26:37 -06:00
Eric Freese 945c660856 Fix #152 by escaping widget names inside evals
Solves problems when dealing with widget names with irregular
characters such as those that come from `opp.zsh`.
2016-04-25 14:26:35 -06:00
Eric Freese 011d8bdfd1 Refactor to remove prev cmd function and simplify escaping 2016-04-25 14:19:26 -06:00
Eric Freese c5f57da2b8 Pull duplicated test logic from strategies into single test file 2016-04-22 14:14:29 -06:00
Eric Freese c477db2696 Remove unused test variables from Makefile 2016-04-15 13:41:41 -06:00
Eric Freese d7001f2c34 Fix readme test script reference. 2016-04-15 13:40:18 -06:00
Eric Freese 6d6e7820f3 Fix #143: Add vi-add-eol to list of accept widgets. 2016-04-15 13:37:50 -06:00
Eric Freese 9bef50fac1 Merge pull request #140 from zsh-users/fixes/bound_widget_return_code
Keep track of return value from original widget (#135)
2016-04-14 11:18:01 -06:00
Eric Freese 1d4f7e157e Keep track of return value from original widget (#135) 2016-04-06 17:13:04 -06:00
Eric Freese 2acf25e065 Formatting 2016-03-15 09:24:13 -06:00
Eric Freese ba7109169d Clean up tests with setUp and tearDown functions 2016-03-15 09:05:55 -06:00
Eric Freese a28e72e84a Test Runner now supports running specific tests and choosing zsh bin 2016-03-15 09:04:17 -06:00
Eric Freese 87facd9b85 bump version v0.3.1 2016-03-14 22:33:26 -06:00
Eric Freese dc822c54f8 Fix #133 2016-03-14 21:50:04 -06:00
Eric Freese 15c5db898f Fix #137 2016-03-14 21:41:14 -06:00
Eric Freese 46d5fe174d Remove extra newline 2016-03-14 18:02:16 -06:00
Eric Freese 6c31a02892 Remove old test script 2016-03-14 17:44:24 -06:00
Eric Freese 9ec62a1a23 Split out a separate test file for each widget 2016-03-14 17:38:37 -06:00
Eric Freese 1ed9155f89 Add Suggestion Strategy section to Configuration section of Readme. 2016-03-14 17:25:09 -06:00
Eric Freese 97b51a2c57 bump version v0.3.0 2016-03-14 17:18:40 -06:00