1
0
mirror of https://github.com/dcarrillo/prezto.git synced 2025-07-01 10:29:25 +00:00

Compare commits

..

4 Commits

Author SHA1 Message Date
5be4a78b55 Update pull request documentation 2013-11-29 20:50:58 -05:00
2fbc02c689 Add Prezto man pages to $manpath 2013-11-29 20:50:58 -05:00
87bbbca9bd Add man pages 2013-11-29 20:50:57 -05:00
cc2f163ad1 Move README files to documentation/markdown 2013-11-29 20:50:57 -05:00
263 changed files with 5359 additions and 7154 deletions

View File

@ -1,9 +0,0 @@
[*]
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
[{.gitattributes,.gitignore,.gitmodules}]
indent_style = tab

View File

@ -1,24 +0,0 @@
<!-- Please check if a similar issue already exists or has been closed before before opening your issue. -->
### Description
<!-- Provide a general description of the bug or feature -->
### Expected behavior
<!-- What you expected to happen -->
### Actual behavior
<!-- What actually happened -->
### Steps to Reproduce
1. [First Step]
2. [Second Step]
3. [and so on...]
### Versions
- Prezto commit:
- ZSH version:
- OS information:

View File

@ -1,10 +0,0 @@
Please be sure to check out our [contributing guidelines](https://github.com/sorin-ionescu/prezto/blob/master/CONTRIBUTING.md)
before submitting your pull request.
Fixes #
## Proposed Changes
-
-
-

1
.gitignore vendored
View File

@ -1,4 +1,3 @@
*.zwc
*.zwc.old
modules/*/cache.zsh
contrib

22
.gitmodules vendored
View File

@ -1,6 +1,3 @@
[submodule "modules/autosuggestions/external"]
path = modules/autosuggestions/external
url = https://github.com/zsh-users/zsh-autosuggestions.git
[submodule "modules/history-substring-search/external"]
path = modules/history-substring-search/external
url = https://github.com/zsh-users/zsh-history-substring-search.git
@ -10,22 +7,3 @@
[submodule "modules/completion/external"]
path = modules/completion/external
url = https://github.com/zsh-users/zsh-completions.git
[submodule "modules/prompt/external/powerline"]
path = modules/prompt/external/powerline
url = https://github.com/davidjrice/prezto_powerline.git
[submodule "modules/prompt/external/agnoster"]
path = modules/prompt/external/agnoster
url = https://github.com/agnoster/agnoster-zsh-theme.git
[submodule "modules/prompt/external/pure"]
path = modules/prompt/external/pure
url = https://github.com/sindresorhus/pure.git
[submodule "modules/fasd/external"]
path = modules/fasd/external
url = https://github.com/clvv/fasd.git
[submodule "modules/prompt/external/async"]
path = modules/prompt/external/async
url = https://github.com/mafredri/zsh-async.git
[submodule "modules/prompt/external/powerlevel10k"]
path = modules/prompt/external/powerlevel10k
url = https://github.com/romkatv/powerlevel10k.git
shallow = true

View File

@ -1,74 +1,42 @@
# Contributing
Contributing
------------
This project would not exist without all of its users and [contributors][1].
If you have ideas on how to make the configuration easier to maintain or
improve its performance, do not hesitate to fork and send pull requests.
## Issue Reporting
### Issue Reporting
- Check that the issue has not already been reported.
- Check that the issue has not already been fixed in the latest code.
- Open an issue with a clear title and description in grammatically correct,
complete sentences.
- Check that the issue has not already been reported.
- Check that the issue has not already been fixed in the latest code.
- Open an issue with a clear title and description in grammatically correct,
complete sentences.
## Pull Request
### Pull Request
- Read [how to properly contribute to open source projects on GitHub][2].
- Use a topic branch to easily amend a pull request later, if necessary.
- Write [good commit messages][3].
- Squash commits on the topic branch before opening a pull request.
- Use the same coding style and spacing.
- Open a [pull request][4] that relates to but one subject with a clear title
and description in grammatically correct, complete sentences.
- Read [how to properly contribute to open source projects on GitHub][2].
- Use a topic branch to easily amend a pull request later, if necessary.
- Write [good commit messages][3].
- Squash commits on the topic branch before opening a pull request.
- Use the same coding style and spacing.
- Open a [pull request][4] that relates to but one subject with a clear
title and description in grammatically correct, complete sentences.
### Code Style
#### Modules
This project follows the [Google Shell Style Guide][5] when possible. However,
there are a number of additional things to keep in mind.
- A *README.md* must be present.
- Large functions must be placed in a *functions* directory.
- Functions that take arguments must have completion.
- Local variables should be used whenever possible.
- Prefer `zstyle` over environment variables for configuration.
- Prefer (( ... )) over [[ ... ]] for arithmetic expression.
- Use the function keyword to define functions.
- The 80 character hard limit can be waived for readability.
#### Themes
### Using an Alternative *zprezto* Directory
To work on Prezto without affecting your current configuration:
```sh
mkdir devel-zprezto
cd devel-zprezto
git clone --recursive https://github.com/sorin-ionescu/prezto.git .zprezto
ZDOTDIR=$(pwd)
echo "Your development ZDOTDIR is $ZDOTDIR"
setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
```
Then to start zsh in this development environment you will run:
```console
ZDOTDIR=/path/to/devel-zprezto zsh
```
### Modules
- A *README.md* must be present.
- Large functions must be placed in a *functions* directory.
- Functions that take arguments must have completion.
### Themes
- A screenshots section must be present in the file header.
- The pull request description must have [embedded screenshots][6].
- A screenshots section must be present in the file header.
- The pull request description must have [embedded screenshots][5].
[1]: https://github.com/sorin-ionescu/prezto/contributors
[2]: https://gun.io/blog/how-to-github-fork-branch-and-pull-request
[2]: http://gun.io/blog/how-to-github-fork-branch-and-pull-request
[3]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
[4]: https://help.github.com/articles/using-pull-requests
[5]: https://google.github.io/styleguide/shell.xml
[6]: https://github.github.com/gfm/#images
[5]: http://daringfireball.net/projects/markdown/syntax#img

View File

@ -1,15 +0,0 @@
# Install and update
## Install
```bash
git clone https://github.com/dcarrillo/prezto.git ~/.zprezto
cd ~/.zprezto
git remote add upstream https://github.com/sorin-ionescu/prezto.git
git submodule update --init --recursive
```
## Keep updated
Run the [update](scripts/update_zprezto) script.

20
LICENSE
View File

@ -1,20 +0,0 @@
Copyright (c) 2009-2011 Robby Russell and contributors
Copyright (c) 2011-2017 Sorin Ionescu and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE

196
README.md
View File

@ -1,158 +1,118 @@
# Prezto — Instantly Awesome Zsh
Prezto — Instantly Awesome Zsh
==============================
Prezto is the configuration framework for [Zsh][1]; it enriches the command line
interface environment with sane defaults, aliases, functions, auto completion,
and prompt themes.
## Installation
Installation
------------
Prezto will work with any recent release of Zsh, but the minimum required
version is **4.3.11**.
Prezto will work with any recent release of Zsh, but the minimum recommended
version is 4.3.11. Unfortunately, [Cygwin][9] is not supported due to
non-standard core utilities.
01. Launch Zsh:
1. Launch Zsh:
```console
zsh
```
zsh
02. Clone the repository:
2. Clone the repository:
```console
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
```
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
<details>
<summary><em>Optional: Installing in <code>$XDG_CONFIG_HOME</code></em></summary>
3. Create a new Zsh configuration by copying the Zsh configuration files
provided:
Optionally, if you already have `$XDG_CONFIG_HOME` configured (usually as
_`$HOME/.config`_ by default) and intend to install Prezto under
_`$XDG_CONFIG_HOME/zsh`_ instead, you can clone the repository there and
configure `$ZDOTDIR` separately if not already configured.
setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
- Clone the repository:
4. Set Zsh as your default shell:
```console
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-${XDG_CONFIG_HOME:-$HOME/.config}/zsh}/.zprezto"
```
chsh -s /bin/zsh
- Configure `$XDG_CONFIG_HOME` and `$ZDOTDIR` in _`$HOME/.zshenv`_:
```sh
export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:=$HOME/.config}"
export ZDOTDIR="${ZDOTDIR:=$XDG_CONFIG_HOME/zsh}"
source "$ZDOTDIR/.zshenv"
```
</details>
03. Create a new Zsh configuration by copying/linking the Zsh configuration
files provided:
```console
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 configuration files, `ln` in
the above operation will cause an error. In simple cases, you can load
Prezto by adding the line `source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"` to
the bottom of your _`${ZDOTDIR:-$HOME}/.zshrc`_ and keep the rest of your
Zsh configuration intact. For more complicated setups, we recommend that you
back up your original configs and replace them with the provided Prezto
[_`runcoms`_][10].
04. Set Zsh as your default shell:
```console
chsh -s /bin/zsh
```
05. Open a new Zsh terminal window or tab.
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 _`${ZDOTDIR:-$HOME}/.zprofile`_ then open a new Zsh
terminal window or tab.
If you are not able to find certain commands after switching to *Prezto*,
modify the `PATH` variable in *~/.zshenv* then open a new Zsh terminal
window or tab.
## Updating
Updating
--------
Run `zprezto-update` to automatically check if there is an update to Prezto.
If there are no file conflicts, Prezto and its submodules will be automatically
updated. If there are conflicts you will be instructed to go into the
`$ZPREZTODIR` directory and resolve them yourself.
Pull the latest changes and update submodules.
To pull the latest changes and update submodules manually:
git pull && git submodule update --init --recursive
```console
cd $ZPREZTODIR
git pull
git submodule sync --recursive
git submodule update --init --recursive
```
Usage
-----
## Usage
Prezto has many features disabled by default. Read the source code and the
accompanying README files to learn about what is available.
Prezto has many features disabled by default. Read the source code and
accompanying README files to learn of what is available.
### Modules
01. Browse [_`modules`_][9] to see what is available.
02. Load the modules you need in _`${ZDOTDIR:-$HOME}/.zpreztorc`_ and then open
a new Zsh terminal window or tab.
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
01. For a list of themes, type `prompt -l`.
02. To preview a theme, type `prompt -p name`.
03. Load the theme you like in _`${ZDOTDIR:-$HOME}/.zpreztorc`_ and then
open a new Zsh terminal window or tab.
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][2]
Note that the [_`git`_][11] module may be required for special symbols to
appear, such as those on the right of the above image. Add `'git'` to the
`pmodule` list (under `zstyle ':prezto:load' pmodule \` in your
_`${ZDOTDIR:-$HOME}/.zpreztorc`_) to enable this module.
![sorin theme][2]
### External Modules
Customization
-------------
01. By default modules will be loaded from [_`/modules`_][9] and _`/contrib`_.
02. Additional module directories can be added to the
`:prezto:load:pmodule-dirs` setting in _`${ZDOTDIR:-$HOME}/.zpreztorc`_.
The project is managed via [Git][3]. It is highly recommended that you fork this
project; so, that you can commit your changes and push them to [GitHub][4] to
not lose them. If you do not know how to use Git, follow this [tutorial][5] and
bookmark this [reference][6].
Note that module names need to be unique or they will cause an error when
loading.
```sh
zstyle ':prezto:load' pmodule-dirs $HOME/.zprezto-contrib
```
## Customization
The project is managed via [Git][3]. We highly recommend that you fork this
project so that you can commit your changes and push them to your fork on
[GitHub][4] to preserve them. If you do not know how to use Git, follow this
[tutorial][5] and bookmark this [reference][6].
## Resources
Resources
---------
The [Zsh Reference Card][7] and the [zsh-lovers][8] man page are indispensable.
## License
License
-------
This project is licensed under the MIT License.
(The MIT License)
[1]: https://www.zsh.org
[2]: https://i.imgur.com/nrGV6pg.png "sorin theme"
[3]: https://git-scm.com
Copyright (c) 2009-2014 Sorin Ionescu and contributors.
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
[1]: http://www.zsh.org
[2]: http://i.imgur.com/nBEEZ.png "sorin theme"
[3]: http://git-scm.com
[4]: https://github.com
[5]: https://gitimmersion.com
[6]: https://git.github.io/git-reference/
[5]: http://gitimmersion.com
[6]: http://gitref.org
[7]: http://www.bash2zsh.com/zsh_refcard/refcard.pdf
[8]: https://grml.org/zsh/zsh-lovers.html
[9]: modules#readme
[10]: runcoms#readme
[11]: modules/git#readme
[8]: http://grml.org/zsh/zsh-lovers.html
[9]: http://www.cygwin.com

View File

@ -0,0 +1,55 @@
.TH Archive
.PP
Provides functions to extract and list popular archive formats.
.SH Functions
.RS
.IP \(bu 2
\fB\fCextract\fR extracts the contents of one or more archives.
.IP \(bu 2
\fB\fCls-archive\fR lists the contents of one or more archives.
.RE
.SH Supported Formats
.PP
The following archive formats are supported when the required utilities are
installed:
.RS
.IP \(bu 2
\fI.tar.gz\fP, \fI.tgz\fP require \fB\fCtar\fR.
.IP \(bu 2
\fI.tar.bz2\fP, \fI.tbz\fP require \fB\fCtar\fR.
.IP \(bu 2
\fI.tar.xz\fP, \fI.txz\fP require \fB\fCtar\fR with \fIxz\fP support.
.IP \(bu 2
\fI.tar.zma\fP, \fI.tlz\fP require \fB\fCtar\fR with \fIlzma\fP support.
.IP \(bu 2
\fI.tar\fP requires \fB\fCtar\fR.
.IP \(bu 2
\fI.gz\fP requires \fB\fCgunzip\fR.
.IP \(bu 2
\fI.bz2\fP requires \fB\fCbunzip2\fR.
.IP \(bu 2
\fI.xz\fP requires \fB\fCunxz\fR.
.IP \(bu 2
\fI.lzma\fP requires \fB\fCunlzma\fR.
.IP \(bu 2
\fI.Z\fP requires \fB\fCuncompress\fR.
.IP \(bu 2
\fI.zip\fP requires \fB\fCunzip\fR.
.IP \(bu 2
\fI.rar\fP requires \fB\fCunrar\fR.
.IP \(bu 2
\fI.7z\fP requires \fB\fC7za\fR.
.IP \(bu 2
\fI.deb\fP requires \fB\fCar\fR, \fB\fCtar\fR.
.RE
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,17 @@
.TH Command\-Not\-Found
.PP
Loads the command\-not\-found
.UR https://code.launchpad.net/command-not-found
.UE
tool on Debian\-based distributions.
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Joseph Booker
.UR https://github.com/sargas
.UE
.RE

View File

@ -0,0 +1,27 @@
.TH Completion
.PP
Loads and configures tab completion and provides additional completions from
the zsh\-completions
.UR https://github.com/zsh-users/zsh-completions
.UE
project.
.PP
This module must be loaded \fBafter\fP the \fIutility\fP module.
.SH Contributors
.PP
Completions should be submitted to the zsh\-completions
.UR https://github.com/zsh-users/zsh-completions
.UE
project according
to its rules and regulations. This module will be synchronized against it.
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,49 @@
.TH Directory
.PP
Sets directory options and defines directory aliases.
.SH Options
.RS
.IP \(bu 2
\fB\fCAUTO_CD\fR auto changes to a directory without typing \fB\fCcd\fR.
.IP \(bu 2
\fB\fCAUTO_PUSHD\fR pushes the old directory onto the stack on \fB\fCcd\fR.
.IP \(bu 2
\fB\fCPUSHD_IGNORE_DUPS\fR does not store duplicates in the stack.
.IP \(bu 2
\fB\fCPUSHD_SILENT\fR does not print the directory stack after \fB\fCpushd\fR or \fB\fCpopd\fR.
.IP \(bu 2
\fB\fCPUSHD_TO_HOME\fR pushes to the home directory when no argument is given.
.IP \(bu 2
\fB\fCCDABLE_VARS\fR changes directory to a path stored in a variable.
.IP \(bu 2
\fB\fCAUTO_NAME_DIRS\fR auto adds variable\-stored paths to \fB\fC~\fR list.
.IP \(bu 2
\fB\fCMULTIOS\fR writes to multiple descriptors.
.IP \(bu 2
\fB\fCEXTENDED_GLOB\fR uses extended globbing syntax.
.IP \(bu 2
\fB\fCCLOBBER\fR does not overwrite existing files with \fB\fC>\fR and \fB\fC>>\fR. Use \fB\fC>!\fR and
\fB\fC>>!\fR to bypass.
.RE
.SH Aliases
.RS
.IP \(bu 2
\fB\fCd\fR prints the contents of the directory stack.
.IP \(bu 2
\fB\fC1 ... 9\fR changes the directory to the \fBn\fP previous one.
.RE
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
James Cox
.UR https://github.com/imajes
.UE
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,63 @@
.TH Dpkg
.PP
Defines dpkg
.UR http://wiki.debian.org/Teams/Dpkg
.UE
aliases and functions.
.SH Aliases
.RS
.IP \(bu 2
\fB\fCdebc\fR cleans the cache.
.IP \(bu 2
\fB\fCdebf\fR displays a file's packake.
.IP \(bu 2
\fB\fCdebi\fR installs packages from repositories.
.IP \(bu 2
\fB\fCdebI\fR installs packages from files.
.IP \(bu 2
\fB\fCdebq\fR displays package information.
.IP \(bu 2
\fB\fCdebu\fR updates the packages lists.
.IP \(bu 2
\fB\fCdebU\fR upgrades outdated packages.
.IP \(bu 2
\fB\fCdebx\fR removes packages.
.IP \(bu 2
\fB\fCdebX\fR removes packages, their configuration, and unneeded dependencies.
.IP \(bu 2
\fB\fCdebs\fR searches for packages.
.IP \(bu 2
\fB\fCdeb-build\fR creates a basic .deb package.
.IP \(bu 2
\fB\fCdeb-kclean\fR removes all kernel images and headers, except for the ones in
use.
.RE
.SH Functions
.RS
.IP \(bu 2
\fB\fCdeb-clone\fR generates a script that can be used to duplicate a dpkg\-based
system.
.IP \(bu 2
\fB\fCdeb-history\fR displays dpkg history.
.IP \(bu 2
\fB\fCdeb-kbuild\fR makes a dpkg Linux kernel package.
.RE
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Daniel Bolton
.UR https://github.com/dbb
.UE
.IP \(bu 2
Benjamin Boudreau
.UR https://github.com/dreur
.UE
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,22 @@
.TH Environment
.PP
Sets general shell options and defines environment variables.
.PP
This module must be loaded first.
.SH Environment Variables
.SH Contributors
.PP
This module \fBMUST NOT\fP rely on any command not built in Zsh.
.PP
Non\-interactive environment variables should be defined in \fIzshenv\fP.
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,31 @@
.TH GNU Utility
.PP
Provides for the interactive use of GNU utilities on non\-GNU systems.
.PP
Installing GNU utilities on non\-GNU systems in \fB\fC$PATH\fR without a prefix, i.e.
\fB\fCls\fR instead of \fB\fCgls\fR, is not recommended since scripts that target other
utilities will be broken.
.PP
However, for interactive use, prefixed commands can be wrapped in their
non\-prefixed counterparts.
.PP
This module must be loaded \fBbefore\fP the \fIutility\fP module.
.SH Settings
.SS Prefix
.PP
To use a different prefix, add the following to \fIzpreztorc\fP, and replace 'g' with
the desired prefix:
.nf
zstyle ':prezto:module:gnu-utility' prefix 'g'
.fi
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,20 @@
.TH GPG\-Agent
.PP
Provides for an easier use of gpg\-agent
.UR http://linux.die.net/man/1/gpg-agent
.UE .
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Florian Walch
.UR https://github.com/fwalch
.UE
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,27 @@
.TH Haskell
.PP
Enables local Haskell package installation.
.SH Per\-user Package Installation
.PP
Cabal
.UR http://www.haskell.org/cabal/
.UE , the Haskell package manager, can install packages into per user
directories.
.PP
This module prepends per user directories to the relevant path variables to
enable the execution of user installed executables and the reading of
documentation.
.SS Usage
.PP
Install packages into per user directories with \fB\fCcabal install --user\fR.
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Sebastian Wiesner
.UR https://github.com/lunaryorn
.UE
.RE

View File

@ -0,0 +1,29 @@
.TH Helper
.PP
Provides helper functions for developing modules.
.SH Functions
.RS
.IP \(bu 2
\fB\fCadd-zsh-trap\fR adds a function name to a list to be called when a trap is
triggered.
.IP \(bu 2
\fB\fCis-autoloadable\fR checks if a file can be autoloaded by trying to load it
in a subshell.
.IP \(bu 2
\fB\fCis-callable\fR checks if a name is a command, function, or alias.
.IP \(bu 2
\fB\fCis-true\fR checks a boolean variable for "true".
.IP \(bu 2
\fB\fCcoalesce\fR prints the first non\-empty string in the arguments array.
.RE
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,55 @@
.TH History Substring Search
.PP
Integrates zsh\-history\-substring\-search
.UR https://github.com/zsh-users/zsh-history-substring-search
.UE
into Prezto, which implements
the Fish shell
.UR http://fishshell.com
.UE 's history search feature, where the user can type in any
part of a previously entered command and press up and down to cycle through
matching commands.
.PP
If this module is used in conjuncture with the \fIsyntax\-highlighting\fP module, it
must be loaded \fBafter\fP it.
.SH Contributors
.PP
New features and bug fixes should be submitted to the
zsh\-history\-substring\-search
.UR https://github.com/zsh-users/zsh-history-substring-search
.UE
project according to its rules and
regulations. This module will be synchronized against it.
.SH Settings
.SS Case Sensitivity
.PP
To enable case\-sensitivity for this module only, add the following line to
\fIzpreztorc\fP:
.nf
zstyle ':prezto:module:history-substring-search' case-sensitive 'yes'
.fi
.SS Highlighting
.PP
If colors are enabled, \fIhistory\-substring\-search\fP will automatically highlight
positive results.
.PP
To enable highlighting for this module only, add the following line to
\fIzpreztorc\fP:
.nf
zstyle ':prezto:module:history-substring-search' color 'yes'
.fi
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Suraj N. Kurapati
.UR https://github.com/sunaku
.UE
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,62 @@
.TH History
.PP
Sets history
.UR http://zsh.sourceforge.net/Guide/zshguide02.html#l16
.UE
options and defines history aliases.
.SH Variables
.RS
.IP \(bu 2
\fB\fCHISTFILE\fR stores the path to the history file.
.IP \(bu 2
\fB\fCHISTSIZE\fR stores the maximum number of events to save in the internal history.
.IP \(bu 2
\fB\fCSAVEHIST\fR stores the maximum number of events to save in the history file.
.RE
.SH Options
.RS
.IP \(bu 2
\fB\fCBANG_HIST\fR treats the \fB!\fP character specially during expansion.
.IP \(bu 2
\fB\fCEXTENDED_HISTORY\fR writes the history file in the \fI:start:elapsed;command\fP format.
.IP \(bu 2
\fB\fCINC_APPEND_HISTORY\fR writes to the history file immediately, not when the shell exits.
.IP \(bu 2
\fB\fCSHARE_HISTORY\fR shares history between all sessions.
.IP \(bu 2
\fB\fCHIST_EXPIRE_DUPS_FIRST\fR expires a duplicate event first when trimming history.
.IP \(bu 2
\fB\fCHIST_IGNORE_DUPS\fR does not record an event that was just recorded again.
.IP \(bu 2
\fB\fCHIST_IGNORE_ALL_DUPS\fR deletes an old recorded event if a new event is a duplicate.
.IP \(bu 2
\fB\fCHIST_FIND_NO_DUPS\fR does not display a previously found event.
.IP \(bu 2
\fB\fCHIST_IGNORE_SPACE\fR does not record an event starting with a space.
.IP \(bu 2
\fB\fCHIST_SAVE_NO_DUPS\fR does not write a duplicate event to the history file.
.IP \(bu 2
\fB\fCHIST_VERIFY\fR does not execute immediately upon history expansion.
.IP \(bu 2
\fB\fCHIST_BEEP\fR beeps when accessing non\-existent history.
.RE
.SH Aliases
.RS
.IP \(bu 2
\fB\fChistory-stat\fR lists the ten most used commands
.RE
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Robby Russell
.UR https://github.com/robbyrussell
.UE
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,35 @@
.TH Macports
.PP
Defines MacPorts aliases and adds MacPorts directories to path variables.
.SH Aliases
.RS
.IP \(bu 2
\fB\fCportc\fR cleans the files used to build ports.
.IP \(bu 2
\fB\fCporti\fR installs a port.
.IP \(bu 2
\fB\fCports\fR searches for a port.
.IP \(bu 2
\fB\fCportu\fR upgrades a port.
.IP \(bu 2
\fB\fCportU\fR upgrades MacPorts, the ports collection, and outdated ports.
.IP \(bu 2
\fB\fCportx\fR uninstalls a port.
.IP \(bu 2
\fB\fCportX\fR uninstalls inactive ports.
.RE
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Matt Cable
.UR https://github.com/curiousstranger
.UE
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,29 @@
.TH Node.js
.PP
Provides utility functions for Node.js
.UR http://nodejs.org
.UE
and loads npm
.UR http://npmjs.org
.UE
completion.
.SH Functions
.RS
.IP \(bu 2
\fB\fCnode-doc\fR opens the Node.js online API documentation
.UR http://nodejs.org/api
.UE
in the default
browser.
.RE
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,48 @@
.TH OSX
.PP
Defines Mac OS X
.UR http://www.apple.com/macosx/
.UE
aliases and functions.
.SH Aliases
.RS
.IP \(bu 2
\fB\fCcdf\fR changes the current working director to the current \fIFinder\fP
directory.
.IP \(bu 2
\fB\fCpushdf\fR pushes the current working directory onto the directory queue and
.IP \(bu 2
\fB\fCql\fR quick looks at files.
.IP \(bu 2
\fB\fCrm-osx-cruft\fR deletes .DS_Store, __MACOSX cruft.
.RE
.SH Functions
.RS
.IP \(bu 2
\fB\fCmanb\fR opens \fIman\fP pages in \fIBwana.app\fP
.UR http://bruji.com/bwana/
.UE .
.IP \(bu 2
\fB\fCmanp\fR opens \fIman\fP pages in \fIPreview.app\fP.
.IP \(bu 2
\fB\fCpfd\fR prints the current \fIFinder\fP directory.
.IP \(bu 2
\fB\fCpfs\fR prints the current \fIFinder\fP selection.
.IP \(bu 2
\fB\fCtab\fR creates a new tab (works in both \fITerminal\fP and \fIiTerm\fP
.UR http://www.iterm2.com/
.UE ).
.IP \(bu 2
\fB\fCtrash\fR moves files and folders to \fITrash\fP.
.RE
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,84 @@
.TH Pacman
.PP
Provides aliases and functions for the Pacman
.UR http://www.archlinux.org/pacman/
.UE
package manager and
frontends.
.SH Settings
.PP
To enable a Pacman frontend, for example, Yaourt
.UR http://archlinux.fr/yaourt-en
.UE , add the following line to
\fIzpreztorc\fP:
.nf
zstyle ':prezto:module:pacman' frontend 'yaourt'
.fi
.PP
If you have enabled color globally in \fIzpreztorc\fP, you may disable it for certain
commands.
.PP
To disable \fB\fCyaourt\fR highlighting, add the following line to \fIzpreztorc\fP:
.nf
zstyle ':prezto:module:pacman:yaourt' color 'no'
.fi
.SH Aliases
.SS Pacman
.RS
.IP \(bu 2
\fB\fCpac\fR is short for \fB\fCpacman\fR.
.IP \(bu 2
\fB\fCpaci\fR installs packages from repositories.
.IP \(bu 2
\fB\fCpacI\fR installs packages from files.
.IP \(bu 2
\fB\fCpacx\fR removes packages and unneeded dependencies.
.IP \(bu 2
\fB\fCpacX\fR removes packages, their configuration, and unneeded dependencies.
.IP \(bu 2
\fB\fCpacq\fR displays information about a package from the repositories.
.IP \(bu 2
\fB\fCpacQ\fR displays information about a package from the local database.
.IP \(bu 2
\fB\fCpacs\fR searches for packages in the repositories.
.IP \(bu 2
\fB\fCpacS\fR searches for packages in the local database.
.IP \(bu 2
\fB\fCpacu\fR synchronizes the local package and Arch Build System (requires \fB\fCabs\fR)
databases against the repositories.
.IP \(bu 2
\fB\fCpacU\fR synchronizes the local package database against the repositories then
upgrades outdated packages.
.IP \(bu 2
\fB\fCpacman-list-orphans\fR lists orphan packages.
.IP \(bu 2
\fB\fCpacman-remove-orphans\fR removes orphan packages.
.RE
.SS Frontends
.SS Yaourt
.RS
.IP \(bu 2
\fB\fCpacc\fR manages \fI.pac\\fP* files.
.RE
.SH Functions
.RS
.IP \(bu 2
\fB\fCpacman-list-explicit\fR lists explicitly installed pacman packages.
.IP \(bu 2
\fB\fCpacman-list-disowned\fR lists pacman disowned files.
.RE
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Benjamin Boudreau
.UR https://github.com/dreur
.UE
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,74 @@
.TH Perl
.PP
Enables local Perl
.UR http://www.perl.org
.UE
module installation on Mac OS X and defines alises.
.SH Local Module Installation
.PP
Perl versions older than 5.14 do not support the local installation of Perl
modules natively. This module allows for local installation of Perl modules on
Mac OS X in \fI~/Library/Perl/5.12\fP by altering the environment.
.SS Usage
.PP
For Perl versions older than 5.14, install \fIlocal::lib\fP.
.nf
curl -L -C - -O http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.008004.tar.gz
tar xvf local-lib-1.008004.tar.gz
cd local-lib-1.008004
perl Makefile.PL --bootstrap=$HOME/Library/Perl/5.12
make && make test && make install
.fi
.PP
Install \fIcpanminus\fP:
.nf
curl -L http://cpanmin.us | perl - --self-upgrade
.fi
.SH Perlbrew
.PP
An alternative to the above is to use Perlbrew
.UR http://perlbrew.pl
.UE , which allows for the
management of multiple, isolated Perl installations in the home directory.
.SH Aliases
.SS General
.RS
.IP \(bu 2
\fB\fCpl\fR is short for \fB\fCperl\fR.
.IP \(bu 2
\fB\fCpld\fR looks up Perl documentation (\fB\fCperldoc\fR).
.IP \(bu 2
\fB\fCple\fR executes a one line program in a loop (\fB\fCperl -wlne\fR).
.RE
.SS Perlbrew
.RS
.IP \(bu 2
\fB\fCplb\fR manages Perl environments.
.IP \(bu 2
\fB\fCplba\fR lists available Perl versions.
.IP \(bu 2
\fB\fCplbi\fR installs a Perl version.
.IP \(bu 2
\fB\fCplbl\fR lists installed Perl versions.
.IP \(bu 2
\fB\fCplbo\fR temporarily turns off Perlbrew.
.IP \(bu 2
\fB\fCplbO\fR turns off Perlbrew.
.IP \(bu 2
\fB\fCplbs\fR switches to a Perl version.
.IP \(bu 2
\fB\fCplbu\fR uninstalls a Perl version.
.IP \(bu 2
\fB\fCplbx\fR temporarily sets the Perl version to use.
.RE
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,108 @@
.TH Prompt
.PP
Loads prompt themes
.UR http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Prompt-Themes
.UE .
.SH Settings
.PP
To select a prompt theme, add the following to \fIzpreztorc\fP, and replace \fBname\fP
with the name of the theme you wish to load. Setting it to \fBrandom\fP will load
a random theme.
.nf
zstyle ':prezto:module:prompt' theme 'name'
.fi
.SH Theming
.PP
A prompt theme is an autoloadable function file with a special name,
\fB\fCprompt_name_setup\fR, placed anywhere in \fB\fC$fpath\fR, but for the purpose of this
project, themes \fBshould\fP be placed in the \fImodules/prompt/functions\fP
directory.
.SS Theme Functions
.PP
There are three theme functions, a setup function, a help function, and
a preview function. The setup function \fBmust\fP always be defined. The help
function and the preview functions are optional.
.SS prompt_name_setup
.PP
This function is called by the \fB\fCprompt\fR function to install the theme. This
function may define other functions as necessary to maintain the prompt,
including a function that displays help or a function used to preview it.
.PP
\fBDo not call this function directly.\fP
.PP
The most basic example of this function can be seen bellow.
.nf
function prompt_name_setup {
PROMPT='%m%# '
RPROMPT=''
}
.fi
.SS prompt_name_help
.PP
If the \fB\fCprompt_name_setup\fR function is customizable via parameters, a help
function \fBshould\fP be defined. The user will access it via \fB\fCprompt -h name\fR.
.PP
The most basic example of this function can be seen bellow.
.nf
function prompt_name_help {
cat <<EOH
This prompt is color-scheme-able. You can invoke it thus:
prompt theme [<color1>] [<color2>]
where the color is for the left-hand prompt.
EOH
}
.fi
.SS prompt_name_preview
.PP
If the \fB\fCprompt_name_setup\fR function is customizable via parameters, a preview
function \fBshould\fP be defined. The user will access it via \fB\fCprompt -p name\fR.
.PP
The most basic example of this function can be seen bellow.
.nf
function prompt_name_preview {
if (( $# > 0 )); then
prompt_preview_theme theme "$@"
else
prompt_preview_theme theme red green blue
print
prompt_preview_theme theme yellow magenta black
fi
}
.fi
.SS Hook Functions
.PP
There are many Zsh hook
.UR http://zsh.sourceforge.net/Doc/Release/Functions.html#Hook-Functions
.UE
functions, but mostly the \fIprecmd\fP hook will be
used.
.SS prompt_name_precmd
.PP
This hook is called before the prompt is displayed and is useful for getting
information to display in a prompt.
.PP
When calling functions to get information to display in a prompt, do not assume
that all the dependencies have been loaded. Always check for the availability of
a function before you calling it.
.PP
\fBDo not register hook functions. They will be registered by the \fB\fCprompt\fR function.\fP
.PP
The most basic example of this function can be seen bellow.
.nf
function prompt_name_precmd {
if (( $+functions[git-info] )); then
git-info
fi
}
.fi
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,119 @@
.TH Python
.PP
Enables local Python and local Python package installation.
.SH Local Python Installation
.PP
pythonz
.UR http://saghul.github.com/pythonz/
.UE
builds and installs multiple Python versions locally in the home
directory.
.PP
This module prepends the pythonz directory to the path variable to enable the
execution of \fB\fCpythonz\fR.
.SS Usage
.PP
Install Python versions with \fB\fCpythonz install\fR into \fI~/.pythonz/pythons\fP.
.SH Local Package Installation
.PP
Since version 2.6, Python supports per user package installation, as defined in
PEP 370
.UR http://www.python.org/dev/peps/pep-0370/
.UE .
.PP
This module prepends per user site directories to the relevant path variables
to enable the execution of user installed scripts and the reading of
documentation.
.SS Usage
.PP
Install packages into the per user site directory with \fB\fCeasy_install --user\fR or
\fB\fCpip install --user\fR.
.SH virtualenvwrapper
.PP
virtualenvwrapper
.UR http://www.doughellmann.com/projects/virtualenvwrapper/
.UE
is a frontend to the popular virtualenv
.UR http://pypi.python.org/pypi/virtualenv
.UE
utility.
.PP
virtualenv creates isolated Python environments and virtualenvwrapper provides
convenient shell functions to create, switch, and manage them.
.SS Usage
.PP
Install virtualenvwrapper.
.PP
Virtual environments are stored in \fI~/.virtualenvs\fP.
.PP
There are configuration variables that have to be set to enable certain features.
If you wish to use these features, export the variables in \fI~/.zshenv\fP
.PP
The variable \fB\fC$PROJECT_HOME\fR tells virtualenvwrapper where to place project
working directories. It must be set and the directory created before \fB\fCmkproject\fR
is used. Replace \fIDeveloper\fP with your projects directory.
.nf
export PROJECT_HOME="$HOME/Developer"
.fi
.PP
The variable \fB\fC$VIRTUALENVWRAPPER_VIRTUALENV_ARGS\fR tells virtualenvwrapper what
arguments to pass to \fB\fCvirtualenv\fR. For example, set the value to
\fI\-\-no\-site\-packages\fP to ensure that all new environments are isolated from the
system site\-packages directory.
.nf
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
.fi
.SH Aliases
.RS
.IP \(bu 2
\fB\fCpy\fR is short for \fB\fCpython\fR.
.RE
.SS Pythonz
.RS
.IP \(bu 2
\fB\fCpyz\fR is short for \fB\fCpythonz\fR.
.IP \(bu 2
\fB\fCpyzc\fR removes stale source folders and archives.
.IP \(bu 2
\fB\fCpyzi\fR installs Python versions.
.IP \(bu 2
\fB\fCpyzl\fR lists installed Python versions.
.IP \(bu 2
\fB\fCpyzL\fR lists available Python versions.
.IP \(bu 2
\fB\fCpyzu\fR updates itself to the latest version.
.IP \(bu 2
\fB\fCpyzx\fR uninstalls Python versions.
.RE
.SH Functions
.RS
.IP \(bu 2
\fB\fCpython-info\fR exposes information about the Python environment via the
\fB\fC$python_info\fR associative array.
.RE
.SH Theming
.PP
To display the name of the current virtual enviroment in a prompt, define the
following style in the \fB\fCprompt_theme_setup\fR function.
.nf
# %v - virtualenv name.
zstyle ':prezto:module:python' virtualenv 'virtualenv:%v'
.fi
.PP
Then add \fB\fC$python_info[virtualenv]\fR to \fB\fC$PROMPT\fR or \fB\fC$RPROMPT\fR and call
\fB\fCpython-info\fR in the \fB\fCprompt_theme_preexec\fR hook function.
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.IP \(bu 2
Sebastian Wiesner
.UR https://github.com/lunaryorn
.UE
.RE

View File

@ -0,0 +1,56 @@
.TH Ruby on Rails
.PP
Defines Ruby on Rails
.UR http://rubyonrails.org
.UE
aliases.
.SH Aliases
.RS
.IP \(bu 2
\fB\fCror\fR is short for \fB\fCrails\fR.
.IP \(bu 2
\fB\fCrorc\fR starts the Rails console.
.IP \(bu 2
\fB\fCrordc\fR starts the Rails console connected to the database.
.IP \(bu 2
\fB\fCrordm\fR migrates the database.
.IP \(bu 2
\fB\fCrordM\fR migrates the database and recreates the test database.
.IP \(bu 2
\fB\fCrordr\fR rolls the database schema back to the previous version.
.IP \(bu 2
\fB\fCrorg\fR generates new code.
.IP \(bu 2
\fB\fCrorl\fR displays the log.
.IP \(bu 2
\fB\fCrorlc\fR truncates logs to zero bytes.
.IP \(bu 2
\fB\fCrorp\fR installs a plugin.
.IP \(bu 2
\fB\fCrorr\fR runs code in the application environment.
.IP \(bu 2
\fB\fCrors\fR starts the Rails server.
.IP \(bu 2
\fB\fCrorsd\fR starts the Rails server with the debugger.
.IP \(bu 2
\fB\fCrorx\fR destroys newly generated code.
.RE
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Robby Russell
.UR https://github.com/robbyrussell
.UE
.IP \(bu 2
Jake Bell
.UR https://github.com/theunraveler
.UE
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,34 @@
.TH Rsync
.PP
Defines rsync
.UR http://rsync.samba.org
.UE
aliases.
.PP
Mac OS X users are encouraged to use Bombich's rsync
.UR http://www.bombich.com/rsync.html
.UE , which has HFS+
enhancements.
.SH Aliases
.RS
.IP \(bu 2
\fB\fCrsync-copy\fR copies files and directories from \fIsource\fP to \fIdestination\fP.
.IP \(bu 2
\fB\fCrsync-move\fR moves files and directories from \fIsource\fP to \fIdestination\fP.
.IP \(bu 2
\fB\fCrsync-update\fR updates files and directories on \fIdestination\fP.
.IP \(bu 2
\fB\fCrsync-synchronize\fR synchronizes files and directories between \fIsource\fP and
\fIdestination\fP.
.RE
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,97 @@
.TH Ruby
.PP
Configures Ruby
.UR http://www.ruby-lang.org
.UE
local gem installation, loads version managers, and defines
aliases.
.SH Local Gem Installation
.PP
When a Ruby version manager is not detected, local gems are installed in
\fI~/Library/Ruby/Gems/1.8\fP on Mac OS X.
.SH RVM
.PP
An alternative to the above is to use The Ruby Version Manager (RVM)
.UR https://rvm.io
.UE , which
allows for managing multiple, isolated Ruby installations and gem sets in the
home directory.
.PP
Since RVM is loaded into the shell and is known to override shell commands, it
may conflict with shell scripts.
.SH rbenv
.PP
An alternative RVM is to use rbenv
.UR https://github.com/sstephenson/rbenv
.UE , which allows for switching between multiple,
isolated Ruby installations in the home directory.
.PP
While it is not as feature rich as RVM, it is not loaded into the shell and is
not known to cause conflicts with shell scripts.
.SH Bundler
.PP
Manage gems that are not meant to be used as commands, such as application
dependencies, with Bundler
.UR http://gembundler.com
.UE .
.SH Aliases
.SS General
.RS
.IP \(bu 2
\fB\fCrb\fR is short for \fB\fCruby\fR.
.RE
.SS Bundler
.RS
.IP \(bu 2
\fB\fCrbb\fR manages ruby dependencies (\fB\fCbundle\fR).
.IP \(bu 2
\fB\fCrbbe\fR executes a script in the context of the current bundle.
.IP \(bu 2
\fB\fCrbbi\fR installs the gems specified in the \fIGemfile\fP in \fIvendor/bundle\fP.
.IP \(bu 2
\fB\fCrbbI\fR installs the following:
.RS
.IP \(bu 2
gems specified in the \fIGemfile\fP in \fIvendor/bundle\fP.
.IP \(bu 2
packages the gems into \fIvendor/cache\fP.
.IP \(bu 2
appends bundler directories to \fI.gitignore\fP.
.RE
.IP \(bu 2
\fB\fCrbbl\fR lists all gems in the current bundle.
.IP \(bu 2
\fB\fCrbbo\fR opens an installed gem in the editor.
.IP \(bu 2
\fB\fCrbbp\fR packages gem files into \fIvendor/cache\fP.
.IP \(bu 2
\fB\fCrbbu\fR updates gems to their latest version.
.RE
.SH Functions
.RS
.IP \(bu 2
\fB\fCruby-info\fR exposes information about the Ruby environment via the
\fB\fC$ruby_info\fR associative array.
.RE
.SH Theming
.PP
To display the name of the current Ruby version in a prompt, define the
following style in the \fB\fCprompt_theme_setup\fR function.
.nf
# %v - ruby version.
zstyle ':prezto:module:ruby' version 'version:%v'
.fi
.PP
Then add \fB\fC$ruby_info[version]\fR to \fB\fC$PROMPT\fR or \fB\fC$RPROMPT\fR and call
\fB\fCruby-info\fR in the \fB\fCprompt_theme_preexec\fR hook function.
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,37 @@
.TH GNU Screen
.PP
Defines GNU Screen
.UR http://www.gnu.org/software/screen/
.UE
aliases and provides for auto launching it at start\-up.
.SH Settings
.SS Auto\-Start
.PP
Starts a GNU Screen session automatically when Zsh is launched.
.PP
To enable this feature, add the following line to \fIzpreztorc\fP:
.nf
zstyle ':prezto:module:screen' auto-start 'yes'
.fi
.SH Aliases
.RS
.IP \(bu 2
\fB\fCscr\fR is short for \fB\fCscreen\fR.
.IP \(bu 2
\fB\fCscrl\fR lists sessions/socket directory.
.IP \(bu 2
\fB\fCscrn\fR starts a new session.
.IP \(bu 2
\fB\fCscrr\fR attaches to a session if one exists or start a new one.
.RE
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,145 @@
.TH Spectrum
.PP
Provides for easier use of 256 colors and effects.
.PP
To learn more about text formatting, read That 256 Color Thing
.UR http://lucentbeing.com/blog/that-256-color-thing/
.UE .
.SH Variables
.RS
.IP \(bu 2
\fB\fCBG\fR provides background colors.
.IP \(bu 2
\fB\fCFG\fR provides foreground colors.
.IP \(bu 2
\fB\fCFX\fR provides effects.
.RE
.SS Background and Foreground
.PP
Terminals support 8, 16, 88, and 256 colors. Check if a terminal supports 256
colors with \fB\fCtput colors\fR before use.
.PP
The following colors are supported.
.RS
.IP \(bu 2
0 to 255
.IP \(bu 2
black
.IP \(bu 2
red
.IP \(bu 2
green
.IP \(bu 2
yellow
.IP \(bu 2
blue
.IP \(bu 2
magenta
.IP \(bu 2
cyan
.IP \(bu 2
white
.RE
.SS Effects
.PP
Though there are many effects, most terminals support at least bold formatting.
.PP
\fBNot all effects work on all terminals; use them sparingly.\fP
.TS
allbox;
cb cb
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
.
Enable Disable
none
normal
bold no\-bold
faint no\-faint
standout no\-standout
underline no\-underline
blink no\-blink
fast\-blink no\-fast\-blink
reverse no\-reverse
conceal no\-conceal
strikethrough no\-strikethrough
gothic no\-gothic
double\-underline no\-double\-underline
proportional no\-proportional
overline no\-overline
no\-border
border\-rectangle no\-border\-rectangle
border\-circle no\-border\-circle
no\-ideogram\-marking
underline\-or\-right no\-underline\-or\-right
double\-underline\-or\-right no\-double\-underline\-or\-right
overline\-or\-left no\-overline\-or\-left
double\-overline\-or\-left no\-double\-overline\-or\-left
stress no\-stress
font\-default
font\-first no\-font\-first
font\-second no\-font\-second
font\-third no\-font\-third
font\-fourth no\-font\-fourth
font\-fifth no\-font\-fifth
font\-sixth no\-font\-sixth
font\-seventh no\-font\-seventh
font\-eigth no\-font\-eigth
font\-ninth no\-font\-ninth
.TE
.SS Plain Text
.PP
Use \fB\fC$BG[none]\fR, \fB\fC$FG[none]\fR, or \fB\fC$FX[none]\fR to turn off formatting.
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
P.C. Shyamshankar
.UR https://github.com/sykora
.UE
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,53 @@
.TH SSH\-Agent
.PP
Provides for an easier use of ssh\-agent
.UR http://www.openbsd.org/cgi-bin/man.cgi?query=ssh-agent&sektion=1
.UE .
.SH Settings
.SS Agent Forwarding
.PP
To enable ssh\-agent forwarding, add the following line to \fIzpreztorc\fP:
.nf
zstyle ':prezto:module:ssh-agent' forwarding 'yes'
.fi
.SS Identities
.PP
To load multiple identities, add the following line to \fIzpreztorc\fP:
.nf
zstyle ':prezto:module:ssh-agent' identities 'id_rsa' 'id_rsa2' 'id_github'
.fi
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Robby Russell
.UR https://github.com/robbyrussell
.UE
.IP \(bu 2
Theodore Robert Campbell Jr
.UR https://github.com/trcjr
.UE
.IP \(bu 2
Joseph M. Reagle Jr.
.UR https://github.com/reagle
.UE
.IP \(bu 2
Florent Thoumie
.UR https://github.com/flz
.UE
.IP \(bu 2
Jonas Pfenniger
.UR https://github.com/zimbatm
.UE
.IP \(bu 2
Gareth Owen
.UR https://github.com/gwjo
.UE
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,53 @@
.TH Syntax Highlighting
.PP
Integrates zsh\-syntax\-highlighting
.UR https://github.com/zsh-users/zsh-syntax-highlighting
.UE
into Prezto.
.PP
This module should be loaded \fIsecond to last\fP, where last is the \fIprompt\fP
module, unless used in conjuncture with the \fIhistory\-substring\-search\fP module
where it must be loaded \fBbefore\fP it.
.SH Contributors
.PP
New features and bug fixes should be submitted to the
zsh\-syntax\-highlighting
.UR https://github.com/zsh-users/zsh-syntax-highlighting
.UE
project according to its rules and regulations.
This module will be synchronized against it.
.SH Settings
.SS Highlighting
.PP
To enable highlighting for this module only, add the following line to
\fIzpreztorc\fP:
.nf
zstyle ':prezto:module:syntax-highlighting' color 'yes'
.fi
.SS Highlighters
.PP
Syntax highlighting is accomplished by pluggable highlighters
.UR https://github.com/zsh-users/zsh-syntax-highlighting/tree/master/highlighters
.UE . This module
enables the \fImain\fP, \fIbrackets\fP, and \fIcursor\fP highlighters by default.
.PP
To enable all highlighters, add the following to \fIzpreztorc\fP:
.nf
zstyle ':prezto:module:syntax-highlighting' highlighters \
'main' \
'brackets' \
'pattern' \
'cursor' \
'root'
.fi
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,26 @@
.TH Terminal
.PP
Sets terminal window and tab titles.
.SH Settings
.SS Auto\-Title
.PP
To auto set the terminal window and tab titles with the current command or
directory, add the following to \fIzpreztorc\fP:
.nf
zstyle ':prezto:module:terminal' auto-title 'yes'
.fi
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
James Cox
.UR https://github.com/imajes
.UE
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,61 @@
.TH Tmux
.PP
Defines tmux
.UR http://tmux.sourceforge.net
.UE
aliases and provides for auto launching it at start\-up.
.SH Settings
.SS Auto\-Start
.PP
Starts a tmux session automatically when Zsh is launched.
.PP
To enable this feature, add the following line to \fIzpreztorc\fP:
.nf
zstyle ':prezto:module:tmux' auto-start 'yes'
.fi
.PP
It will create a background session named \fI#Prezto\fP and attach every new shell
to it.
.PP
To avoid keeping open sessions, this module sets \fB\fCdestroy-unattached off\fR on
the background session and \fB\fCdestroy-unattached on\fR on every other session
(global setting).
.SH Aliases
.RS
.IP \(bu 2
\fB\fCtmuxa\fR attaches or switches to a tmux session.
.IP \(bu 2
\fB\fCtmuxl\fR lists sessions managed by the tmux server.
.RE
.SH Caveats
.PP
On Mac OS X, launching tmux can cause the error \fBlaunch_msg(...): Socket is not
connected\fP to be displayed, which can be fixed by installing
reattach\-to\-user\-namespace
.UR ChrisJohnsen/tmux-MacOSX-pasteboard
.UE , available in Homebrew
.UR mxcl/homebrew
.UE , and adding the
following to \fItmux.conf\fP:
.PP
set\-option \-g default\-command "reattach\-to\-user\-namespace \-l $SHELL \-l"
.PP
Furthermore, tmux is known to cause \fBkernel panics\fP on Mac OS X. A discussion
about this and Prezto has already been opened
.UR http://git.io/jkPqHg
.UE .
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.IP \(bu 2
Colin Hebert
.UR https://github.com/ColinHebert
.UE
.RE

View File

@ -0,0 +1,233 @@
.TH Utility
.PP
Defines general aliases and functions.
.SH Settings
.SS Highlighting
.PP
If you have enabled color globally in \fIzpreztorc\fP, you may disable it for certain
commands.
.PP
To disable \fB\fCls\fR color, add the following line to \fIzpreztorc\fP; when coloring is
disabled, type indicators (*, /, =>, @, =, |, %) will be appended to entries.
.nf
zstyle ':prezto:module:utility:ls' color 'no'
.fi
.PP
To disable \fB\fCdiff\fR highlighting, add the following line to \fIzpreztorc\fP:
.nf
zstyle ':prezto:module:utility:diff' color 'no'
.fi
.PP
To disable \fB\fCwdiff\fR highlighting, add the following line to \fIzpreztorc\fP:
.nf
zstyle ':prezto:module:utility:wdiff' color 'no'
.fi
.PP
To disable \fB\fCmake\fR highlighting, add the following line to \fIzpreztorc\fP:
.nf
zstyle ':prezto:module:utility:make' color 'no'
.fi
.SH Aliases
.SS Disabled Spelling Correction
.RS
.IP \(bu 2
\fB\fCack\fR
.IP \(bu 2
\fB\fCcd\fR
.IP \(bu 2
\fB\fCcp\fR
.IP \(bu 2
\fB\fCebuild\fR
.IP \(bu 2
\fB\fCgcc\fR
.IP \(bu 2
\fB\fCgist\fR
.IP \(bu 2
\fB\fCgrep\fR
.IP \(bu 2
\fB\fCheroku\fR
.IP \(bu 2
\fB\fCln\fR
.IP \(bu 2
\fB\fCman\fR
.IP \(bu 2
\fB\fCmkdir\fR
.IP \(bu 2
\fB\fCmv\fR
.IP \(bu 2
\fB\fCmysql\fR
.IP \(bu 2
\fB\fCrm\fR
.RE
.SS Disabled File Globbing
.RS
.IP \(bu 2
\fB\fCfc\fR
.IP \(bu 2
\fB\fCfind\fR
.IP \(bu 2
\fB\fCftp\fR
.IP \(bu 2
\fB\fChistory\fR
.IP \(bu 2
\fB\fClocate\fR
.IP \(bu 2
\fB\fCrake\fR
.IP \(bu 2
\fB\fCrsync\fR
.IP \(bu 2
\fB\fCscp\fR
.IP \(bu 2
\fB\fCsftp\fR
.RE
.SS General
.RS
.IP \(bu 2
\fB\fC_\fR executes a command as another user (\fB\fCsudo\fR).
.IP \(bu 2
\fB\fCb\fR opens the default web browser.
.IP \(bu 2
\fB\fCcp\fR copies files and directories interactively.
.IP \(bu 2
\fB\fCe\fR opens the default editor.
.IP \(bu 2
\fB\fCln\fR links files and directories interactively.
.IP \(bu 2
\fB\fCmkdir\fR creates directories, including intermediary directories.
.IP \(bu 2
\fB\fCmv\fR moves files and directories interactively.
.IP \(bu 2
\fB\fCp\fR opens the default pager.
.IP \(bu 2
\fB\fCpo\fR removes a directory from the stack and changes to it (\fB\fCpopd\fR).
.IP \(bu 2
\fB\fCpu\fR changes the directory and pushes the old directory onto the stack
(\fB\fCpushd\fR).
.IP \(bu 2
\fB\fCrm\fR removes files and directories interactively.
.IP \(bu 2
\fB\fCtype\fR displays all the attribute values of a shell parameter.
.RE
.SS Files and Directories
.RS
.IP \(bu 2
\fB\fCls\fR lists with directories grouped first (GNU only).
.IP \(bu 2
\fB\fCl\fR lists in one column, hidden files.
.IP \(bu 2
\fB\fCll\fR lists human readable sizes.
.IP \(bu 2
\fB\fClr\fR lists human readable sizes, recursively.
.IP \(bu 2
\fB\fCla\fR lists human readable sizes, hidden files.
.IP \(bu 2
\fB\fClm\fR lists human readable sizes, hidden files through pager.
.IP \(bu 2
\fB\fClx\fR lists sorted by extension (GNU only).
.IP \(bu 2
\fB\fClk\fR lists sorted by size, largest last.
.IP \(bu 2
\fB\fClt\fR lists sorted by date, most recent last.
.IP \(bu 2
\fB\fClc\fR lists sorted by date, most recent last, shows change time.
.IP \(bu 2
\fB\fClu\fR lists sorted by date, most recent last, shows access time.
.IP \(bu 2
\fB\fCsl\fR lists directory contents (\fB\fCls\fR).
.RE
.SS Mac OS X Everywhere
.RS
.IP \(bu 2
\fB\fCo\fR opens files and directories (\fB\fCopen\fR or \fB\fCxdg-open\fR).
.IP \(bu 2
\fB\fCget\fR downloads files (\fB\fCcurl\fR or \fB\fCwget\fR).
.IP \(bu 2
\fB\fCpbcopy\fR copies to the pasteboard (\fB\fCpbcopy\fR, \fB\fCxclip\fR or \fB\fCxsel\fR).
.IP \(bu 2
\fB\fCpbpaste\fR pastes from the pasteboard (\fB\fCpbcopy\fR, \fB\fCxclip\fR or \fB\fCxsel\fR).
.IP \(bu 2
\fB\fCpbc\fR copies to the pasteboard (\fB\fCpbcopy\fR).
.IP \(bu 2
\fB\fCpbp\fR pastes from the pasteboard (\fB\fCpbpaste\fR).
.RE
.SS Resource Usage
.RS
.IP \(bu 2
\fB\fCdf\fR displays free disk space using human readable units.
.IP \(bu 2
\fB\fCdu\fR displays disk usage using human readable units.
.IP \(bu 2
\fB\fCtop\fR displays information about processes (aliased to \fB\fChtop\fR, if installed).
.IP \(bu 2
\fB\fCtopc\fR displays information about processes sorted by CPU usage (\fB\fChtop\fR not
installed).
.IP \(bu 2
\fB\fCtopm\fR displays information about processes sorted by RAM usage (\fB\fChtop\fR not
installed).
.RE
.SS Miscellaneous
.RS
.IP \(bu 2
\fB\fChttp-serve\fR serves a directory via HTTP.
.RE
.SH Functions
.SS General
.RS
.IP \(bu 2
\fB\fCslit\fR prints columns \fI1, 2, 3 ... n\fP.
.RE
.SS Files and Directories
.RS
.IP \(bu 2
\fB\fCcdls\fR changes to a directory and lists its contents.
.IP \(bu 2
\fB\fCdut\fR displays the grand total disk usage using human readable units.
.IP \(bu 2
\fB\fCfind-exec\fR finds files and executes a command on them.
.IP \(bu 2
\fB\fCmkdcd\fR makes a directory and changes to it.
.IP \(bu 2
\fB\fCpopdls\fR pops an entry off the directory stack and lists its contents.
.IP \(bu 2
\fB\fCpushdls\fR pushes an entry onto the directory stack and lists its contents.
.RE
.SS Developer
.RS
.IP \(bu 2
\fB\fCdiff\fR highlights diff output (requires \fB\fCcolordiff\fR or \fB\fCGit\fR).
.IP \(bu 2
\fB\fCmake\fR highlights make output (requires \fB\fCcolormake\fR).
.IP \(bu 2
\fB\fCwdiff\fR highlights wdiff output (requires \fB\fCwdiff\fRor \fB\fCGit\fR).
.RE
.SS Resource usage
.RS
.IP \(bu 2
\fB\fCpsu\fR displays user owned processes status.
.RE
.SS Search and Replace
.RS
.IP \(bu 2
\fB\fCprep\fR provides a grep\-like pattern search.
.IP \(bu 2
\fB\fCpsub\fR provides a sed\-like pattern substitution.
.RE
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Robby Russell
.UR https://github.com/robbyrussell
.UE
.IP \(bu 2
Suraj N. Kurapati
.UR https://github.com/sunaku
.UE
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,43 @@
.TH Wake\-on\-LAN
.PP
This module provides a wrapper around the wakeonlan
.UR http://gsd.di.uminho.pt/jpo/software/wakeonlan/
.UE
tool.
.SH Usage
.PP
To use this wrapper, create the \fI~/.wakeonlan\fP directory, and place in it one
file for each device you would like to be able to wake. Give the file a name
that describes the device, such as its hostname.
.PP
Each file should contain a line with the MAC address of the target device and
the network broadcast address. For instance, there might be a file
\fI~/.wakeonlan/leto\fP with the following contents:
.nf
00:11:22:33:44:55:66 192.168.0.255
.fi
.PP
To wake that device, use the following command:
.nf
wake leto
.fi
.PP
For more information on the configuration file format, read the
wakeonlan man page
.UR http://man.cx/wakeonlan
.UE .
.SH Authors
.PP
\fIThe authors of this module should be contacted via issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Paul Dann
.UR https://github.com/giddie
.UE
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,40 @@
.TH Yum
.PP
Defines yum
.UR http://yum.baseurl.org
.UE
aliases.
.SH Aliases
.RS
.IP \(bu 2
\fB\fCyumc\fR removes package(s) and leaves.
.IP \(bu 2
\fB\fCyumi\fR installs package(s).
.IP \(bu 2
\fB\fCyumh\fR displays history.
.IP \(bu 2
\fB\fCyuml\fR lists packages.
.IP \(bu 2
\fB\fCyumL\fR lists installed packages.
.IP \(bu 2
\fB\fCyumq\fR displays package information.
.IP \(bu 2
\fB\fCyumr\fR removes package(s).
.IP \(bu 2
\fB\fCyums\fR searches for a package.
.IP \(bu 2
\fB\fCyumu\fR updates packages.
.IP \(bu 2
\fB\fCyumU\fR upgrates packages.
.RE
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,23 @@
.TH Z
.PP
Integrates z
.UR https://github.com/rupa/z
.UE
into Prezto, which maintains a frequently used directory
list for fast directory changes.
.SH Aliases
.RS
.IP \(bu 2
\fB\fCj\fR changes the current working directory to the most \fIfrecent\fP match.
.RE
.SH Authors
.PP
\fIThe authors of this module should be contacted via the issue tracker
.UR https://github.com/sorin-ionescu/prezto/issues
.UE .\fP
.RS
.IP \(bu 2
Sorin Ionescu
.UR https://github.com/sorin-ionescu
.UE
.RE

View File

@ -0,0 +1,199 @@
.TH Prezto Instantly Awesome Zsh
.PP
Prezto is the configuration framework for Zsh
.UR http://www.zsh.org
.UE ; it enriches the command line
interface environment with sane defaults, aliases, functions, auto completion,
and prompt themes.
.SH Installation
.PP
Prezto will work with any recent release of Zsh, but the minimum recommended
version is 4.3.10.
.nr step0 0 1
.RS
.IP \n+[step0]
Launch Zsh:
.nf
zsh
.fi
.IP \n+[step0]
Clone the repository:
.nf
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
.fi
.IP \n+[step0]
Create a new Zsh configuration by copying the Zsh configuration files
provided:
.nf
setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
.fi
.IP \n+[step0]
Set Zsh as your default shell:
.nf
chsh -s /bin/zsh
.fi
.IP \n+[step0]
Open a new Zsh terminal window or tab.
.RE
.SS Mac OS X
.PP
If you have administrator privileges, you must fix an Apple\-introduced problem
in Mac OS X 10.5 Leopard by executing the following command, or BASH and Zsh
will have the wrong \fB\fCPATH\fR when executed non\-interactively.
.nf
sudo chmod ugo-x /usr/libexec/path_helper
.fi
.PP
\fB\fCpath_helper\fR is intended to make it easier for installers to add new paths to
the environment without having to edit shell configuration files by adding
a file with a path to the \fI/etc/paths.d\fP directory.
.PP
Unfortunately, \fB\fCpath_helper\fR always reads paths from \fI/etc/paths\fP set by Apple
then paths from \fI/etc/paths.d\fP set by third party installers, and lastly paths
from the \fB\fCPATH\fR environment variable set by the parent process, which
ultimately is set by the user with \fB\fCexport PATH=...\fR Thus, it reorders path
priorities, and user \fI/bin\fP directories meant to override system \fI/bin\fP
directories end up at the tail of the array.
.SS Troubleshooting
.PP
If you are not able to find certain commands after switching to \fIPrezto\fP,
modify the \fB\fCPATH\fR variable in \fI~/.zshenv\fP then open a new Zsh terminal
window or tab.
.SH Usage
.PP
Prezto has many features disabled by default. Read the source code and
accompanying README files to learn of what is available.
.SS Modules
.nr step1 0 1
.RS
.IP \n+[step1]
Browse \fI/modules\fP to see what is available.
.IP \n+[step1]
Load the modules you need in \fI~/.zpreztorc\fP then open a new Zsh terminal
window or tab.
.RE
.SS Themes
.nr step2 0 1
.RS
.IP \n+[step2]
For a list of themes, type \fB\fCprompt -l\fR.
.IP \n+[step2]
To preview a theme, type \fB\fCprompt -p name\fR.
.IP \n+[step2]
Load the theme you like in \fI~/.zpreztorc\fP then open a new Zsh terminal
window or tab.
.PP
[sorin theme]2
.UR http://i.imgur.com/ij8Lv.png
.UE
.RE
.SH Customization
.PP
The project is managed via Git
.UR http://git-scm.com
.UE . It is highly recommend that you commit
your changes and push them to GitHub
.UR https://github.com
.UE
to not lose them. If you do not know
how to use Git, follow this tutorial
.UR http://gitimmersion.com
.UE
and bookmark this reference
.UR http://gitref.org
.UE .
.SH Resources
.PP
The Zsh Reference Card
.UR http://www.bash2zsh.com/zsh_refcard/refcard.pdf
.UE
and the zsh\-lovers
.UR http://grml.org/zsh/zsh-lovers.html
.UE
man page are indispensable.
.SH Contribute
.PP
This project would not exist without all of its users and contributors
.UR https://github.com/sorin-ionescu/prezto/contributors
.UE .
.PP
If you have ideas on how to make the configuration easier to maintain or
improve its performance, do not hesitate to fork and send pull requests.
.SS Issue Reporting
.RS
.IP \(bu 2
Check that the issue has not already been reported.
.IP \(bu 2
Check that the issue has not already been fixed in the latest code.
.IP \(bu 2
Open an issue with a clear title and description in grammatically correct,
complete sentences.
.RE
.SS Pull Request
.RS
.IP \(bu 2
Read how to properly contribute to open source projects on GitHub
.UR http://gun.io/blog/how-to-github-fork-branch-and-pull-request
.UE .
.IP \(bu 2
Use a topic branch to easily amend a pull request later, if necessary.
.IP \(bu 2
Write good commit messages
.UR http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
.UE .
.IP \(bu 2
Squash commits on the topic branch before opening a pull request.
.IP \(bu 2
Use the same coding style and spacing.
.IP \(bu 2
Open a pull request
.UR https://help.github.com/articles/using-pull-requests
.UE
that relates to but one subject with a clear
title and description in grammatically correct, complete sentences.
.RE
.SS Modules
.RS
.IP \(bu 2
A \fIREADME.md\fP must be present.
.IP \(bu 2
Large functions must be placed in a \fIfunctions\fP directory.
.IP \(bu 2
Functions that take arguments must have completion.
.RE
.SS Themes
.RS
.IP \(bu 2
A screenshots section must be present in the file header.
.IP \(bu 2
The pull request description must have embedded
screenshots
.UR http://daringfireball.net/projects/markdown/syntax#img
.UE .
.RE
.SH License
.PP
(The MIT License)
.PP
Copyright (c) 2009\-2012 Robby Russell, Sorin Ionescu, and contributors.
.PP
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
.PP
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
.PP
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -0,0 +1,41 @@
Archive
=======
Provides functions to list and extract archives.
Functions
---------
- `lsarchive` lists the contents of one or more archives.
- `unarchive` extracts the contents of one or more archives.
Supported Formats
-----------------
The following archive formats are supported when the required utilities are
installed:
- *.tar.gz*, *.tgz* require `tar`.
- *.tar.bz2*, *.tbz* require `tar`.
- *.tar.xz*, *.txz* require `tar` with *xz* support.
- *.tar.zma*, *.tlz* require `tar` with *lzma* support.
- *.tar* requires `tar`.
- *.gz* requires `gunzip`.
- *.bz2* requires `bunzip2`.
- *.xz* requires `unxz`.
- *.lzma* requires `unlzma`.
- *.Z* requires `uncompress`.
- *.zip* requires `unzip`.
- *.rar* requires `unrar` or `rar`.
- *.7z* requires `7za`.
- *.deb* requires `ar`, `tar`.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][1].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,16 @@
Command-Not-Found
=================
Displays installation information for not found commands by loading the
[command-not-found][1] tool on Debian-based and Arch Linux-based distributions.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][2].*
- [Joseph Booker](https://github.com/sargas)
[1]: https://code.launchpad.net/command-not-found
[2]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,24 @@
Completion
==========
Loads and configures tab completion and provides additional completions from
the [zsh-completions][1] project.
This module must be loaded **after** the *utility* module.
Contributors
------------
Completions should be submitted to the [zsh-completions][1] project according
to its rules and regulations. This module will be synchronized against it.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][2].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://github.com/zsh-users/zsh-completions
[2]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,36 @@
Directory
=========
Sets directory options and defines directory aliases.
Options
-------
- `AUTO_CD` auto changes to a directory without typing `cd`.
- `AUTO_PUSHD` pushes the old directory onto the stack on `cd`.
- `PUSHD_IGNORE_DUPS` does not store duplicates in the stack.
- `PUSHD_SILENT` does not print the directory stack after `pushd` or `popd`.
- `PUSHD_TO_HOME` pushes to the home directory when no argument is given.
- `CDABLE_VARS` changes directory to a path stored in a variable.
- `AUTO_NAME_DIRS` auto adds variable-stored paths to `~` list.
- `MULTIOS` writes to multiple descriptors.
- `EXTENDED_GLOB` uses extended globbing syntax.
- `CLOBBER` does not overwrite existing files with `>` and `>>`. Use `>!` and
`>>!` to bypass.
Aliases
-------
- `d` prints the contents of the directory stack.
- `1 ... 9` changes the directory to the **n** previous one.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][1].*
- [James Cox](https://github.com/imajes)
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -1,8 +1,10 @@
# Dpkg
Dpkg
====
Defines [_dpkg_][1] aliases and functions.
Defines [dpkg][1] aliases and functions.
## Aliases
Aliases
-------
- `debc` cleans the cache.
- `debf` displays a file's package.
@ -18,20 +20,23 @@ Defines [_dpkg_][1] aliases and functions.
- `deb-kclean` removes all kernel images and headers, except for the ones in
use.
## Functions
Functions
---------
- `deb-clone` generates a script that can be used to duplicate a `dpkg`-based
- `deb-clone` generates a script that can be used to duplicate a dpkg-based
system.
- `deb-history` displays `dpkg` history.
- `deb-kbuild` makes a `dpkg` Linux kernel package.
- `deb-history` displays dpkg history.
- `deb-kbuild` makes a dpkg Linux kernel package.
## Authors
Authors
-------
_The authors of this module should be contacted via the [issue tracker][2]._
*The authors of this module should be contacted via the [issue tracker][2].*
- [Daniel Bolton](https://github.com/dbb)
- [Benjamin Boudreau](https://github.com/dreur)
- [Sorin Ionescu](https://github.com/sorin-ionescu)
- [Daniel Bolton](https://github.com/dbb)
- [Benjamin Boudreau](https://github.com/dreur)
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://wiki.debian.org/Teams/Dpkg
[1]: http://wiki.debian.org/Teams/Dpkg
[2]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,63 @@
Editor
======
Sets key bindings.
Settings
--------
### Key bindings
To enable key bindings, add the following to *zpreztorc*, and replace 'bindings'
with 'emacs' or 'vi'.
zstyle ':prezto:module:editor' key-bindings 'bindings'
### Dot Expansion
To enable the auto conversion of .... to ../.., add the following to
*zpreztorc*.
zstyle ':prezto:module:editor' dot-expansion 'yes'
Theming
-------
To indicate when the editor is in the primary keymap (emacs or viins), add
the following to your `theme_prompt_setup` function.
zstyle ':prezto:module:editor:info:keymap:primary' format '>>>'
To indicate when the editor is in the primary keymap (emacs or viins) insert
mode, add the following to your `theme_prompt_setup` function.
zstyle ':prezto:module:editor:info:keymap:primary:insert' format 'I'
To indicate when the editor is in the primary keymap (emacs or viins) overwrite
mode, add the following to your `theme_prompt_setup` function.
zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format 'O'
To indicate when the editor is in the alternate keymap (vicmd), add the
following to your `theme_prompt_setup` function.
zstyle ':prezto:module:editor:info:keymap:alternate' format '<<<'
To indicate when the editor is completing, add the following to your
`theme_prompt_setup` function.
zstyle ':prezto:module:editor:info:completing' format '...'
Then add `$editor_info[context]`, where context is *keymap*, *insert*, or
*overwrite*, to `$PROMPT` or `$RPROMPT` and call `editor-info` in the
`prompt_name_preexec` hook function.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][1].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://github.com/sorin-ionescu/oh-my-zsh/issues

View File

@ -0,0 +1,33 @@
Emacs
=====
Enables Emacs dependency management.
Dependency management
---------------------
[Carton][1] installs and manages Emacs packages for Emacs package development
and Emacs configuration.
This module prepends the Carton directory to the path variable to enable the
execution of `carton`.
Aliases
-------
### Carton
- `cai` installs dependencies.
- `cau` updates dependencies.
- `caI` initializes the current directory for dependency management.
- `cae` executes a command which correct dependencies.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][2].*
- [Sebastian Wiesner](https://github.com/lunaryorn)
[1]: https://github.com/rejeep/carton
[2]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,26 @@
Environment
===========
Sets general shell options and defines environment variables.
This module must be loaded first.
Environment Variables
---------------------
Contributors
------------
This module **MUST NOT** rely on any command not built in Zsh.
Non-interactive environment variables should be defined in *zshenv*.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][1].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,39 @@
Fasd
====
[Fasd][1] is a command-line productivity booster, inspired by tools like
[autojump][2], [z][3] and [v][4], it offers quick access to files and
directories by keeping track of files and directories that were previously
accessed.
For completion to work, this module must be loaded **after** the *completion*
module.
The Prezto Fasd configuration differs from the default. The default aliases have
been disabled.
Aliases
-------
- `j` changes the current working directory interactively.
Completion
----------
Type `,`, `f,`, `d,` in front of a comma-separated query or type `,,`, `,,f`,
`,,d` at the end of a comma-separated query then hit <kbd>tab</kbd>.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][5].*
- [Wei Dai](https://github.com/clvv)
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://github.com/clvv/fasd
[2]: https://github.com/joelthelion/autojump
[3]: https://github.com/rupa/z
[4]: https://github.com/rupa/v
[5]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,335 @@
Git
===
Enhances the [Git][1] distributed version control system by providing aliases,
functions and by exposing repository status information to prompts.
Git **1.7.2** is the [minimum required version][7].
Settings
--------
### Log
The format of the [git-log][8] output is configurable via the following style,
where context is *brief*, *oneline*, and *medium*, which will be passed to the
`--pretty=format:` switch.
zstyle ':prezto:module:git:log:context' format ''
### Status
Retrieving the status of a repository with submodules can take a long time.
Submodules may be ignored when they are *dirty*, *untracked*, *all*, or *none*.
zstyle ':prezto:module:git:status:ignore' submodules 'all'
This setting affects all aliases and functions that call `git-status`.
Aliases
-------
### Git
- `g` is short for `git`.
### Branch
- `gb` lists, creates, renames, and deletes branches.
- `gbc` creates a new branch.
- `gbl` lists branches and their commits.
- `gbL` lists local and remote branches and their commits.
- `gbs` lists branches and their commits with ancestry graphs.
- `gbS` lists local and remote branches and their commits with ancestry
graphs.
- `gbx` deletes a branch.
- `gbX` deletes a branch irrespective of its merged status.
- `gbm` renames a branch.
- `gbM` renames a branch even if the new branch name already exists.
### Commit
- `gc` records changes to the repository.
- `gca` stages all modified and deleted files.
- `gcm` records changes to the repository with the given message.
- `gco` checks out a branch or paths to work tree.
- `gcO` checks out hunks from the index or the tree interactively.
- `gcf` amends the tip of the current branch using the same log message as
*HEAD*.
- `gcF` amends the tip of the current branch.
- `gcp` applies changes introduced by existing commits.
- `gcP` applies changes introduced by existing commits without committing.
- `gcr` reverts existing commits by reverting patches and recording new
commits.
- `gcR` removes the *HEAD* commit.
- `gcs` displays various types of objects.
- `gcl` lists lost commits.
### Conflict
- `gCl` lists unmerged files.
- `gCa` adds unmerged file contents to the index.
- `gCe` executes merge-tool on all unmerged file.
- `gCo` checks out our changes for unmerged paths.
- `gCO` checks out our changes for all unmerged paths.
- `gCt` checks out their changes for unmerged paths.
- `gCT` checks out their changes for all unmerged paths.
### Data
- `gd` displays information about files in the index and the work tree.
- `gdc` lists cached files.
- `gdx` lists deleted files.
- `gdm` lists modified files.
- `gdu` lists untracked files.
- `gdk` lists killed files.
- `gdi` lists ignored files.
### Fetch
- `gf` downloads objects and references from another repository.
- `gfc` clones a repository into a new directory.
- `gfm` fetches from and merges with another repository or local branch.
- `gfr` fetches from and rebases on another repository or local branch.
### Grep
- `gg` displays lines matching a pattern.
- `ggi` displays lines matching a pattern ignoring case.
- `ggl` lists files matching a pattern.
- `ggL` lists files that are not matching a pattern.
- `ggv` displays lines not matching a pattern.
- `ggw` displays lines matching a pattern at word boundary.
### Index
- `gia` adds file contents to the index.
- `giA` adds file contents to the index interactively.
- `giu` adds file contents to the index (updates only known files).
- `gid` displays changes between the index and a named commit (diff).
- `giD` displays changes between the index and a named commit (word diff).
- `gir` resets the current HEAD to the specified state.
- `giR` resets the current index interactively.
- `gix` removes files/directories from the index (recursively).
- `giX` removes files/directories from the index (recursively and forced).
### Log
- `gl` displays the log.
- `gls` displays the stats log.
- `gld` displays the diff log.
- `glo` displays the one line log.
- `glg` displays the graph log.
- `glb` displays the brief commit log.
- `glc` displays the commit count for each contributor in descending order.
### Merge
- `gm` joins two or more development histories together.
- `gmC` joins two or more development histories together but does not commit.
- `gmF` joins two or more development histories together but does not commit
generating a merge commit even if the merge resolved as a fast-forward.
- `gma` aborts the conflict resolution, and reconstructs the pre-merge state.
- `gmt` runs the merge conflict resolution tools to resolve conflicts.
### Push
- `gp` updates remote refs along with associated objects.
- `gpf` forcefully updates remote refs along with associated objects.
- `gpa` updates remote branches along with associated objects.
- `gpA` updates remote branches and tags along with associated objects.
- `gpt` updates remote tags along with associated objects.
- `gpc` updates remote refs along with associated objects and adds *origin*
as an upstream reference for the current branch.
- `gpp` pulls and pushes from origin to origin.
### Rebase
- `gr` forward-ports local commits to the updated upstream head.
- `gra` aborts the rebase.
- `grc` continues the rebase after merge conflicts are resolved.
- `gri` makes a list of commits to be rebased and opens the editor.
- `grs` skips the current patch.
### Remote
- `gR` manages tracked repositories.
- `gRl` lists remote names and their URLs.
- `gRa` adds a new remote.
- `gRx` removes a remote.
- `gRm` renames a remote.
- `gRu` fetches remotes updates.
- `gRp` prunes all stale remote tracking branches.
- `gRs` displays information about a given remote.
- `gRb` opens a remote on [GitHub][3] in the default browser.
### Stash
- `gs` stashes the changes of the dirty working directory.
- `gsa` applies the changes recorded in a stash to the working directory.
- `gsx` drops a stashed state.
- `gsX` drops all the stashed states.
- `gsl` lists stashed states.
- `gsL` lists dropped stashed states.
- `gsd` displays changes between the stash and its original parent.
- `gsp` removes and applies a single stashed state from the stash list.
- `gsr` recovers a given stashed state.
- `gss` stashes the changes of the dirty working directory, including untracked.
- `gsS` stashes the changes of the dirty working directory interactively.
- `gsw` stashes the changes of the dirty working directory retaining the index.
### Submodule
- `gS` initializes, updates, or inspects submodules.
- `gSa` adds given a repository as a submodule.
- `gSf` evaluates a shell command in each of checked out submodules.
- `gSi` initializes submodules.
- `gSI` initializes and clones submodules recursively.
- `gSl` lists the commits of all submodules.
- `gSm` moves a submodule.
- `gSs` synchronizes submodules' remote URL to the value specified in
.gitmodules.
- `gSu` fetches and merges the latest changes for all submodule.
- `gSx` removes a submodule.
### Working directory
- `gws` displays working-tree status in the short format.
- `gwS` displays working-tree status.
- `gwd` displays changes between the working tree and the index (diff).
- `gwD` displays changes between the working tree and the index (word diff).
- `gwr` resets the current HEAD to the specified state, does not touch the
index nor the working tree.
- `gwR` resets the current HEAD, index and working tree to the specified state.
- `gwc` removes untracked files from the working tree (dry-run).
- `gwC` removes untracked files from the working tree.
- `gwx` removes files from the working tree and from the index recursively.
- `gwX` removes files from the working tree and from the index recursively and
forcefully.
### Shadows
The following aliases may shadow system commands:
- `gpt` shadows the [GUID partition table maintenance utility][4].
- `gs` shadows the [Ghostscript][5].
If you frequently use the above commands, you may wish to remove said aliases
from this module or to disable them at the bottom of the zshrc with `unalias`.
You can temporarily bypass an alias by prefixing it with a backward slash:
`\gpt`.
Functions
---------
- `git-branch-current` displays the current branch.
- `git-commit-lost` lists lost commits.
- `git-dir` displays the path to the Git directory.
- `git-hub-browse` opens the [GitHub][3] repository in the default browser.
- `git-hub-shorten-url` shortens GitHub URLs.
- `git-info` exposes repository information via the `$git_info` associative
array.
- `git-root` displays the path to the working tree root.
- `git-stash-clear-interactive` asks for confirmation before clearing the stash.
- `git-stash-dropped` lists dropped stashed states.
- `git-stash-recover` recovers given dropped stashed states.
- `git-submodule-move` moves a submodule.
- `git-submodule-remove` removes a submodule.
Theming
-------
To display information about the current repository in a prompt, define the
following styles in the `prompt_name_setup` function, where the syntax for
setting a style is as follows.
zstyle ':prezto:module:git:info:context:subcontext' format 'string'
### Main Contexts
| Name | Format Code | Description
| --------- | :---------: | ---------------------------------------------------
| action | %s | Special action name
| ahead | %A | Commits ahead of remote count
| behind | %B | Commits behind of remote count
| branch | %b | Branch name
| commit | %c | Commit hash
| position | %p | Commits from the nearest tag count
| remote | %R | Remote name
| stashed | %S | Stashed states count
### Concise Contexts
| Name | Format Code | Description
| --------- | :---------: | ---------------------------------------------------
| clean | %C | Clean state
| dirty | %D | Dirty files count
| indexed | %i | Indexed files count
| unindexed | %I | Unindexed files count
| untracked | %u | Untracked files count
The following contexts must be enabled with the following zstyle:
zstyle ':prezto:module:git:info' verbose 'yes'
### Verbose Contexts
| Name | Format Code | Description
| --------- | :---------: | ---------------------------------------------------
| added | %a | Added files count
| clean | %C | Clean state
| deleted | %d | Deleted files count
| dirty | %D | Dirty files count
| modified | %m | Modified files count
| renamed | %r | Renamed files count
| unmerged | %U | Unmerged files count
| untracked | %u | Untracked files count
### Special Action Contexts
| Name | Format | Description
| -------------------- | :---------: | -----------------------------------------
| apply | value | Applying patches
| bisect | value | Binary searching for changes
| cherry-pick | value | Cherry picking
| cherry-pick-sequence | value | Cherry picking sequence
| merge | value | Merging
| rebase | value | Rebasing
| rebase-interactive | value | Rebasing interactively
| rebase-merge | value | Rebasing merge
First, format the repository state attributes. For example, to format the branch
and remote names, define the following styles.
zstyle ':prezto:module:git:info:branch' format 'branch:%b'
zstyle ':prezto:module:git:info:remote' format 'remote:%R'
Second, format how the above attributes are displayed in prompts.
zstyle ':prezto:module:git:info:keys' format \
'prompt' ' git(%b)' \
'rprompt' '[%R]'
Last, add `$git_info[prompt]` to `$PROMPT` and `$git_info[rprompt]` to
`$RPROMPT` respectively and call `git-info` in the `prompt_name_preexec` hook
function.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][6].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
- [Colin Hebert](https://github.com/ColinHebert)
[1]: http://www.git-scm.com
[2]: https://github.com/defunkt/hub
[3]: https://www.github.com
[4]: http://www.manpagez.com/man/8/gpt/
[5]: http://linux.die.net/man/1/gs
[6]: https://github.com/sorin-ionescu/prezto/issues
[7]: https://github.com/sorin-ionescu/prezto/issues/219
[8]: http://www.kernel.org/pub/software/scm/git/docs/git-log.html

View File

@ -0,0 +1,33 @@
GNU Utility
===========
Provides for the interactive use of GNU utilities on non-GNU systems.
Installing GNU utilities on non-GNU systems in `$PATH` without a prefix, i.e.
`ls` instead of `gls`, is not recommended since scripts that target other
utilities will be broken.
This module wraps GNU utilities in functions without a prefix for interactive
use.
This module must be loaded **before** the *utility* module.
Settings
--------
### Prefix
To use a different prefix, add the following to *zpreztorc*, and replace 'g' with
the desired prefix:
zstyle ':prezto:module:gnu-utility' prefix 'g'
Authors
-------
*The authors of this module should be contacted via the [issue tracker][1].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -1,28 +1,27 @@
# GPG
GPG
===
Provides for an easier use of [GPG][1] by setting up [gpg-agent][2].
## Settings
### SSH
To enable OpenSSH Agent protocol emulation, and make `gpg-agent` a drop-in
replacement for `ssh-agent`, add the following line to
_`$GNUPGHOME/gpg-agent.conf`_ or _`$$HOME/.gnupg/gpg-agent.conf`_:
*~/.gnupg/gpg-agent.conf*:
```conf
enable-ssh-support
```
enable-ssh-support
When OpenSSH Agent protocol emulation is enabled, this module will load the SSH
module for additional processing.
## Authors
Authors
-------
_The authors of this module should be contacted via the [issue tracker][3]._
*The authors of this module should be contacted via the [issue tracker][3].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://www.gnupg.org
[2]: https://linux.die.net/man/1/gpg-agent
[1]: http://www.gnupg.org
[2]: http://linux.die.net/man/1/gpg-agent
[3]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -1,8 +1,10 @@
# Haskell
Haskell
=======
Enables local Haskell package installation.
## Per-user Package Installation
Per-user Package Installation
-----------------------------
[Cabal][1], the Haskell package manager, can install packages into per user
directories.
@ -15,11 +17,13 @@ documentation.
Install packages into per user directories with `cabal install --user`.
## Authors
Authors
-------
_The authors of this module should be contacted via the [issue tracker][2]._
*The authors of this module should be contacted via the [issue tracker][2].*
- [Sebastian Wiesner](https://github.com/lunaryorn)
- [Sebastian Wiesner](https://github.com/lunaryorn)
[1]: https://www.haskell.org/cabal/
[1]: http://www.haskell.org/cabal/
[2]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,25 @@
Helper
======
Provides helper functions for developing modules.
Functions
---------
- `add-zsh-trap` adds a function name to a list to be called when a trap is
triggered.
- `is-autoloadable` checks if a file can be autoloaded by trying to load it
in a subshell.
- `is-callable` checks if a name is a command, function, or alias.
- `is-true` checks a boolean variable for "true".
- `coalesce` prints the first non-empty string in the arguments array.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][1].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,62 @@
History Substring Search
========================
Integrates [zsh-history-substring-search][1] into Prezto, which implements
the [Fish shell][2]'s history search feature, where the user can type in any
part of a previously entered command and press up and down to cycle through
matching commands.
If this module is used in conjuncture with the *syntax-highlighting* module, it
must be loaded **after** it.
Contributors
------------
New features and bug fixes should be submitted to the
[zsh-history-substring-search][1] project according to its rules and
regulations. This module will be synchronized against it.
Settings
--------
### Case Sensitivity
To enable case-sensitivity for this module only, add the following line to
*zpreztorc*:
zstyle ':prezto:module:history-substring-search' case-sensitive 'yes'
### Highlighting
If colors are enabled, *history-substring-search* will automatically highlight
positive results.
To enable highlighting for this module only, add the following line to
*zpreztorc*:
zstyle ':prezto:module:history-substring-search' color 'yes'
To set the query found color, add the following line to *zpreztorc*:
zstyle ':prezto:module:history-substring-search:color' found ''
To set the query not found color, add the following line to *zpreztorc*:
zstyle ':prezto:module:history-substring-search:color' not-found ''
To set the search globbing flags, add the following line to *zpreztorc*:
zstyle ':prezto:module:history-substring-search' globbing-flags ''
Authors
-------
*The authors of this module should be contacted via the [issue tracker][3].*
- [Suraj N. Kurapati](https://github.com/sunaku)
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://github.com/zsh-users/zsh-history-substring-search
[2]: http://fishshell.com
[3]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,44 @@
History
=======
Sets [history][1] options and defines history aliases.
Variables
---------
- `HISTFILE` stores the path to the history file.
- `HISTSIZE` stores the maximum number of events to save in the internal history.
- `SAVEHIST` stores the maximum number of events to save in the history file.
Options
-------
- `BANG_HIST` treats the **!** character specially during expansion.
- `EXTENDED_HISTORY` writes the history file in the *:start:elapsed;command* format.
- `INC_APPEND_HISTORY` writes to the history file immediately, not when the shell exits.
- `SHARE_HISTORY` shares history between all sessions.
- `HIST_EXPIRE_DUPS_FIRST` expires a duplicate event first when trimming history.
- `HIST_IGNORE_DUPS` does not record an event that was just recorded again.
- `HIST_IGNORE_ALL_DUPS` deletes an old recorded event if a new event is a duplicate.
- `HIST_FIND_NO_DUPS` does not display a previously found event.
- `HIST_IGNORE_SPACE` does not record an event starting with a space.
- `HIST_SAVE_NO_DUPS` does not write a duplicate event to the history file.
- `HIST_VERIFY` does not execute immediately upon history expansion.
- `HIST_BEEP` beeps when accessing non-existent history.
Aliases
-------
- `history-stat` lists the ten most used commands
Authors
-------
*The authors of this module should be contacted via the [issue tracker][2].*
- [Robby Russell](https://github.com/robbyrussell)
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: http://zsh.sourceforge.net/Guide/zshguide02.html#l16
[2]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,26 @@
Homebrew
========
Defines Homebrew aliases.
Aliases
-------
- `brewc` cleans outdated brews and their cached archives.
- `brewC` cleans outdated brews, including keg-only, and their cached archives.
- `brewi` installs a formula.
- `brewl` lists installed formulae.
- `brews` searches for a formula.
- `brewU` upgrades Homebrew and outdated brews.
- `brewu` upgrades Homebrew.
- `brewx` uninstalls a formula.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][1].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,26 @@
Macports
========
Defines MacPorts aliases and adds MacPorts directories to path variables.
Aliases
-------
- `portc` cleans the files used to build ports.
- `porti` installs a port.
- `ports` searches for a port.
- `portu` upgrades a port.
- `portU` upgrades MacPorts, the ports collection, and outdated ports.
- `portx` uninstalls a port.
- `portX` uninstalls inactive ports.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][1].*
- [Matt Cable](https://github.com/curiousstranger)
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -1,166 +1,195 @@
# Modules
Modules
=======
Load modules in _`${ZDOTDIR:-$HOME}/.zpreztorc`_. The order matters.
Load modules in *zpreztorc*. The order matters.
```sh
zstyle ':prezto:load' pmodule 'environment' 'terminal'
```
zstyle ':prezto:load' pmodule 'environment' 'terminal'
## Archive
Archive
-------
Provides functions to list and extract archives.
## Autosuggestions
Command-Not-Found
-----------------
Integrates zsh-autosuggestions into Prezto.
Loads the command-not-found tool on Debian-based distributions.
## Command-Not-Found
Completion
----------
Loads the command-not-found tool on macOS or Debian-based distributions.
Loads and configures tab completion and provides additional completions from
the zsh-completions project.
## Completion
Loads and configures <kbd>TAB</kbd> completion and provides additional
completions from the zsh-completions project.
## Directory
Directory
---------
Sets directory options and defines directory aliases.
## DNF
Dpkg
----
Defines _dnf_ aliases.
Defines dpkg aliases and functions.
## Dpkg
Defines _dpkg_ aliases and functions.
## Editor
Editor
------
Sets key bindings.
## Emacs
Emacs
-----
Enables Emacs dependency management.
## Environment
Environment
-----------
Sets general shell options and defines environment variables.
## Fasd
Fasd
----
Maintains a frequently used file and directory list for fast access.
## Git
Git
---
Enhances the Git distributed version control system by providing aliases,
functions and by exposing repository status information to prompts.
## GNU Utility
GNU Utility
-----------
Provides for the interactive use of GNU utilities on non-GNU systems.
## GPG
GPG
---
Provides for an easier use of GPG by setting up gpg-agent.
## Haskell
Haskell
-------
Enables local Haskell package installation.
## Helper
Helper
------
Provides helper functions for developing modules.
## History
History
-------
Sets history options and defines history aliases.
## History Substring Search
History Substring Search
------------------------
Integrates zsh-history-substring-search into Prezto.
## Homebrew
Homebrew
--------
Defines Homebrew aliases.
## MacPorts
Macports
--------
Defines MacPorts aliases and adds MacPorts directories to path variables.
## Node.js
Node.js
-------
Provides utility functions for Node.js and loads npm completion.
## OCaml
Ocaml
-----
Initializes OCaml package management.
Initializes Ocaml package management.
## OSX
OSX
---
Defines macOS aliases and functions.
Defines Mac OS X aliases and functions.
## Pacman
Pacman
------
Provides aliases and functions for the Pacman package manager and frontends.
## Perl
Perl
----
Enables local Perl module installation on macOS and defines alises.
Enables local Perl module installation on Mac OS X and defines alises.
## Prompt
Prompt
------
Loads prompt themes.
## Python
Python
------
Enables local Python and local Python package installation.
## Ruby on Rails
Ruby on Rails
-------------
Defines Ruby on Rails aliases.
## Rsync
Rsync
-----
Defines rsync aliases.
## Ruby
Ruby
----
Configures Ruby local gem installation, loads version managers, and defines
aliases.
## GNU Screen
GNU Screen
----------
Defines GNU Screen aliases and provides for auto launching it at start-up.
## Spectrum
Spectrum
--------
Provides for easier use of 256 colors and effects.
## SSH
SSH
---
Provides for an easier use of SSH by setting up ssh-agent.
## Syntax Highlighting
Syntax Highlighting
-------------------
Integrates zsh-syntax-highlighting into Prezto.
## Terminal
Terminal
--------
Sets terminal window and tab titles.
## Tmux
Tmux
----
Defines tmux aliases and provides for auto launching it at start-up.
## Utility
Utility
-------
Defines general aliases and functions.
## Wake-on-LAN
Wake-on-LAN
-----------
This module provides a wrapper around the wakeonlan tool.
## Yum
Yum
---
Defines yum aliases.

View File

@ -0,0 +1,46 @@
Node.js
=======
Provides utility functions for [Node.js][1], loads the Node Version Manager, and
enables [npm][2] completion.
nvm
---
[nvm][5] allows for managing multiple, isolated Node.js installations in the
home directory.
Functions
---------
- `node-doc` opens the Node.js online [API documentation][3] in the default
browser.
- `node-info` exposes information about the Node.js environment via the
`$node_info` associative array.
Theming
-------
To display the version number of the current Node.js version, define the
following style inside the `prompt_name_setup` function.
# %v - Node.js version.
zstyle ':prezto:module:node:info:version' format 'version:%v'
Then add `$node_info[version]` to either `$PROMPT` or `$RPROMPT` and call
`node-info` in `prompt_name_preexec` hook function.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][4].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
- [Zeh Rizzatti](https://github.com/zehrizzatti)
[1]: http://nodejs.org
[2]: http://npmjs.org
[3]: http://nodejs.org/api
[4]: https://github.com/sorin-ionescu/prezto/issues
[5]: https://github.com/creationix/nvm

View File

@ -0,0 +1,35 @@
OSX
===
Defines [Mac OS X][1] aliases and functions.
Aliases
-------
- `cdf` changes the current working director to the current _Finder_
directory.
- `pushdf` pushes the current working directory onto the directory queue and
- `ql` quick looks at files.
- `rm-osx-cruft` deletes .DS\_Store, \_\_MACOSX cruft.
Functions
---------
- `manb` opens _man_ pages in [_Bwana.app_][2].
- `manp` opens _man_ pages in _Preview.app_.
- `pfd` prints the current _Finder_ directory.
- `pfs` prints the current _Finder_ selection.
- `tab` creates a new tab (works in both _Terminal_ and [_iTerm_][3]).
Authors
-------
*The authors of this module should be contacted via the [issue tracker][4].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: http://www.apple.com/macosx/
[2]: http://bruji.com/bwana/
[3]: http://www.iterm2.com/
[4]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,66 @@
Pacman
======
Provides aliases and functions for the [Pacman][1] package manager and
frontends.
Settings
--------
To enable a Pacman frontend, for example, [Yaourt][2], add the following line to
*zpreztorc*:
zstyle ':prezto:module:pacman' frontend 'yaourt'
If you have enabled color globally in *zpreztorc*, you may disable it for certain
commands.
To disable `yaourt` highlighting, add the following line to *zpreztorc*:
zstyle ':prezto:module:pacman:yaourt' color 'no'
Aliases
-------
### Pacman
- `pac` is short for `pacman`.
- `paci` installs packages from repositories.
- `pacI` installs packages from files.
- `pacx` removes packages and unneeded dependencies.
- `pacX` removes packages, their configuration, and unneeded dependencies.
- `pacq` displays information about a package from the repositories.
- `pacQ` displays information about a package from the local database.
- `pacs` searches for packages in the repositories.
- `pacS` searches for packages in the local database.
- `pacu` synchronizes the local package and Arch Build System (requires `abs`)
databases against the repositories.
- `pacU` synchronizes the local package database against the repositories then
upgrades outdated packages.
- `pacman-list-orphans` lists orphan packages.
- `pacman-remove-orphans` removes orphan packages.
### Frontends
#### Yaourt
- `pacc` manages *.pac\** files.
Functions
---------
- `pacman-list-explicit` lists explicitly installed pacman packages.
- `pacman-list-disowned` lists pacman disowned files.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][3].*
- [Benjamin Boudreau](https://github.com/dreur)
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: http://www.archlinux.org/pacman/
[2]: http://archlinux.fr/yaourt-en
[3]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,64 @@
Perl
====
Enables local [Perl][1] module installation on Mac OS X and defines alises.
Local Module Installation
-------------------------
Perl versions older than 5.14 do not support the local installation of Perl
modules natively. This module allows for local installation of Perl modules on
Mac OS X in *~/Library/Perl/5.12* by altering the environment.
### Usage
For Perl versions older than 5.14, install *local::lib*.
curl -L -C - -O http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.008004.tar.gz
tar xvf local-lib-1.008004.tar.gz
cd local-lib-1.008004
perl Makefile.PL --bootstrap=$HOME/Library/Perl/5.12
make && make test && make install
Install *cpanminus*:
curl -L http://cpanmin.us | perl - --self-upgrade
Perlbrew
--------
An alternative to the above is to use [Perlbrew][2], which allows for the
management of multiple, isolated Perl installations in the home directory.
Aliases
-------
### General
- `pl` is short for `perl`.
- `pld` looks up Perl documentation (`perldoc`).
- `ple` executes a one line program in a loop (`perl -wlne`).
### Perlbrew
- `plb` manages Perl environments.
- `plba` lists available Perl versions.
- `plbi` installs a Perl version.
- `plbl` lists installed Perl versions.
- `plbo` temporarily turns off Perlbrew.
- `plbO` turns off Perlbrew.
- `plbs` switches to a Perl version.
- `plbu` uninstalls a Perl version.
- `plbx` temporarily sets the Perl version to use.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][3].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: http://www.perl.org
[2]: http://perlbrew.pl
[3]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,112 @@
Prompt
======
Loads prompt [themes][1].
Settings
--------
To select a prompt theme, add the following to *zpreztorc*, and replace **name**
with the name of the theme you wish to load. Setting it to **random** will load
a random theme.
zstyle ':prezto:module:prompt' theme 'name'
Theming
-------
A prompt theme is an autoloadable function file with a special name,
`prompt_name_setup`, placed anywhere in `$fpath`, but for the purpose of this
project, themes **should** be placed in the *modules/prompt/functions*
directory.
### Theme Functions
There are three theme functions, a setup function, a help function, and
a preview function. The setup function **must** always be defined. The help
function and the preview functions are optional.
#### prompt_name_setup
This function is called by the `prompt` function to install the theme. This
function may define other functions as necessary to maintain the prompt,
including a function that displays help or a function used to preview it.
**Do not call this function directly.**
The most basic example of this function can be seen below.
function prompt_name_setup {
PROMPT='%m%# '
RPROMPT=''
}
#### prompt_name_help
If the `prompt_name_setup` function is customizable via parameters, a help
function **should** be defined. The user will access it via `prompt -h name`.
The most basic example of this function can be seen bellow.
function prompt_name_help {
cat <<EOH
This prompt is color-scheme-able. You can invoke it thus:
prompt theme [<color1>] [<color2>]
where the color is for the left-hand prompt.
EOH
}
#### prompt_name_preview
If the `prompt_name_setup` function is customizable via parameters, a preview
function **should** be defined. The user will access it via `prompt -p name`.
The most basic example of this function can be seen bellow.
function prompt_name_preview {
if (( $# > 0 )); then
prompt_preview_theme theme "$@"
else
prompt_preview_theme theme red green blue
print
prompt_preview_theme theme yellow magenta black
fi
}
### Hook Functions
There are many Zsh [hook][2] functions, but mostly the *precmd* hook will be
used.
#### prompt_name_precmd
This hook is called before the prompt is displayed and is useful for getting
information to display in a prompt.
When calling functions to get information to display in a prompt, do not assume
that all the dependencies have been loaded. Always check for the availability of
a function before you calling it.
**Do not register hook functions. They will be registered by the `prompt` function.**
The most basic example of this function can be seen bellow.
function prompt_name_precmd {
if (( $+functions[git-info] )); then
git-info
fi
}
Authors
-------
*The authors of this module should be contacted via the [issue tracker][3].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Prompt-Themes
[2]: http://zsh.sourceforge.net/Doc/Release/Functions.html#Hook-Functions
[3]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,100 @@
Python
======
Enables local Python and local Python package installation.
Local Python Installation
-------------------------
[pyenv][4] builds and installs multiple Python versions locally in the home
directory.
This module prepends the pyenv directory to the path variable to enable the
execution of `pyenv`.
### Usage
Install Python versions with `pyenv install` into *~/.pyenv/versions*.
Local Package Installation
--------------------------
Since version 2.6, Python supports per user package installation, as defined in
[PEP 370][1].
This module prepends per user site directories to the relevant path variables
to enable the execution of user installed scripts and the reading of
documentation.
### Usage
Install packages into the per user site directory with `easy_install --user` or
`pip install --user`.
virtualenvwrapper
-----------------
[virtualenvwrapper][2] is a frontend to the popular [virtualenv][3] utility.
virtualenv creates isolated Python environments and virtualenvwrapper provides
convenient shell functions to create, switch, and manage them.
### Usage
Install virtualenvwrapper.
Virtual environments are stored in *~/.virtualenvs*.
There are configuration variables that have to be set to enable certain features.
If you wish to use these features, export the variables in *~/.zshenv*
The variable `$PROJECT_HOME` tells virtualenvwrapper where to place project
working directories. It must be set and the directory created before `mkproject`
is used. Replace *Developer* with your projects directory.
export PROJECT_HOME="$HOME/Developer"
The variable `$VIRTUALENVWRAPPER_VIRTUALENV_ARGS` tells virtualenvwrapper what
arguments to pass to `virtualenv`. For example, set the value to
*--no-site-packages* to ensure that all new environments are isolated from the
system site-packages directory.
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
Aliases
-------
- `py` is short for `python`.
Functions
---------
- `python-info` exposes information about the Python environment via the
`$python_info` associative array.
Theming
-------
To display the name of the current virtual enviroment in a prompt, define the
following style in the `prompt_name_setup` function.
# %v - virtualenv name.
zstyle ':prezto:module:python:info:virtualenv' format 'virtualenv:%v'
Then add `$python_info[virtualenv]` to `$PROMPT` or `$RPROMPT` and call
`python-info` in the `prompt_name_preexec` hook function.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][5].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
- [Sebastian Wiesner](https://github.com/lunaryorn)
[1]: http://www.python.org/dev/peps/pep-0370/
[2]: http://www.doughellmann.com/projects/virtualenvwrapper/
[3]: http://pypi.python.org/pypi/virtualenv
[4]: https://github.com/yyuu/pyenv
[5]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,35 @@
Ruby on Rails
=============
Defines [Ruby on Rails][1] aliases.
Aliases
-------
- `ror` is short for `rails`.
- `rorc` starts the Rails console.
- `rordc` starts the Rails console connected to the database.
- `rordm` migrates the database.
- `rordM` migrates the database and recreates the test database.
- `rordr` rolls the database schema back to the previous version.
- `rorg` generates new code.
- `rorl` displays the log.
- `rorlc` truncates logs to zero bytes.
- `rorp` installs a plugin.
- `rorr` runs code in the application environment.
- `rors` starts the Rails server.
- `rorsd` starts the Rails server with the debugger.
- `rorx` destroys newly generated code.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][2].*
- [Robby Russell](https://github.com/robbyrussell)
- [Jake Bell](https://github.com/theunraveler)
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: http://rubyonrails.org
[2]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,28 @@
Rsync
=====
Defines [rsync][1] aliases.
Mac OS X users are encouraged to use [Bombich's rsync][2], which has HFS+
enhancements.
Aliases
-------
- `rsync-copy` copies files and directories from *source* to *destination*.
- `rsync-move` moves files and directories from *source* to *destination*.
- `rsync-update` updates files and directories on *destination*.
- `rsync-synchronize` synchronizes files and directories between *source* and
*destination*.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][3].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: http://rsync.samba.org
[2]: http://help.bombich.com/kb/overview/credits#opensource
[3]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,90 @@
Ruby
====
Configures [Ruby][1] local gem installation, loads version managers, and defines
aliases.
Local Gem Installation
----------------------
When a Ruby version manager is not detected, local gems are installed in
*~/Library/Ruby/Gems/1.8* on Mac OS X.
RVM
---
An alternative to the above is to use [The Ruby Version Manager (RVM)][2], which
allows for managing multiple, isolated Ruby installations and gem sets in the
home directory.
Since RVM is loaded into the shell and is known to override shell commands, it
may conflict with shell scripts.
rbenv
-----
An alternative RVM is to use [rbenv][3], which allows for switching between multiple,
isolated Ruby installations in the home directory.
While it is not as feature rich as RVM, it is not loaded into the shell and is
not known to cause conflicts with shell scripts.
Bundler
-------
Manage gems that are not meant to be used as commands, such as application
dependencies, with [Bundler][4].
Aliases
-------
### General
- `rb` is short for `ruby`.
### Bundler
- `rbb` manages ruby dependencies (`bundle`).
- `rbbe` executes a script in the context of the current bundle.
- `rbbi` installs the gems specified in the *Gemfile* in *vendor/bundle*.
- `rbbI` installs the following:
- gems specified in the *Gemfile* in *vendor/bundle*.
- packages the gems into *vendor/cache*.
- appends bundler directories to *.gitignore*.
- `rbbl` lists all gems in the current bundle.
- `rbbo` opens an installed gem in the editor.
- `rbbp` packages gem files into *vendor/cache*.
- `rbbu` updates gems to their latest version.
Functions
---------
- `ruby-app-root` displays the path to the Ruby application root directory.
- `ruby-info` exposes information about the Ruby environment via the
`$ruby_info` associative array.
Theming
-------
To display the name of the current Ruby version in a prompt, define the
following style in the `prompt_name_setup` function.
# %v - ruby version.
zstyle ':prezto:module:ruby:info:version' format 'version:%v'
Then add `$ruby_info[version]` to `$PROMPT` or `$RPROMPT` and call
`ruby-info` in the `prompt_name_preexec` hook function.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][5].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: http://www.ruby-lang.org
[2]: https://rvm.io
[3]: https://github.com/sstephenson/rbenv
[4]: http://gembundler.com
[5]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,80 @@
Configuration Files
===================
Zsh has several system-wide and user-local configuration files.
Prezto has one user-local configuration file.
System-wide configuration files are installation-dependent but are installed
in */etc* by default.
User-local configuration files have the same name as their global counterparts
but are prefixed with a dot (hidden). Zsh looks for these files in the path
stored in the `$ZDOTDIR` environmental variable. However, if said variable is
not defined, Zsh will use the user's home directory.
File Descriptions
-----------------
The configuration files are read in the following order:
01. /etc/zshenv
02. ~/.zshenv
03. /etc/zprofile
04. ~/.zprofile
05. /etc/zshrc
06. ~/.zshrc
07. ~/.zpreztorc
08. /etc/zlogin
09. ~/.zlogin
10. ~/.zlogout
11. /etc/zlogout
### zshenv
This file is sourced by all instances of Zsh, and thus, it should be kept as
small as possible and should only define environment variables.
### zprofile
This file is similar to zlogin, but it is sourced before zshrc. It was added
for [KornShell][1] fans. See the description of zlogin below for what it may
contain.
zprofile and zlogin are not meant to be used concurrently but can be done so.
### zshrc
This file is sourced by interactive shells. It should define aliases,
functions, shell options, and key bindings.
### zpreztorc
This file configures Prezto.
### zlogin
This file is sourced by login shells after zshrc, and thus, it should contain
commands that need to execute at login. It is usually used for messages such as
[fortune][2], [msgs][3], or for the creation of files.
This is not the file to define aliases, functions, shell options, and key
bindings. It should not change the shell environment.
### zlogout
This file is sourced by login shells during logout. It should be used for
displaying messages and the deletion of files.
Authors
-------
*The authors of these files should be contacted via the [issue tracker][4].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: http://www.kornshell.com
[2]: http://en.wikipedia.org/wiki/Fortune_(Unix)
[3]: http://www.manpagez.com/man/1/msgs
[4]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,41 @@
GNU Screen
==========
Defines [GNU Screen][1] aliases and provides for auto launching it at start-up.
Settings
--------
### Auto-Start
Starts a GNU Screen session automatically when Zsh is launched.
To enable this feature when launching Zsh in a local terminal, add the
following line to *zpreztorc*:
zstyle ':prezto:module:screen:auto-start' local 'yes'
To enable this feature when launching Zsh in a SSH connection, add the
following line to *zpreztorc*:
zstyle ':prezto:module:screen:auto-start' remote 'yes'
Aliases
-------
- `scr` is short for `screen`.
- `scrl` lists sessions/socket directory.
- `scrn` starts a new session.
- `scrr` attaches to a session if one exists or start a new one.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][2].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
- [Georges Discry](https://github.com/gdiscry)
[1]: http://www.gnu.org/software/screen/
[2]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -1,14 +1,16 @@
# Spectrum
Spectrum
========
Provides for easier use of 256 colors and effects.
To learn more about text formatting, read [A Guide to 256 Color Codes][1].
To learn more about text formatting, read [That 256 Color Thing][1].
## Variables
Variables
---------
- `BG` provides background colors.
- `FG` provides foreground colors.
- `FX` provides effects.
- `BG` provides background colors.
- `FG` provides foreground colors.
- `FX` provides effects.
### Background and Foreground
@ -70,19 +72,21 @@ Though there are many effects, most terminals support at least bold formatting.
| font-fifth | no-font-fifth |
| font-sixth | no-font-sixth |
| font-seventh | no-font-seventh |
| font-eighth | no-font-eighth |
| font-eigth | no-font-eigth |
| font-ninth | no-font-ninth |
### Plain Text
Use `$BG[none]`, `$FG[none]`, or `$FX[none]` to turn off formatting.
## Authors
Authors
-------
_The authors of this module should be contacted via the [issue tracker][2]._
*The authors of this module should be contacted via the [issue tracker][2].*
- [P.C. Shyamshankar](https://github.com/sykora)
- [Sorin Ionescu](https://github.com/sorin-ionescu)
- [P.C. Shyamshankar](https://github.com/sykora)
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: http://lucentbeing.com/writing/archives/a-guide-to-256-color-codes/
[1]: http://lucentbeing.com/blog/that-256-color-thing/
[2]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,28 @@
SSH
===
Provides for an easier use of [SSH][1] by setting up [ssh-agent][2].
This module is disabled on Mac OS X due to custom Apple SSH support rendering it
unnecessary.
Settings
--------
### Identities
To load multiple identities, add the following line to *zpreztorc*:
zstyle ':prezto:module:ssh:load' identities 'id_rsa' 'id_dsa' 'id_github'
Authors
-------
*The authors of this module should be contacted via the [issue tracker][3].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: http://www.openssh.com
[2]: http://www.openbsd.org/cgi-bin/man.cgi?query=ssh-agent&sektion=1
[3]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,63 @@
Syntax Highlighting
===================
Integrates [zsh-syntax-highlighting][1] into Prezto.
This module should be loaded *second to last*, where last is the *prompt*
module, unless used in conjuncture with the *history-substring-search* module
where it must be loaded **before** it.
Contributors
------------
New features and bug fixes should be submitted to the
[zsh-syntax-highlighting][1] project according to its rules and regulations.
This module will be synchronized against it.
Settings
--------
### Highlighting
To enable highlighting for this module only, add the following line to
*zpreztorc*:
zstyle ':prezto:module:syntax-highlighting' color 'yes'
### Highlighters
Syntax highlighting is accomplished by pluggable [highlighters][2]. This module
enables the *main*, *brackets*, and *cursor* highlighters by default.
To enable all highlighters, add the following to *zpreztorc*:
zstyle ':prezto:module:syntax-highlighting' highlighters \
'main' \
'brackets' \
'pattern' \
'cursor' \
'root'
### Highlighting Styles
Each syntax highlighter defines styles used to highlight tokens.
To highlight, for example, builtins, commands, and functions in blue instead of
green, add the following to *zpreztorc*:
zstyle ':prezto:module:syntax-highlighting' styles \
'builtin' 'bg=blue' \
'command' 'bg=blue' \
'function' 'bg=blue'
Authors
-------
*The authors of this module should be contacted via the [issue tracker][3].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://github.com/zsh-users/zsh-syntax-highlighting
[2]: https://github.com/zsh-users/zsh-syntax-highlighting/tree/master/highlighters
[3]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,45 @@
Terminal
========
Sets terminal window and tab titles.
Settings
--------
### Auto-Title
To auto set the terminal window and tab titles with the current command or
directory, add the following to *zpreztorc*:
zstyle ':prezto:module:terminal' auto-title 'yes'
Auto titling is disabled inside terminal multiplexers, except inside dvtm, since
it interferes with window names defined in configuration files and profile
managers.
To format terminal window and tab titles, add the following to *zpreztorc*:
zstyle ':prezto:module:terminal:window-title' format '%n@%m: %s'
zstyle ':prezto:module:terminal:tab-title' format '%m: %s'
`%s` will be replaced with the current working directory path or the currently
executing program name.
For a list of sequences, see [Expansion of Prompt Sequences][1].
Functions
---------
- `set-tab-title` sets the terminal tab title.
- `set-window-title` sets the terminal or terminal multiplexer window title.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][2].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html#Expansion-of-Prompt-Sequences
[2]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,63 @@
Tmux
====
Defines [tmux][1] aliases and provides for auto launching it at start-up.
Settings
--------
### Auto-Start
Starts a tmux session automatically when Zsh is launched.
To enable this feature when launching Zsh in a local terminal, add the
following line to *zpreztorc*:
zstyle ':prezto:module:tmux:auto-start' local 'yes'
To enable this feature when launching Zsh in a SSH connection, add the
following line to *zpreztorc*:
zstyle ':prezto:module:tmux:auto-start' remote 'yes'
In both cases, it will create a background session named _#Prezto_ and attach
every new shell to it.
To avoid keeping open sessions, this module sets `destroy-unattached off` on
the background session and `destroy-unattached on` on every other session
(global setting).
Aliases
-------
- `tmuxa` attaches or switches to a tmux session.
- `tmuxl` lists sessions managed by the tmux server.
Caveats
-------
On Mac OS X, launching tmux can cause the error **launch_msg(...): Socket is not
connected** to be displayed, which can be fixed by installing
[reattach-to-user-namespace][3], available in [Homebrew][4], and adding the
following to *tmux.conf*:
set-option -g default-command "reattach-to-user-namespace -l $SHELL -l"
Furthermore, tmux is known to cause **kernel panics** on Mac OS X. A discussion
about this and Prezto has already been [opened][2].
Authors
-------
*The authors of this module should be contacted via the [issue tracker][5].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
- [Colin Hebert](https://github.com/ColinHebert)
- [Georges Discry](https://github.com/gdiscry)
[1]: http://tmux.sourceforge.net
[2]: https://github.com/sorin-ionescu/prezto/issues/62
[3]: https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard
[4]: https://github.com/mxcl/homebrew
[5]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,158 @@
Utility
=======
Defines general aliases and functions.
Settings
--------
### Highlighting
If you have enabled color globally in *zpreztorc*, you may disable it for certain
commands.
To disable `ls` color, add the following line to *zpreztorc*; when coloring is
disabled, type indicators (\*, /, =>, @, =, |, %) will be appended to entries.
zstyle ':prezto:module:utility:ls' color 'no'
To disable `diff` highlighting, add the following line to *zpreztorc*:
zstyle ':prezto:module:utility:diff' color 'no'
To disable `wdiff` highlighting, add the following line to *zpreztorc*:
zstyle ':prezto:module:utility:wdiff' color 'no'
To disable `make` highlighting, add the following line to *zpreztorc*:
zstyle ':prezto:module:utility:make' color 'no'
Aliases
-------
### Disabled Spelling Correction
- `ack`
- `cd`
- `cp`
- `ebuild`
- `gcc`
- `gist`
- `grep`
- `heroku`
- `ln`
- `man`
- `mkdir`
- `mv`
- `mysql`
- `rm`
### Disabled File Globbing
- `fc`
- `find`
- `ftp`
- `history`
- `locate`
- `rake`
- `rsync`
- `scp`
- `sftp`
### General
- `_` executes a command as another user (`sudo`).
- `b` opens the default web browser.
- `cp` copies files and directories interactively.
- `e` opens the default editor.
- `ln` links files and directories interactively.
- `mkdir` creates directories, including intermediary directories.
- `mv` moves files and directories interactively.
- `p` opens the default pager.
- `po` removes a directory from the stack and changes to it (`popd`).
- `pu` changes the directory and pushes the old directory onto the stack
(`pushd`).
- `rm` removes files and directories interactively.
- `type` displays all the attribute values of a shell parameter.
### Files and Directories
- `ls` lists with directories grouped first (GNU only).
- `l` lists in one column, hidden files.
- `ll` lists human readable sizes.
- `lr` lists human readable sizes, recursively.
- `la` lists human readable sizes, hidden files.
- `lm` lists human readable sizes, hidden files through pager.
- `lx` lists sorted by extension (GNU only).
- `lk` lists sorted by size, largest last.
- `lt` lists sorted by date, most recent last.
- `lc` lists sorted by date, most recent last, shows change time.
- `lu` lists sorted by date, most recent last, shows access time.
- `sl` lists directory contents (`ls`).
### Mac OS X Everywhere
- `o` opens files and directories (`open` or `xdg-open`).
- `get` downloads files (`curl` or `wget`).
- `pbcopy` copies to the pasteboard (`pbcopy`, `xclip` or `xsel`).
- `pbpaste` pastes from the pasteboard (`pbcopy`, `xclip` or `xsel`).
- `pbc` copies to the pasteboard (`pbcopy`).
- `pbp` pastes from the pasteboard (`pbpaste`).
### Resource Usage
- `df` displays free disk space using human readable units.
- `du` displays disk usage using human readable units.
- `top` displays information about processes (aliased to `htop`, if installed).
- `topc` displays information about processes sorted by CPU usage (`htop` not
installed).
- `topm` displays information about processes sorted by RAM usage (`htop` not
installed).
### Miscellaneous
- `http-serve` serves a directory via HTTP.
Functions
---------
### General
- `slit` prints columns *1, 2, 3 ... n*.
### Files and Directories
- `cdls` changes to a directory and lists its contents.
- `dut` displays the grand total disk usage using human readable units.
- `find-exec` finds files and executes a command on them.
- `mkdcd` makes a directory and changes to it.
- `popdls` pops an entry off the directory stack and lists its contents.
- `pushdls` pushes an entry onto the directory stack and lists its contents.
### Developer
- `diff` highlights diff output (requires `colordiff` or `Git`).
- `make` highlights make output (requires `colormake`).
- `wdiff` highlights wdiff output (requires `wdiff `or `Git`).
### Resource usage
- `psu` displays user owned processes status.
### Search and Replace
- `prep` provides a grep-like pattern search.
- `psub` provides a sed-like pattern substitution.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][1].*
- [Robby Russell](https://github.com/robbyrussell)
- [Suraj N. Kurapati](https://github.com/sunaku)
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -1,37 +1,37 @@
# Wake-on-LAN
Wake-on-LAN
===========
This module provides a wrapper around the [wakeonlan][1] tool.
## Usage
Usage
-----
To use this wrapper, create the _`~/.wakeonlan`_ directory, and place in it one
To use this wrapper, create the *~/.wakeonlan* directory, and place in it one
file for each device you would like to be able to wake. Give the file a name
that describes the device, such as its hostname.
Each file should contain a line with the MAC address of the target device and
the network broadcast address. For instance, there might be a file
_`~/.wakeonlan/leto`_ with the following contents:
*~/.wakeonlan/leto* with the following contents:
```conf
00:11:22:33:44:55:66 192.168.0.255
```
00:11:22:33:44:55:66 192.168.0.255
To wake that device, use the following command:
```console
wake leto
```
wake leto
For more information on the configuration file format, read the
[wakeonlan man page][2].
## Authors
Authors
-------
_The authors of this module should be contacted via [issue tracker][3]._
*The authors of this module should be contacted via [issue tracker][3].*
- [Paul Dann](https://github.com/giddie)
- [Sorin Ionescu](https://github.com/sorin-ionescu)
- [Paul Dann](https://github.com/giddie)
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: http://gsd.di.uminho.pt/jpo/software/wakeonlan/
[2]: https://man.cx/wakeonlan
[2]: http://man.cx/wakeonlan
[3]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,29 @@
Yum
===
Defines [yum][1] aliases.
Aliases
-------
- `yumc` removes package(s) and leaves.
- `yumi` installs package(s).
- `yumh` displays history.
- `yuml` lists packages.
- `yumL` lists installed packages.
- `yumq` displays package information.
- `yumr` removes package(s).
- `yums` searches for a package.
- `yumu` updates packages.
- `yumU` upgrates packages.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][2].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: http://yum.baseurl.org
[2]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -0,0 +1,151 @@
Prezto — Instantly Awesome Zsh
==============================
Prezto is the configuration framework for [Zsh][1]; 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 recommended
version is 4.3.10.
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
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 *~/.zshenv* then open a new Zsh terminal
window or tab.
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][2]
Customization
-------------
The project is managed via [Git][3]. It is highly recommended that you fork this
project; so, that you can commit your changes and push them to [GitHub][4] to
not lose them. If you do not know how to use Git, follow this [tutorial][5] and
bookmark this [reference][6].
Resources
---------
The [Zsh Reference Card][7] and the [zsh-lovers][8] man page are indispensable.
Contribute
----------
This project would not exist without all of its users and [contributors][9].
If you have ideas on how to make the configuration easier to maintain or
improve its performance, do not hesitate to fork and send pull requests.
### Issue Reporting
- Check that the issue has not already been reported.
- Check that the issue has not already been fixed in the latest code.
- Open an issue with a clear title and description in grammatically correct,
complete sentences.
### Pull Request
- Read [how to properly contribute to open source projects on GitHub][10].
- Use a topic branch to easily amend a pull request later, if necessary.
- Write [good commit messages][11].
- Squash commits on the topic branch before opening a pull request.
- Use the same coding style and spacing.
- Open a [pull request][12] that relates to but one subject with a clear
title and description in grammatically correct, complete sentences.
#### Modules
- Markdown and man page documentation must be present.
- Large functions must be placed in a *functions* directory.
- Functions that take arguments must have completion.
#### Themes
- A screenshots section must be present in the file header.
- The pull request description must have [embedded
screenshots][13].
License
-------
(The MIT License)
Copyright (c) 2009-2012 Robby Russell, Sorin Ionescu, and contributors.
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
[1]: http://www.zsh.org
[2]: http://i.imgur.com/nBEEZ.png "sorin theme"
[3]: http://git-scm.com
[4]: https://github.com
[5]: http://gitimmersion.com
[6]: http://gitref.org
[7]: http://www.bash2zsh.com/zsh_refcard/refcard.pdf
[8]: http://grml.org/zsh/zsh-lovers.html
[9]: https://github.com/sorin-ionescu/prezto/contributors
[10]: http://gun.io/blog/how-to-github-fork-branch-and-pull-request
[11]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
[12]: https://help.github.com/articles/using-pull-requests
[13]: http://daringfireball.net/projects/markdown/syntax#img

133
init.zsh
View File

@ -12,60 +12,11 @@
# Check for the minimum supported version.
min_zsh_version='4.3.11'
if ! autoload -Uz is-at-least || ! is-at-least "$min_zsh_version"; then
printf "prezto: old shell detected, minimum required: %s\n" "$min_zsh_version" >&2
print "prezto: old shell detected, minimum required: $min_zsh_version" >&2
return 1
fi
unset min_zsh_version
# zprezto convenience updater
# The function is surrounded by ( ) instead of { } so it starts in a subshell
# and won't affect the environment of the calling shell
function zprezto-update {
(
function cannot-fast-forward {
local STATUS="$1"
[[ -n "${STATUS}" ]] && printf "%s\n" "${STATUS}"
printf "Unable to fast-forward the changes. You can fix this by "
printf "running\ncd '%s' and then\n'git pull' " "${ZPREZTODIR}"
printf "to manually pull and possibly merge in changes\n"
}
cd -q -- "${ZPREZTODIR}" || return 7
local orig_branch="$(git symbolic-ref HEAD 2> /dev/null | cut -d '/' -f 3)"
if [[ "$orig_branch" == "master" ]]; then
git fetch || return "$?"
local UPSTREAM=$(git rev-parse '@{u}')
local LOCAL=$(git rev-parse HEAD)
local REMOTE=$(git rev-parse "$UPSTREAM")
local BASE=$(git merge-base HEAD "$UPSTREAM")
if [[ $LOCAL == $REMOTE ]]; then
printf "There are no updates.\n"
return 0
elif [[ $LOCAL == $BASE ]]; then
printf "There is an update available. Trying to pull.\n\n"
if git pull --ff-only; then
printf "Syncing submodules\n"
git submodule sync --recursive
git submodule update --init --recursive
return $?
else
cannot-fast-forward
return 1
fi
elif [[ $REMOTE == $BASE ]]; then
cannot-fast-forward "Commits in master that aren't in upstream."
return 1
else
cannot-fast-forward "Upstream and local have diverged."
return 1
fi
else
printf "zprezto install at '%s' is not on the master branch " "${ZPREZTODIR}"
printf "(you're on '%s')\nUnable to automatically update.\n" "${orig_branch}"
return 1
fi
return 1
)
}
#
# Module Loader
#
@ -73,70 +24,44 @@ function zprezto-update {
# Loads Prezto modules.
function pmodload {
local -a pmodules
local -a pmodule_dirs
local -a locations
local pmodule
local pmodule_location
local pfunction_glob='^([_.]*|prompt_*_setup|README*|*~)(-.N:t)'
# Load in any additional directories and warn if they don't exist
zstyle -a ':prezto:load' pmodule-dirs 'user_pmodule_dirs'
for user_dir in "$user_pmodule_dirs[@]"; do
if [[ ! -d "$user_dir" ]]; then
echo "$0: Missing user module dir: $user_dir"
fi
done
pmodule_dirs=("$ZPREZTODIR/modules" "$ZPREZTODIR/contrib" "$user_pmodule_dirs[@]")
local pfunction_glob='^([_.]*|prompt_*_setup|README*)(.N:t)'
# $argv is overridden in the anonymous function.
pmodules=("$argv[@]")
# Add functions to $fpath.
fpath=(${pmodules:+${ZDOTDIR:-$HOME}/.zprezto/modules/${^pmodules}/functions(/FN)} $fpath)
function {
local pfunction
# Extended globbing is needed for listing autoloadable function directories.
setopt LOCAL_OPTIONS EXTENDED_GLOB
# Load Prezto functions.
for pfunction in ${ZDOTDIR:-$HOME}/.zprezto/modules/${^pmodules}/functions/$~pfunction_glob; do
autoload -Uz "$pfunction"
done
}
# Load Prezto modules.
for pmodule in "$pmodules[@]"; do
if zstyle -t ":prezto:module:$pmodule" loaded 'yes' 'no'; then
continue
elif [[ ! -d "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule" ]]; then
print "$0: no such module: $pmodule" >&2
continue
else
locations=(${pmodule_dirs:+${^pmodule_dirs}/$pmodule(-/FN)})
if (( ${#locations} > 1 )); then
if ! zstyle -t ':prezto:load' pmodule-allow-overrides 'yes'; then
print "$0: conflicting module locations: $locations"
continue
fi
elif (( ${#locations} < 1 )); then
print "$0: no such module: $pmodule"
continue
fi
# Grab the full path to this module
pmodule_location=${locations[-1]}
# Add functions to $fpath.
fpath=(${pmodule_location}/functions(-/FN) $fpath)
function {
local pfunction
# Extended globbing is needed for listing autoloadable function directories.
setopt LOCAL_OPTIONS EXTENDED_GLOB
# Load Prezto functions.
for pfunction in ${pmodule_location}/functions/$~pfunction_glob; do
autoload -Uz "$pfunction"
done
}
if [[ -s "${pmodule_location}/init.zsh" ]]; then
source "${pmodule_location}/init.zsh"
elif [[ -s "${pmodule_location}/${pmodule}.plugin.zsh" ]]; then
source "${pmodule_location}/${pmodule}.plugin.zsh"
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule/init.zsh" ]]; then
source "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule/init.zsh"
fi
if (( $? == 0 )); then
zstyle ":prezto:module:$pmodule" loaded 'yes'
else
# Remove the $fpath entry.
fpath[(r)${pmodule_location}/functions]=()
fpath[(r)${ZDOTDIR:-$HOME}/.zprezto/modules/${pmodule}/functions]=()
function {
local pfunction
@ -146,7 +71,7 @@ function pmodload {
setopt LOCAL_OPTIONS EXTENDED_GLOB
# Unload Prezto functions.
for pfunction in ${pmodule_location}/functions/$~pfunction_glob; do
for pfunction in ${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule/functions/$~pfunction_glob; do
unfunction "$pfunction"
done
}
@ -161,12 +86,6 @@ function pmodload {
# Prezto Initialization
#
# This finds the directory prezto is installed to so plugin managers don't need
# to rely on dirty hacks to force prezto into a directory. Additionally, it
# needs to be done here because inside the pmodload function ${0:h} evaluates to
# the current directory of the shell rather than the prezto dir.
ZPREZTODIR=${0:h}
# Source the Prezto configuration file.
if [[ -s "${ZDOTDIR:-$HOME}/.zpreztorc" ]]; then
source "${ZDOTDIR:-$HOME}/.zpreztorc"
@ -183,9 +102,6 @@ zstyle -a ':prezto:load' zmodule 'zmodules'
for zmodule ("$zmodules[@]") zmodload "zsh/${(z)zmodule}"
unset zmodule{s,}
# Load more specific 'run-help' function from $fpath.
(( $+aliases[run-help] )) && unalias run-help && autoload -Uz run-help
# Autoload Zsh functions.
zstyle -a ':prezto:load' zfunction 'zfunctions'
for zfunction ("$zfunctions[@]") autoload -Uz "$zfunction"
@ -195,3 +111,4 @@ unset zfunction{s,}
zstyle -a ':prezto:load' pmodule 'pmodules'
pmodload "$pmodules[@]"
unset pmodules

View File

@ -1,53 +0,0 @@
# Archive
Provides functions to create, list, and extract archives.
This module must be loaded _before_ the [_`completion`_][1] module so that the
provided completion definitions are loaded automatically by _`completion`_
module.
## Functions
- `archive` creates an archive based on the provided archive name.
- `lsarchive` lists the contents of one or more archives.
- `unarchive` extracts the contents of one or more archives.
## Supported Formats
The following archive formats are supported when the required utilities are
installed:
- _.tar.gz_, _.tgz_ require `tar` (optionally `pigz`).
- _.tar.bz2_, _.tbz_ require `tar` (optionally `pbzip2`).
- _.tar.xz_, _.txz_ require `tar` with _xz_ support.
- _.tar.zma_, _.tlz_ require `tar` with _lzma_ support.
- _.tar_ requires `tar`.
- _.gz_ requires `gunzip`.
- _.bz2_ requires `bunzip2`.
- _.xz_ requires `unxz`.
- _.lzma_ requires `unlzma`.
- _.Z_ requires `uncompress`.
- _.zip_, _.jar_ requires `unzip`.
- _.rar_ requires `rar` (needed for `archive` support), `unrar` or `lsar` and `unar`.
- _.7z_ requires `7za`.
- _.deb_ requires `ar`, `tar`.
Additionally, if `pigz` and/or `pbzip2` are installed, `archive` will use them
over their traditional counterparts, `gzip` and `bzip2` respectively, to take
full advantage of all available CPU cores for compression.
## Alternatives
Specifically on macOS, [The Unarchiver][2] provides a similar command line tool
which doesn't depend on a number of other programs being installed.
## Authors
_The authors of this module should be contacted via the [issue tracker][3]._
- [Sorin Ionescu](https://github.com/sorin-ionescu)
- [Matt Hamilton](https://github.com/Eriner)
[1]: ../completion#readme
[2]: https://theunarchiver.com/command-line
[3]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -10,4 +10,5 @@
_arguments \
'(-v --verbose)'{-v,--remove}'[verbose archive listing]' \
"*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|zst|jar|rar|7z)(-.)'" && return 0
"*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|rar|7z)(-.)'" && return 0

View File

@ -10,4 +10,5 @@
_arguments \
'(-r --remove)'{-r,--remove}'[remove archive]' \
"*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|zst|jar|rar|7z|deb)(-.)'" && return 0
"*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|rar|7z|deb)(-.)'" && return 0

View File

@ -1,75 +0,0 @@
#
# Creates archive file
#
# Authors:
# Matt Hamilton <m@tthamilton.com>
#
# function archive {
local archive_name path_to_archive _gzip_bin _bzip2_bin _xz_bin _zstd_bin
if (( $# < 2 )); then
cat >&2 <<EOF
usage: $0 [archive_name.zip] [/path/to/include/into/archive ...]
Where 'archive.zip' uses any of the following extensions:
.tar.gz, .tar.bz2, .tar.xz, .tar.lzma, .tar.zst, .tar, .zip, .rar, .7z
There is no '-v' switch; all operations are verbose.
EOF
return 1
fi
# we are quitting (above) if there are not exactly 2 vars,
# so we don't need any argc check here.
# strip the path, just in case one is provided for some reason
archive_name="${1:t}"
# let paths be handled by actual archive helper
path_to_archive="${@:2}"
# here, we check for dropin/multi-threaded replacements
# this should eventually be moved to modules/archive/init.zsh
# as a global alias
if (( $+commands[pigz] )); then
_gzip_bin='pigz'
else
_gzip_bin='gzip'
fi
if (( $+commands[pixz] )); then
_xz_bin='pixz'
else
_xz_bin='xz'
fi
if (( $+commands[lbzip2] )); then
_bzip2_bin='lbzip2'
elif (( $+commands[pbzip2] )); then
_bzip2_bin='pbzip2'
else
_bzip2_bin='bzip2'
fi
_zstd_bin='zstd'
case "${archive_name}" in
(*.tar.gz|*.tgz) tar -cvf "${archive_name}" --use-compress-program="${_gzip_bin}" "${=path_to_archive}" ;;
(*.tar.bz2|*.tbz|*.tbz2) tar -cvf "${archive_name}" --use-compress-program="${_bzip2_bin}" "${=path_to_archive}" ;;
(*.tar.xz|*.txz) tar -cvf "${archive_name}" --use-compress-program="${_xz_bin}" "${=path_to_archive}" ;;
(*.tar.lzma|*.tlz) tar -cvf "${archive_name}" --lzma "${=path_to_archive}" ;;
(*.tar.zst|*.tzst) tar -cvf "${archive_name}" --use-compress-program="${_zstd_bin}" "${=path_to_archive}" ;;
(*.tar) tar -cvf "${archive_name}" "${=path_to_archive}" ;;
(*.zip|*.jar) zip -r "${archive_name}" "${=path_to_archive}" ;;
(*.rar) rar a "${archive_name}" "${=path_to_archive}" ;;
(*.7z) 7za a "${archive_name}" "${=path_to_archive}" ;;
(*.gz) print "\n.gz is only useful for single files, and does not capture permissions. Use .tar.gz" ;;
(*.bz2) print "\n.bzip2 is only useful for single files, and does not capture permissions. Use .tar.bz2" ;;
(*.xz) print "\n.xz is only useful for single files, and does not capture permissions. Use .tar.xz" ;;
(*.lzma) print "\n.lzma is only useful for single files, and does not capture permissions. Use .tar.lzma" ;;
(*) print "\nunknown archive type for archive: ${archive_name}" ;;
esac
# }

View File

@ -5,8 +5,6 @@
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
# function lsarchive {
local verbose
if (( $# == 0 )); then
@ -32,7 +30,7 @@ while (( $# > 0 )); do
continue
fi
case "$1:l" in
case "$1" in
(*.tar.gz|*.tgz) tar t${verbose:+v}vzf "$1" ;;
(*.tar.bz2|*.tbz|*.tbz2) tar t${verbose:+v}jf "$1" ;;
(*.tar.xz|*.txz) tar --xz --help &> /dev/null \
@ -41,17 +39,14 @@ while (( $# > 0 )); do
(*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \
&& tar --lzma -t${verbose:+v}f "$1" \
|| lzcat "$1" | tar x${verbose:+v}f - ;;
(*.tar.zst|*.tzst) tar -I zstd -t${verbose:+v}f "$1" ;;
(*.tar) tar t${verbose:+v}f "$1" ;;
(*.zip|*.jar) unzip -l${verbose:+v} "$1" ;;
(*.rar) ( (( $+commands[unrar] )) \
&& unrar ${${verbose:+v}:-l} "$1" ) \
|| ( (( $+commands[rar] )) \
&& rar ${${verbose:+v}:-l} "$1" ) \
|| lsar ${verbose:+-l} "$1" ;;
(*.zip) unzip -l${verbose:+v} "$1" ;;
(*.rar) unrar &> /dev/null \
&& unrar ${${verbose:+v}:-l} "$1" \
|| rar ${${verbose:+v}:-l} "$1" ;;
(*.7z) 7za l "$1" ;;
(*)
print "$0: cannot list: $1" >&2
print "$0: cannot list: $1" >&2
success=1
;;
esac
@ -59,4 +54,3 @@ while (( $# > 0 )); do
shift
done
# }

View File

@ -5,14 +5,10 @@
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
# function unarchive {
local remove_archive
local success
local file_name
local file_path
local extract_dir
local _gzip_bin _bzip2_bin _xz_bin _zstd_bin
if (( $# == 0 )); then
cat >&2 <<EOF
@ -31,31 +27,6 @@ if [[ "$1" == "-r" || "$1" == "--remove" ]]; then
shift
fi
# here, we check for dropin/multi-threaded replacements
# this should eventually be moved to modules/archive/init.zsh
# as a global alias
if (( $+commands[unpigz] )); then
_gzip_bin='unpigz'
else
_gzip_bin='gunzip'
fi
if (( $+commands[pixz] )); then
_xz_bin='pixz'
else
_xz_bin='xz'
fi
if (( $+commands[lbunzip2] )); then
_bzip2_bin='lbunzip2'
elif (( $+commands[pbunzip2] )); then
_bzip2_bin='pbunzip2'
else
_bzip2_bin='bunzip2'
fi
_zstd_bin='zstd'
while (( $# > 0 )); do
if [[ ! -s "$1" ]]; then
print "$0: file not valid: $1" >&2
@ -65,36 +36,34 @@ while (( $# > 0 )); do
success=0
file_name="${1:t}"
file_path="${1:A}"
extract_dir="${file_name:r}"
case "$1:l" in
(*.tar.gz|*.tgz) tar -xvf "$1" --use-compress-program="${_gzip_bin}" ;;
(*.tar.bz2|*.tbz|*.tbz2) tar -xvf "$1" --use-compress-program="${_bzip2_bin}" ;;
(*.tar.xz|*.txz) tar -xvf "$1" --use-compress-program="${_xz_bin}" ;;
case "$1" in
(*.tar.gz|*.tgz) tar xvzf "$1" ;;
(*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;;
(*.tar.xz|*.txz) tar --xz --help &> /dev/null \
&& tar --xz -xvf "$1" \
|| xzcat "$1" | tar xvf - ;;
(*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \
&& tar --lzma -xvf "$1" \
|| lzcat "$1" | tar -xvf - ;;
(*.tar.zst|*.tzst) tar -xvf "$1" --use-compress-program="${_zstd_bin}" ;;
(*.tar) tar -xvf "$1" ;;
|| lzcat "$1" | tar xvf - ;;
(*.tar) tar xvf "$1" ;;
(*.gz) gunzip "$1" ;;
(*.bz2) bunzip2 "$1" ;;
(*.xz) unxz "$1" ;;
(*.lzma) unlzma "$1" ;;
(*.Z) uncompress "$1" ;;
(*.zip|*.jar) unzip "$1" -d $extract_dir ;;
(*.rar) ( (( $+commands[unrar] )) \
&& unrar x -ad "$1" ) \
|| ( (( $+commands[rar] )) \
&& rar x -ad "$1" ) \
|| unar -d "$1" ;;
(*.zip) unzip "$1" -d $extract_dir ;;
(*.rar) unrar &> /dev/null \
&& unrar e -ad "$1" \
|| rar e -ad "$1" ;;
(*.7z) 7za x "$1" ;;
(*.deb)
mkdir -p "$extract_dir/control"
mkdir -p "$extract_dir/data"
cd "$extract_dir"; ar vx "${file_path}" > /dev/null
cd control; tar xvf ../control.tar.*
cd ../data; tar xvf ../data.tar.*
cd ..; rm control.tar.* data.tar.* debian-binary
cd "$extract_dir"; ar vx "../${1}" > /dev/null
cd control; tar xzvf ../control.tar.gz
cd ../data; tar xzvf ../data.tar.gz
cd ..; rm *.tar.gz debian-binary
cd ..
;;
(*)
@ -108,4 +77,3 @@ while (( $# > 0 )); do
shift
done
# }

View File

@ -1,62 +0,0 @@
# Autosuggestions
Integrates [zsh-autosuggestions][1] into Prezto, which implements the
[Fish shell][2]'s autosuggestions feature, where the user can type in any part
of a previously entered command and Zsh suggests commands as you type based on
history and completions.
If this module is used in conjunction with the [_`syntax-highlighting`_][3]
module, this module must be loaded _after_ the _`syntax-highlighting`_ module.
Additionally, if this module is used in conjunction with the
[_`history-substring-search`_][4] module, this module must be loaded _after_ the
_`history-substring-search`_ module as well.
To elaborate, the relative order of loading the modules would be
_`syntax-highlighting`_, _`history-substring-search`_ and _`autosuggestions`_.
## Contributors
New features and bug fixes should be submitted to the [zsh-autosuggestions][1]
project according to its rules and regulations. This module will be synchronized
against it.
## Settings
### Highlighting
If colors are enabled, _autosuggestions_ will automatically highlight
positive results.
To enable highlighting for this module only, add the following line to
_`${ZDOTDIR:-$HOME}/.zpreztorc`_:
```sh
zstyle ':prezto:module:autosuggestions' color 'yes'
```
To set the query found color, add the following line to
_`${ZDOTDIR:-$HOME}/.zpreztorc`_:
```sh
zstyle ':prezto:module:autosuggestions:color' found ''
```
## Troubleshooting
### Autosuggestions from previous sessions don't show up
For autosuggestions from previous shell sessions to work, please make sure you
also have the `history` module enabled.
## Authors
_The authors of this module should be contacted via the [issue tracker][5]._
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://github.com/tarruda/zsh-autosuggestions
[2]: https://fishshell.com
[3]: ../syntax-highlighting#readme
[4]: ../history-substring-search#readme
[5]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -1,35 +0,0 @@
#
# Integrates zsh-autosuggestions into Prezto.
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
# Load dependencies.
pmodload 'editor'
# Source module files.
source "${0:h}/external/zsh-autosuggestions.zsh" || return 1
#
# Highlighting
#
# Set highlight color, default 'fg=8'.
zstyle -s ':prezto:module:autosuggestions:color' found \
'ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE' || ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'
# Disable highlighting.
if ! zstyle -t ':prezto:module:autosuggestions' color; then
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE=''
fi
#
# Key Bindings
#
if [[ -n "$key_info" ]]; then
# vi
bindkey -M viins "$key_info[Control]F" vi-forward-word
bindkey -M viins "$key_info[Control]E" vi-add-eol
fi

View File

@ -1,13 +0,0 @@
#compdef aws_switch_profile
#autoload
if [[ ! -f ~/.aws/credentials ]]; then
return 1
fi
local profiles
profiles=$(grep -E "^\[.+\]" ~/.aws/credentials | tr -d '[' | tr -d ']' )
_arguments "1:toggle:((
$profiles
))" && return 0

View File

@ -1,33 +0,0 @@
#
# Exposes information about the AWS_PROFILE environment via the $aws_info associative
# array.
#
# function aws-info {
local profile_format
local profile_formatted
local aws_prompt
local aws_region_prompt
unset aws_info
typeset -gA aws_info
if (( ${+AWS_SECRET_ACCESS_KEY} )); then
aws_prompt="${AWS_PROFILE}  "
elif (( ${+AWS_PROFILE} )); then
aws_prompt=$AWS_PROFILE
fi
if (( ${+AWS_DEFAULT_REGION} )) && [[ ${_aws_region} = "true" ]]; then
AWS_REGION=$(cut -d "-" -f 1 <<<$AWS_DEFAULT_REGION | cut -b 1)$(cut -d "-" -f 2 <<<$AWS_DEFAULT_REGION | cut -b 1)$(cut -d "-" -f 3 <<<$AWS_DEFAULT_REGION | cut -b 1)
aws_region_prompt=" $AWS_REGION"
fi
if (( ${+AWS_SECRET_ACCESS_KEY} )) || (( ${+AWS_DEFAULT_REGION} )); then
zstyle -s ':prezto:module:aws:info:profile' format 'profile_format'
zformat -f profile_formatted "$profile_format" "v:${aws_prompt:t}${aws_region_prompt}"
aws_info[profile]="$profile_formatted"
fi
# }

View File

@ -1,177 +0,0 @@
#
# Defines aws cli aliases/functions.
#
# Authors:
# Daniel Carrillo
#
# Get the output parameter
zstyle -s ':prezto:module:aws' output '_aws_output' || _aws_output='table'
zstyle -s ':prezto:module:aws' show_region '_aws_region' || _aws_region='false'
zstyle -s ':prezto:module:aws' profile '_aws_profile' || _aws_profile='default'
zstyle -s ':prezto:module:aws' sso '_aws_sso' || _aws_sso='false'
# Return if requirements are not found.
if (( ! $+commands[aws] )); then
return 1
fi
function _get_aws_profile {
if [[ -z "${AWS_PROFILE+1}" ]]; then
echo ${_aws_profile}
else
echo $AWS_PROFILE
fi
}
function aws_i {
local profile=$(_get_aws_profile)
aws ec2 describe-instances --profile $profile --output ${_aws_output} \
--query 'Reservations[].Instances[].[Tags[?Key==`Name`] | [0].Value, LaunchTime, State.Name,
InstanceType, VpcId, InstanceId, Placement.AvailabilityZone, PrivateIpAddress, PublicIpAddress]'
}
function aws_ebs {
local profile=$(_get_aws_profile)
aws ec2 describe-volumes --profile $profile --output ${_aws_output} \
--query 'Volumes[].[Tags[?Key==`Name`] | [0].Value, VolumeId, Attachments[0].InstanceId, Size, VolumeType, Iops, AvailabilityZone]'
}
function aws_elb {
local profile=$(_get_aws_profile)
aws elb describe-load-balancers --profile $profile --output ${_aws_output} \
--query "LoadBalancerDescriptions[*].{type:'elb',scheme:Scheme,dns:DNSName,vpc:VPCId,name:LoadBalancerName,subnets:Subnets[*] | join(',', @)}"
local profile=$(_get_aws_profile)
aws elbv2 describe-load-balancers --profile $profile --output ${_aws_output} \
--query "LoadBalancers[*].{type:Type,scheme:Scheme,dns:DNSName,vpc:VpcId,name:LoadBalancerName,subnets:AvailabilityZones[*].SubnetId | join(',', @)}"
}
function aws_userdata {
local profile=$(_get_aws_profile)
aws ec2 describe-instance-attribute --profile $profile --output text \
--attribute userData --instance-id $1 \
--query 'UserData.Value' | base64 -d
}
function aws_vpc {
local profile=$(_get_aws_profile)
aws ec2 describe-vpcs --profile $profile --output ${_aws_output} \
--query 'Vpcs[*].{id:VpcId,cidr:CidrBlock,tag:Tags[0].Value}'
}
function aws_subnets {
local profile=$(_get_aws_profile)
aws ec2 describe-subnets --profile $profile --output text \
--query 'Subnets[].[Tags[?Key==`Name`] | [0].Value, SubnetId, VpcId, CidrBlock]' \
| sort -k1 | column -t
}
function aws_ag {
local profile=$(_get_aws_profile)
aws autoscaling describe-auto-scaling-groups --profile $profile --output ${_aws_output} \
--query 'AutoScalingGroups[*].{name:AutoScalingGroupName,az:VPCZoneIdentifier}'
}
function aws_ami {
local profile=$(_get_aws_profile)
aws ec2 describe-images --profile $profile --output ${_aws_output} \
--owner self --query 'Images[*].{date:CreationDate,id:ImageId,name:Name,virt:VirtualizationType,st:State}'
}
function aws_kms_decrypt {
local profile=$(_get_aws_profile)
if [[ -z $1 ]]; then
echo "String is missing"
return 1
fi
aws kms --profile $profile decrypt --ciphertext-blob fileb://<(base64 -d <<<$1) \
--output text --query Plaintext | base64 -d
}
function aws_ssm_session {
local profile=$(_get_aws_profile)
if [[ -z $1 ]]; then
echo "Instance id is missing"
return 1
fi
aws ssm start-session --profile $profile --target $1
}
function aws_ssm_session_any {
local profile=$(_get_aws_profile)
local id
if [[ -z $1 ]]; then
echo "Instance name is missing"
return 1
fi
id=$(aws ec2 describe-instances --profile $profile --output text \
--filter "Name=tag:Name,Values=$1" "Name=instance-state-name,Values=running" \
--query 'Reservations[0].Instances[0].InstanceId')
if [[ $2 == "ssh" ]]; then
shift 2
AWS_PROFILE=$profile ssh $id $@
else
aws ssm start-session --profile $profile --target $id
fi
}
function aws_cf {
local profile=$(_get_aws_profile)
if ! type "jq" > /dev/null; then
echo "ERROR: this function needs jq to be installed"
return 1
fi
aws cloudfront list-distributions --profile $profile --output json \
--query "DistributionList.Items[*].{id:Id,domain:DomainName,status:Status,
origin:Origins.Items[].DomainName | join(' ', @), aliases:Aliases.Items | join(' ', @)}" \
| jq -r ".[] | [.id, .domain, .aliases, .status, .origin] | @csv" | tr -d '"' | column --separator="," --table
}
# ~/.ssh/config
#
# Host i-*
# ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
# User <your_user>
function ssh_aws_any {
host=$1
shift
extra_params=$@
aws_ssm_session_any $host ssh $extra_params
}
function aws_switch_profile {
local region
if [[ -z $1 ]]; then
echo "Profile can't be an empty string"
return 1
fi
echo "Activating profile $1..."
unset -m "AWS_*"
export AWS_PROFILE=$1
if [[ -f ~/.aws/credentials ]]; then #&& (( ! ${+AWS_DEFAULT_REGION} ))
region=$(aws configure get region)
if [[ ! -z $region ]]; then
export AWS_DEFAULT_REGION=$region
else
unset AWS_DEFAULT_REGION
fi
if [[ ${_aws_sso} == "true" ]]; then
eval $(aws-export-credentials --env-export)
fi
fi
}
function aws_deactivate_profile {
echo "Deactivating aws profile..."
unset -m "AWS_*"
}

View File

@ -1,23 +0,0 @@
# Command-Not-Found
When you try to use a command that is not available locally, searches the
package manager for a package offering that command and suggests the proper
install command.
Debian and Arch Linux based distributions use the [`command-not-found`][1] tool.
macOS uses Homebrew's [`command-not-found` clone][2]. Note that unless you have
a recent version of Homebrew installed, you might also need to tap the
`command-not-found` Homebrew repository [following the instructions][3].
## Authors
_The authors of this module should be contacted via the [issue tracker][4]._
- [Joseph Booker](https://github.com/sargas)
- [Indrajit Raychaudhuri](https://github.com/indrajitr)
[1]: https://code.launchpad.net/command-not-found
[2]: https://github.com/Homebrew/homebrew-command-not-found
[3]: https://github.com/Homebrew/homebrew-command-not-found#install
[4]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -3,7 +3,6 @@
#
# Authors:
# Joseph Jon Booker <joe@neoturbine.net>
# Indrajit Raychaudhuri <irc+code@indrajit.com>
#
# Load command-not-found on Debian-based distributions.
@ -12,12 +11,8 @@ if [[ -s '/etc/zsh_command_not_found' ]]; then
# Load command-not-found on Arch Linux-based distributions.
elif [[ -s '/usr/share/doc/pkgfile/command-not-found.zsh' ]]; then
source '/usr/share/doc/pkgfile/command-not-found.zsh'
# Load command-not-found on macOS when Homebrew tap is configured.
elif (( $+commands[brew] )) \
&& [[ -s "${hb_cnf_handler::="$(brew --repository 2> /dev/null)"/Library/Taps/homebrew/homebrew-command-not-found/handler.sh}" ]]; then
source "$hb_cnf_handler"
unset hb_cnf_handler
# Return if requirements are not found.
else
return 1
fi

View File

@ -1,55 +0,0 @@
# Completion
Loads and configures <kbd>TAB</kbd> completion and provides additional
completions from the [zsh-completions][1] project.
This module must be loaded late _after_ the _`utility`_ module and all other
modules that provide completion definitions.
## Options
- `COMPLETE_IN_WORD` complete from both ends of a word.
- `ALWAYS_TO_END` move cursor to the end of a completed word.
- `PATH_DIRS` perform path search even on command names with slashes.
- `AUTO_MENU` show completion menu on a successive <kbd>TAB</kbd> press.
- `AUTO_LIST` automatically list choices on ambiguous completion.
- `AUTO_PARAM_SLASH` if completed parameter is a directory, add a trailing
slash (`/`).
- `EXTENDED_GLOB` needed for file modification glob modifiers with _compinit_.
- `MENU_COMPLETE` do not autoselect the first completion entry.
- `FLOW_CONTROL` disable start/stop characters in shell editor.
## Variables
- `LS_COLORS` used by default for Zsh [standard style][2] 'list-colors'.
## Settings
### Ignore _`/etc/hosts`_ Entries
To ignore certain entries from static _`/etc/hosts`_ for host completion, add
the following lines in _`${ZDOTDIR:-$HOME}/.zpreztorc`_ with the IP addresses of
the hosts as they appear in _`/etc/hosts`_. Both IP address and the associated
hostname(s) will be ignored during host completion. However, some of the entries
ignored from _`/etc/hosts`_ still might appear during completion because of
their presence in _ssh_ configuration or history).
```sh
zstyle ':prezto:module:completion:*:hosts' etc-host-ignores \
'0.0.0.0' '127.0.0.1'
```
## Contributors
Completions should be submitted to the [zsh-completions][1] project according to
its rules and regulations. This module will be synchronized against it.
## Authors
_The authors of this module should be contacted via the [issue tracker][3]._
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://github.com/zsh-users/zsh-completions
[2]: https://zsh.sourceforge.net/Doc/Release/Completion-System.html#Standard-Styles
[3]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -7,73 +7,36 @@
#
# Return if requirements are not found.
if [[ $TERM == 'dumb' ]]; then
if [[ "$TERM" == 'dumb' ]]; then
return 1
fi
# Add zsh-completions to $fpath.
fpath=(${0:h}/external/src $fpath)
fpath=("${0:h}/external/src" $fpath)
# Add completion for keg-only brewed curl when available.
if (( $+commands[brew] )) \
&& [[ -d "${curl_prefix::="$(brew --prefix 2> /dev/null)"/opt/curl}" ]]; then
fpath=($curl_prefix/share/zsh/site-functions $fpath)
fi
unset curl_prefix
# Load and initialize the completion system ignoring insecure directories.
autoload -Uz compinit && compinit -i
#
# Options
#
setopt COMPLETE_IN_WORD # Complete from both ends of a word.
setopt ALWAYS_TO_END # Move cursor to the end of a completed word.
setopt PATH_DIRS # Perform path search even on command names with slashes.
setopt AUTO_MENU # Show completion menu on a successive tab press.
setopt AUTO_LIST # Automatically list choices on ambiguous completion.
setopt AUTO_PARAM_SLASH # If completed parameter is a directory, add a trailing slash.
setopt EXTENDED_GLOB # Needed for file modification glob modifiers with compinit.
unsetopt MENU_COMPLETE # Do not autoselect the first completion entry.
unsetopt FLOW_CONTROL # Disable start/stop characters in shell editor.
#
# Variables
#
# Standard style used by default for 'list-colors'
LS_COLORS=${LS_COLORS:-'di=34:ln=35:so=32:pi=33:ex=31:bd=36;01:cd=33;01:su=31;40;07:sg=36;40;07:tw=32;40;07:ow=33;40;07:'}
#
# Initialization
#
# Load and initialize the completion system ignoring insecure directories with a
# cache time of 20 hours, so it should almost always regenerate the first time a
# shell is opened each day.
autoload -Uz compinit
_comp_path="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/zcompdump"
# #q expands globs in conditional expressions
if [[ $_comp_path(#qNmh-20) ]]; then
# -C (skip function check) implies -i (skip security check).
compinit -C -d "$_comp_path"
else
mkdir -p "$_comp_path:h"
compinit -i -d "$_comp_path"
# Keep $_comp_path younger than cache time even if it isn't regenerated.
touch "$_comp_path"
fi
unset _comp_path
setopt COMPLETE_IN_WORD # Complete from both ends of a word.
setopt ALWAYS_TO_END # Move cursor to the end of a completed word.
setopt PATH_DIRS # Perform path search even on command names with slashes.
setopt AUTO_MENU # Show completion menu on a succesive tab press.
setopt AUTO_LIST # Automatically list choices on ambiguous completion.
setopt AUTO_PARAM_SLASH # If completed parameter is a directory, add a trailing slash.
unsetopt MENU_COMPLETE # Do not autoselect the first completion entry.
unsetopt FLOW_CONTROL # Disable start/stop characters in shell editor.
#
# Styles
#
# Defaults.
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*:default' list-prompt '%S%M matches%s'
# Use caching to make completion for commands such as dpkg and apt usable.
# Use caching to make completion for cammands such as dpkg and apt usable.
zstyle ':completion::complete:*' use-cache on
zstyle ':completion::complete:*' cache-path "${XDG_CACHE_HOME:-$HOME/.cache}/prezto/zcompcache"
zstyle ':completion::complete:*' cache-path "${ZDOTDIR:-$HOME}/.zcompcache"
# Case-insensitive (all), partial-word, and then substring completion.
if zstyle -t ':prezto:module:completion:*' case-sensitive; then
@ -93,6 +56,7 @@ zstyle ':completion:*:corrections' format ' %F{green}-- %d (errors: %e) --%f'
zstyle ':completion:*:descriptions' format ' %F{yellow}-- %d --%f'
zstyle ':completion:*:messages' format ' %F{purple} -- %d --%f'
zstyle ':completion:*:warnings' format ' %F{red}-- no matches found --%f'
zstyle ':completion:*:default' list-prompt '%S%M matches%s'
zstyle ':completion:*' format ' %F{yellow}-- %d --%f'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' verbose yes
@ -102,9 +66,8 @@ zstyle ':completion:*' completer _complete _match _approximate
zstyle ':completion:*:match:*' original only
zstyle ':completion:*:approximate:*' max-errors 1 numeric
# Increase the number of errors based on the length of the typed word. But make
# sure to cap (at 7) the max-errors to avoid hanging.
zstyle -e ':completion:*:approximate:*' max-errors 'reply=($((($#PREFIX+$#SUFFIX)/3>7?7:($#PREFIX+$#SUFFIX)/3))numeric)'
# Increase the number of errors based on the length of the typed word.
zstyle -e ':completion:*:approximate:*' max-errors 'reply=($((($#PREFIX+$#SUFFIX)/3))numeric)'
# Don't complete unavailable commands.
zstyle ':completion:*:functions' ignored-patterns '(_*|pre(cmd|exec))'
@ -113,6 +76,7 @@ zstyle ':completion:*:functions' ignored-patterns '(_*|pre(cmd|exec))'
zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters
# Directories
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*:*:cd:*' tag-order local-directories directory-stack path-directories
zstyle ':completion:*:*:cd:*:directory-stack' menu yes select
zstyle ':completion:*:-tilde-:*' group-order 'named-directories' 'path-directories' 'users' 'expand'
@ -124,17 +88,14 @@ zstyle ':completion:*:history-words' remove-all-dups yes
zstyle ':completion:*:history-words' list false
zstyle ':completion:*:history-words' menu yes
# Environment Variables
# Environmental Variables
zstyle ':completion::*:(-command-|export):*' fake-parameters ${${${_comps[(I)-value-*]#*,}%%,*}:#-*-}
# Populate hostname completion. But allow ignoring custom entries from static
# */etc/hosts* which might be uninteresting.
zstyle -a ':prezto:module:completion:*:hosts' etc-host-ignores '_etc_host_ignores'
# Populate hostname completion.
zstyle -e ':completion:*:hosts' hosts 'reply=(
${=${=${=${${(f)"$(cat {/etc/ssh/ssh_,~/.ssh/}known_hosts(|2)(N) 2> /dev/null)"}%%[#| ]*}//\]:[0-9]*/ }//,/ }//\[/ }
${=${(f)"$(cat /etc/hosts(|)(N) <<(ypcat hosts 2> /dev/null))"}%%(\#${_etc_host_ignores:+|${(j:|:)~_etc_host_ignores}})*}
${=${${${${(@M)${(f)"$(cat ~/.ssh/config 2> /dev/null)"}:#Host *}#Host }:#*\**}:#*\?*}}
${=${=${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) 2>/dev/null)"}%%[#| ]*}//\]:[0-9]*/ }//,/ }//\[/ }
${=${(f)"$(cat /etc/hosts(|)(N) <<(ypcat hosts 2>/dev/null))"}%%\#*}
${=${${${${(@M)${(f)"$(cat ~/.ssh/config 2>/dev/null)"}:#Host *}#Host }:#*\**}:#*\?*}}
)'
# Don't complete uninteresting users...
@ -155,7 +116,7 @@ zstyle ':completion:*:(rm|kill|diff):*' ignore-line other
zstyle ':completion:*:rm:*' file-patterns '*:all-files'
# Kill
zstyle ':completion:*:*:*:*:processes' command 'ps -u $LOGNAME -o pid,user,command -w'
zstyle ':completion:*:*:*:*:processes' command 'ps -u $USER -o pid,user,comm -w'
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;36=0=01'
zstyle ':completion:*:*:kill:*' menu yes select
zstyle ':completion:*:*:kill:*' force-list always
@ -178,9 +139,11 @@ if [[ -s "$HOME/.mutt/aliases" ]]; then
fi
# SSH/SCP/RSYNC
zstyle ':completion:*:(ssh|scp|rsync):*' tag-order 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
zstyle ':completion:*:(scp|rsync):*' tag-order 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
zstyle ':completion:*:(scp|rsync):*' group-order users files all-files hosts-domain hosts-host hosts-ipaddr
zstyle ':completion:*:ssh:*' tag-order 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
zstyle ':completion:*:ssh:*' group-order users hosts-domain hosts-host users hosts-ipaddr
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-host' ignored-patterns '*(.|:)*' loopback ip6-loopback localhost ip6-localhost broadcasthost
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^[-[:alnum:]]##(.[-[:alnum:]]##)##' '*@*'
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-ipaddr' ignored-patterns '^(<->.<->.<->.<->|(|::)([[:xdigit:].]##:(#c,2))##(|%*))' '127.0.0.<->' '255.255.255.255' '::1' 'fe80::*'

View File

@ -1,30 +0,0 @@
# Directory
Sets directory options and defines directory aliases.
## Options
- `AUTO_CD` auto changes to a directory without typing `cd`.
- `AUTO_PUSHD` pushes the old directory onto the stack on `cd`.
- `PUSHD_IGNORE_DUPS` does not store duplicates in the stack.
- `PUSHD_SILENT` does not print the directory stack after `pushd` or `popd`.
- `PUSHD_TO_HOME` pushes to the home directory when no argument is given.
- `CDABLE_VARS` changes directory to a path stored in a variable.
- `MULTIOS` writes to multiple descriptors.
- `EXTENDED_GLOB` uses extended globbing syntax.
- `CLOBBER` does not overwrite existing files with `>` and `>>`. Use `>!` and
`>>!` to bypass.
## Aliases
- `d` prints the contents of the directory stack.
- `1 ... 9` changes the directory to the **n** previous one.
## Authors
_The authors of this module should be contacted via the [issue tracker][1]._
- [James Cox](https://github.com/imajes)
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://github.com/sorin-ionescu/prezto/issues

Some files were not shown because too many files have changed in this diff Show More