Commit Graph

104 Commits (a2f0ffb12270505fe60a0890a850dd51d17ee635)

Author SHA1 Message Date
Eric Freese a2f0ffb122 Enabling suggestions should not fetch a suggestion if buffer is empty 8 years ago
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`.
9 years ago
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
9 years ago
Eric Freese c52c428793 Fix issues with widgets wrapped by other plugins
Puts in a better fix for #126 and related issues.
9 years ago
Eric Freese c9a51e0c4c Handle dashes at the beginning of commands 9 years ago
Eric Freese 48a21bf79e [cleanup] Remove an extra newline 9 years ago
Eric Freese 4afbbbadda We only need to run the feature detection if starting async 9 years ago
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.
9 years ago
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.
9 years ago
Eric Freese 75e850577d Gracefully handle being sourced multiple times
Should fix #126
9 years ago
Eric Freese a0fcd81ce1 Destroy zpty on load if it already exists 9 years ago
Eric Freese 39ca3dac45 Use a different name for feature detection zpty
So that it doesn't conflict when the file is sourced again
9 years ago
Eric Freese dcce973287 Remove support for long-deprecated options
These options have been deprecated for over a year.
9 years ago
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 zsh-users/zsh-syntax-highlighting#387
9 years ago
Eric Freese 23ef16c297 Do not show suggestions if the buffer is empty 9 years ago
Eric Freese c4bfd8e2c6 Need to prevent zpty feature detection from HUPing existing zptys 9 years ago
Eric Freese 9feac573c9 Do not show any error output from async zpty server process 9 years ago
Eric Freese ed8056c5e8 Lots of async changes 9 years ago
Eric Freese 2c465a932a Rename async pty name config var 9 years ago
Eric Freese e3eb286ea2 Lots of little async cleanups 9 years ago
Eric Freese 40bb2e7804 little cleanup 9 years ago
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)
9 years ago
Eric Freese f33b605a63 Move async initialization into `start` function to keep in one place 9 years ago
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)
9 years ago
Eric Freese 3f57198d07 Only bind widgets once, on initial sourcing 9 years ago
Eric Freese 6c5cd42331 Go back to tracking last pid because `kill %1` didn't seem to be working 9 years ago
Eric Freese 54e1eee924 Optimize case where manually typing in a suggestion 9 years ago
Eric Freese 21d9eda5dd Wrap suggestion fetch command in parens to actually run in background 9 years ago
Eric Freese 50e6832b8c Escape the prefix passed into the match_prev_cmd strategy 9 years ago
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.
9 years ago
Eric Freese b3208b08af Pass the chosen strategy into the suggestion server pty 9 years ago
Eric Freese ab2742537f Quote the suggestion to support sh_split_word option 9 years ago
Eric Freese e5a5b0c1e0 Output only newlines in the pty 9 years ago
Eric Freese 0337005eb0 Disable word splitting while reading to preserve whitespace 9 years ago
Eric Freese b530b0c996 Use `zpty -r` with pattern matching to fetch suggestion 9 years ago
Eric Freese 5c891afd48 Reset zsh options inside pty (from zsh-async) 9 years ago
Eric Freese e33eb570c4 Send only the prefix to the suggestion server 9 years ago
Eric Freese fba20b042e Use %1 instead of tracking pid 9 years ago
Eric Freese 0308ed797e Rename worker to server 9 years ago
Eric Freese e72c2d87e5 add a bunch of comments 9 years ago
Eric Freese ab8f295225 First pass at async functionality 9 years ago
Eric Freese 9cfaf5d342 v0.3.3 9 years ago
Eric Freese b377c39d0e Only fetch a new suggestion if buffer has changed 9 years ago
Eric Freese a44aa59321 Remove unnecessary reset of POSTDISPLAy 9 years ago
Eric Freese 25f4afb058 Add ZSH_AUTOSUGGEST_IGNORE_WIDGETS array 9 years ago
Lorenzo Bolla cdf56a3305 Include result of `make` 9 years ago
Lorenzo Bolla 7b81eb79b8 Disable autosuggest if buffer is too large
Make buffer max size configurable, defaulted to infinity
9 years ago
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+).
9 years ago
Eric Freese b4b3a82ee3 Fix #168 and #130: Escape tildes when fetching suggestions 9 years ago
Tassilo Horn ca70612d3c Document caveats of match_prev_cmd strategy
This strategy relies on the history being exactly in the order in which
commands have been entered.  Therefore, options like suppressing
duplicates or expiring duplicates first will lead to unexpected
suggestions.
9 years ago