d101b0a319
14179d8 Bump version 281ed9b v0.4.0 changelog updates 83129dd Make asynchronous suggestions disabled by default a2f0ffb Enabling suggestions should not fetch a suggestion if buffer is empty 7d4a1d9 Add enable/disable/toggle widgets to disable suggestion functionality e1959d0 Put in a general fix for #219 - Handling input from `zle -U` c52c428 Fix issues with widgets wrapped by other plugins ea505b0 Add a spec for unlisted widgets fetching a new suggestion 502fb4a Make tmux_socket_name public so you can access easily from binding.pry ce36224 Use pry-byebug instead of pry for more functionality 39762ec Set up circle ci 468b740 Test should be passing block to RSpec wait_for c9a51e0 Handle dashes at the beginning of commands 48a21bf [cleanup] Remove an extra newline 4afbbba We only need to run the feature detection if starting async e3fa4e4 Don't do anything but re-bind widgets on each precmd 2cd99e6 Add a test for modifying widget list vars after sourcing plugin c70d685 Clean up widget list spec 255359d Use `+=` to be a bit more true to the spec language 4321fc0 We need to bind on every precmd to ensure we wrap other wrappers 75e8505 Gracefully handle being sourced multiple times a0fcd81 Destroy zpty on load if it already exists 39ca3da Use a different name for feature detection zpty dcce973 Remove support for long-deprecated options 0c940e7 Don't bind any zle-* methods 23ef16c Do not show suggestions if the buffer is empty 9381445 Fix tests c4bfd8e Need to prevent zpty feature detection from HUPing existing zptys c959408 Only wait a max of 2 seconds for content to match after clearing screen 06fca77 Readme updates for v0.4.0 9feac57 Do not show any error output from async zpty server process ed8056c Lots of async changes 38eb7cd Update license date 64e7ec5 Rename internal term session method 98f926d Clean up TerminalSession constructor a bit 51e8755 TerminalSession methods return self to support chaining 5151adf Make TerminalSession#clear block until the screen is cleared 2c465a9 Rename async pty name config var e3eb286 Lots of little async cleanups c342587 Wait for the terminal.clear to go through before continuing 89dd69d Add pry gem for debugging support 40bb2e7 little cleanup 16666da Handle versions of zsh where zpty does not set REPLY to fd of opened pty f33b605 Move async initialization into `start` function to keep in one place 78ba071 Add feature detection 3f57198 Only bind widgets once, on initial sourcing 2dbd261 Allow configuring of zsh binary to run integration tests against 6c5cd42 Go back to tracking last pid because `kill %1` didn't seem to be working 54e1eee Optimize case where manually typing in a suggestion 21d9eda Wrap suggestion fetch command in parens to actually run in background 50e6832 Escape the prefix passed into the match_prev_cmd strategy 0305908 Revert `fc` usage in calculating suggestion 8e06a54 Add test for string with "\n" in it b3208b0 Pass the chosen strategy into the suggestion server pty ab27425 Quote the suggestion to support sh_split_word option e5a5b0c Output only newlines in the pty 0337005 Disable word splitting while reading to preserve whitespace b530b0c Use `zpty -r` with pattern matching to fetch suggestion 5c891af Reset zsh options inside pty (from zsh-async) e33eb57 Send only the prefix to the suggestion server fba20b0 Use %1 instead of tracking pid 0308ed7 Rename worker to server e72c2d8 add a bunch of comments ab8f295 First pass at async functionality debbffc Add rspec test around accepting suggestions 4850119 Add separate test task for RSpec c22ab0e Implement suggestion integration tests in RSpec + tmux 07a6768 Add TerminalSession helper for managing a tmux session e6591d5 Add RSpec for high-level integration testing af671fb Add ruby settings to editor config |
||
---|---|---|
.github | ||
modules | ||
runcoms | ||
.gitignore | ||
.gitmodules | ||
CONTRIBUTING.md | ||
init.zsh | ||
LICENSE | ||
README.md |
Prezto — Instantly Awesome Zsh
Prezto is the configuration framework for Zsh; it enriches the command line interface environment with sane defaults, aliases, functions, auto completion, and prompt themes.
Installation
Prezto will work with any recent release of Zsh, but the minimum required version is 4.3.17.
-
Launch Zsh:
zsh
-
Clone the repository:
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
-
Create a new Zsh configuration by copying the Zsh configuration files provided:
setopt EXTENDED_GLOB for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}" done
Note: If you already have any of the given config files, ln will error. In simple cases you can add
source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"
to the bottom of your.zshrc
to load prezto but keep your config intact. For more complicated setups, it is recommended that you back up your original configs and replace them with the provided prezto runcoms. -
Set Zsh as your default shell:
chsh -s /bin/zsh
-
Open a new Zsh terminal window or tab.
Troubleshooting
If you are not able to find certain commands after switching to Prezto,
modify the PATH
variable in ~/.zprofile then open a new Zsh terminal
window or tab.
Updating
Pull the latest changes and update submodules.
git pull && git submodule update --init --recursive
Usage
Prezto has many features disabled by default. Read the source code and accompanying README files to learn of what is available.
Modules
- Browse /modules to see what is available.
- Load the modules you need in ~/.zpreztorc then open a new Zsh terminal window or tab.
Themes
-
For a list of themes, type
prompt -l
. -
To preview a theme, type
prompt -p name
. -
Load the theme you like in ~/.zpreztorc then open a new Zsh terminal window or tab.
Customization
The project is managed via Git. It is highly recommended that you fork this project; so, that you can commit your changes and push them to GitHub to not lose them. If you do not know how to use Git, follow this tutorial and bookmark this reference.
Resources
The Zsh Reference Card and the zsh-lovers man page are indispensable.
License
This project is licensed under the MIT License.