The configuration framework for Zsh (zotan fork)
Go to file
Samantha McVey d101b0a319 [autosuggestions] Bump external repository to version v0.4.0
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
2017-06-22 10:35:44 -07:00
.github Remove additional newlines in issue and pull request templates 2017-04-15 01:47:58 -07:00
modules [autosuggestions] Bump external repository to version v0.4.0 2017-06-22 10:35:44 -07:00
runcoms sorin theme: Use a proper temp file for async data 2017-06-13 10:36:35 -07:00
.gitignore [#23] Rename plugins to modules 2012-04-05 13:39:40 -04:00
.gitmodules Update zsh-autosuggestions submodule location 2017-04-04 23:00:28 -07:00
CONTRIBUTING.md Add note to CONTRIBUTING.md about zstyle 2017-04-15 01:36:15 -07:00
init.zsh Change print to printf in init.zsh error (#1335) 2017-06-19 14:18:14 -07:00
LICENSE Bump license years and tidy up readme (#1273) 2017-04-05 09:34:31 -07:00
README.md Fix indentation in README 2017-04-13 03:27:59 -07:00

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.

  1. Launch Zsh:

    zsh

  2. Clone the repository:

    git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"

  3. 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.

  4. Set Zsh as your default shell:

    chsh -s /bin/zsh

  5. 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

  1. Browse /modules to see what is available.
  2. Load the modules you need in ~/.zpreztorc then open a new Zsh terminal window or tab.

Themes

  1. For a list of themes, type prompt -l.

  2. To preview a theme, type prompt -p name.

  3. Load the theme you like in ~/.zpreztorc then open a new Zsh terminal window or tab.

    sorin theme

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.