mirror of
https://github.com/dcarrillo/prezto.git
synced 2025-07-01 10:29:25 +00:00
Compare commits
320 Commits
belak/zdeb
...
7e1c7e3c7a
Author | SHA1 | Date | |
---|---|---|---|
7e1c7e3c7a | |||
1431e4e8c2 | |||
dea85a0740 | |||
3dc3fa7f8c | |||
c857e809c3 | |||
ac1c39d2e1 | |||
2c66331316 | |||
fca913eded | |||
3da67271b9 | |||
1ff1099d05 | |||
98d69fc91f | |||
15150085e6 | |||
45adecd9c9 | |||
74d4100434 | |||
7ec1ecde3a | |||
20641f3447 | |||
bf3dfe8c02 | |||
d840f0fc7b | |||
d6e1ef5fcf | |||
7884fb2271 | |||
a96f1618b4 | |||
ecaed1cfa7 | |||
7f8b9b829a | |||
d828d06643 | |||
166cbe2fca | |||
48291f68e8 | |||
2451239713 | |||
98f6306d1e | |||
f3c92ffeb3 | |||
866d5dfccd | |||
dc66c17728 | |||
061a7b961c | |||
6833fcd2f2 | |||
f1e24d3fd8 | |||
37443368c1 | |||
afe59b293b | |||
f0942e6dda | |||
d686da3c03 | |||
9037fda36d | |||
53033bc5d9 | |||
7052e2a002 | |||
979144d0e4 | |||
c4a8f446c6 | |||
a3643f124e | |||
efebe3efec | |||
9459a716bf | |||
28ec39d9b2 | |||
9f37fc9841 | |||
f84075b8d4 | |||
af46875c5e | |||
c6b59f8bb1 | |||
515d70f639 | |||
7980dd91c9 | |||
e07fd052d7 | |||
d3d79bbe74 | |||
6eb4021556 | |||
d51e5ce40f | |||
6c5657be8e | |||
fae5e493ec | |||
2368c9142b | |||
1ff9421f7b | |||
424d4cb779 | |||
b14aca307d | |||
0628b91028 | |||
be61026920 | |||
95d223aa8a | |||
742c1ea26f | |||
d80e393f78 | |||
8edc5e9323 | |||
d04a6ef459 | |||
788aa3d158 | |||
261d3b8224 | |||
68300e6de4 | |||
e87a9b0a93 | |||
509c5ca80f | |||
1d1ae0a661 | |||
f830065347 | |||
3285b33f0c | |||
9d42feac16 | |||
93556a7d5f | |||
5a8bfd5bf5 | |||
8a967fc108 | |||
63bc5061a7 | |||
f651140f2c | |||
6a70bdfff2 | |||
c5175145d4 | |||
16ddedd1f3 | |||
db6cd0d668 | |||
40cc9f52f9 | |||
8003d0c6d8 | |||
7222fe5fd6 | |||
095f44796b | |||
4de0377106 | |||
a2f3f419f6 | |||
0a07ba27a2 | |||
ce937020ce | |||
428632ac07 | |||
76b8c810aa | |||
a7f223d959 | |||
d66041cdb7 | |||
b8a3d90a13 | |||
c005e87859 | |||
667fba697e | |||
704fc46c3f | |||
c43d483d47 | |||
f080e2075e | |||
b7a80d99a8 | |||
c7ef9c1f46 | |||
775f6123b2 | |||
e915c34507 | |||
39151645ac | |||
0a405494ca | |||
813bde4d44 | |||
38882275b8 | |||
e9197234cf | |||
685da200d7 | |||
cb8b9ca746 | |||
4e7ab4b8b7 | |||
677e301174 | |||
c21295b27f | |||
83f3dca4a3 | |||
a132c1007a | |||
2d3763380c | |||
20a78c04e5 | |||
ff91c8d410 | |||
b8f5b31573 | |||
cb69d2d3e4 | |||
793f239a5e | |||
649c0e4561 | |||
13c61bae30 | |||
6d546561c6 | |||
530ea10126 | |||
342385618c | |||
2da4774473 | |||
f427a567d7 | |||
de7b3b7fdc | |||
95ff0360ae | |||
5b03d7fa32 | |||
d5bef142d4 | |||
9b2744cfdf | |||
7fbedf4a3b | |||
f479f37ead | |||
f4ca9ebfc9 | |||
1b99be879c | |||
cfeb8cd6c9 | |||
0c22054a49 | |||
d955fbdeb7 | |||
94f9e44f3f | |||
92e6b37f73 | |||
d2832051f7 | |||
65e8ba0596 | |||
272528b439 | |||
a73bb314cc | |||
cb0099ec7a | |||
fc8f82329b | |||
3d827cdb88 | |||
47b37b22ea | |||
e9f281cd6f | |||
4b32ae96db | |||
bca85497f8 | |||
4bcbe2ee68 | |||
ac9843e2d4 | |||
66b9ea7d44 | |||
7cad349a5a | |||
4a32e9d68b | |||
7ec4aad48c | |||
1f52b03a45 | |||
9ae279e25a | |||
2acaec814f | |||
a3a51bdf6c | |||
c6efe80152 | |||
7c94154dda | |||
e86200e7aa | |||
721b1535ea | |||
a5ebde1b17 | |||
a251bd2fb9 | |||
ef3e9eda18 | |||
2d6205e714 | |||
b9c34d9445 | |||
0af28e758b | |||
048d5302d6 | |||
e9e8c31217 | |||
f549bd7a0b | |||
ed511e6747 | |||
13f3cabd81 | |||
b2aead431c | |||
21ce6a6f97 | |||
585b3646f9 | |||
aeb58b972d | |||
b44893d9eb | |||
ed6303c340 | |||
6d65cb4176 | |||
1bc0da5f48 | |||
55eb406515 | |||
2873885d37 | |||
91292526a0 | |||
a1df63bade | |||
9507a0e881 | |||
75b112bcd0 | |||
f596d5d1d6 | |||
61de4d199d | |||
6ae2f39cc1 | |||
75940e8ee9 | |||
43214f1aed | |||
8b1a7afd81 | |||
8914274ca9 | |||
34948690d5 | |||
a8087e01fb | |||
abb0c7ecb4 | |||
b01f02aa5c | |||
5566a9c792 | |||
3ae422a0da | |||
6dd97d15e0 | |||
21b83b65ef | |||
e94b6b2078 | |||
de23724dc3 | |||
e6e5e4d68f | |||
09e83ed282 | |||
9f86f48ae6 | |||
15bfe616bc | |||
1d58546406 | |||
ac65e8eb18 | |||
bb901dfb7e | |||
f235db7aaa | |||
82222831a7 | |||
1f4601e44c | |||
b8d7e2cad8 | |||
5d7c990eec | |||
d22effbf85 | |||
4ff726e600 | |||
c2c53592a1 | |||
4abbc55721 | |||
777674e07e | |||
ba4063f99e | |||
88456ec9b6 | |||
4a16d3fa50 | |||
a70d24ab10 | |||
a338cba805 | |||
0e6429da97 | |||
9d3e2f0204 | |||
dc8e168d5f | |||
3093f1b966 | |||
11184084bc | |||
54dff31b63 | |||
23c56a5640 | |||
1a48ae2e54 | |||
eee3c9c166 | |||
39e1a63349 | |||
d275f316ff | |||
6a2cc2e146 | |||
d45d87b08f | |||
a987c8bc8a | |||
f745645342 | |||
a2398fc045 | |||
e7fea3343f | |||
53286ebbdb | |||
2286662b80 | |||
3de1e24965 | |||
be68a38ff5 | |||
32084778d0 | |||
8bfed01773 | |||
b2a9152820 | |||
680fba3112 | |||
236907f8af | |||
108392b503 | |||
a09155f990 | |||
35a83744e7 | |||
b083b134e7 | |||
e6eea17b12 | |||
93313aac23 | |||
f37cf0ffc9 | |||
1ed5331e84 | |||
bfe1815cbf | |||
a43093119e | |||
a3753d8f3b | |||
58809b2d21 | |||
992b9de505 | |||
6f603df7a6 | |||
ff5bd9306e | |||
df4c61861d | |||
53facbe9de | |||
6c46804f41 | |||
e9387a177e | |||
ee885d42de | |||
fbcae356d3 | |||
f366e49c32 | |||
ad861d3b45 | |||
2bbf5d0687 | |||
dd7a26e219 | |||
7bb7a7cb6f | |||
66487c9532 | |||
f2042a29cc | |||
dacef14214 | |||
e064d5c65f | |||
152b4a1b5d | |||
e149367445 | |||
cd70822994 | |||
0d6e7de031 | |||
b11b9ce788 | |||
d4332e2faf | |||
92e668e1d9 | |||
3d911cd511 | |||
ae23bedd24 | |||
2995b7d0c8 | |||
6e179f24ab | |||
f8f93d4b91 | |||
b6b43eb331 | |||
300102897a | |||
054eb351f1 | |||
1b441e7654 | |||
443021237a | |||
a0977cb92e | |||
b3c27bb164 | |||
e00562e7cf | |||
742260b55f | |||
580ddc44f3 | |||
4325f74f9d | |||
6d00fdf8c8 | |||
e26387656d | |||
d7622624aa |
9
.gitmodules
vendored
9
.gitmodules
vendored
@ -16,7 +16,7 @@
|
|||||||
[submodule "modules/prompt/external/agnoster"]
|
[submodule "modules/prompt/external/agnoster"]
|
||||||
path = modules/prompt/external/agnoster
|
path = modules/prompt/external/agnoster
|
||||||
url = https://github.com/agnoster/agnoster-zsh-theme.git
|
url = https://github.com/agnoster/agnoster-zsh-theme.git
|
||||||
[submodule "modules/prompt/functions/pure"]
|
[submodule "modules/prompt/external/pure"]
|
||||||
path = modules/prompt/external/pure
|
path = modules/prompt/external/pure
|
||||||
url = https://github.com/sindresorhus/pure.git
|
url = https://github.com/sindresorhus/pure.git
|
||||||
[submodule "modules/fasd/external"]
|
[submodule "modules/fasd/external"]
|
||||||
@ -25,6 +25,7 @@
|
|||||||
[submodule "modules/prompt/external/async"]
|
[submodule "modules/prompt/external/async"]
|
||||||
path = modules/prompt/external/async
|
path = modules/prompt/external/async
|
||||||
url = https://github.com/mafredri/zsh-async.git
|
url = https://github.com/mafredri/zsh-async.git
|
||||||
[submodule "modules/prompt/external/powerlevel9k"]
|
[submodule "modules/prompt/external/powerlevel10k"]
|
||||||
path = modules/prompt/external/powerlevel9k
|
path = modules/prompt/external/powerlevel10k
|
||||||
url = https://github.com/bhilburn/powerlevel9k.git
|
url = https://github.com/romkatv/powerlevel10k.git
|
||||||
|
shallow = true
|
||||||
|
@ -1,42 +1,41 @@
|
|||||||
Contributing
|
# Contributing
|
||||||
------------
|
|
||||||
|
|
||||||
This project would not exist without all of its users and [contributors][1].
|
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
|
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.
|
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 reported.
|
||||||
- Check that the issue has not already been fixed in the latest code.
|
- 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,
|
- Open an issue with a clear title and description in grammatically correct,
|
||||||
complete sentences.
|
complete sentences.
|
||||||
|
|
||||||
### Pull Request
|
## Pull Request
|
||||||
|
|
||||||
- Read [how to properly contribute to open source projects on GitHub][2].
|
- 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.
|
- Use a topic branch to easily amend a pull request later, if necessary.
|
||||||
- Write [good commit messages][3].
|
- Write [good commit messages][3].
|
||||||
- Squash commits on the topic branch before opening a pull request.
|
- Squash commits on the topic branch before opening a pull request.
|
||||||
- Use the same coding style and spacing.
|
- Use the same coding style and spacing.
|
||||||
- Open a [pull request][4] that relates to but one subject with a clear
|
- Open a [pull request][4] that relates to but one subject with a clear title
|
||||||
title and description in grammatically correct, complete sentences.
|
and description in grammatically correct, complete sentences.
|
||||||
|
|
||||||
#### Code Style
|
### Code Style
|
||||||
|
|
||||||
This project follows the [Google Shell Style Guide][5] when possible. However,
|
This project follows the [Google Shell Style Guide][5] when possible. However,
|
||||||
there are a number of additional things to keep in mind.
|
there are a number of additional things to keep in mind.
|
||||||
|
|
||||||
- Local variables should be used whenever possible.
|
- Local variables should be used whenever possible.
|
||||||
- Prefer `zstyle` over environment variables for configuration.
|
- Prefer `zstyle` over environment variables for configuration.
|
||||||
- Prefer (( ... )) over [[ ... ]] for arithmetic expression.
|
- Prefer (( ... )) over [[ ... ]] for arithmetic expression.
|
||||||
- Use the function keyword to define functions.
|
- Use the function keyword to define functions.
|
||||||
- The 80 character hard limit can be waved for readability.
|
- The 80 character hard limit can be waived for readability.
|
||||||
|
|
||||||
#### Using an Alternative zprezto Directory
|
### Using an Alternative *zprezto* Directory
|
||||||
|
|
||||||
To work on zprezto without messing with your current configuration:
|
To work on Prezto without affecting your current configuration:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
mkdir devel-zprezto
|
mkdir devel-zprezto
|
||||||
@ -52,24 +51,24 @@ done
|
|||||||
|
|
||||||
Then to start zsh in this development environment you will run:
|
Then to start zsh in this development environment you will run:
|
||||||
|
|
||||||
```sh
|
```console
|
||||||
ZDOTDIR=/path/to/devel-zprezto zsh
|
ZDOTDIR=/path/to/devel-zprezto zsh
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Modules
|
### Modules
|
||||||
|
|
||||||
- A *README.md* must be present.
|
- A *README.md* must be present.
|
||||||
- Large functions must be placed in a *functions* directory.
|
- Large functions must be placed in a *functions* directory.
|
||||||
- Functions that take arguments must have completion.
|
- Functions that take arguments must have completion.
|
||||||
|
|
||||||
#### Themes
|
### Themes
|
||||||
|
|
||||||
- A screenshots section must be present in the file header.
|
- A screenshots section must be present in the file header.
|
||||||
- The pull request description must have [embedded screenshots][6].
|
- The pull request description must have [embedded screenshots][6].
|
||||||
|
|
||||||
[1]: https://github.com/sorin-ionescu/prezto/contributors
|
[1]: https://github.com/sorin-ionescu/prezto/contributors
|
||||||
[2]: http://gun.io/blog/how-to-github-fork-branch-and-pull-request
|
[2]: https://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
|
[3]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
|
||||||
[4]: https://help.github.com/articles/using-pull-requests
|
[4]: https://help.github.com/articles/using-pull-requests
|
||||||
[5]: https://google.github.io/styleguide/shell.xml
|
[5]: https://google.github.io/styleguide/shell.xml
|
||||||
[6]: http://daringfireball.net/projects/markdown/syntax#img
|
[6]: https://github.github.com/gfm/#images
|
||||||
|
15
INSTALL.md
Normal file
15
INSTALL.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
|
||||||
|
# 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.
|
179
README.md
179
README.md
@ -1,131 +1,158 @@
|
|||||||
Prezto — Instantly Awesome Zsh
|
# Prezto — Instantly Awesome Zsh
|
||||||
==============================
|
|
||||||
|
|
||||||
Prezto is the configuration framework for [Zsh][1]; it enriches the command line
|
Prezto is the configuration framework for [Zsh][1]; it enriches the command line
|
||||||
interface environment with sane defaults, aliases, functions, auto completion,
|
interface environment with sane defaults, aliases, functions, auto completion,
|
||||||
and prompt themes.
|
and prompt themes.
|
||||||
|
|
||||||
Installation
|
## Installation
|
||||||
------------
|
|
||||||
|
|
||||||
Prezto will work with any recent release of Zsh, but the minimum required
|
Prezto will work with any recent release of Zsh, but the minimum required
|
||||||
version is 4.3.11.
|
version is **4.3.11**.
|
||||||
|
|
||||||
1. Launch Zsh:
|
01. Launch Zsh:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
zsh
|
zsh
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Clone the repository:
|
02. Clone the repository:
|
||||||
|
|
||||||
```console
|
```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"
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Create a new Zsh configuration by copying the Zsh configuration files
|
<details>
|
||||||
provided:
|
<summary><em>Optional: Installing in <code>$XDG_CONFIG_HOME</code></em></summary>
|
||||||
|
|
||||||
```sh
|
Optionally, if you already have `$XDG_CONFIG_HOME` configured (usually as
|
||||||
setopt EXTENDED_GLOB
|
_`$HOME/.config`_ by default) and intend to install Prezto under
|
||||||
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
|
_`$XDG_CONFIG_HOME/zsh`_ instead, you can clone the repository there and
|
||||||
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
|
configure `$ZDOTDIR` separately if not already configured.
|
||||||
done
|
|
||||||
```
|
|
||||||
|
|
||||||
Note: If you already have any of the given config files, ln will error. In
|
- Clone the repository:
|
||||||
simple cases you can add `source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"` to
|
|
||||||
the bottom of your `.zshrc` to load prezto but keep your config intact. For
|
|
||||||
more complicated setups, it is recommended that you back up your original
|
|
||||||
configs and replace them with the provided prezto runcoms.
|
|
||||||
|
|
||||||
4. Set Zsh as your default shell:
|
```console
|
||||||
|
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-${XDG_CONFIG_HOME:-$HOME/.config}/zsh}/.zprezto"
|
||||||
|
```
|
||||||
|
|
||||||
```console
|
- Configure `$XDG_CONFIG_HOME` and `$ZDOTDIR` in _`$HOME/.zshenv`_:
|
||||||
chsh -s /bin/zsh
|
|
||||||
```
|
|
||||||
|
|
||||||
5. Open a new Zsh terminal window or tab.
|
```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.
|
||||||
|
|
||||||
### Troubleshooting
|
### Troubleshooting
|
||||||
|
|
||||||
If you are not able to find certain commands after switching to *Prezto*,
|
If you are not able to find certain commands after switching to Prezto, modify
|
||||||
modify the `PATH` variable in *~/.zprofile* then open a new Zsh terminal
|
the `PATH` variable in _`${ZDOTDIR:-$HOME}/.zprofile`_ then open a new Zsh
|
||||||
window or tab.
|
terminal window or tab.
|
||||||
|
|
||||||
Updating
|
## Updating
|
||||||
--------
|
|
||||||
|
|
||||||
Run `zprezto-update` to automatically check if there is an update to zprezto.
|
Run `zprezto-update` to automatically check if there is an update to Prezto.
|
||||||
If there are no file conflicts, zprezto and its submodules will be
|
If there are no file conflicts, Prezto and its submodules will be automatically
|
||||||
automatically updated. If there are conflicts you will instructed to go into
|
updated. If there are conflicts you will be instructed to go into the
|
||||||
the `$ZPREZTODIR` directory and resolve them yourself.
|
`$ZPREZTODIR` directory and resolve them yourself.
|
||||||
|
|
||||||
To pull the latest changes and update submodules manually:
|
To pull the latest changes and update submodules manually:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
cd $ZPREZTODIR
|
cd $ZPREZTODIR
|
||||||
git pull
|
git pull
|
||||||
|
git submodule sync --recursive
|
||||||
git submodule update --init --recursive
|
git submodule update --init --recursive
|
||||||
```
|
```
|
||||||
|
|
||||||
Usage
|
## Usage
|
||||||
-----
|
|
||||||
|
|
||||||
Prezto has many features disabled by default. Read the source code and
|
Prezto has many features disabled by default. Read the source code and the
|
||||||
accompanying README files to learn of what is available.
|
accompanying README files to learn about what is available.
|
||||||
|
|
||||||
### Modules
|
### Modules
|
||||||
|
|
||||||
1. Browse */modules* to see what is available.
|
01. Browse [_`modules`_][9] to see what is available.
|
||||||
2. Load the modules you need in *~/.zpreztorc* then open a new Zsh terminal
|
02. Load the modules you need in _`${ZDOTDIR:-$HOME}/.zpreztorc`_ and then open
|
||||||
window or tab.
|
a new Zsh terminal window or tab.
|
||||||
|
|
||||||
### Themes
|
### Themes
|
||||||
|
|
||||||
1. For a list of themes, type `prompt -l`.
|
01. For a list of themes, type `prompt -l`.
|
||||||
2. To preview a theme, type `prompt -p name`.
|
02. To preview a theme, type `prompt -p name`.
|
||||||
3. Load the theme you like in *~/.zpreztorc* then open a new Zsh terminal
|
03. Load the theme you like in _`${ZDOTDIR:-$HOME}/.zpreztorc`_ and then
|
||||||
window or tab.
|
open a new Zsh terminal window or tab.
|
||||||
|
|
||||||
![sorin theme][2]
|
![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.
|
||||||
|
|
||||||
### External Modules
|
### External Modules
|
||||||
|
|
||||||
1. By default modules will be loaded from */modules* and */contrib*.
|
01. By default modules will be loaded from [_`/modules`_][9] and _`/contrib`_.
|
||||||
2. Additional module directories can be added to the
|
02. Additional module directories can be added to the
|
||||||
`:prezto:load:pmodule-dirs` setting in *~/.zpreztorc*.
|
`:prezto:load:pmodule-dirs` setting in _`${ZDOTDIR:-$HOME}/.zpreztorc`_.
|
||||||
|
|
||||||
Note that module names need to be unique or they will cause an error when
|
Note that module names need to be unique or they will cause an error when
|
||||||
loading.
|
loading.
|
||||||
|
|
||||||
```console
|
```sh
|
||||||
zstyle ':prezto:load' pmodule-dirs $HOME/.zprezto-contrib
|
zstyle ':prezto:load' pmodule-dirs $HOME/.zprezto-contrib
|
||||||
```
|
```
|
||||||
|
|
||||||
Customization
|
## Customization
|
||||||
-------------
|
|
||||||
|
|
||||||
The project is managed via [Git][3]. It is highly recommended that you fork this
|
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 [GitHub][4] to
|
project so that you can commit your changes and push them to your fork on
|
||||||
not lose them. If you do not know how to use Git, follow this [tutorial][5] and
|
[GitHub][4] to preserve them. If you do not know how to use Git, follow this
|
||||||
bookmark this [reference][6].
|
[tutorial][5] and bookmark this [reference][6].
|
||||||
|
|
||||||
Resources
|
## Resources
|
||||||
---------
|
|
||||||
|
|
||||||
The [Zsh Reference Card][7] and the [zsh-lovers][8] man page are indispensable.
|
The [Zsh Reference Card][7] and the [zsh-lovers][8] man page are indispensable.
|
||||||
|
|
||||||
License
|
## License
|
||||||
-------
|
|
||||||
|
|
||||||
This project is licensed under the MIT License.
|
This project is licensed under the MIT License.
|
||||||
|
|
||||||
[1]: http://www.zsh.org
|
[1]: https://www.zsh.org
|
||||||
[2]: http://i.imgur.com/nrGV6pg.png "sorin theme"
|
[2]: https://i.imgur.com/nrGV6pg.png "sorin theme"
|
||||||
[3]: http://git-scm.com
|
[3]: https://git-scm.com
|
||||||
[4]: https://github.com
|
[4]: https://github.com
|
||||||
[5]: http://gitimmersion.com
|
[5]: https://gitimmersion.com
|
||||||
[6]: http://gitref.org
|
[6]: https://git.github.io/git-reference/
|
||||||
[7]: http://www.bash2zsh.com/zsh_refcard/refcard.pdf
|
[7]: http://www.bash2zsh.com/zsh_refcard/refcard.pdf
|
||||||
[8]: http://grml.org/zsh/zsh-lovers.html
|
[8]: https://grml.org/zsh/zsh-lovers.html
|
||||||
|
[9]: modules#readme
|
||||||
|
[10]: runcoms#readme
|
||||||
|
[11]: modules/git#readme
|
||||||
|
34
init.zsh
34
init.zsh
@ -17,20 +17,6 @@ if ! autoload -Uz is-at-least || ! is-at-least "$min_zsh_version"; then
|
|||||||
fi
|
fi
|
||||||
unset min_zsh_version
|
unset min_zsh_version
|
||||||
|
|
||||||
# Change the resolution of the SECONDS variable to be more useful for debugging.
|
|
||||||
typeset -F SECONDS
|
|
||||||
|
|
||||||
# logging convenience, mostly meant for debugging performance issues.
|
|
||||||
function pdebuglog {
|
|
||||||
if ! zstyle -t ":prezto" debug; then
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
local format="$1"
|
|
||||||
shift
|
|
||||||
printf "[%f] $format\n" $SECONDS "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# zprezto convenience updater
|
# zprezto convenience updater
|
||||||
# The function is surrounded by ( ) instead of { } so it starts in a subshell
|
# The function is surrounded by ( ) instead of { } so it starts in a subshell
|
||||||
# and won't affect the environment of the calling shell
|
# and won't affect the environment of the calling shell
|
||||||
@ -58,7 +44,8 @@ function zprezto-update {
|
|||||||
printf "There is an update available. Trying to pull.\n\n"
|
printf "There is an update available. Trying to pull.\n\n"
|
||||||
if git pull --ff-only; then
|
if git pull --ff-only; then
|
||||||
printf "Syncing submodules\n"
|
printf "Syncing submodules\n"
|
||||||
git submodule update --recursive
|
git submodule sync --recursive
|
||||||
|
git submodule update --init --recursive
|
||||||
return $?
|
return $?
|
||||||
else
|
else
|
||||||
cannot-fast-forward
|
cannot-fast-forward
|
||||||
@ -107,25 +94,25 @@ function pmodload {
|
|||||||
|
|
||||||
# Load Prezto modules.
|
# Load Prezto modules.
|
||||||
for pmodule in "$pmodules[@]"; do
|
for pmodule in "$pmodules[@]"; do
|
||||||
pdebuglog "Started loading %q" $pmodule
|
|
||||||
if zstyle -t ":prezto:module:$pmodule" loaded 'yes' 'no'; then
|
if zstyle -t ":prezto:module:$pmodule" loaded 'yes' 'no'; then
|
||||||
pdebuglog "Module %q already loaded" $pmodule
|
|
||||||
continue
|
continue
|
||||||
else
|
else
|
||||||
locations=(${pmodule_dirs:+${^pmodule_dirs}/$pmodule(-/FN)})
|
locations=(${pmodule_dirs:+${^pmodule_dirs}/$pmodule(-/FN)})
|
||||||
if (( ${#locations} > 1 )); then
|
if (( ${#locations} > 1 )); then
|
||||||
print "$0: conflicting module locations: $locations"
|
if ! zstyle -t ':prezto:load' pmodule-allow-overrides 'yes'; then
|
||||||
continue
|
print "$0: conflicting module locations: $locations"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
elif (( ${#locations} < 1 )); then
|
elif (( ${#locations} < 1 )); then
|
||||||
print "$0: no such module: $pmodule"
|
print "$0: no such module: $pmodule"
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Grab the full path to this module
|
# Grab the full path to this module
|
||||||
pmodule_location=${locations[1]}
|
pmodule_location=${locations[-1]}
|
||||||
|
|
||||||
# Add functions to $fpath.
|
# Add functions to $fpath.
|
||||||
fpath=(${pmodule_location}/functions(/FN) $fpath)
|
fpath=(${pmodule_location}/functions(-/FN) $fpath)
|
||||||
|
|
||||||
function {
|
function {
|
||||||
local pfunction
|
local pfunction
|
||||||
@ -147,7 +134,6 @@ function pmodload {
|
|||||||
|
|
||||||
if (( $? == 0 )); then
|
if (( $? == 0 )); then
|
||||||
zstyle ":prezto:module:$pmodule" loaded 'yes'
|
zstyle ":prezto:module:$pmodule" loaded 'yes'
|
||||||
pdebuglog "Module %q loaded" $pmodule
|
|
||||||
else
|
else
|
||||||
# Remove the $fpath entry.
|
# Remove the $fpath entry.
|
||||||
fpath[(r)${pmodule_location}/functions]=()
|
fpath[(r)${pmodule_location}/functions]=()
|
||||||
@ -165,7 +151,6 @@ function pmodload {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
pdebuglog "Module %q failed to load" $pmodule
|
|
||||||
zstyle ":prezto:module:$pmodule" loaded 'no'
|
zstyle ":prezto:module:$pmodule" loaded 'no'
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@ -198,6 +183,9 @@ zstyle -a ':prezto:load' zmodule 'zmodules'
|
|||||||
for zmodule ("$zmodules[@]") zmodload "zsh/${(z)zmodule}"
|
for zmodule ("$zmodules[@]") zmodload "zsh/${(z)zmodule}"
|
||||||
unset zmodule{s,}
|
unset zmodule{s,}
|
||||||
|
|
||||||
|
# Load more specific 'run-help' function from $fpath.
|
||||||
|
(( $+aliases[run-help] )) && unalias run-help && autoload -Uz run-help
|
||||||
|
|
||||||
# Autoload Zsh functions.
|
# Autoload Zsh functions.
|
||||||
zstyle -a ':prezto:load' zfunction 'zfunctions'
|
zstyle -a ':prezto:load' zfunction 'zfunctions'
|
||||||
for zfunction ("$zfunctions[@]") autoload -Uz "$zfunction"
|
for zfunction ("$zfunctions[@]") autoload -Uz "$zfunction"
|
||||||
|
@ -1,206 +1,166 @@
|
|||||||
Modules
|
# Modules
|
||||||
=======
|
|
||||||
|
|
||||||
Load modules in *zpreztorc*. The order matters.
|
Load modules in _`${ZDOTDIR:-$HOME}/.zpreztorc`_. The order matters.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zstyle ':prezto:load' pmodule 'environment' 'terminal'
|
zstyle ':prezto:load' pmodule 'environment' 'terminal'
|
||||||
```
|
```
|
||||||
|
|
||||||
Archive
|
## Archive
|
||||||
-------
|
|
||||||
|
|
||||||
Provides functions to list and extract archives.
|
Provides functions to list and extract archives.
|
||||||
|
|
||||||
Autosuggestions
|
## Autosuggestions
|
||||||
---------------
|
|
||||||
|
|
||||||
Integrates zsh-autosuggestions into Prezto.
|
Integrates zsh-autosuggestions into Prezto.
|
||||||
|
|
||||||
Command-Not-Found
|
## Command-Not-Found
|
||||||
-----------------
|
|
||||||
|
|
||||||
Loads the command-not-found tool on Debian-based distributions.
|
Loads the command-not-found tool on macOS or Debian-based distributions.
|
||||||
|
|
||||||
Completion
|
## Completion
|
||||||
----------
|
|
||||||
|
|
||||||
Loads and configures tab completion and provides additional completions from
|
Loads and configures <kbd>TAB</kbd> completion and provides additional
|
||||||
the zsh-completions project.
|
completions from the zsh-completions project.
|
||||||
|
|
||||||
Directory
|
## Directory
|
||||||
---------
|
|
||||||
|
|
||||||
Sets directory options and defines directory aliases.
|
Sets directory options and defines directory aliases.
|
||||||
|
|
||||||
DNF
|
## DNF
|
||||||
---
|
|
||||||
|
|
||||||
Defines dnf aliases.
|
Defines _dnf_ aliases.
|
||||||
|
|
||||||
Dpkg
|
## Dpkg
|
||||||
----
|
|
||||||
|
|
||||||
Defines dpkg aliases and functions.
|
Defines _dpkg_ aliases and functions.
|
||||||
|
|
||||||
Editor
|
## Editor
|
||||||
------
|
|
||||||
|
|
||||||
Sets key bindings.
|
Sets key bindings.
|
||||||
|
|
||||||
Emacs
|
## Emacs
|
||||||
-----
|
|
||||||
|
|
||||||
Enables Emacs dependency management.
|
Enables Emacs dependency management.
|
||||||
|
|
||||||
Environment
|
## Environment
|
||||||
-----------
|
|
||||||
|
|
||||||
Sets general shell options and defines environment variables.
|
Sets general shell options and defines environment variables.
|
||||||
|
|
||||||
Fasd
|
## Fasd
|
||||||
----
|
|
||||||
|
|
||||||
Maintains a frequently used file and directory list for fast access.
|
Maintains a frequently used file and directory list for fast access.
|
||||||
|
|
||||||
Git
|
## Git
|
||||||
---
|
|
||||||
|
|
||||||
Enhances the Git distributed version control system by providing aliases,
|
Enhances the Git distributed version control system by providing aliases,
|
||||||
functions and by exposing repository status information to prompts.
|
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.
|
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.
|
Provides for an easier use of GPG by setting up gpg-agent.
|
||||||
|
|
||||||
Haskell
|
## Haskell
|
||||||
-------
|
|
||||||
|
|
||||||
Enables local Haskell package installation.
|
Enables local Haskell package installation.
|
||||||
|
|
||||||
Helper
|
## Helper
|
||||||
------
|
|
||||||
|
|
||||||
Provides helper functions for developing modules.
|
Provides helper functions for developing modules.
|
||||||
|
|
||||||
History
|
## History
|
||||||
-------
|
|
||||||
|
|
||||||
Sets history options and defines history aliases.
|
Sets history options and defines history aliases.
|
||||||
|
|
||||||
History Substring Search
|
## History Substring Search
|
||||||
------------------------
|
|
||||||
|
|
||||||
Integrates zsh-history-substring-search into Prezto.
|
Integrates zsh-history-substring-search into Prezto.
|
||||||
|
|
||||||
Homebrew
|
## Homebrew
|
||||||
--------
|
|
||||||
|
|
||||||
Defines Homebrew aliases.
|
Defines Homebrew aliases.
|
||||||
|
|
||||||
MacPorts
|
## MacPorts
|
||||||
--------
|
|
||||||
|
|
||||||
Defines MacPorts aliases and adds MacPorts directories to path variables.
|
Defines MacPorts aliases and adds MacPorts directories to path variables.
|
||||||
|
|
||||||
Node.js
|
## Node.js
|
||||||
-------
|
|
||||||
|
|
||||||
Provides utility functions for Node.js and loads npm completion.
|
Provides utility functions for Node.js and loads npm completion.
|
||||||
|
|
||||||
OCaml
|
## OCaml
|
||||||
-----
|
|
||||||
|
|
||||||
Initializes OCaml package management.
|
Initializes OCaml package management.
|
||||||
|
|
||||||
OSX
|
## OSX
|
||||||
---
|
|
||||||
|
|
||||||
Defines Mac OS X aliases and functions.
|
Defines macOS aliases and functions.
|
||||||
|
|
||||||
Pacman
|
## Pacman
|
||||||
------
|
|
||||||
|
|
||||||
Provides aliases and functions for the Pacman package manager and frontends.
|
Provides aliases and functions for the Pacman package manager and frontends.
|
||||||
|
|
||||||
Perl
|
## Perl
|
||||||
----
|
|
||||||
|
|
||||||
Enables local Perl module installation on Mac OS X and defines alises.
|
Enables local Perl module installation on macOS and defines alises.
|
||||||
|
|
||||||
Prompt
|
## Prompt
|
||||||
------
|
|
||||||
|
|
||||||
Loads prompt themes.
|
Loads prompt themes.
|
||||||
|
|
||||||
Python
|
## Python
|
||||||
------
|
|
||||||
|
|
||||||
Enables local Python and local Python package installation.
|
Enables local Python and local Python package installation.
|
||||||
|
|
||||||
Ruby on Rails
|
## Ruby on Rails
|
||||||
-------------
|
|
||||||
|
|
||||||
Defines Ruby on Rails aliases.
|
Defines Ruby on Rails aliases.
|
||||||
|
|
||||||
Rsync
|
## Rsync
|
||||||
-----
|
|
||||||
|
|
||||||
Defines rsync aliases.
|
Defines rsync aliases.
|
||||||
|
|
||||||
Ruby
|
## Ruby
|
||||||
----
|
|
||||||
|
|
||||||
Configures Ruby local gem installation, loads version managers, and defines
|
Configures Ruby local gem installation, loads version managers, and defines
|
||||||
aliases.
|
aliases.
|
||||||
|
|
||||||
GNU Screen
|
## GNU Screen
|
||||||
----------
|
|
||||||
|
|
||||||
Defines GNU Screen aliases and provides for auto launching it at start-up.
|
Defines GNU Screen aliases and provides for auto launching it at start-up.
|
||||||
|
|
||||||
Spectrum
|
## Spectrum
|
||||||
--------
|
|
||||||
|
|
||||||
Provides for easier use of 256 colors and effects.
|
Provides for easier use of 256 colors and effects.
|
||||||
|
|
||||||
SSH
|
## SSH
|
||||||
---
|
|
||||||
|
|
||||||
Provides for an easier use of SSH by setting up ssh-agent.
|
Provides for an easier use of SSH by setting up ssh-agent.
|
||||||
|
|
||||||
Syntax Highlighting
|
## Syntax Highlighting
|
||||||
-------------------
|
|
||||||
|
|
||||||
Integrates zsh-syntax-highlighting into Prezto.
|
Integrates zsh-syntax-highlighting into Prezto.
|
||||||
|
|
||||||
Terminal
|
## Terminal
|
||||||
--------
|
|
||||||
|
|
||||||
Sets terminal window and tab titles.
|
Sets terminal window and tab titles.
|
||||||
|
|
||||||
Tmux
|
## Tmux
|
||||||
----
|
|
||||||
|
|
||||||
Defines tmux aliases and provides for auto launching it at start-up.
|
Defines tmux aliases and provides for auto launching it at start-up.
|
||||||
|
|
||||||
Utility
|
## Utility
|
||||||
-------
|
|
||||||
|
|
||||||
Defines general aliases and functions.
|
Defines general aliases and functions.
|
||||||
|
|
||||||
Wake-on-LAN
|
## Wake-on-LAN
|
||||||
-----------
|
|
||||||
|
|
||||||
This module provides a wrapper around the wakeonlan tool.
|
This module provides a wrapper around the wakeonlan tool.
|
||||||
|
|
||||||
Yum
|
## Yum
|
||||||
---
|
|
||||||
|
|
||||||
Defines yum aliases.
|
Defines yum aliases.
|
||||||
|
@ -1,52 +1,53 @@
|
|||||||
Archive
|
# Archive
|
||||||
=======
|
|
||||||
|
|
||||||
Provides functions to create, list, and extract archives.
|
Provides functions to create, list, and extract archives.
|
||||||
|
|
||||||
Functions
|
This module must be loaded _before_ the [_`completion`_][1] module so that the
|
||||||
---------
|
provided completion definitions are loaded automatically by _`completion`_
|
||||||
|
module.
|
||||||
|
|
||||||
- `archive` creates an archive based on the provided archive name.
|
## Functions
|
||||||
- `lsarchive` lists the contents of one or more archives.
|
|
||||||
- `unarchive` extracts the contents of one or more archives.
|
|
||||||
|
|
||||||
Supported Formats
|
- `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
|
The following archive formats are supported when the required utilities are
|
||||||
installed:
|
installed:
|
||||||
|
|
||||||
- *.tar.gz*, *.tgz* require `tar` (optionally `pigz`).
|
- _.tar.gz_, _.tgz_ require `tar` (optionally `pigz`).
|
||||||
- *.tar.bz2*, *.tbz* require `tar` (optionally `pbzip2`).
|
- _.tar.bz2_, _.tbz_ require `tar` (optionally `pbzip2`).
|
||||||
- *.tar.xz*, *.txz* require `tar` with *xz* support.
|
- _.tar.xz_, _.txz_ require `tar` with _xz_ support.
|
||||||
- *.tar.zma*, *.tlz* require `tar` with *lzma* support.
|
- _.tar.zma_, _.tlz_ require `tar` with _lzma_ support.
|
||||||
- *.tar* requires `tar`.
|
- _.tar_ requires `tar`.
|
||||||
- *.gz* requires `gunzip`.
|
- _.gz_ requires `gunzip`.
|
||||||
- *.bz2* requires `bunzip2`.
|
- _.bz2_ requires `bunzip2`.
|
||||||
- *.xz* requires `unxz`.
|
- _.xz_ requires `unxz`.
|
||||||
- *.lzma* requires `unlzma`.
|
- _.lzma_ requires `unlzma`.
|
||||||
- *.Z* requires `uncompress`.
|
- _.Z_ requires `uncompress`.
|
||||||
- *.zip*, *.jar* requires `unzip`.
|
- _.zip_, _.jar_ requires `unzip`.
|
||||||
- *.rar* requires `rar` (needed for `archive` support), `unrar` or `lsar` and `unar`.
|
- _.rar_ requires `rar` (needed for `archive` support), `unrar` or `lsar` and `unar`.
|
||||||
- *.7z* requires `7za`.
|
- _.7z_ requires `7za`.
|
||||||
- *.deb* requires `ar`, `tar`.
|
- _.deb_ requires `ar`, `tar`.
|
||||||
|
|
||||||
Additionally, if `pigz` and/or `pbzip2` are installed, `archive` will use them over
|
Additionally, if `pigz` and/or `pbzip2` are installed, `archive` will use them
|
||||||
their traditional counterparts, `gzip` and `bzip2` respectively, to take full advantage
|
over their traditional counterparts, `gzip` and `bzip2` respectively, to take
|
||||||
of all available CPU cores for compression.
|
full advantage of all available CPU cores for compression.
|
||||||
|
|
||||||
Alternatives
|
## Alternatives
|
||||||
------------
|
|
||||||
|
|
||||||
Specifically on macOS, [The Unarchiver][1] provides a similar command line tool
|
Specifically on macOS, [The Unarchiver][2] provides a similar command line tool
|
||||||
which doesn't depend on a number of other programs being installed.
|
which doesn't depend on a number of other programs being installed.
|
||||||
|
|
||||||
Authors
|
## Authors
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][1].*
|
_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)
|
||||||
- [Matt Hamilton](https://github.com/Eriner)
|
- [Matt Hamilton](https://github.com/Eriner)
|
||||||
|
|
||||||
[1]: https://theunarchiver.com/command-line
|
[1]: ../completion#readme
|
||||||
|
[2]: https://theunarchiver.com/command-line
|
||||||
|
[3]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
@ -10,4 +10,4 @@
|
|||||||
|
|
||||||
_arguments \
|
_arguments \
|
||||||
'(-v --verbose)'{-v,--remove}'[verbose archive listing]' \
|
'(-v --verbose)'{-v,--remove}'[verbose archive listing]' \
|
||||||
"*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|jar|rar|7z)(-.)'" && return 0
|
"*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|zst|jar|rar|7z)(-.)'" && return 0
|
||||||
|
@ -10,4 +10,4 @@
|
|||||||
|
|
||||||
_arguments \
|
_arguments \
|
||||||
'(-r --remove)'{-r,--remove}'[remove archive]' \
|
'(-r --remove)'{-r,--remove}'[remove archive]' \
|
||||||
"*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|jar|rar|7z|deb)(-.)'" && return 0
|
"*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|zst|jar|rar|7z|deb)(-.)'" && return 0
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
#
|
#
|
||||||
# Creates archive file
|
# Creates archive file
|
||||||
#
|
#
|
||||||
@ -8,15 +7,15 @@
|
|||||||
|
|
||||||
# function archive {
|
# function archive {
|
||||||
|
|
||||||
local archive_name dir_to_archive _gzip_bin _bzip2_bin
|
local archive_name path_to_archive _gzip_bin _bzip2_bin _xz_bin _zstd_bin
|
||||||
|
|
||||||
if (( $# != 2 )); then
|
if (( $# < 2 )); then
|
||||||
cat >&2 <<EOF
|
cat >&2 <<EOF
|
||||||
usage: $0 [archive_name.zip] [/path/to/include/into/archive]
|
usage: $0 [archive_name.zip] [/path/to/include/into/archive ...]
|
||||||
|
|
||||||
Where 'archive.zip' uses any of the following extensions:
|
Where 'archive.zip' uses any of the following extensions:
|
||||||
|
|
||||||
.tar.gz, .tar.bz2, .tar.xz, .tar.lzma, .tar, .zip, .rar, .7z
|
.tar.gz, .tar.bz2, .tar.xz, .tar.lzma, .tar.zst, .tar, .zip, .rar, .7z
|
||||||
|
|
||||||
There is no '-v' switch; all operations are verbose.
|
There is no '-v' switch; all operations are verbose.
|
||||||
EOF
|
EOF
|
||||||
@ -28,14 +27,8 @@ fi
|
|||||||
|
|
||||||
# strip the path, just in case one is provided for some reason
|
# strip the path, just in case one is provided for some reason
|
||||||
archive_name="${1:t}"
|
archive_name="${1:t}"
|
||||||
# use absolute paths, and follow symlinks
|
# let paths be handled by actual archive helper
|
||||||
dir_to_archive="${2}"
|
path_to_archive="${@:2}"
|
||||||
|
|
||||||
# if the directory doesn't exist, quit. Nothing to archive
|
|
||||||
if [[ ! -e "${dir_to_archive}" ]]; then
|
|
||||||
print "$0: file or directory not valid: ${dir_to_archive}" >&2
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# here, we check for dropin/multi-threaded replacements
|
# here, we check for dropin/multi-threaded replacements
|
||||||
# this should eventually be moved to modules/archive/init.zsh
|
# this should eventually be moved to modules/archive/init.zsh
|
||||||
@ -46,21 +39,32 @@ else
|
|||||||
_gzip_bin='gzip'
|
_gzip_bin='gzip'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if (( $+commands[pbzip2] )); then
|
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'
|
_bzip2_bin='pbzip2'
|
||||||
else
|
else
|
||||||
_bzip2_bin='bzip2'
|
_bzip2_bin='bzip2'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
_zstd_bin='zstd'
|
||||||
|
|
||||||
case "${archive_name}" in
|
case "${archive_name}" in
|
||||||
(*.tar.gz|*.tgz) tar -cvf "${archive_name}" --use-compress-program="${_gzip_bin}" "${dir_to_archive}" ;;
|
(*.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}" "${dir_to_archive}" ;;
|
(*.tar.bz2|*.tbz|*.tbz2) tar -cvf "${archive_name}" --use-compress-program="${_bzip2_bin}" "${=path_to_archive}" ;;
|
||||||
(*.tar.xz|*.txz) tar -cvJf "${archive_name}" "${dir_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 "${dir_to_archive}" ;;
|
(*.tar.lzma|*.tlz) tar -cvf "${archive_name}" --lzma "${=path_to_archive}" ;;
|
||||||
(*.tar) tar -cvf "${archive_name}" "${dir_to_archive}" ;;
|
(*.tar.zst|*.tzst) tar -cvf "${archive_name}" --use-compress-program="${_zstd_bin}" "${=path_to_archive}" ;;
|
||||||
(*.zip|*.jar) zip -r "${archive_name}" "${dir_to_archive}" ;;
|
(*.tar) tar -cvf "${archive_name}" "${=path_to_archive}" ;;
|
||||||
(*.rar) rar a "${archive_name}" "${dir_to_archive}" ;;
|
(*.zip|*.jar) zip -r "${archive_name}" "${=path_to_archive}" ;;
|
||||||
(*.7z) 7za a "${archive_name}" "${dir_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" ;;
|
(*.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" ;;
|
(*.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" ;;
|
(*.xz) print "\n.xz is only useful for single files, and does not capture permissions. Use .tar.xz" ;;
|
||||||
|
@ -41,6 +41,7 @@ while (( $# > 0 )); do
|
|||||||
(*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \
|
(*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \
|
||||||
&& tar --lzma -t${verbose:+v}f "$1" \
|
&& tar --lzma -t${verbose:+v}f "$1" \
|
||||||
|| lzcat "$1" | tar x${verbose:+v}f - ;;
|
|| 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" ;;
|
(*.tar) tar t${verbose:+v}f "$1" ;;
|
||||||
(*.zip|*.jar) unzip -l${verbose:+v} "$1" ;;
|
(*.zip|*.jar) unzip -l${verbose:+v} "$1" ;;
|
||||||
(*.rar) ( (( $+commands[unrar] )) \
|
(*.rar) ( (( $+commands[unrar] )) \
|
||||||
|
@ -12,6 +12,7 @@ local success
|
|||||||
local file_name
|
local file_name
|
||||||
local file_path
|
local file_path
|
||||||
local extract_dir
|
local extract_dir
|
||||||
|
local _gzip_bin _bzip2_bin _xz_bin _zstd_bin
|
||||||
|
|
||||||
if (( $# == 0 )); then
|
if (( $# == 0 )); then
|
||||||
cat >&2 <<EOF
|
cat >&2 <<EOF
|
||||||
@ -30,6 +31,31 @@ if [[ "$1" == "-r" || "$1" == "--remove" ]]; then
|
|||||||
shift
|
shift
|
||||||
fi
|
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 -d'
|
||||||
|
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
|
while (( $# > 0 )); do
|
||||||
if [[ ! -s "$1" ]]; then
|
if [[ ! -s "$1" ]]; then
|
||||||
print "$0: file not valid: $1" >&2
|
print "$0: file not valid: $1" >&2
|
||||||
@ -42,15 +68,14 @@ while (( $# > 0 )); do
|
|||||||
file_path="${1:A}"
|
file_path="${1:A}"
|
||||||
extract_dir="${file_name:r}"
|
extract_dir="${file_name:r}"
|
||||||
case "$1:l" in
|
case "$1:l" in
|
||||||
(*.tar.gz|*.tgz) tar xvzf "$1" ;;
|
(*.tar.gz|*.tgz) tar -xvf "$1" --use-compress-program="${_gzip_bin}" ;;
|
||||||
(*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;;
|
(*.tar.bz2|*.tbz|*.tbz2) tar -xvf "$1" --use-compress-program="${_bzip2_bin}" ;;
|
||||||
(*.tar.xz|*.txz) tar --xz --help &> /dev/null \
|
(*.tar.xz|*.txz) tar -xvf "$1" --use-compress-program="${_xz_bin}" ;;
|
||||||
&& tar --xz -xvf "$1" \
|
|
||||||
|| xzcat "$1" | tar xvf - ;;
|
|
||||||
(*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \
|
(*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \
|
||||||
&& tar --lzma -xvf "$1" \
|
&& tar --lzma -xvf "$1" \
|
||||||
|| lzcat "$1" | tar xvf - ;;
|
|| lzcat "$1" | tar -xvf - ;;
|
||||||
(*.tar) tar xvf "$1" ;;
|
(*.tar.zst|*.tzst) tar -xvf "$1" --use-compress-program="${_zstd_bin}" ;;
|
||||||
|
(*.tar) tar -xvf "$1" ;;
|
||||||
(*.gz) gunzip "$1" ;;
|
(*.gz) gunzip "$1" ;;
|
||||||
(*.bz2) bunzip2 "$1" ;;
|
(*.bz2) bunzip2 "$1" ;;
|
||||||
(*.xz) unxz "$1" ;;
|
(*.xz) unxz "$1" ;;
|
||||||
|
@ -1,58 +1,62 @@
|
|||||||
Autosuggestions
|
# Autosuggestions
|
||||||
---------------
|
|
||||||
|
|
||||||
Integrates zsh-autosuggestions into Prezto.
|
|
||||||
|
|
||||||
Autosuggestions
|
|
||||||
===============
|
|
||||||
|
|
||||||
Integrates [zsh-autosuggestions][1] into Prezto, which implements the
|
Integrates [zsh-autosuggestions][1] into Prezto, which implements the
|
||||||
[Fish shell][2]'s autosuggestions feature, where the user can type in any part
|
[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
|
of a previously entered command and Zsh suggests commands as you type based on
|
||||||
history and completions.
|
history and completions.
|
||||||
|
|
||||||
If this module is used in conjunction with the *syntax-highlighting* module,
|
If this module is used in conjunction with the [_`syntax-highlighting`_][3]
|
||||||
this module must be loaded **after** the *syntax-highlighting* module.
|
module, this module must be loaded _after_ the _`syntax-highlighting`_ module.
|
||||||
|
|
||||||
If this module is used in conjunction with the *history-substring-search*
|
Additionally, if this module is used in conjunction with the
|
||||||
module, this module must be loaded **after** the *history-substring-search*
|
[_`history-substring-search`_][4] module, this module must be loaded _after_ the
|
||||||
module.
|
_`history-substring-search`_ module as well.
|
||||||
|
|
||||||
Contributors
|
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]
|
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
|
project according to its rules and regulations. This module will be synchronized
|
||||||
against it.
|
against it.
|
||||||
|
|
||||||
Settings
|
## Settings
|
||||||
--------
|
|
||||||
|
|
||||||
### Highlighting
|
### Highlighting
|
||||||
|
|
||||||
If colors are enabled, *autosuggestions* will automatically highlight
|
If colors are enabled, _autosuggestions_ will automatically highlight
|
||||||
positive results.
|
positive results.
|
||||||
|
|
||||||
To enable highlighting for this module only, add the following line to
|
To enable highlighting for this module only, add the following line to
|
||||||
*zpreztorc*:
|
_`${ZDOTDIR:-$HOME}/.zpreztorc`_:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zstyle ':prezto:module:autosuggestions' color 'yes'
|
zstyle ':prezto:module:autosuggestions' color 'yes'
|
||||||
```
|
```
|
||||||
|
|
||||||
To set the query found color, add the following line to *zpreztorc*:
|
To set the query found color, add the following line to
|
||||||
|
_`${ZDOTDIR:-$HOME}/.zpreztorc`_:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zstyle ':prezto:module:autosuggestions:color' found ''
|
zstyle ':prezto:module:autosuggestions:color' found ''
|
||||||
```
|
```
|
||||||
|
|
||||||
Authors
|
## Troubleshooting
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][3].*
|
### Autosuggestions from previous sessions don't show up
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
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
|
[1]: https://github.com/tarruda/zsh-autosuggestions
|
||||||
[2]: http://fishshell.com
|
[2]: https://fishshell.com
|
||||||
[3]: https://github.com/sorin-ionescu/prezto/issues
|
[3]: ../syntax-highlighting#readme
|
||||||
|
[4]: ../history-substring-search#readme
|
||||||
|
[5]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
Submodule modules/autosuggestions/external updated: 15931f04ff...a411ef3e09
13
modules/aws/functions/_aws_switch_profile
Normal file
13
modules/aws/functions/_aws_switch_profile
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#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
|
33
modules/aws/functions/aws-info
Normal file
33
modules/aws/functions/aws-info
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
#
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# }
|
177
modules/aws/init.zsh
Normal file
177
modules/aws/init.zsh
Normal file
@ -0,0 +1,177 @@
|
|||||||
|
#
|
||||||
|
# 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_*"
|
||||||
|
}
|
@ -1,21 +1,21 @@
|
|||||||
Command-Not-Found
|
# Command-Not-Found
|
||||||
=================
|
|
||||||
|
|
||||||
When you try to use a command that is not available locally, searches
|
When you try to use a command that is not available locally, searches the
|
||||||
the package manager for a package offering that command and suggests
|
package manager for a package offering that command and suggests the proper
|
||||||
the proper install command.
|
install command.
|
||||||
|
|
||||||
Debian-based and Arch Linux-based distributions use the [`command-not-found`][1] tool.
|
Debian and Arch Linux based distributions use the [`command-not-found`][1] tool.
|
||||||
|
|
||||||
macOS uses Homebrew's [`command-not-found` clone][2]. Note that you also need to [follow the instructions to tap the `command-not-found` homebrew repository][3].
|
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
|
||||||
|
|
||||||
Authors
|
_The authors of this module should be contacted via the [issue tracker][4]._
|
||||||
-------
|
|
||||||
|
|
||||||
*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)
|
||||||
- [Joseph Booker](https://github.com/sargas)
|
|
||||||
|
|
||||||
[1]: https://code.launchpad.net/command-not-found
|
[1]: https://code.launchpad.net/command-not-found
|
||||||
[2]: https://github.com/Homebrew/homebrew-command-not-found
|
[2]: https://github.com/Homebrew/homebrew-command-not-found
|
||||||
|
@ -7,14 +7,16 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Load command-not-found on Debian-based distributions.
|
# Load command-not-found on Debian-based distributions.
|
||||||
if [[ -s '/etc/zsh_command_not_found' ]]; then
|
if [[ -s /etc/zsh_command_not_found ]]; then
|
||||||
source '/etc/zsh_command_not_found'
|
source /etc/zsh_command_not_found
|
||||||
# Load command-not-found on Arch Linux-based distributions.
|
# Load command-not-found on Arch Linux-based distributions.
|
||||||
elif [[ -s '/usr/share/doc/pkgfile/command-not-found.zsh' ]]; then
|
elif [[ -s /usr/share/doc/pkgfile/command-not-found.zsh ]]; then
|
||||||
source '/usr/share/doc/pkgfile/command-not-found.zsh'
|
source /usr/share/doc/pkgfile/command-not-found.zsh
|
||||||
# Load command-not-found on Mac OS X when homebrew tap is configured.
|
# Load command-not-found on macOS when Homebrew tap is configured.
|
||||||
elif (( $+commands[brew] )) && brew command command-not-found-init > /dev/null 2>&1; then
|
elif (( $+commands[brew] )) \
|
||||||
eval "$(brew command-not-found-init)"
|
&& [[ -s ${hb_cnf_handler::="${HOMEBREW_REPOSITORY:-$commands[brew]:A:h:h}/Library/Taps/homebrew/homebrew-command-not-found/handler.sh"} ]]; then
|
||||||
|
source "$hb_cnf_handler"
|
||||||
|
unset hb_cnf_handler
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
else
|
else
|
||||||
return 1
|
return 1
|
||||||
|
@ -1,40 +1,55 @@
|
|||||||
Completion
|
# Completion
|
||||||
==========
|
|
||||||
|
|
||||||
Loads and configures tab completion and provides additional completions from
|
Loads and configures <kbd>TAB</kbd> completion and provides additional
|
||||||
the [zsh-completions][1] project.
|
completions from the [zsh-completions][1] project.
|
||||||
|
|
||||||
This module must be loaded **after** the *utility* module.
|
This module must be loaded late _after_ the _`utility`_ module and all other
|
||||||
|
modules that provide completion definitions.
|
||||||
|
|
||||||
Settings
|
## Options
|
||||||
--------
|
|
||||||
|
|
||||||
### Ignore */etc/hosts* Entries
|
- `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.
|
||||||
|
|
||||||
To ignore certain entries from static */etc/hosts* for host completion, add the
|
## Variables
|
||||||
following lines in *zpreztorc* with the IP addresses of the hosts as they
|
|
||||||
appear in */etc/hosts*. Both IP address and the corresponding hostname will be
|
- `LS_COLORS` used by default for Zsh [standard style][2] 'list-colors'.
|
||||||
ignored during host completion. However, some of the entries ignored from
|
|
||||||
*/etc/hosts* still might appear during completion because of their presence in
|
## Settings
|
||||||
*ssh* configuration or history).
|
|
||||||
|
### 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
|
```sh
|
||||||
zstyle ':prezto:module:completion:*:hosts' etc-host-ignores \
|
zstyle ':prezto:module:completion:*:hosts' etc-host-ignores \
|
||||||
'0.0.0.0' '127.0.0.1'
|
'0.0.0.0' '127.0.0.1'
|
||||||
```
|
```
|
||||||
|
|
||||||
Contributors
|
## Contributors
|
||||||
------------
|
|
||||||
|
|
||||||
Completions should be submitted to the [zsh-completions][1] project according
|
Completions should be submitted to the [zsh-completions][1] project according to
|
||||||
to its rules and regulations. This module will be synchronized against it.
|
its rules and regulations. This module will be synchronized against it.
|
||||||
|
|
||||||
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][3]._
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
[1]: https://github.com/zsh-users/zsh-completions
|
[1]: https://github.com/zsh-users/zsh-completions
|
||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
|
[2]: https://zsh.sourceforge.net/Doc/Release/Completion-System.html#Standard-Styles
|
||||||
|
[3]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
Submodule modules/completion/external updated: 2a30b05a5c...11ad0a45ff
@ -7,46 +7,77 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
if [[ "$TERM" == 'dumb' ]]; then
|
if [[ $TERM == 'dumb' ]]; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Add zsh-completions to $fpath.
|
# Add zsh-completions to $fpath.
|
||||||
fpath=("${0:h}/external/src" $fpath)
|
fpath=(${0:h}/external/src $fpath)
|
||||||
|
|
||||||
|
# Add completion for keg-only brewed curl on macOS when available.
|
||||||
|
if (( $+commands[brew] )); then
|
||||||
|
brew_prefix=${HOMEBREW_PREFIX:-${HOMEBREW_REPOSITORY:-$commands[brew]:A:h:h}}
|
||||||
|
# $HOMEBREW_PREFIX defaults to $HOMEBREW_REPOSITORY but is explicitly set to
|
||||||
|
# /usr/local when $HOMEBREW_REPOSITORY is /usr/local/Homebrew.
|
||||||
|
# https://github.com/Homebrew/brew/blob/2a850e02d8f2dedcad7164c2f4b95d340a7200bb/bin/brew#L66-L69
|
||||||
|
[[ $brew_prefix == '/usr/local/Homebrew' ]] && brew_prefix=$brew_prefix:h
|
||||||
|
fpath=($brew_prefix/opt/curl/share/zsh/site-functions(/N) $fpath)
|
||||||
|
unset brew_prefix
|
||||||
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
# Options
|
# Options
|
||||||
#
|
#
|
||||||
|
|
||||||
setopt COMPLETE_IN_WORD # Complete from both ends of a word.
|
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 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 PATH_DIRS # Perform path search even on command names with slashes.
|
||||||
setopt AUTO_MENU # Show completion menu on a successive tab press.
|
setopt AUTO_MENU # Show completion menu on a successive tab press.
|
||||||
setopt AUTO_LIST # Automatically list choices on ambiguous completion.
|
setopt AUTO_LIST # Automatically list choices on ambiguous completion.
|
||||||
setopt AUTO_PARAM_SLASH # If completed parameter is a directory, add a trailing slash.
|
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
|
setopt EXTENDED_GLOB # Needed for file modification glob modifiers with compinit.
|
||||||
unsetopt MENU_COMPLETE # Do not autoselect the first completion entry.
|
unsetopt MENU_COMPLETE # Do not autoselect the first completion entry.
|
||||||
unsetopt FLOW_CONTROL # Disable start/stop characters in shell editor.
|
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
|
# 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
|
# cache time of 20 hours, so it should almost always regenerate the first time a
|
||||||
# shell is opened each day.
|
# shell is opened each day.
|
||||||
autoload -Uz compinit
|
autoload -Uz compinit
|
||||||
_comp_files=(${ZDOTDIR:-$HOME}/.zcompdump(Nm-20))
|
_comp_path="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/zcompdump"
|
||||||
if (( $#_comp_files )); then
|
# #q expands globs in conditional expressions
|
||||||
compinit -i -C
|
if [[ $_comp_path(#qNmh-20) ]]; then
|
||||||
|
# -C (skip function check) implies -i (skip security check).
|
||||||
|
compinit -C -d "$_comp_path"
|
||||||
else
|
else
|
||||||
compinit -i
|
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
|
fi
|
||||||
unset _comp_files
|
unset _comp_path
|
||||||
|
|
||||||
#
|
#
|
||||||
# Styles
|
# 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 commands such as dpkg and apt usable.
|
||||||
zstyle ':completion::complete:*' use-cache on
|
zstyle ':completion::complete:*' use-cache on
|
||||||
zstyle ':completion::complete:*' cache-path "${ZDOTDIR:-$HOME}/.zcompcache"
|
zstyle ':completion::complete:*' cache-path "${XDG_CACHE_HOME:-$HOME/.cache}/prezto/zcompcache"
|
||||||
|
|
||||||
# Case-insensitive (all), partial-word, and then substring completion.
|
# Case-insensitive (all), partial-word, and then substring completion.
|
||||||
if zstyle -t ':prezto:module:completion:*' case-sensitive; then
|
if zstyle -t ':prezto:module:completion:*' case-sensitive; then
|
||||||
@ -66,7 +97,6 @@ zstyle ':completion:*:corrections' format ' %F{green}-- %d (errors: %e) --%f'
|
|||||||
zstyle ':completion:*:descriptions' format ' %F{yellow}-- %d --%f'
|
zstyle ':completion:*:descriptions' format ' %F{yellow}-- %d --%f'
|
||||||
zstyle ':completion:*:messages' format ' %F{purple} -- %d --%f'
|
zstyle ':completion:*:messages' format ' %F{purple} -- %d --%f'
|
||||||
zstyle ':completion:*:warnings' format ' %F{red}-- no matches found --%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:*' format ' %F{yellow}-- %d --%f'
|
||||||
zstyle ':completion:*' group-name ''
|
zstyle ':completion:*' group-name ''
|
||||||
zstyle ':completion:*' verbose yes
|
zstyle ':completion:*' verbose yes
|
||||||
@ -87,7 +117,6 @@ zstyle ':completion:*:functions' ignored-patterns '(_*|pre(cmd|exec))'
|
|||||||
zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters
|
zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters
|
||||||
|
|
||||||
# Directories
|
# Directories
|
||||||
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
|
|
||||||
zstyle ':completion:*:*:cd:*' tag-order local-directories directory-stack path-directories
|
zstyle ':completion:*:*:cd:*' tag-order local-directories directory-stack path-directories
|
||||||
zstyle ':completion:*:*:cd:*:directory-stack' menu yes select
|
zstyle ':completion:*:*:cd:*:directory-stack' menu yes select
|
||||||
zstyle ':completion:*:-tilde-:*' group-order 'named-directories' 'path-directories' 'users' 'expand'
|
zstyle ':completion:*:-tilde-:*' group-order 'named-directories' 'path-directories' 'users' 'expand'
|
||||||
@ -99,7 +128,7 @@ zstyle ':completion:*:history-words' remove-all-dups yes
|
|||||||
zstyle ':completion:*:history-words' list false
|
zstyle ':completion:*:history-words' list false
|
||||||
zstyle ':completion:*:history-words' menu yes
|
zstyle ':completion:*:history-words' menu yes
|
||||||
|
|
||||||
# Environmental Variables
|
# Environment Variables
|
||||||
zstyle ':completion::*:(-command-|export):*' fake-parameters ${${${_comps[(I)-value-*]#*,}%%,*}:#-*-}
|
zstyle ':completion::*:(-command-|export):*' fake-parameters ${${${_comps[(I)-value-*]#*,}%%,*}:#-*-}
|
||||||
|
|
||||||
# Populate hostname completion. But allow ignoring custom entries from static
|
# Populate hostname completion. But allow ignoring custom entries from static
|
||||||
@ -107,7 +136,7 @@ zstyle ':completion::*:(-command-|export):*' fake-parameters ${${${_comps[(I)-va
|
|||||||
zstyle -a ':prezto:module:completion:*:hosts' etc-host-ignores '_etc_host_ignores'
|
zstyle -a ':prezto:module:completion:*:hosts' etc-host-ignores '_etc_host_ignores'
|
||||||
|
|
||||||
zstyle -e ':completion:*:hosts' hosts 'reply=(
|
zstyle -e ':completion:*:hosts' hosts 'reply=(
|
||||||
${=${=${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) 2> /dev/null)"}%%[#| ]*}//\]:[0-9]*/ }//,/ }//\[/ }
|
${=${=${=${${(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}})*}
|
${=${(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 }:#*\**}:#*\?*}}
|
${=${${${${(@M)${(f)"$(cat ~/.ssh/config 2> /dev/null)"}:#Host *}#Host }:#*\**}:#*\?*}}
|
||||||
)'
|
)'
|
||||||
|
@ -1,35 +1,30 @@
|
|||||||
Directory
|
# Directory
|
||||||
=========
|
|
||||||
|
|
||||||
Sets directory options and defines directory aliases.
|
Sets directory options and defines directory aliases.
|
||||||
|
|
||||||
Options
|
## Options
|
||||||
-------
|
|
||||||
|
|
||||||
- `AUTO_CD` auto changes to a directory without typing `cd`.
|
- `AUTO_CD` auto changes to a directory without typing `cd`.
|
||||||
- `AUTO_PUSHD` pushes the old directory onto the stack on `cd`.
|
- `AUTO_PUSHD` pushes the old directory onto the stack on `cd`.
|
||||||
- `PUSHD_IGNORE_DUPS` does not store duplicates in the stack.
|
- `PUSHD_IGNORE_DUPS` does not store duplicates in the stack.
|
||||||
- `PUSHD_SILENT` does not print the directory stack after `pushd` or `popd`.
|
- `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.
|
- `PUSHD_TO_HOME` pushes to the home directory when no argument is given.
|
||||||
- `CDABLE_VARS` changes directory to a path stored in a variable.
|
- `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.
|
||||||
- `MULTIOS` writes to multiple descriptors.
|
- `EXTENDED_GLOB` uses extended globbing syntax.
|
||||||
- `EXTENDED_GLOB` uses extended globbing syntax.
|
- `CLOBBER` does not overwrite existing files with `>` and `>>`. Use `>!` and
|
||||||
- `CLOBBER` does not overwrite existing files with `>` and `>>`. Use `>!` and
|
`>>!` to bypass.
|
||||||
`>>!` to bypass.
|
|
||||||
|
|
||||||
Aliases
|
## Aliases
|
||||||
-------
|
|
||||||
|
|
||||||
- `d` prints the contents of the directory stack.
|
- `d` prints the contents of the directory stack.
|
||||||
- `1 ... 9` changes the directory to the **n** previous one.
|
- `1 ... 9` changes the directory to the **n** previous one.
|
||||||
|
|
||||||
Authors
|
## Authors
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][1].*
|
_The authors of this module should be contacted via the [issue tracker][1]._
|
||||||
|
|
||||||
- [James Cox](https://github.com/imajes)
|
- [James Cox](https://github.com/imajes)
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
[1]: https://github.com/sorin-ionescu/prezto/issues
|
[1]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
@ -1,29 +1,25 @@
|
|||||||
DNF
|
# DNF
|
||||||
===
|
|
||||||
|
|
||||||
Defines [dnf][1] aliases.
|
Defines [dnf][1] aliases.
|
||||||
|
|
||||||
Aliases
|
## Aliases
|
||||||
-------
|
|
||||||
|
|
||||||
- `dnfc` removes package(s) and leaves.
|
- `dnfc` removes package(s) and leaves.
|
||||||
- `dnfi` installs package(s).
|
- `dnfi` installs package(s).
|
||||||
- `dnfh` displays history.
|
- `dnfh` displays history.
|
||||||
- `dnfl` lists packages.
|
- `dnfl` lists packages.
|
||||||
- `dnfL` lists installed packages.
|
- `dnfL` lists installed packages.
|
||||||
- `dnfq` displays package information.
|
- `dnfq` displays package information.
|
||||||
- `dnfr` removes package(s).
|
- `dnfr` removes package(s).
|
||||||
- `dnfs` searches for a package.
|
- `dnfs` searches for a package.
|
||||||
- `dnfu` updates packages.
|
- `dnfu` updates packages.
|
||||||
- `dnfU` upgrades packages.
|
- `dnfU` upgrades packages.
|
||||||
|
|
||||||
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]._
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
[1]: https://fedoraproject.org/wiki/Features/DNF
|
[1]: https://fedoraproject.org/wiki/Features/DNF
|
||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
|
[2]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# ZSH Docker Aliases
|
# Docker
|
||||||
|
|
||||||
Defines [Docker][1] aliases and functions.
|
Defines [Docker][1] aliases and functions.
|
||||||
|
|
||||||
@ -21,14 +21,15 @@ Defines [Docker][1] aliases and functions.
|
|||||||
- `dkli` Log in to a Docker registry
|
- `dkli` Log in to a Docker registry
|
||||||
- `dklo` Log out from a Docker registry
|
- `dklo` Log out from a Docker registry
|
||||||
- `dkls` is alias for `dkps`
|
- `dkls` is alias for `dkps`
|
||||||
- `dkp` Pause all processes within one or more containers<Paste>
|
- `dkp` Pause all processes within one or more containers
|
||||||
- `dkP` Unpause all processes within one or more containers
|
- `dkP` Unpause all processes within one or more containers
|
||||||
- `dkpl` Pull an image or a repository from a registry
|
- `dkpl` Pull an image or a repository from a registry
|
||||||
- `dkph` Push an image or a repository to a registry
|
- `dkph` Push an image or a repository to a registry
|
||||||
- `dkps` List containers
|
- `dkps` List containers
|
||||||
- `dkpsa` List all containers (default lists just running)
|
- `dkpsa` List all containers (default lists just running)
|
||||||
- `dkr` Run a command in a new container
|
- `dkr` Run a command in a new container
|
||||||
- `dkR` Run an interactive command in a new container and automatically remove the container when it exits
|
- `dkR` Run an interactive command in a new container and automatically remove
|
||||||
|
the container when it exits
|
||||||
- `dkRe` like `dkR` and set entry point to `/bin/bash`
|
- `dkRe` like `dkR` and set entry point to `/bin/bash`
|
||||||
- `dkrm` Remove one or more containers
|
- `dkrm` Remove one or more containers
|
||||||
- `dkrmi` Remove one or more images
|
- `dkrmi` Remove one or more images
|
||||||
@ -39,13 +40,14 @@ Defines [Docker][1] aliases and functions.
|
|||||||
- `dks` Start one or more stopped containers
|
- `dks` Start one or more stopped containers
|
||||||
- `dkS` Restart a container
|
- `dkS` Restart a container
|
||||||
- `dkss` Display a live stream of container(s) resource usage statistics
|
- `dkss` Display a live stream of container(s) resource usage statistics
|
||||||
- `dksv` Save one or more images to a tar archive (streamed to STDOUT by default)
|
- `dksv` Save one or more images to a tar archive (streamed to STDOUT by
|
||||||
|
default)
|
||||||
- `dkt` Tag an image into a repository
|
- `dkt` Tag an image into a repository
|
||||||
- `dktop` Display the running processes of a container
|
- `dktop` Display the running processes of a container
|
||||||
- `dkup` Update configuration of one or more containers
|
- `dkup` Update configuration of one or more containers
|
||||||
- `dkV` Manage Docker volumes
|
- `dkV` Manage Docker volumes
|
||||||
- `dkv` Show the Docker version information
|
- `dkv` Show the Docker version information
|
||||||
- `dkw` Block until a container stops, then print its exit code<Paste>
|
- `dkw` Block until a container stops, then print its exit code
|
||||||
- `dkx` Stop a running container
|
- `dkx` Stop a running container
|
||||||
|
|
||||||
#### container (C)
|
#### container (C)
|
||||||
@ -65,7 +67,8 @@ Defines [Docker][1] aliases and functions.
|
|||||||
- `dkCS` Restart one or more containers
|
- `dkCS` Restart one or more containers
|
||||||
- `dkCrm` Remove one or more containers
|
- `dkCrm` Remove one or more containers
|
||||||
- `dkCr` Run a command in a new container
|
- `dkCr` Run a command in a new container
|
||||||
- `dkCR` Run an interactive command in a new container and automatically remove the container when it exits
|
- `dkCR` Run an interactive command in a new container and automatically remove
|
||||||
|
the container when it exits
|
||||||
- `dkCRe` like `dkCR` and set entry point to `/bin/bash`
|
- `dkCRe` like `dkCR` and set entry point to `/bin/bash`
|
||||||
- `dkCs` Start one or more stopped containers
|
- `dkCs` Start one or more stopped containers
|
||||||
- `dkCss` Display a live stream of container(s) resource usage statistics
|
- `dkCss` Display a live stream of container(s) resource usage statistics
|
||||||
@ -87,7 +90,8 @@ Defines [Docker][1] aliases and functions.
|
|||||||
- `dkIpl` Pull an image or a repository from a registry
|
- `dkIpl` Pull an image or a repository from a registry
|
||||||
- `dkIph` Push an image or a repository to a registry
|
- `dkIph` Push an image or a repository to a registry
|
||||||
- `dkIrm` Remove one or more images
|
- `dkIrm` Remove one or more images
|
||||||
- `dkIsv` Save one or more images to a tar archive (streamed to STDOUT by default)
|
- `dkIsv` Save one or more images to a tar archive (streamed to STDOUT by
|
||||||
|
default)
|
||||||
- `dkIt` Tag an image into a repository
|
- `dkIt` Tag an image into a repository
|
||||||
|
|
||||||
#### volume (V)
|
#### volume (V)
|
||||||
@ -130,8 +134,10 @@ Defines [Docker][1] aliases and functions.
|
|||||||
- `dkm` is short for `docker-machine`
|
- `dkm` is short for `docker-machine`
|
||||||
- `dkma` Get or set the active machine
|
- `dkma` Get or set the active machine
|
||||||
- `dkmcp` Copy files between machines
|
- `dkmcp` Copy files between machines
|
||||||
- `dkmd` Set up the default machine ; alowing you to use `dkme` without arguments
|
- `dkmd` Set up the default machine ; alowing you to use `dkme` without
|
||||||
- `dkme` Set up the environment for the Docker client (eg: `dkme staging` to toggle to staging)
|
arguments
|
||||||
|
- `dkme` Set up the environment for the Docker client (eg: `dkme staging` to
|
||||||
|
toggle to staging)
|
||||||
- `dkmin` Inspect information about a machine
|
- `dkmin` Inspect information about a machine
|
||||||
- `dkmip` Get the IP address of a machine
|
- `dkmip` Get the IP address of a machine
|
||||||
- `dkmk` Kill a machine
|
- `dkmk` Kill a machine
|
||||||
@ -171,8 +177,8 @@ Defines [Docker][1] aliases and functions.
|
|||||||
- `dkcsc` Set number of containers for a service
|
- `dkcsc` Set number of containers for a service
|
||||||
- `dkcS` Restart services
|
- `dkcS` Restart services
|
||||||
- `dkcu` Create and start containers
|
- `dkcu` Create and start containers
|
||||||
- `dkcU` Create and start containers in detached mode:
|
- `dkcU` Create and start containers in detached mode: Run containers in the
|
||||||
Run containers in the background, print new container names
|
background, print new container names
|
||||||
- `dkcV` Show the Docker-Compose version information
|
- `dkcV` Show the Docker-Compose version information
|
||||||
- `dkcx` Stop services
|
- `dkcx` Stop services
|
||||||
|
|
||||||
|
@ -1,10 +1,8 @@
|
|||||||
Dpkg
|
# Dpkg
|
||||||
====
|
|
||||||
|
|
||||||
Defines [dpkg][1] aliases and functions.
|
Defines [_dpkg_][1] aliases and functions.
|
||||||
|
|
||||||
Aliases
|
## Aliases
|
||||||
-------
|
|
||||||
|
|
||||||
- `debc` cleans the cache.
|
- `debc` cleans the cache.
|
||||||
- `debf` displays a file's package.
|
- `debf` displays a file's package.
|
||||||
@ -20,22 +18,20 @@ Aliases
|
|||||||
- `deb-kclean` removes all kernel images and headers, except for the ones in
|
- `deb-kclean` removes all kernel images and headers, except for the ones in
|
||||||
use.
|
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.
|
system.
|
||||||
- `deb-history` displays dpkg history.
|
- `deb-history` displays `dpkg` history.
|
||||||
- `deb-kbuild` makes a dpkg Linux kernel package.
|
- `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)
|
- [Daniel Bolton](https://github.com/dbb)
|
||||||
- [Benjamin Boudreau](https://github.com/dreur)
|
- [Benjamin Boudreau](https://github.com/dreur)
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
[1]: http://wiki.debian.org/Teams/Dpkg
|
[1]: https://wiki.debian.org/Teams/Dpkg
|
||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
|
[2]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
@ -1,24 +1,30 @@
|
|||||||
Editor
|
# Editor
|
||||||
======
|
|
||||||
|
|
||||||
Sets key bindings.
|
Sets editor specific key bindings options and variables.
|
||||||
|
|
||||||
Settings
|
## Options
|
||||||
--------
|
|
||||||
|
- `BEEP` beep on error in line editor.
|
||||||
|
|
||||||
|
## Variables
|
||||||
|
|
||||||
|
- `WORDCHARS` treat a given set of characters as part of a word.
|
||||||
|
|
||||||
|
## Settings
|
||||||
|
|
||||||
### Key bindings
|
### Key bindings
|
||||||
|
|
||||||
To enable key bindings, add the following to *zpreztorc*, and replace 'bindings'
|
To enable key bindings, add the following to _`${ZDOTDIR:-$HOME}/.zpreztorc`_,
|
||||||
with 'emacs' or 'vi'.
|
and replace `'<bindings>'` with `'emacs'` or `'vi'`.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zstyle ':prezto:module:editor' key-bindings 'bindings'
|
zstyle ':prezto:module:editor' key-bindings '<bindings>'
|
||||||
```
|
```
|
||||||
|
|
||||||
### Dot Expansion
|
### Dot Expansion
|
||||||
|
|
||||||
To enable the auto conversion of .... to ../.., add the following to
|
To enable the auto conversion of .... to ../.., add the following to
|
||||||
*zpreztorc*.
|
_`${ZDOTDIR:-$HOME}/.zpreztorc`_.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zstyle ':prezto:module:editor' dot-expansion 'yes'
|
zstyle ':prezto:module:editor' dot-expansion 'yes'
|
||||||
@ -26,15 +32,14 @@ zstyle ':prezto:module:editor' dot-expansion 'yes'
|
|||||||
|
|
||||||
### PS Context
|
### PS Context
|
||||||
|
|
||||||
To enable the prompt context to be set, add the following to your
|
To enable the prompt context to be set, add the following to
|
||||||
*zpreztorc*.
|
_`${ZDOTDIR:-$HOME}/.zpreztorc`_.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zstyle ':prezto:module:editor' ps-context 'yes'
|
zstyle ':prezto:module:editor' ps-context 'yes'
|
||||||
```
|
```
|
||||||
|
|
||||||
Theming
|
## Theming
|
||||||
-------
|
|
||||||
|
|
||||||
To indicate when the editor is in the primary keymap (emacs or viins), add
|
To indicate when the editor is in the primary keymap (emacs or viins), add
|
||||||
the following to your `theme_prompt_setup` function.
|
the following to your `theme_prompt_setup` function.
|
||||||
@ -71,29 +76,27 @@ To indicate when the editor is completing, add the following to your
|
|||||||
zstyle ':prezto:module:editor:info:completing' format '...'
|
zstyle ':prezto:module:editor:info:completing' format '...'
|
||||||
```
|
```
|
||||||
|
|
||||||
Then add `$editor_info[context]`, where context is *keymap*, *insert*, or
|
Then add `$editor_info[context]`, where context is _keymap_, _insert_, or
|
||||||
*overwrite*, to `$PROMPT` or `$RPROMPT`.
|
_overwrite_, to `$PROMPT` or `$RPROMPT`.
|
||||||
|
|
||||||
Convenience Functions
|
## Convenience Functions
|
||||||
---------------------
|
|
||||||
|
|
||||||
### bindkey-all
|
### bindkey-all
|
||||||
|
|
||||||
Provides a function `bindkey-all` which can be useful for checking how all of the
|
Provides a function `bindkey-all` which can be useful for checking how all of
|
||||||
keys are bound. Normal `bindkey` command will only list the keys bound for one
|
the keys are bound. Normal `bindkey` command will only list the keys bound for
|
||||||
keymap, which is not as useful if you want to grep through the output. The
|
one keymap, which is not as useful if you want to grep through the output. The
|
||||||
keymap's names go to stderr so when you grep through bindkey-all's output you
|
keymap's names go to stderr so when you grep through `bindkey-all`'s output you
|
||||||
will still see the headings and can tell which keymap each binding goes to.
|
will still see the headings and can tell which keymap each binding goes to.
|
||||||
|
|
||||||
It will also pass through arguments so you can use bindkey-all to set bindings
|
It will also pass through arguments so you can use bindkey-all to set bindings
|
||||||
for all keymaps at once. If provided arguments it will *not* print out the
|
for all keymaps at once. If provided arguments it will _not_ print out the
|
||||||
names of each of the keymaps, and just run the command for each keymap.
|
names of each of the keymaps, and just run the command for each keymap.
|
||||||
|
|
||||||
Authors
|
## Authors
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][1].*
|
_The authors of this module should be contacted via the [issue tracker][1]._
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
[1]: https://github.com/sorin-ionescu/oh-my-zsh/issues
|
[1]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
@ -91,28 +91,32 @@ function bindkey-all {
|
|||||||
# Exposes information about the Zsh Line Editor via the $editor_info associative
|
# Exposes information about the Zsh Line Editor via the $editor_info associative
|
||||||
# array.
|
# array.
|
||||||
function editor-info {
|
function editor-info {
|
||||||
# Clean up previous $editor_info.
|
# Ensure that we're going to set the editor-info for prompts that
|
||||||
unset editor_info
|
# are prezto managed and/or compatible.
|
||||||
typeset -gA editor_info
|
if zstyle -t ':prezto:module:prompt' managed; then
|
||||||
|
# Clean up previous $editor_info.
|
||||||
|
unset editor_info
|
||||||
|
typeset -gA editor_info
|
||||||
|
|
||||||
if [[ "$KEYMAP" == 'vicmd' ]]; then
|
if [[ "$KEYMAP" == 'vicmd' ]]; then
|
||||||
zstyle -s ':prezto:module:editor:info:keymap:alternate' format 'REPLY'
|
zstyle -s ':prezto:module:editor:info:keymap:alternate' format 'REPLY'
|
||||||
editor_info[keymap]="$REPLY"
|
editor_info[keymap]="$REPLY"
|
||||||
else
|
|
||||||
zstyle -s ':prezto:module:editor:info:keymap:primary' format 'REPLY'
|
|
||||||
editor_info[keymap]="$REPLY"
|
|
||||||
|
|
||||||
if [[ "$ZLE_STATE" == *overwrite* ]]; then
|
|
||||||
zstyle -s ':prezto:module:editor:info:keymap:primary:overwrite' format 'REPLY'
|
|
||||||
editor_info[overwrite]="$REPLY"
|
|
||||||
else
|
else
|
||||||
zstyle -s ':prezto:module:editor:info:keymap:primary:insert' format 'REPLY'
|
zstyle -s ':prezto:module:editor:info:keymap:primary' format 'REPLY'
|
||||||
editor_info[overwrite]="$REPLY"
|
editor_info[keymap]="$REPLY"
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
unset REPLY
|
if [[ "$ZLE_STATE" == *overwrite* ]]; then
|
||||||
zle zle-reset-prompt
|
zstyle -s ':prezto:module:editor:info:keymap:primary:overwrite' format 'REPLY'
|
||||||
|
editor_info[overwrite]="$REPLY"
|
||||||
|
else
|
||||||
|
zstyle -s ':prezto:module:editor:info:keymap:primary:insert' format 'REPLY'
|
||||||
|
editor_info[overwrite]="$REPLY"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset REPLY
|
||||||
|
zle zle-reset-prompt
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
zle -N editor-info
|
zle -N editor-info
|
||||||
|
|
||||||
@ -269,9 +273,11 @@ bindkey -d
|
|||||||
# Emacs Key Bindings
|
# Emacs Key Bindings
|
||||||
#
|
#
|
||||||
|
|
||||||
for key in "$key_info[Escape]"{B,b} "${(s: :)key_info[ControlLeft]}"
|
for key in "$key_info[Escape]"{B,b} "${(s: :)key_info[ControlLeft]}" \
|
||||||
|
"${key_info[Escape]}${key_info[Left]}"
|
||||||
bindkey -M emacs "$key" emacs-backward-word
|
bindkey -M emacs "$key" emacs-backward-word
|
||||||
for key in "$key_info[Escape]"{F,f} "${(s: :)key_info[ControlRight]}"
|
for key in "$key_info[Escape]"{F,f} "${(s: :)key_info[ControlRight]}" \
|
||||||
|
"${key_info[Escape]}${key_info[Right]}"
|
||||||
bindkey -M emacs "$key" emacs-forward-word
|
bindkey -M emacs "$key" emacs-forward-word
|
||||||
|
|
||||||
# Kill to the beginning of the line.
|
# Kill to the beginning of the line.
|
||||||
@ -312,6 +318,7 @@ bindkey -M vicmd "$key_info[Control]X$key_info[Control]E" edit-command-line
|
|||||||
|
|
||||||
# Undo/Redo
|
# Undo/Redo
|
||||||
bindkey -M vicmd "u" undo
|
bindkey -M vicmd "u" undo
|
||||||
|
bindkey -M viins "$key_info[Control]_" undo
|
||||||
bindkey -M vicmd "$key_info[Control]R" redo
|
bindkey -M vicmd "$key_info[Control]R" redo
|
||||||
|
|
||||||
if (( $+widgets[history-incremental-pattern-search-backward] )); then
|
if (( $+widgets[history-incremental-pattern-search-backward] )); then
|
||||||
|
@ -1,10 +1,8 @@
|
|||||||
Emacs
|
# Emacs
|
||||||
=====
|
|
||||||
|
|
||||||
Enables Emacs dependency management.
|
Enables Emacs dependency management.
|
||||||
|
|
||||||
Dependency management
|
## Dependency management
|
||||||
---------------------
|
|
||||||
|
|
||||||
[Carton][1] installs and manages Emacs packages for Emacs package development
|
[Carton][1] installs and manages Emacs packages for Emacs package development
|
||||||
and Emacs configuration.
|
and Emacs configuration.
|
||||||
@ -12,22 +10,20 @@ and Emacs configuration.
|
|||||||
This module prepends the Carton directory to the path variable to enable the
|
This module prepends the Carton directory to the path variable to enable the
|
||||||
execution of `carton`.
|
execution of `carton`.
|
||||||
|
|
||||||
Aliases
|
## Aliases
|
||||||
-------
|
|
||||||
|
|
||||||
### Carton
|
### Carton
|
||||||
|
|
||||||
- `cai` installs dependencies.
|
- `cai` installs dependencies.
|
||||||
- `cau` updates dependencies.
|
- `cau` updates dependencies.
|
||||||
- `caI` initializes the current directory for dependency management.
|
- `caI` initializes the current directory for dependency management.
|
||||||
- `cae` executes a command which correct dependencies.
|
- `cae` executes a command which correct dependencies.
|
||||||
|
|
||||||
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://github.com/rejeep/carton
|
[1]: https://github.com/rejeep/carton
|
||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
|
[2]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
@ -1,26 +1,52 @@
|
|||||||
Environment
|
# Environment
|
||||||
===========
|
|
||||||
|
|
||||||
Sets general shell options and defines environment variables.
|
Sets general shell options and defines environment variables.
|
||||||
|
|
||||||
This module must be loaded first.
|
This module must be loaded first.
|
||||||
|
|
||||||
Environment Variables
|
## Contributors
|
||||||
---------------------
|
|
||||||
|
|
||||||
Contributors
|
This module **MUST NOT** rely on any command that is not built in Zsh.
|
||||||
------------
|
|
||||||
|
|
||||||
This module **MUST NOT** rely on any command not built in Zsh.
|
Non-interactive environment variables should be defined in
|
||||||
|
[_`${ZDOTDIR:-$HOME}/.zshenv`_][1].
|
||||||
|
|
||||||
Non-interactive environment variables should be defined in [`zshenv`][1].
|
## Options
|
||||||
|
|
||||||
Authors
|
### General
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][2].*
|
- `COMBINING_CHARS` combine zero-length punctuation characters (accents) with
|
||||||
|
the base character.
|
||||||
|
- `INTERACTIVE_COMMENTS` enable comments in interactive shell.
|
||||||
|
- `RC_QUOTES` allow 'Henry''s Garage' instead of 'Henry'\''s Garage'.
|
||||||
|
- `MAIL_WARNING` don't print a warning message if a mail file has been accessed.
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
### Jobs
|
||||||
|
|
||||||
[1]: https://github.com/sorin-ionescu/prezto/blob/master/runcoms/zshenv
|
- `LONG_LIST_JOBS` list jobs in the long format by default.
|
||||||
|
- `AUTO_RESUME` attempt to resume existing job before creating a new process.
|
||||||
|
- `NOTIFY` report status of background jobs immediately.
|
||||||
|
- `BG_NICE` don't run all background jobs at a lower priority.
|
||||||
|
- `HUP` don't kill jobs on shell exit.
|
||||||
|
- `CHECK_JOBS` don't report on jobs when shell exit.
|
||||||
|
|
||||||
|
## Variables
|
||||||
|
|
||||||
|
### Termcap
|
||||||
|
|
||||||
|
- `LESS_TERMCAP_mb` begins blinking.
|
||||||
|
- `LESS_TERMCAP_md` begins bold.
|
||||||
|
- `LESS_TERMCAP_me` ends mode.
|
||||||
|
- `LESS_TERMCAP_se` ends standout-mode.
|
||||||
|
- `LESS_TERMCAP_so` begins standout-mode.
|
||||||
|
- `LESS_TERMCAP_ue` ends underline.
|
||||||
|
- `LESS_TERMCAP_us` begins underline.
|
||||||
|
|
||||||
|
## Authors
|
||||||
|
|
||||||
|
_The authors of this module should be contacted via the [issue tracker][2]._
|
||||||
|
|
||||||
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
|
[1]: ../../runcoms#zshenv
|
||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
|
[2]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
@ -14,15 +14,13 @@
|
|||||||
# paste had a regression. Additionally, 5.2 added bracketed-paste-url-magic
|
# paste had a regression. Additionally, 5.2 added bracketed-paste-url-magic
|
||||||
# which is generally better than url-quote-magic so we load that when possible.
|
# which is generally better than url-quote-magic so we load that when possible.
|
||||||
autoload -Uz is-at-least
|
autoload -Uz is-at-least
|
||||||
if [[ ${ZSH_VERSION} != 5.1.1 ]]; then
|
if [[ ${ZSH_VERSION} != 5.1.1 && ${TERM} != "dumb" ]]; then
|
||||||
if is-at-least 5.2; then
|
if is-at-least 5.2; then
|
||||||
autoload -Uz bracketed-paste-url-magic
|
autoload -Uz bracketed-paste-url-magic
|
||||||
zle -N bracketed-paste bracketed-paste-url-magic
|
zle -N bracketed-paste bracketed-paste-url-magic
|
||||||
else
|
elif is-at-least 5.1; then
|
||||||
if is-at-least 5.1; then
|
autoload -Uz bracketed-paste-magic
|
||||||
autoload -Uz bracketed-paste-magic
|
zle -N bracketed-paste bracketed-paste-magic
|
||||||
zle -N bracketed-paste bracketed-paste-magic
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
autoload -Uz url-quote-magic
|
autoload -Uz url-quote-magic
|
||||||
zle -N self-insert url-quote-magic
|
zle -N self-insert url-quote-magic
|
||||||
@ -38,6 +36,9 @@ setopt INTERACTIVE_COMMENTS # Enable comments in interactive shell.
|
|||||||
setopt RC_QUOTES # Allow 'Henry''s Garage' instead of 'Henry'\''s Garage'.
|
setopt RC_QUOTES # Allow 'Henry''s Garage' instead of 'Henry'\''s Garage'.
|
||||||
unsetopt MAIL_WARNING # Don't print a warning message if a mail file has been accessed.
|
unsetopt MAIL_WARNING # Don't print a warning message if a mail file has been accessed.
|
||||||
|
|
||||||
|
# Allow mapping Ctrl+S and Ctrl+Q shortcuts
|
||||||
|
[[ -r ${TTY:-} && -w ${TTY:-} && $+commands[stty] == 1 ]] && stty -ixon <$TTY >$TTY
|
||||||
|
|
||||||
#
|
#
|
||||||
# Jobs
|
# Jobs
|
||||||
#
|
#
|
||||||
|
@ -1,44 +1,41 @@
|
|||||||
Fasd
|
# Fasd
|
||||||
====
|
|
||||||
|
|
||||||
[Fasd][1] is a command-line productivity booster, inspired by tools like
|
[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
|
[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
|
directories by keeping track of files and directories that were previously
|
||||||
accessed.
|
accessed.
|
||||||
|
|
||||||
For completion to work, this module must be loaded **after** the *completion*
|
For shell completion to work, this module must be loaded _after_ the
|
||||||
module.
|
[_`completion`_][5] module.
|
||||||
|
|
||||||
The Prezto Fasd configuration differs from the default. The default aliases have
|
The Prezto Fasd configuration differs from the default. The default aliases have
|
||||||
been disabled.
|
been disabled.
|
||||||
|
|
||||||
Installation
|
## Installation
|
||||||
------------
|
|
||||||
|
|
||||||
`fasd` is bundled with prezto as a git submodule. Alternatively, you can manually install `fasd`.
|
`fasd` is bundled with prezto as a git submodule. Alternatively, you can
|
||||||
If a manual install is found, it will be used instead of the bundled version.
|
manually install `fasd`. If a manual installation is found, it will be used
|
||||||
|
instead of the bundled version.
|
||||||
|
|
||||||
Aliases
|
## Aliases
|
||||||
-------
|
|
||||||
|
|
||||||
- `j` changes the current working directory interactively.
|
- `j` changes the current working directory interactively.
|
||||||
|
|
||||||
Completion
|
## Completion
|
||||||
----------
|
|
||||||
|
|
||||||
Type `,`, `f,`, `d,` in front of a comma-separated query or type `,,`, `,,f`,
|
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>.
|
`,,d` at the end of a comma-separated query then hit <kbd>TAB</kbd>.
|
||||||
|
|
||||||
Authors
|
## Authors
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][5].*
|
_The authors of this module should be contacted via the [issue tracker][6]._
|
||||||
|
|
||||||
- [Wei Dai](https://github.com/clvv)
|
- [Wei Dai](https://github.com/clvv)
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
[1]: https://github.com/clvv/fasd
|
[1]: https://github.com/clvv/fasd
|
||||||
[2]: https://github.com/joelthelion/autojump
|
[2]: https://github.com/joelthelion/autojump
|
||||||
[3]: https://github.com/rupa/z
|
[3]: https://github.com/rupa/z
|
||||||
[4]: https://github.com/rupa/v
|
[4]: https://github.com/rupa/v
|
||||||
[5]: https://github.com/sorin-ionescu/prezto/issues
|
[5]: ../completion#readme
|
||||||
|
[6]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
Submodule modules/fasd/external updated: 90b531a5da...48220241e7
@ -19,8 +19,10 @@ fi
|
|||||||
# Initialization
|
# Initialization
|
||||||
#
|
#
|
||||||
|
|
||||||
cache_file="${TMPDIR:-/tmp}/prezto-fasd-cache.$UID.zsh"
|
cache_file="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/fasd-cache.zsh"
|
||||||
if [[ "${commands[fasd]}" -nt "$cache_file" || ! -s "$cache_file" ]]; then
|
if [[ "${commands[fasd]}" -nt "$cache_file" \
|
||||||
|
|| "${ZDOTDIR:-$HOME}/.zpreztorc" -nt "$cache_file" \
|
||||||
|
|| ! -s "$cache_file" ]]; then
|
||||||
# Set the base init arguments.
|
# Set the base init arguments.
|
||||||
init_args=(zsh-hook)
|
init_args=(zsh-hook)
|
||||||
|
|
||||||
@ -29,6 +31,7 @@ if [[ "${commands[fasd]}" -nt "$cache_file" || ! -s "$cache_file" ]]; then
|
|||||||
init_args+=(zsh-ccomp zsh-ccomp-install zsh-wcomp zsh-wcomp-install)
|
init_args+=(zsh-ccomp zsh-ccomp-install zsh-wcomp zsh-wcomp-install)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
mkdir -p "$cache_file:h"
|
||||||
# Cache init code.
|
# Cache init code.
|
||||||
fasd --init "$init_args[@]" >! "$cache_file" 2> /dev/null
|
fasd --init "$init_args[@]" >! "$cache_file" 2> /dev/null
|
||||||
fi
|
fi
|
||||||
|
@ -1,39 +1,45 @@
|
|||||||
Git
|
# Git
|
||||||
===
|
|
||||||
|
|
||||||
Enhances the [Git][1] distributed version control system by providing aliases,
|
Enhances the [Git][1] distributed version control system by providing aliases,
|
||||||
functions and by exposing repository status information to prompts.
|
functions and by exposing repository status information to prompts.
|
||||||
|
|
||||||
Git **1.7.2** is the [minimum required version][7].
|
This module must be loaded _before_ the [_`completion`_][13] module so that the
|
||||||
|
provided completion definitions are loaded automatically by _`completion`_
|
||||||
|
module.
|
||||||
|
|
||||||
Settings
|
**Note:** Git **2.11** is the minimum required version for better
|
||||||
--------
|
[git-rev-list][7] and [git-submodule][14] support.
|
||||||
|
|
||||||
|
## Settings
|
||||||
|
|
||||||
### Log
|
### Log
|
||||||
|
|
||||||
The format of the [git-log][8] output is configurable via the following style,
|
To configure the format of the [git-log][8] output, add the following to
|
||||||
where context is *brief*, *oneline*, and *medium*, which will be passed to the
|
_`${ZDOTDIR:-$HOME}/.zpreztorc`_, and replace `'<context>'` with `'brief'`,
|
||||||
`--pretty=format:` switch.
|
`'oneline'`, and `'medium'`. This will be passed to the `--pretty=format:`
|
||||||
|
switch.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zstyle ':prezto:module:git:log:context' format ''
|
zstyle ':prezto:module:git:log:context' format '<context>'
|
||||||
```
|
```
|
||||||
|
|
||||||
### Status
|
### Status
|
||||||
|
|
||||||
Retrieving the status of a repository with submodules can take a long time.
|
Retrieving the status of a repository with [git-submodule][9] can take a long
|
||||||
Submodules may be ignored when they are *dirty*, *untracked*, *all*, or *none*.
|
time. To configure the submodules to ignore, add the following to
|
||||||
|
_`${ZDOTDIR:-$HOME}/.zpreztorc`_, and replace `'<state>'` with `'dirty'`,
|
||||||
|
`'untracked'`, `'all'`, or `'none'`.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zstyle ':prezto:module:git:status:ignore' submodules 'all'
|
zstyle ':prezto:module:git:status:ignore' submodules '<state>'
|
||||||
```
|
```
|
||||||
|
|
||||||
This setting affects all aliases and functions that call `git-status`.
|
This setting affects all aliases and functions that call `git-status`.
|
||||||
|
|
||||||
Aliases
|
## Aliases
|
||||||
-------
|
|
||||||
|
|
||||||
Aliases are enabled by default. You can disable them with:
|
Aliases are enabled by default. To disable them, add the following to
|
||||||
|
_`${ZDOTDIR:-$HOME}/.zpreztorc`_.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zstyle ':prezto:module:git:alias' skip 'yes'
|
zstyle ':prezto:module:git:alias' skip 'yes'
|
||||||
@ -41,275 +47,290 @@ zstyle ':prezto:module:git:alias' skip 'yes'
|
|||||||
|
|
||||||
### Git
|
### Git
|
||||||
|
|
||||||
- `g` is short for `git`.
|
- `g` is short for `git`.
|
||||||
|
|
||||||
### Branch
|
### Branch (b)
|
||||||
|
|
||||||
- `gb` lists, creates, renames, and deletes branches.
|
- `gb` lists, creates, renames, and deletes branches.
|
||||||
- `gbc` creates a new branch.
|
- `gbc` creates a new branch.
|
||||||
- `gbl` lists branches and their commits. (also `gbv`)
|
- `gbl` lists branches and their commits. (also `gbv`)
|
||||||
- `gbL` lists all local and remote branches and their commits.
|
- `gbL` lists all local and remote branches and their commits.
|
||||||
- `gbr` renames a branch. (also `gbm`)
|
- `gbr` renames a branch. (also `gbm`)
|
||||||
- `gbR` renames a branch even if the new branch name already exists. (also
|
- `gbR` renames a branch even if the new branch name already exists. (also
|
||||||
`gbM`)
|
`gbM`)
|
||||||
- `gbs` lists branches and their commits with ancestry graphs.
|
- `gbs` lists branches and their commits with ancestry graphs.
|
||||||
- `gbS` lists local and remote branches and their commits with ancestry
|
- `gbS` lists local and remote branches and their commits with ancestry graphs.
|
||||||
graphs.
|
- `gbV` lists branches with more verbose information about their commits.
|
||||||
- `gbV` lists branches with more verbose information about their commits.
|
- `gbx` deletes a branch. (also `gbd`)
|
||||||
- `gbx` deletes a branch. (also `gbd`)
|
- `gbX` deletes a branch irrespective of its merged status. (also `gbD`)
|
||||||
- `gbX` deletes a branch irrespective of its merged status. (also `gbD`)
|
|
||||||
|
|
||||||
|
### Commit (c)
|
||||||
|
|
||||||
### Commit
|
- `gc` records changes to the repository.
|
||||||
|
- `gcS` records changes to the repository. (Signed)
|
||||||
|
- `gca` stages all modified and deleted files.
|
||||||
|
- `gcaS` stages all modified and deleted files. (Signed)
|
||||||
|
- `gcm` records changes to the repository with the given message.
|
||||||
|
- `gcmS` records changes to the repository with the given message. (Signed)
|
||||||
|
- `gcam` stages all modified and deleted files, and 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_.
|
||||||
|
- `gcfS` amends the tip of the current branch using the same log message as
|
||||||
|
_HEAD_. (Signed)
|
||||||
|
- `gcF` amends the tip of the current branch.
|
||||||
|
- `gcFS` amends the tip of the current branch. (Signed)
|
||||||
|
- `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 commits with various objects.
|
||||||
|
- `gcsS` displays commits with GPG signature.
|
||||||
|
- `gcl` lists lost commits.
|
||||||
|
- `gcy` displays commits yet to be applied to upstream in the short format.
|
||||||
|
- `gcY` displays commits yet to be applied to upstream.
|
||||||
|
|
||||||
- `gc` records changes to the repository.
|
### Conflict (C)
|
||||||
- `gca` stages all modified and deleted files.
|
|
||||||
- `gcm` records changes to the repository with the given message.
|
|
||||||
- `gcS` records changes to the repository. (Signed)
|
|
||||||
- `gcSa` stages all modified and deleted files. (Signed)
|
|
||||||
- `gcSm` records changes to the repository with the given message. (Signed) - `gco` checks out a branch or paths to work tree.
|
|
||||||
- `gcam` stages all modified and deleted files, and 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*.
|
|
||||||
- `gcSf` amends the tip of the current branch using the same log message as *HEAD*. (Signed)
|
|
||||||
- `gcF` amends the tip of the current branch.
|
|
||||||
- `gcSF` amends the tip of the current branch. (Signed)
|
|
||||||
- `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.
|
||||||
|
|
||||||
- `gCl` lists unmerged files.
|
### Data (d)
|
||||||
- `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.
|
||||||
|
|
||||||
- `gd` displays information about files in the index and the work tree.
|
### Fetch (f)
|
||||||
- `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.
|
||||||
|
- `gfa` downloads objects and references from all remote repositories.
|
||||||
|
- `gfc` clones a repository into a new directory.
|
||||||
|
- `gfcr` clones a repository into a new directory including all submodules.
|
||||||
|
- `gfm` fetches from and merges with another repository or local branch.
|
||||||
|
- `gfr` fetches from and rebases on another repository or local branch.
|
||||||
|
|
||||||
- `gf` downloads objects and references from another repository.
|
### Flow (F)
|
||||||
- `gfa` downloads objects and references from all remote repositories.
|
|
||||||
- `gfc` clones a repository into a new directory.
|
|
||||||
- `gfcr` clones a repository into a new directory including all submodules.
|
|
||||||
- `gfm` fetches from and merges with another repository or local branch.
|
|
||||||
- `gfr` fetches from and rebases on another repository or local branch.
|
|
||||||
|
|
||||||
### Flow
|
- `gFi` is short for `git flow init`
|
||||||
|
|
||||||
- `gFi` is short for `git flow init`
|
#### Feature (Ff)
|
||||||
|
|
||||||
#### Feature
|
- `gFf` is short for `git flow feature`
|
||||||
|
- `gFfl` is short for `git flow feature list`
|
||||||
|
- `gFfs` is short for `git flow feature start`
|
||||||
|
- `gFff` is short for `git flow feature finish`
|
||||||
|
- `gFfp` is short for `git flow feature publish`
|
||||||
|
- `gFft` is short for `git flow feature track`
|
||||||
|
- `gFfd` is short for `git flow feature diff`
|
||||||
|
- `gFfr` is short for `git flow feature rebase`
|
||||||
|
- `gFfc` is short for `git flow feature checkout`
|
||||||
|
- `gFfm` is short for `git flow feature pull`
|
||||||
|
- `gFfx` is short for `git flow feature delete`
|
||||||
|
|
||||||
- `gFf` is short for `git flow feature`
|
#### Bugfix (Fb)
|
||||||
- `gFfl` is short for `git flow feature list`
|
|
||||||
- `gFfs` is short for `git flow feature start`
|
|
||||||
- `gFff` is short for `git flow feature finish`
|
|
||||||
- `gFfp` is short for `git flow feature publish`
|
|
||||||
- `gFft` is short for `git flow feature track`
|
|
||||||
- `gFfd` is short for `git flow feature diff`
|
|
||||||
- `gFfr` is short for `git flow feature rebase`
|
|
||||||
- `gFfc` is short for `git flow feature checkout`
|
|
||||||
- `gFfm` is short for `git flow feature pull`
|
|
||||||
- `gFfx` is short for `git flow feature delete`
|
|
||||||
|
|
||||||
#### Bugfix
|
- `gFb` is short for `git flow bugfix`
|
||||||
|
- `gFbl` is short for `git flow bugfix list`
|
||||||
|
- `gFbs` is short for `git flow bugfix start`
|
||||||
|
- `gFbf` is short for `git flow bugfix finish`
|
||||||
|
- `gFbp` is short for `git flow bugfix publish`
|
||||||
|
- `gFbt` is short for `git flow bugfix track`
|
||||||
|
- `gFbd` is short for `git flow bugfix diff`
|
||||||
|
- `gFbr` is short for `git flow bugfix rebase`
|
||||||
|
- `gFbc` is short for `git flow bugfix checkout`
|
||||||
|
- `gFbm` is short for `git flow bugfix pull`
|
||||||
|
- `gFbx` is short for `git flow bugfix delete`
|
||||||
|
|
||||||
- `gFb` is short for `git flow bugfix`
|
#### Release (Fl)
|
||||||
- `gFbl` is short for `git flow bugfix list`
|
|
||||||
- `gFbs` is short for `git flow bugfix start`
|
|
||||||
- `gFbf` is short for `git flow bugfix finish`
|
|
||||||
- `gFbp` is short for `git flow bugfix publish`
|
|
||||||
- `gFbt` is short for `git flow bugfix track`
|
|
||||||
- `gFbd` is short for `git flow bugfix diff`
|
|
||||||
- `gFbr` is short for `git flow bugfix rebase`
|
|
||||||
- `gFbc` is short for `git flow bugfix checkout`
|
|
||||||
- `gFbm` is short for `git flow bugfix pull`
|
|
||||||
- `gFbx` is short for `git flow bugfix delete`
|
|
||||||
|
|
||||||
#### Release
|
- `gFl` is short for `git flow release`
|
||||||
|
- `gFll` is short for `git flow release list`
|
||||||
|
- `gFls` is short for `git flow release start`
|
||||||
|
- `gFlf` is short for `git flow release finish`
|
||||||
|
- `gFlp` is short for `git flow release publish`
|
||||||
|
- `gFlt` is short for `git flow release track`
|
||||||
|
- `gFld` is short for `git flow release diff`
|
||||||
|
- `gFlr` is short for `git flow release rebase`
|
||||||
|
- `gFlc` is short for `git flow release checkout`
|
||||||
|
- `gFlm` is short for `git flow release pull`
|
||||||
|
- `gFlx` is short for `git flow release delete`
|
||||||
|
|
||||||
- `gFl` is short for `git flow release`
|
#### Hotfix (Fh)
|
||||||
- `gFll` is short for `git flow release list`
|
|
||||||
- `gFls` is short for `git flow release start`
|
|
||||||
- `gFlf` is short for `git flow release finish`
|
|
||||||
- `gFlp` is short for `git flow release publish`
|
|
||||||
- `gFlt` is short for `git flow release track`
|
|
||||||
- `gFld` is short for `git flow release diff`
|
|
||||||
- `gFlr` is short for `git flow release rebase`
|
|
||||||
- `gFlc` is short for `git flow release checkout`
|
|
||||||
- `gFlm` is short for `git flow release pull`
|
|
||||||
- `gFlx` is short for `git flow release delete`
|
|
||||||
|
|
||||||
#### Hotfix
|
- `gFh` is short for `git flow hotfix`
|
||||||
|
- `gFhl` is short for `git flow hotfix list`
|
||||||
|
- `gFhs` is short for `git flow hotfix start`
|
||||||
|
- `gFhf` is short for `git flow hotfix finish`
|
||||||
|
- `gFhp` is short for `git flow hotfix publish`
|
||||||
|
- `gFht` is short for `git flow hotfix track`
|
||||||
|
- `gFhd` is short for `git flow hotfix diff`
|
||||||
|
- `gFhr` is short for `git flow hotfix rebase`
|
||||||
|
- `gFhc` is short for `git flow hotfix checkout`
|
||||||
|
- `gFhm` is short for `git flow hotfix pull`
|
||||||
|
- `gFhx` is short for `git flow hotfix delete`
|
||||||
|
|
||||||
- `gFh` is short for `git flow hotfix`
|
#### Support (Fs)
|
||||||
- `gFhl` is short for `git flow hotfix list`
|
|
||||||
- `gFhs` is short for `git flow hotfix start`
|
|
||||||
- `gFhf` is short for `git flow hotfix finish`
|
|
||||||
- `gFhp` is short for `git flow hotfix publish`
|
|
||||||
- `gFht` is short for `git flow hotfix track`
|
|
||||||
- `gFhd` is short for `git flow hotfix diff`
|
|
||||||
- `gFhr` is short for `git flow hotfix rebase`
|
|
||||||
- `gFhc` is short for `git flow hotfix checkout`
|
|
||||||
- `gFhm` is short for `git flow hotfix pull`
|
|
||||||
- `gFhx` is short for `git flow hotfix delete`
|
|
||||||
|
|
||||||
#### Support
|
- `gFs` is short for `git flow support`
|
||||||
|
- `gFsl` is short for `git flow support list`
|
||||||
|
- `gFss` is short for `git flow support start`
|
||||||
|
- `gFsf` is short for `git flow support finish`
|
||||||
|
- `gFsp` is short for `git flow support publish`
|
||||||
|
- `gFst` is short for `git flow support track`
|
||||||
|
- `gFsd` is short for `git flow support diff`
|
||||||
|
- `gFsr` is short for `git flow support rebase`
|
||||||
|
- `gFsc` is short for `git flow support checkout`
|
||||||
|
- `gFsm` is short for `git flow support pull`
|
||||||
|
- `gFsx` is short for `git flow support delete`
|
||||||
|
|
||||||
- `gFs` is short for `git flow support`
|
### Grep (g)
|
||||||
- `gFsl` is short for `git flow support list`
|
|
||||||
- `gFss` is short for `git flow support start`
|
|
||||||
- `gFsf` is short for `git flow support finish`
|
|
||||||
- `gFsp` is short for `git flow support publish`
|
|
||||||
- `gFst` is short for `git flow support track`
|
|
||||||
- `gFsd` is short for `git flow support diff`
|
|
||||||
- `gFsr` is short for `git flow support rebase`
|
|
||||||
- `gFsc` is short for `git flow support checkout`
|
|
||||||
- `gFsm` is short for `git flow support pull`
|
|
||||||
- `gFsx` is short for `git flow support delete`
|
|
||||||
|
|
||||||
### 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.
|
||||||
|
|
||||||
- `gg` displays lines matching a pattern.
|
### Index (i)
|
||||||
- `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).
|
||||||
|
- `gii` temporarily ignore differences in a given file.
|
||||||
|
- `giI` unignore differences in a given file.
|
||||||
|
- `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).
|
||||||
|
|
||||||
- `gia` adds file contents to the index.
|
### Log (l)
|
||||||
- `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).
|
|
||||||
- `gii` temporarily ignore differences in a given file.
|
|
||||||
- `giI` unignore differences in a given file.
|
|
||||||
- `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.
|
||||||
|
- `glS` displays the log and checks the validity of signed commits.
|
||||||
|
|
||||||
- `gl` displays the log.
|
### Merge (m)
|
||||||
- `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.
|
||||||
|
|
||||||
- `gm` joins two or more development histories together.
|
### Push (p)
|
||||||
- `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 using the
|
||||||
|
safer `--force-with-lease` option.
|
||||||
|
- `gpF` forcefully updates remote refs along with associated objects using the
|
||||||
|
riskier `--force` option.
|
||||||
|
- `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.
|
||||||
|
|
||||||
- `gp` updates remote refs along with associated objects.
|
### Rebase (r)
|
||||||
- `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.
|
||||||
|
|
||||||
- `gr` forward-ports local commits to the updated upstream head.
|
### Remote (R)
|
||||||
- `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.
|
||||||
|
|
||||||
- `gR` manages tracked repositories.
|
### Stash (s)
|
||||||
- `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.
|
||||||
|
|
||||||
- `gs` stashes the changes of the dirty working directory.
|
### Submodule (S)
|
||||||
- `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.
|
||||||
|
|
||||||
- `gS` initializes, updates, or inspects submodules.
|
### Tag (t)
|
||||||
- `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
|
- `gt` lists tags or creates tag.
|
||||||
|
- `gtl` lists tags matching pattern.
|
||||||
|
- `gts` creates a signed tag.
|
||||||
|
- `gtv` validate a signed tag.
|
||||||
|
|
||||||
- `gws` displays working-tree status in the short format.
|
### Working directory (w)
|
||||||
- `gwS` displays working-tree status.
|
|
||||||
- `gwd` displays changes between the working tree and the index (diff).
|
- `gws` displays working-tree status in the short format.
|
||||||
- `gwD` displays changes between the working tree and the index (word diff).
|
- `gwS` displays working-tree status.
|
||||||
- `gwr` resets the current HEAD to the specified state, does not touch the
|
- `gwd` displays changes between the working tree and the index (diff).
|
||||||
index nor the working tree.
|
- `gwD` displays changes between the working tree and the index (word diff).
|
||||||
- `gwR` resets the current HEAD, index and working tree to the specified state.
|
- `gwr` resets the current HEAD to the specified state, does not touch the
|
||||||
- `gwc` removes untracked files from the working tree (dry-run).
|
index nor the working tree.
|
||||||
- `gwC` removes untracked files from the working tree.
|
- `gwR` resets the current HEAD, index and working tree to the specified state.
|
||||||
- `gwx` removes files from the working tree and from the index recursively.
|
- `gwc` removes untracked files from the working tree (dry-run).
|
||||||
- `gwX` removes files from the working tree and from the index recursively and
|
- `gwC` removes untracked files from the working tree.
|
||||||
forcefully.
|
- `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
|
### Shadows
|
||||||
|
|
||||||
The following aliases may shadow system commands:
|
The following aliases may shadow system commands:
|
||||||
|
|
||||||
- `gpt` shadows the [GUID partition table maintenance utility][4].
|
- `gb` shadows the [GB][10].
|
||||||
- `gs` shadows the [Ghostscript][5].
|
- `gm` shadows the [GraphicsMagick image processor][11].
|
||||||
- `gb` shadows the [GB][9].
|
- `gpt` shadows the [GUID partition table maintenance utility][4].
|
||||||
|
- `gs` shadows the [Ghostscript interpreter and previewer][5].
|
||||||
|
|
||||||
If you frequently use the above commands, you may wish to remove said aliases
|
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`.
|
from this module or to disable them at the bottom of the zshrc with `unalias`.
|
||||||
@ -317,25 +338,23 @@ 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:
|
You can temporarily bypass an alias by prefixing it with a backward slash:
|
||||||
`\gpt`.
|
`\gpt`.
|
||||||
|
|
||||||
Functions
|
## Functions
|
||||||
---------
|
|
||||||
|
|
||||||
- `git-branch-current` displays the current branch.
|
- `git-branch-current` displays the current branch.
|
||||||
- `git-commit-lost` lists lost commits.
|
- `git-commit-lost` lists lost commits.
|
||||||
- `git-dir` displays the path to the Git directory.
|
- `git-dir` displays the path to the Git directory.
|
||||||
- `git-hub-browse` opens the [GitHub][3] repository in the default browser.
|
- `git-hub-browse` opens the [GitHub][3] repository in the default browser.
|
||||||
- `git-hub-shorten-url` shortens [GitHub URLs][10].
|
- `git-hub-shorten-url` shortens [GitHub URLs][12].
|
||||||
- `git-info` exposes repository information via the `$git_info` associative
|
- `git-info` exposes repository information via the `$git_info` associative
|
||||||
array.
|
array.
|
||||||
- `git-root` displays the path to the working tree root.
|
- `git-root` displays the path to the working tree root.
|
||||||
- `git-stash-clear-interactive` asks for confirmation before clearing the stash.
|
- `git-stash-clear-interactive` asks for confirmation before clearing the stash.
|
||||||
- `git-stash-dropped` lists dropped stashed states.
|
- `git-stash-dropped` lists dropped stashed states.
|
||||||
- `git-stash-recover` recovers given dropped stashed states.
|
- `git-stash-recover` recovers given dropped stashed states.
|
||||||
- `git-submodule-move` moves a submodule.
|
- `git-submodule-move` moves a submodule.
|
||||||
- `git-submodule-remove` removes a submodule.
|
- `git-submodule-remove` removes a submodule.
|
||||||
|
|
||||||
Theming
|
## Theming
|
||||||
-------
|
|
||||||
|
|
||||||
To display information about the current repository in a prompt, define the
|
To display information about the current repository in a prompt, define the
|
||||||
following styles in the `prompt_name_setup` function, where the syntax for
|
following styles in the `prompt_name_setup` function, where the syntax for
|
||||||
@ -347,26 +366,26 @@ zstyle ':prezto:module:git:info:context:subcontext' format 'string'
|
|||||||
|
|
||||||
### Main Contexts
|
### Main Contexts
|
||||||
|
|
||||||
| Name | Format Code | Description
|
| Name | Format Code | Description |
|
||||||
| --------- | :---------: | ---------------------------------------------------
|
| -------- | :---------: | ---------------------------------- |
|
||||||
| action | %s | Special action name
|
| action | %s | Special action name |
|
||||||
| ahead | %A | Commits ahead of remote count
|
| ahead | %A | Commits ahead of remote count |
|
||||||
| behind | %B | Commits behind of remote count
|
| behind | %B | Commits behind of remote count |
|
||||||
| branch | %b | Branch name
|
| branch | %b | Branch name |
|
||||||
| commit | %c | Commit hash
|
| commit | %c | Commit hash |
|
||||||
| position | %p | Commits from the nearest tag count
|
| position | %p | Commits from the nearest tag count |
|
||||||
| remote | %R | Remote name
|
| remote | %R | Remote name |
|
||||||
| stashed | %S | Stashed states count
|
| stashed | %S | Stashed states count |
|
||||||
|
|
||||||
### Concise Contexts
|
### Concise Contexts
|
||||||
|
|
||||||
| Name | Format Code | Description
|
| Name | Format Code | Description |
|
||||||
| --------- | :---------: | ---------------------------------------------------
|
| --------- | :---------: | --------------------- |
|
||||||
| clean | %C | Clean state
|
| clean | %C | Clean state |
|
||||||
| dirty | %D | Dirty files count
|
| dirty | %D | Dirty files count |
|
||||||
| indexed | %i | Indexed files count
|
| indexed | %i | Indexed files count |
|
||||||
| unindexed | %I | Unindexed files count
|
| unindexed | %I | Unindexed files count |
|
||||||
| untracked | %u | Untracked files count
|
| untracked | %u | Untracked files count |
|
||||||
|
|
||||||
The following contexts must be enabled with the following zstyle:
|
The following contexts must be enabled with the following zstyle:
|
||||||
|
|
||||||
@ -376,31 +395,31 @@ zstyle ':prezto:module:git:info' verbose 'yes'
|
|||||||
|
|
||||||
### Verbose Contexts
|
### Verbose Contexts
|
||||||
|
|
||||||
| Name | Format Code | Description
|
| Name | Format Code | Description |
|
||||||
| --------- | :---------: | ---------------------------------------------------
|
| --------- | :---------: | --------------------- |
|
||||||
| added | %a | Added files count
|
| added | %a | Added files count |
|
||||||
| clean | %C | Clean state
|
| clean | %C | Clean state |
|
||||||
| deleted | %d | Deleted files count
|
| deleted | %d | Deleted files count |
|
||||||
| dirty | %D | Dirty files count
|
| dirty | %D | Dirty files count |
|
||||||
| modified | %m | Modified files count
|
| modified | %m | Modified files count |
|
||||||
| renamed | %r | Renamed files count
|
| renamed | %r | Renamed files count |
|
||||||
| unmerged | %U | Unmerged files count
|
| unmerged | %U | Unmerged files count |
|
||||||
| untracked | %u | Untracked files count
|
| untracked | %u | Untracked files count |
|
||||||
|
|
||||||
### Special Action Contexts
|
### Special Action Contexts
|
||||||
|
|
||||||
| Name | Format | Description
|
| Name | Format | Description |
|
||||||
| -------------------- | :---------: | -----------------------------------------
|
| -------------------- | :----: | ---------------------------- |
|
||||||
| apply | value | Applying patches
|
| apply | value | Applying patches |
|
||||||
| bisect | value | Binary searching for changes
|
| bisect | value | Binary searching for changes |
|
||||||
| cherry-pick | value | Cherry picking
|
| cherry-pick | value | Cherry picking |
|
||||||
| cherry-pick-sequence | value | Cherry picking sequence
|
| cherry-pick-sequence | value | Cherry picking sequence |
|
||||||
| merge | value | Merging
|
| merge | value | Merging |
|
||||||
| rebase | value | Rebasing
|
| rebase | value | Rebasing |
|
||||||
| rebase-interactive | value | Rebasing interactively
|
| rebase-interactive | value | Rebasing interactively |
|
||||||
| rebase-merge | value | Rebasing merge
|
| rebase-merge | value | Rebasing merge |
|
||||||
| revert | value | Reverting
|
| revert | value | Reverting |
|
||||||
| revert-sequence | value | Reverting sequence
|
| revert-sequence | value | Reverting sequence |
|
||||||
|
|
||||||
First, format the repository state attributes. For example, to format the branch
|
First, format the repository state attributes. For example, to format the branch
|
||||||
and remote names, define the following styles.
|
and remote names, define the following styles.
|
||||||
@ -422,21 +441,24 @@ Last, add `$git_info[prompt]` to `$PROMPT` and `$git_info[rprompt]` to
|
|||||||
`$RPROMPT` respectively and call `git-info` in the `prompt_name_preexec` hook
|
`$RPROMPT` respectively and call `git-info` in the `prompt_name_preexec` hook
|
||||||
function.
|
function.
|
||||||
|
|
||||||
Authors
|
## Authors
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][6].*
|
_The authors of this module should be contacted via the [issue tracker][6]._
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
- [Colin Hebert](https://github.com/ColinHebert)
|
- [Colin Hebert](https://github.com/ColinHebert)
|
||||||
|
|
||||||
[1]: http://www.git-scm.com
|
[1]: https://www.git-scm.com
|
||||||
[2]: https://github.com/defunkt/hub
|
[2]: https://hub.github.com
|
||||||
[3]: https://www.github.com
|
[3]: https://www.github.com
|
||||||
[4]: http://www.manpagez.com/man/8/gpt/
|
[4]: https://www.manpagez.com/man/8/gpt/
|
||||||
[5]: http://linux.die.net/man/1/gs
|
[5]: https://www.manpagez.com/man/1/gs/
|
||||||
[6]: https://github.com/sorin-ionescu/prezto/issues
|
[6]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
[7]: https://github.com/sorin-ionescu/prezto/issues/219
|
[7]: https://github.com/sorin-ionescu/prezto/issues/219
|
||||||
[8]: http://www.kernel.org/pub/software/scm/git/docs/git-log.html
|
[8]: https://git-scm.com/docs/git-log
|
||||||
[9]: https://getgb.io/
|
[9]: https://git-scm.com/docs/git-submodule
|
||||||
[10]: https://github.com/blog/985-git-io-github-url-shortener
|
[10]: https://getgb.io/
|
||||||
|
[11]: https://www.manpagez.com/man/1/gm/
|
||||||
|
[12]: https://github.blog/2011-11-10-git-io-github-url-shortener
|
||||||
|
[13]: ../completion#readme
|
||||||
|
[14]: https://github.com/sorin-ionescu/prezto/pull/1929
|
||||||
|
@ -8,25 +8,24 @@
|
|||||||
#
|
#
|
||||||
# Settings
|
# Settings
|
||||||
#
|
#
|
||||||
#
|
|
||||||
|
|
||||||
# Log
|
# Log
|
||||||
zstyle -s ':prezto:module:git:log:medium' format '_git_log_medium_format' \
|
zstyle -s ':prezto:module:git:log:medium' format '_git_log_medium_format' \
|
||||||
|| _git_log_medium_format='%C(bold)Commit:%C(reset) %C(green)%H%C(red)%d%n%C(bold)Author:%C(reset) %C(cyan)%an <%ae>%n%C(bold)Date:%C(reset) %C(blue)%ai (%ar)%C(reset)%n%+B'
|
|| _git_log_medium_format='%C(bold)Commit:%C(reset) %C(green)%H%C(red)%d%n%C(bold)Author:%C(reset) %C(cyan)%an <%ae>%n%C(bold)Date:%C(reset) %C(blue)%ai (%ar)%C(reset)%n%+B'
|
||||||
zstyle -s ':prezto:module:git:log:oneline' format '_git_log_oneline_format' \
|
zstyle -s ':prezto:module:git:log:oneline' format '_git_log_oneline_format' \
|
||||||
|| _git_log_oneline_format='%C(green)%h%C(reset) %s%C(red)%d%C(reset)%n'
|
|| _git_log_oneline_format='%C(green)%h%C(reset) %s%C(red)%d%C(reset)%n'
|
||||||
zstyle -s ':prezto:module:git:log:brief' format '_git_log_brief_format' \
|
zstyle -s ':prezto:module:git:log:brief' format '_git_log_brief_format' \
|
||||||
|| _git_log_brief_format='%C(green)%h%C(reset) %s%n%C(blue)(%ar by %an)%C(red)%d%C(reset)%n'
|
|| _git_log_brief_format='%C(green)%h%C(reset) %s%n%C(blue)(%ar by %an)%C(red)%d%C(reset)%n'
|
||||||
|
|
||||||
# Status
|
# Status
|
||||||
zstyle -s ':prezto:module:git:status:ignore' submodules '_git_status_ignore_submodules' \
|
zstyle -s ':prezto:module:git:status:ignore' submodules '_git_status_ignore_submodules' \
|
||||||
|| _git_status_ignore_submodules='none'
|
|| _git_status_ignore_submodules='none'
|
||||||
|
|
||||||
#
|
#
|
||||||
# Aliases
|
# Aliases
|
||||||
#
|
#
|
||||||
|
|
||||||
if ! zstyle -t ':prezto:module:git:alias' skip 'yes'; then
|
if ! zstyle -t ':prezto:module:git:alias' skip; then
|
||||||
# Git
|
# Git
|
||||||
alias g='git'
|
alias g='git'
|
||||||
|
|
||||||
@ -51,24 +50,27 @@ if ! zstyle -t ':prezto:module:git:alias' skip 'yes'; then
|
|||||||
|
|
||||||
# Commit (c)
|
# Commit (c)
|
||||||
alias gc='git commit --verbose'
|
alias gc='git commit --verbose'
|
||||||
|
alias gcS='git commit --verbose --gpg-sign'
|
||||||
alias gca='git commit --verbose --all'
|
alias gca='git commit --verbose --all'
|
||||||
|
alias gcaS='git commit --verbose --all --gpg-sign'
|
||||||
alias gcm='git commit --message'
|
alias gcm='git commit --message'
|
||||||
alias gcS='git commit -S --verbose'
|
alias gcmS='git commit --message --gpg-sign'
|
||||||
alias gcSa='git commit -S --verbose --all'
|
|
||||||
alias gcSm='git commit -S --message'
|
|
||||||
alias gcam='git commit --all --message'
|
alias gcam='git commit --all --message'
|
||||||
alias gco='git checkout'
|
alias gco='git checkout'
|
||||||
alias gcO='git checkout --patch'
|
alias gcO='git checkout --patch'
|
||||||
alias gcf='git commit --amend --reuse-message HEAD'
|
alias gcf='git commit --amend --reuse-message HEAD'
|
||||||
alias gcSf='git commit -S --amend --reuse-message HEAD'
|
alias gcfS='git commit --amend --reuse-message HEAD --gpg-sign'
|
||||||
alias gcF='git commit --verbose --amend'
|
alias gcF='git commit --verbose --amend'
|
||||||
alias gcSF='git commit -S --verbose --amend'
|
alias gcFS='git commit --verbose --amend --gpg-sign'
|
||||||
alias gcp='git cherry-pick --ff'
|
alias gcp='git cherry-pick --ff'
|
||||||
alias gcP='git cherry-pick --no-commit'
|
alias gcP='git cherry-pick --no-commit'
|
||||||
alias gcr='git revert'
|
alias gcr='git revert'
|
||||||
alias gcR='git reset "HEAD^"'
|
alias gcR='git reset "HEAD^"'
|
||||||
alias gcs='git show'
|
alias gcs='git show'
|
||||||
|
alias gcsS='git show --pretty=short --show-signature'
|
||||||
alias gcl='git-commit-lost'
|
alias gcl='git-commit-lost'
|
||||||
|
alias gcy='git cherry --verbose --abbrev'
|
||||||
|
alias gcY='git cherry --verbose'
|
||||||
|
|
||||||
# Conflict (C)
|
# Conflict (C)
|
||||||
alias gCl='git --no-pager diff --name-only --diff-filter=U'
|
alias gCl='git --no-pager diff --name-only --diff-filter=U'
|
||||||
@ -94,7 +96,9 @@ if ! zstyle -t ':prezto:module:git:alias' skip 'yes'; then
|
|||||||
alias gfc='git clone'
|
alias gfc='git clone'
|
||||||
alias gfcr='git clone --recurse-submodules'
|
alias gfcr='git clone --recurse-submodules'
|
||||||
alias gfm='git pull'
|
alias gfm='git pull'
|
||||||
|
alias gfma='git pull --autostash'
|
||||||
alias gfr='git pull --rebase'
|
alias gfr='git pull --rebase'
|
||||||
|
alias gfra='git pull --rebase --autostash'
|
||||||
|
|
||||||
# Flow (F)
|
# Flow (F)
|
||||||
alias gFi='git flow init'
|
alias gFi='git flow init'
|
||||||
@ -178,16 +182,17 @@ if ! zstyle -t ':prezto:module:git:alias' skip 'yes'; then
|
|||||||
alias gir='git reset'
|
alias gir='git reset'
|
||||||
alias giR='git reset --patch'
|
alias giR='git reset --patch'
|
||||||
alias gix='git rm -r --cached'
|
alias gix='git rm -r --cached'
|
||||||
alias giX='git rm -rf --cached'
|
alias giX='git rm -r --force --cached'
|
||||||
|
|
||||||
# Log (l)
|
# Log (l)
|
||||||
alias gl='git log --topo-order --pretty=format:"${_git_log_medium_format}"'
|
alias gl='git log --topo-order --pretty=format:"$_git_log_medium_format"'
|
||||||
alias gls='git log --topo-order --stat --pretty=format:"${_git_log_medium_format}"'
|
alias gls='git log --topo-order --stat --pretty=format:"$_git_log_medium_format"'
|
||||||
alias gld='git log --topo-order --stat --patch --full-diff --pretty=format:"${_git_log_medium_format}"'
|
alias gld='git log --topo-order --stat --patch --full-diff --pretty=format:"$_git_log_medium_format"'
|
||||||
alias glo='git log --topo-order --pretty=format:"${_git_log_oneline_format}"'
|
alias glo='git log --topo-order --pretty=format:"$_git_log_oneline_format"'
|
||||||
alias glg='git log --topo-order --all --graph --pretty=format:"${_git_log_oneline_format}"'
|
alias glg='git log --topo-order --graph --pretty=format:"$_git_log_oneline_format"'
|
||||||
alias glb='git log --topo-order --pretty=format:"${_git_log_brief_format}"'
|
alias glb='git log --topo-order --pretty=format:"$_git_log_brief_format"'
|
||||||
alias glc='git shortlog --summary --numbered'
|
alias glc='git shortlog --summary --numbered'
|
||||||
|
alias glS='git log --show-signature'
|
||||||
|
|
||||||
# Merge (m)
|
# Merge (m)
|
||||||
alias gm='git merge'
|
alias gm='git merge'
|
||||||
@ -247,18 +252,24 @@ if ! zstyle -t ':prezto:module:git:alias' skip 'yes'; then
|
|||||||
alias gSl='git submodule status'
|
alias gSl='git submodule status'
|
||||||
alias gSm='git-submodule-move'
|
alias gSm='git-submodule-move'
|
||||||
alias gSs='git submodule sync'
|
alias gSs='git submodule sync'
|
||||||
alias gSu='git submodule foreach git pull origin master'
|
alias gSu='git submodule update --remote --recursive'
|
||||||
alias gSx='git-submodule-remove'
|
alias gSx='git-submodule-remove'
|
||||||
|
|
||||||
|
# Tag (t)
|
||||||
|
alias gt='git tag'
|
||||||
|
alias gtl='git tag --list'
|
||||||
|
alias gts='git tag --sign'
|
||||||
|
alias gtv='git verify-tag'
|
||||||
|
|
||||||
# Working Copy (w)
|
# Working Copy (w)
|
||||||
alias gws='git status --ignore-submodules=${_git_status_ignore_submodules} --short'
|
alias gws='git status --ignore-submodules=$_git_status_ignore_submodules --short'
|
||||||
alias gwS='git status --ignore-submodules=${_git_status_ignore_submodules}'
|
alias gwS='git status --ignore-submodules=$_git_status_ignore_submodules'
|
||||||
alias gwd='git diff --no-ext-diff'
|
alias gwd='git diff --no-ext-diff'
|
||||||
alias gwD='git diff --no-ext-diff --word-diff'
|
alias gwD='git diff --no-ext-diff --word-diff'
|
||||||
alias gwr='git reset --soft'
|
alias gwr='git reset --soft'
|
||||||
alias gwR='git reset --hard'
|
alias gwR='git reset --hard'
|
||||||
alias gwc='git clean -n'
|
alias gwc='git clean --dry-run'
|
||||||
alias gwC='git clean -f'
|
alias gwC='git clean --force'
|
||||||
alias gwx='git rm -r'
|
alias gwx='git rm -r'
|
||||||
alias gwX='git rm -rf'
|
alias gwX='git rm -r --force'
|
||||||
fi
|
fi
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -21,7 +21,7 @@ _arguments -C -s -S \
|
|||||||
|
|
||||||
case "$state" in
|
case "$state" in
|
||||||
(remote)
|
(remote)
|
||||||
remotes=($(git config --get-regexp 'remote.*.url' | cut -d. -f2))
|
remotes=($(command git config --get-regexp 'remote.*.url' | cut -d. -f2))
|
||||||
|
|
||||||
_describe -t branch 'remotes' remotes && ret=0
|
_describe -t branch 'remotes' remotes && ret=0
|
||||||
;;
|
;;
|
||||||
@ -29,7 +29,7 @@ case "$state" in
|
|||||||
remote="$words[(($CURRENT - 1))]"
|
remote="$words[(($CURRENT - 1))]"
|
||||||
|
|
||||||
branches_or_tags=($(
|
branches_or_tags=($(
|
||||||
git ls-remote --heads --tags "$remote" 2> /dev/null | cut -f2
|
command git ls-remote --heads --tags "$remote" 2> /dev/null | cut -f2
|
||||||
))
|
))
|
||||||
|
|
||||||
branches=(HEAD ${${(M)branches_or_tags[@]##refs/heads/?##}##refs/heads/})
|
branches=(HEAD ${${(M)branches_or_tags[@]##refs/heads/?##}##refs/heads/})
|
||||||
@ -39,7 +39,7 @@ case "$state" in
|
|||||||
_describe -t tag 'tags' tags && ret=0
|
_describe -t tag 'tags' tags && ret=0
|
||||||
;;
|
;;
|
||||||
(file)
|
(file)
|
||||||
files=(${(0)"$(_call_program files git ls-files -z --exclude-standard 2> /dev/null)"})
|
files=(${(0)"$(_call_program files command git ls-files -z --exclude-standard 2> /dev/null)"})
|
||||||
_wanted file expl 'file' _multi_parts - / files && ret=0
|
_wanted file expl 'file' _multi_parts - / files && ret=0
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ case "$state" in
|
|||||||
while IFS=$'\n' read submodule; do
|
while IFS=$'\n' read submodule; do
|
||||||
submodules+=("$submodule")
|
submodules+=("$submodule")
|
||||||
done < <(
|
done < <(
|
||||||
git config --file "$(git-root)/.gitmodules" --list \
|
command git config --file "$(git-root)/.gitmodules" --list \
|
||||||
| grep '.path=' \
|
| grep '.path=' \
|
||||||
| cut -d= -f2-
|
| cut -d= -f2-
|
||||||
)
|
)
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -18,7 +18,7 @@ local submodule
|
|||||||
while IFS=$'\n' read submodule; do
|
while IFS=$'\n' read submodule; do
|
||||||
submodules+=("$submodule")
|
submodules+=("$submodule")
|
||||||
done < <(
|
done < <(
|
||||||
git config --file "$(git-root)/.gitmodules" --list \
|
command git config --file "$(git-root)/.gitmodules" --list \
|
||||||
| grep '.path=' \
|
| grep '.path=' \
|
||||||
| cut -d= -f2-
|
| cut -d= -f2-
|
||||||
)
|
)
|
||||||
|
@ -7,12 +7,12 @@
|
|||||||
|
|
||||||
# function git-branch-current {
|
# function git-branch-current {
|
||||||
|
|
||||||
if ! git rev-parse 2> /dev/null; then
|
if ! command git rev-parse 2> /dev/null; then
|
||||||
print "$0: not a repository: $PWD" >&2
|
print "$0: not a repository: $PWD" >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local ref="$(git symbolic-ref HEAD 2> /dev/null)"
|
local ref="$(command git symbolic-ref HEAD 2> /dev/null)"
|
||||||
|
|
||||||
if [[ -n "$ref" ]]; then
|
if [[ -n "$ref" ]]; then
|
||||||
print "${ref#refs/heads/}"
|
print "${ref#refs/heads/}"
|
||||||
|
@ -7,15 +7,15 @@
|
|||||||
|
|
||||||
# function git-commit-lost {
|
# function git-commit-lost {
|
||||||
|
|
||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||||
print "$0: not a repository work tree: $PWD" >&2
|
print "$0: not a repository work tree: $PWD" >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
git fsck 2> /dev/null \
|
command git fsck 2> /dev/null \
|
||||||
| grep "^dangling commit" \
|
| grep "^dangling commit" \
|
||||||
| awk '{print $3}' \
|
| awk '{print $3}' \
|
||||||
| git log \
|
| command git log \
|
||||||
--date-order \
|
--date-order \
|
||||||
--no-walk \
|
--no-walk \
|
||||||
--stdin \
|
--stdin \
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
# function git-dir {
|
# function git-dir {
|
||||||
|
|
||||||
local git_dir="${$(git rev-parse --git-dir):A}"
|
local git_dir="${$(command git rev-parse --git-dir):A}"
|
||||||
|
|
||||||
if [[ -n "$git_dir" ]]; then
|
if [[ -n "$git_dir" ]]; then
|
||||||
print "$git_dir"
|
print "$git_dir"
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
# function git-hub-browse {
|
# function git-hub-browse {
|
||||||
|
|
||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||||
print "$0: not a repository work tree: $PWD" >&2
|
print "$0: not a repository work tree: $PWD" >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
@ -15,7 +15,7 @@ fi
|
|||||||
local remotes remote references reference file url
|
local remotes remote references reference file url
|
||||||
|
|
||||||
remote="${1:-origin}"
|
remote="${1:-origin}"
|
||||||
remotes=($(git config --get-regexp 'remote.*.url' | cut -d. -f2))
|
remotes=($(command git remote show))
|
||||||
|
|
||||||
if (( $remotes[(i)$remote] == $#remotes + 1 )); then
|
if (( $remotes[(i)$remote] == $#remotes + 1 )); then
|
||||||
print "$0: remote not found: $remote" >&2
|
print "$0: remote not found: $remote" >&2
|
||||||
@ -23,14 +23,14 @@ if (( $remotes[(i)$remote] == $#remotes + 1 )); then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
url=$(
|
url=$(
|
||||||
git config --get "remote.${remote}.url" \
|
command git remote get-url "$remote" \
|
||||||
| sed -En "s/(git|https?)(@|:\/\/)github.com(:|\/)(.+)\/(.+).git/https:\/\/github.com\/\4\/\5/p"
|
| sed -En "s#(git@|https?://)(github.com)(:|/)(.+)/(.+)\.git#https://\2/\4/\5#p"
|
||||||
)
|
)
|
||||||
|
|
||||||
reference="${${2:-$(git-branch-current)}:-HEAD}"
|
reference="${${2:-$(git-branch-current)}:-HEAD}"
|
||||||
references=(
|
references=(
|
||||||
HEAD
|
HEAD
|
||||||
${$(git ls-remote --heads --tags "$remote" | awk '{print $2}')##refs/(heads|tags)/}
|
${${(f)"$(command git ls-remote --heads --tags "$remote")"}##*refs/(heads|tags)/}
|
||||||
)
|
)
|
||||||
|
|
||||||
if (( $references[(i)$reference] == $#references + 1 )); then
|
if (( $references[(i)$reference] == $#references + 1 )); then
|
||||||
@ -39,15 +39,15 @@ if (( $references[(i)$reference] == $#references + 1 )); then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$reference" == 'HEAD' ]]; then
|
if [[ "$reference" == 'HEAD' ]]; then
|
||||||
reference="$(git rev-parse HEAD 2> /dev/null)"
|
reference="$(command git rev-parse HEAD 2> /dev/null)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
file="$3"
|
file="$3"
|
||||||
|
|
||||||
if [[ -n "$url" ]]; then
|
if [[ -n "$url" ]]; then
|
||||||
url="${url}/tree/${reference}/${file}"
|
url="$url/tree/$reference/$file"
|
||||||
|
|
||||||
if (( $+commands[$BROWSER] )); then
|
if [[ -n "$BROWSER" ]]; then
|
||||||
"$BROWSER" "$url"
|
"$BROWSER" "$url"
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
|
@ -19,7 +19,7 @@ if [[ -z "$url" || ! "$url" =~ ^https?:\/\/.*github.com\/ ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if (( $+commands[curl] )); then
|
if (( $+commands[curl] )); then
|
||||||
curl -s -i 'https://git.io' -F "url=$url" ${(s: :)code:+ -F "code=$code"} | sed -n 's/^Location: //p'
|
print "${${(@M)${(f)"$(curl -s -i 'https://git.io' -F "url=$url" ${(z)code:+ -F "code=$code"})"}:#Location: *}#Location: }"
|
||||||
else
|
else
|
||||||
print "$0: command not found: curl" >&2
|
print "$0: command not found: curl" >&2
|
||||||
return 1
|
return 1
|
||||||
|
@ -22,20 +22,22 @@ function _git-action {
|
|||||||
local revert_sequence_formatted
|
local revert_sequence_formatted
|
||||||
|
|
||||||
for action_dir in \
|
for action_dir in \
|
||||||
"${git_dir}/rebase-apply" \
|
"$git_dir/rebase-apply" \
|
||||||
"${git_dir}/rebase" \
|
"$git_dir/rebase" \
|
||||||
"${git_dir}/../.dotest"
|
"$git_dir/../.dotest"
|
||||||
do
|
do
|
||||||
if [[ -d "$action_dir" ]] ; then
|
if [[ -d "$action_dir" ]] ; then
|
||||||
zstyle -s ':prezto:module:git:info:action:apply' format 'apply_formatted' || apply_formatted='apply'
|
zstyle -s ':prezto:module:git:info:action:apply' format 'apply_formatted' \
|
||||||
zstyle -s ':prezto:module:git:info:action:rebase' format 'rebase_formatted' || rebase_formatted='rebase'
|
|| apply_formatted='apply'
|
||||||
|
zstyle -s ':prezto:module:git:info:action:rebase' format 'rebase_formatted' \
|
||||||
|
|| rebase_formatted='rebase'
|
||||||
|
|
||||||
if [[ -f "${action_dir}/rebasing" ]] ; then
|
if [[ -f "$action_dir/rebasing" ]] ; then
|
||||||
print "$rebase_formatted"
|
print "$rebase_formatted"
|
||||||
elif [[ -f "${action_dir}/applying" ]] ; then
|
elif [[ -f "$action_dir/applying" ]] ; then
|
||||||
print "$apply_formatted"
|
print "$apply_formatted"
|
||||||
else
|
else
|
||||||
print "${rebase_formatted}/${apply_formatted}"
|
print "$rebase_formatted/$apply_formatted"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
@ -43,59 +45,67 @@ function _git-action {
|
|||||||
done
|
done
|
||||||
|
|
||||||
for action_dir in \
|
for action_dir in \
|
||||||
"${git_dir}/rebase-merge/interactive" \
|
"$git_dir/rebase-merge/interactive" \
|
||||||
"${git_dir}/.dotest-merge/interactive"
|
"$git_dir/.dotest-merge/interactive"
|
||||||
do
|
do
|
||||||
if [[ -f "$action_dir" ]]; then
|
if [[ -f "$action_dir" ]]; then
|
||||||
zstyle -s ':prezto:module:git:info:action:rebase-interactive' format 'rebase_interactive_formatted' || rebase_interactive_formatted='rebase-interactive'
|
zstyle -s ':prezto:module:git:info:action:rebase-interactive' format 'rebase_interactive_formatted' \
|
||||||
|
|| rebase_interactive_formatted='rebase-interactive'
|
||||||
print "$rebase_interactive_formatted"
|
print "$rebase_interactive_formatted"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
for action_dir in \
|
for action_dir in \
|
||||||
"${git_dir}/rebase-merge" \
|
"$git_dir/rebase-merge" \
|
||||||
"${git_dir}/.dotest-merge"
|
"$git_dir/.dotest-merge"
|
||||||
do
|
do
|
||||||
if [[ -d "$action_dir" ]]; then
|
if [[ -d "$action_dir" ]]; then
|
||||||
zstyle -s ':prezto:module:git:info:action:rebase-merge' format 'rebase_merge_formatted' || rebase_merge_formatted='rebase-merge'
|
zstyle -s ':prezto:module:git:info:action:rebase-merge' format 'rebase_merge_formatted' \
|
||||||
|
|| rebase_merge_formatted='rebase-merge'
|
||||||
print "$rebase_merge_formatted"
|
print "$rebase_merge_formatted"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if [[ -f "${git_dir}/MERGE_HEAD" ]]; then
|
if [[ -f "$git_dir/MERGE_HEAD" ]]; then
|
||||||
zstyle -s ':prezto:module:git:info:action:merge' format 'merge_formatted' || merge_formatted='merge'
|
zstyle -s ':prezto:module:git:info:action:merge' format 'merge_formatted' \
|
||||||
|
|| merge_formatted='merge'
|
||||||
print "$merge_formatted"
|
print "$merge_formatted"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -f "${git_dir}/CHERRY_PICK_HEAD" ]]; then
|
if [[ -f "$git_dir/CHERRY_PICK_HEAD" ]]; then
|
||||||
if [[ -d "${git_dir}/sequencer" ]] ; then
|
if [[ -d "$git_dir/sequencer" ]] ; then
|
||||||
zstyle -s ':prezto:module:git:info:action:cherry-pick-sequence' format 'cherry_pick_sequence_formatted' || cherry_pick_sequence_formatted='cherry-pick-sequence'
|
zstyle -s ':prezto:module:git:info:action:cherry-pick-sequence' format 'cherry_pick_sequence_formatted' \
|
||||||
|
|| cherry_pick_sequence_formatted='cherry-pick-sequence'
|
||||||
print "$cherry_pick_sequence_formatted"
|
print "$cherry_pick_sequence_formatted"
|
||||||
else
|
else
|
||||||
zstyle -s ':prezto:module:git:info:action:cherry-pick' format 'cherry_pick_formatted' || cherry_pick_formatted='cherry-pick'
|
zstyle -s ':prezto:module:git:info:action:cherry-pick' format 'cherry_pick_formatted' \
|
||||||
|
|| cherry_pick_formatted='cherry-pick'
|
||||||
print "$cherry_pick_formatted"
|
print "$cherry_pick_formatted"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -f "${git_dir}/REVERT_HEAD" ]]; then
|
if [[ -f "$git_dir/REVERT_HEAD" ]]; then
|
||||||
if [[ -d "${git_dir}/sequencer" ]] ; then
|
if [[ -d "$git_dir/sequencer" ]] ; then
|
||||||
zstyle -s ':prezto:module:git:info:action:revert-sequence' format 'revert_sequence_formatted' || revert_sequence_formatted='revert-sequence'
|
zstyle -s ':prezto:module:git:info:action:revert-sequence' format 'revert_sequence_formatted' \
|
||||||
|
|| revert_sequence_formatted='revert-sequence'
|
||||||
print "$revert_sequence_formatted"
|
print "$revert_sequence_formatted"
|
||||||
else
|
else
|
||||||
zstyle -s ':prezto:module:git:info:action:revert' format 'revert_formatted' || revert_formatted='revert'
|
zstyle -s ':prezto:module:git:info:action:revert' format 'revert_formatted' \
|
||||||
|
|| revert_formatted='revert'
|
||||||
print "$revert_formatted"
|
print "$revert_formatted"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -f "${git_dir}/BISECT_LOG" ]]; then
|
if [[ -f "$git_dir/BISECT_LOG" ]]; then
|
||||||
zstyle -s ':prezto:module:git:info:action:bisect' format 'bisect_formatted' || bisect_formatted='bisect'
|
zstyle -s ':prezto:module:git:info:action:bisect' format 'bisect_formatted' \
|
||||||
|
|| bisect_formatted='bisect'
|
||||||
print "$bisect_formatted"
|
print "$bisect_formatted"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
@ -178,15 +188,15 @@ function git-info {
|
|||||||
typeset -gA git_info
|
typeset -gA git_info
|
||||||
|
|
||||||
# Return if not inside a Git repository work tree.
|
# Return if not inside a Git repository work tree.
|
||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if (( $# > 0 )); then
|
if (( $# > 0 )); then
|
||||||
if [[ "$1" == [Oo][Nn] ]]; then
|
if [[ "$1" == [Oo][Nn] ]]; then
|
||||||
git config --bool prompt.showinfo true
|
command git config --bool prompt.showinfo true
|
||||||
elif [[ "$1" == [Oo][Ff][Ff] ]]; then
|
elif [[ "$1" == [Oo][Ff][Ff] ]]; then
|
||||||
git config --bool prompt.showinfo false
|
command git config --bool prompt.showinfo false
|
||||||
else
|
else
|
||||||
print "usage: $0 [ on | off ]" >&2
|
print "usage: $0 [ on | off ]" >&2
|
||||||
fi
|
fi
|
||||||
@ -194,7 +204,7 @@ function git-info {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Return if git-info is disabled.
|
# Return if git-info is disabled.
|
||||||
if ! is-true "${$(git config --bool prompt.showinfo):-true}"; then
|
if ! is-true "${$(command git config --bool prompt.showinfo):-true}"; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -204,7 +214,7 @@ function git-info {
|
|||||||
# Format commit.
|
# Format commit.
|
||||||
zstyle -s ':prezto:module:git:info:commit' format 'commit_format'
|
zstyle -s ':prezto:module:git:info:commit' format 'commit_format'
|
||||||
if [[ -n "$commit_format" ]]; then
|
if [[ -n "$commit_format" ]]; then
|
||||||
commit="$(git rev-parse HEAD 2> /dev/null)"
|
commit="$(command git rev-parse HEAD 2> /dev/null)"
|
||||||
if [[ -n "$commit" ]]; then
|
if [[ -n "$commit" ]]; then
|
||||||
zformat -f commit_formatted "$commit_format" "c:$commit"
|
zformat -f commit_formatted "$commit_format" "c:$commit"
|
||||||
fi
|
fi
|
||||||
@ -212,10 +222,17 @@ function git-info {
|
|||||||
|
|
||||||
# Format stashed.
|
# Format stashed.
|
||||||
zstyle -s ':prezto:module:git:info:stashed' format 'stashed_format'
|
zstyle -s ':prezto:module:git:info:stashed' format 'stashed_format'
|
||||||
if [[ -n "$stashed_format" && -f "$(git-dir)/refs/stash" ]]; then
|
if [[ -n "$stashed_format" ]]; then
|
||||||
stashed="$(git stash list 2> /dev/null | wc -l | awk '{print $1}')"
|
commondir=""
|
||||||
if [[ -n "$stashed" ]]; then
|
if [[ -f "$(git-dir)/commondir" ]]; then
|
||||||
zformat -f stashed_formatted "$stashed_format" "S:$stashed"
|
commondir="$(<$(git-dir)/commondir)"
|
||||||
|
[[ "$commondir" =~ ^/ ]] || commondir="$(git-dir)/$commondir"
|
||||||
|
fi
|
||||||
|
if [[ -f "$(git-dir)/refs/stash" || ( -n "$commondir" && -f "$commondir/refs/stash" ) ]]; then
|
||||||
|
stashed=${#${(f)"$(command git stash list 2> /dev/null)"}}
|
||||||
|
if (( $stashed > 0 )); then
|
||||||
|
zformat -f stashed_formatted "$stashed_format" "S:$stashed"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -229,7 +246,7 @@ function git-info {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Get the branch.
|
# Get the branch.
|
||||||
branch="${$(git symbolic-ref HEAD 2> /dev/null)#refs/heads/}"
|
branch="${$(command git symbolic-ref HEAD 2> /dev/null)#refs/heads/}"
|
||||||
|
|
||||||
# Format branch.
|
# Format branch.
|
||||||
zstyle -s ':prezto:module:git:info:branch' format 'branch_format'
|
zstyle -s ':prezto:module:git:info:branch' format 'branch_format'
|
||||||
@ -240,7 +257,7 @@ function git-info {
|
|||||||
# Format position.
|
# Format position.
|
||||||
zstyle -s ':prezto:module:git:info:position' format 'position_format'
|
zstyle -s ':prezto:module:git:info:position' format 'position_format'
|
||||||
if [[ -z "$branch" && -n "$position_format" ]]; then
|
if [[ -z "$branch" && -n "$position_format" ]]; then
|
||||||
position="$(git describe --contains --all HEAD 2> /dev/null)"
|
position="$(command git describe --contains --all HEAD 2> /dev/null)"
|
||||||
if [[ -n "$position" ]]; then
|
if [[ -n "$position" ]]; then
|
||||||
zformat -f position_formatted "$position_format" "p:$position"
|
zformat -f position_formatted "$position_format" "p:$position"
|
||||||
fi
|
fi
|
||||||
@ -250,7 +267,7 @@ function git-info {
|
|||||||
zstyle -s ':prezto:module:git:info:remote' format 'remote_format'
|
zstyle -s ':prezto:module:git:info:remote' format 'remote_format'
|
||||||
if [[ -n "$branch" && -n "$remote_format" ]]; then
|
if [[ -n "$branch" && -n "$remote_format" ]]; then
|
||||||
# Gets the remote name.
|
# Gets the remote name.
|
||||||
remote_cmd='git rev-parse --symbolic-full-name --verify HEAD@{upstream}'
|
remote_cmd='command git rev-parse --symbolic-full-name --verify HEAD@{upstream}'
|
||||||
remote="${$(${(z)remote_cmd} 2> /dev/null)##refs/remotes/}"
|
remote="${$(${(z)remote_cmd} 2> /dev/null)##refs/remotes/}"
|
||||||
if [[ -n "$remote" ]]; then
|
if [[ -n "$remote" ]]; then
|
||||||
zformat -f remote_formatted "$remote_format" "R:$remote"
|
zformat -f remote_formatted "$remote_format" "R:$remote"
|
||||||
@ -261,14 +278,14 @@ function git-info {
|
|||||||
zstyle -s ':prezto:module:git:info:behind' format 'behind_format'
|
zstyle -s ':prezto:module:git:info:behind' format 'behind_format'
|
||||||
if [[ -n "$branch" && ( -n "$ahead_format" || -n "$behind_format" ) ]]; then
|
if [[ -n "$branch" && ( -n "$ahead_format" || -n "$behind_format" ) ]]; then
|
||||||
# Gets the commit difference counts between local and remote.
|
# Gets the commit difference counts between local and remote.
|
||||||
ahead_and_behind_cmd='git rev-list --count --left-right HEAD...@{upstream}'
|
ahead_and_behind_cmd='command git rev-list --count --left-right HEAD...@{upstream}'
|
||||||
|
|
||||||
# Get ahead and behind counts.
|
# Get ahead and behind counts.
|
||||||
ahead_and_behind="$(${(z)ahead_and_behind_cmd} 2> /dev/null)"
|
ahead_and_behind="$(${(z)ahead_and_behind_cmd} 2> /dev/null)"
|
||||||
|
|
||||||
# Format ahead.
|
# Format ahead.
|
||||||
if [[ -n "$ahead_format" ]]; then
|
if [[ -n "$ahead_format" ]]; then
|
||||||
ahead="$ahead_and_behind[(w)1]"
|
ahead="$ahead_and_behind[(pws:\t:)1]"
|
||||||
if (( ahead > 0 )); then
|
if (( ahead > 0 )); then
|
||||||
zformat -f ahead_formatted "$ahead_format" "A:$ahead"
|
zformat -f ahead_formatted "$ahead_format" "A:$ahead"
|
||||||
fi
|
fi
|
||||||
@ -276,7 +293,7 @@ function git-info {
|
|||||||
|
|
||||||
# Format behind.
|
# Format behind.
|
||||||
if [[ -n "$behind_format" ]]; then
|
if [[ -n "$behind_format" ]]; then
|
||||||
behind="$ahead_and_behind[(w)2]"
|
behind="$ahead_and_behind[(pws:\t:)2]"
|
||||||
if (( behind > 0 )); then
|
if (( behind > 0 )); then
|
||||||
zformat -f behind_formatted "$behind_format" "B:$behind"
|
zformat -f behind_formatted "$behind_format" "B:$behind"
|
||||||
fi
|
fi
|
||||||
@ -290,7 +307,7 @@ function git-info {
|
|||||||
if [[ -n "$indexed_format" ]]; then
|
if [[ -n "$indexed_format" ]]; then
|
||||||
((
|
((
|
||||||
indexed+=$(
|
indexed+=$(
|
||||||
git diff-index \
|
command git diff-index \
|
||||||
--no-ext-diff \
|
--no-ext-diff \
|
||||||
--name-only \
|
--name-only \
|
||||||
--cached \
|
--cached \
|
||||||
@ -310,7 +327,7 @@ function git-info {
|
|||||||
if [[ -n "$unindexed_format" ]]; then
|
if [[ -n "$unindexed_format" ]]; then
|
||||||
((
|
((
|
||||||
unindexed+=$(
|
unindexed+=$(
|
||||||
git diff-files \
|
command git diff-files \
|
||||||
--no-ext-diff \
|
--no-ext-diff \
|
||||||
--name-only \
|
--name-only \
|
||||||
--ignore-submodules=${ignore_submodules:-none} \
|
--ignore-submodules=${ignore_submodules:-none} \
|
||||||
@ -328,7 +345,7 @@ function git-info {
|
|||||||
if [[ -n "$untracked_format" ]]; then
|
if [[ -n "$untracked_format" ]]; then
|
||||||
((
|
((
|
||||||
untracked+=$(
|
untracked+=$(
|
||||||
git ls-files \
|
command git ls-files \
|
||||||
--other \
|
--other \
|
||||||
--exclude-standard \
|
--exclude-standard \
|
||||||
2> /dev/null \
|
2> /dev/null \
|
||||||
@ -343,7 +360,7 @@ function git-info {
|
|||||||
(( dirty = indexed + unindexed + untracked ))
|
(( dirty = indexed + unindexed + untracked ))
|
||||||
else
|
else
|
||||||
# Use porcelain status for easy parsing.
|
# Use porcelain status for easy parsing.
|
||||||
status_cmd="git status --porcelain --ignore-submodules=${ignore_submodules:-none}"
|
status_cmd="command git status --porcelain --ignore-submodules=${ignore_submodules:-none}"
|
||||||
|
|
||||||
# Get current status.
|
# Get current status.
|
||||||
while IFS=$'\n' read line; do
|
while IFS=$'\n' read line; do
|
||||||
@ -400,6 +417,11 @@ function git-info {
|
|||||||
if (( dirty > 0 )); then
|
if (( dirty > 0 )); then
|
||||||
zstyle -s ':prezto:module:git:info:dirty' format 'dirty_format'
|
zstyle -s ':prezto:module:git:info:dirty' format 'dirty_format'
|
||||||
zformat -f dirty_formatted "$dirty_format" "D:$dirty"
|
zformat -f dirty_formatted "$dirty_format" "D:$dirty"
|
||||||
|
# Overwrite branch format to use dirty-branch format
|
||||||
|
zstyle -s ':prezto:module:git:info:dirty-branch' format 'branch_format'
|
||||||
|
if [[ -n "$branch" && -n "$branch_format" ]]; then
|
||||||
|
zformat -f branch_formatted "$branch_format" "b:$branch"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
zstyle -s ':prezto:module:git:info:clean' format 'clean_formatted'
|
zstyle -s ':prezto:module:git:info:clean' format 'clean_formatted'
|
||||||
fi
|
fi
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
# function git-root {
|
# function git-root {
|
||||||
|
|
||||||
local root="$(git rev-parse --show-toplevel 2> /dev/null)"
|
local root="$(command git rev-parse --show-toplevel 2> /dev/null)"
|
||||||
|
|
||||||
if [[ -n "$root" ]]; then
|
if [[ -n "$root" ]]; then
|
||||||
print "$root"
|
print "$root"
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
# function git-stash-clear-interactive {
|
# function git-stash-clear-interactive {
|
||||||
|
|
||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||||
print "$0: not a repository work tree: $PWD" >&2
|
print "$0: not a repository work tree: $PWD" >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
@ -15,10 +15,10 @@ fi
|
|||||||
local stashed
|
local stashed
|
||||||
|
|
||||||
if [[ -f "$(git-dir)/refs/stash" ]]; then
|
if [[ -f "$(git-dir)/refs/stash" ]]; then
|
||||||
stashed="$(git stash list 2> /dev/null | wc -l | awk '{print $1}')"
|
stashed=${#${(f)"$(command git stash list 2> /dev/null)"}}
|
||||||
if (( $stashed > 0 )); then
|
if (( $stashed > 0 )); then
|
||||||
if read -q "?Clear $stashed stashed state(s) [y/N]? "; then
|
if read -q "?Clear $stashed stashed state(s) [y/N]? "; then
|
||||||
git stash clear
|
command git stash clear
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -7,16 +7,16 @@
|
|||||||
|
|
||||||
# function git-stash-dropped {
|
# function git-stash-dropped {
|
||||||
|
|
||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||||
print "$0: not a repository work tree: $PWD" >&2
|
print "$0: not a repository work tree: $PWD" >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
git fsck --unreachable 2> /dev/null \
|
command git fsck --unreachable 2> /dev/null \
|
||||||
| grep 'commit' \
|
| grep 'commit' \
|
||||||
| awk '{print $3}' \
|
| awk '{print $3}' \
|
||||||
| git log \
|
| command git log \
|
||||||
--pretty=format:${_git_log_oneline_format} \
|
--pretty=format:$_git_log_oneline_format \
|
||||||
--extended-regexp \
|
--extended-regexp \
|
||||||
--grep="${1:-(WIP )?[Oo]n [^:]+:}" \
|
--grep="${1:-(WIP )?[Oo]n [^:]+:}" \
|
||||||
--merges \
|
--merges \
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
# function git-stash-recover {
|
# function git-stash-recover {
|
||||||
|
|
||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||||
print "$0: not a repository work tree: $PWD" >&2
|
print "$0: not a repository work tree: $PWD" >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
@ -15,8 +15,8 @@ fi
|
|||||||
local commit
|
local commit
|
||||||
|
|
||||||
for commit in "$@"; do
|
for commit in "$@"; do
|
||||||
git update-ref \
|
command git update-ref \
|
||||||
-m "$(git log -1 --pretty="format:%s" "$commit")" refs/stash "$commit"
|
-m "$(command git log -1 --pretty="format:%s" "$commit")" refs/stash "$commit"
|
||||||
done
|
done
|
||||||
|
|
||||||
# }
|
# }
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
# function git-submodule-move {
|
# function git-submodule-move {
|
||||||
|
|
||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||||
print "$0: not a repository work tree: $PWD" >&2
|
print "$0: not a repository work tree: $PWD" >&2
|
||||||
return 1
|
return 1
|
||||||
elif [[ "$PWD" != "$(git-root)" ]]; then
|
elif [[ "$PWD" != "$(git-root)" ]]; then
|
||||||
@ -19,17 +19,17 @@ local src="$1"
|
|||||||
local dst="$2"
|
local dst="$2"
|
||||||
local url
|
local url
|
||||||
|
|
||||||
url="$(git config --file "$(git-root)/.gitmodules" --get "submodule.${src}.url")"
|
url="$(command git config --file "$(git-root)/.gitmodules" --get "submodule.${src}.url")"
|
||||||
|
|
||||||
if [[ -z "$url" ]]; then
|
if [[ -z "$url" ]]; then
|
||||||
print "$0: submodule not found: $src" >&2
|
print "$0: submodule not found: $src" >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p "${dst:h}"
|
mkdir -p "$dst:h"
|
||||||
|
|
||||||
git-submodule-remove "$src"
|
git-submodule-remove "$src"
|
||||||
git submodule add "$url" "$dst"
|
command git submodule add "$url" "$dst"
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
@ -7,24 +7,24 @@
|
|||||||
|
|
||||||
# function git-submodule-remove {
|
# function git-submodule-remove {
|
||||||
|
|
||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||||
print "$0: not a repository work tree: $PWD" >&2
|
print "$0: not a repository work tree: $PWD" >&2
|
||||||
return 1
|
return 1
|
||||||
elif [[ "$PWD" != "$(git-root)" ]]; then
|
elif [[ "$PWD" != "$(git-root)" ]]; then
|
||||||
print "$0: must be run from the root of the work tree" >&2
|
print "$0: must be run from the root of the work tree" >&2
|
||||||
return 1
|
return 1
|
||||||
elif ! git config --file .gitmodules --get "submodule.${1}.path" &>/dev/null; then
|
elif ! command git config --file .gitmodules --get "submodule.${1}.path" &> /dev/null; then
|
||||||
print "$0: submodule not found: $1" >&2
|
print "$0: submodule not found: $1" >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
git config --file "$(git-dir)/config" --remove-section "submodule.${1}" &>/dev/null
|
command git config --file "$(git-dir)/config" --remove-section "submodule.${1}" &> /dev/null
|
||||||
git config --file "$(git-root)/.gitmodules" --remove-section "submodule.${1}" &>/dev/null
|
command git config --file "$(git-root)/.gitmodules" --remove-section "submodule.${1}" &> /dev/null
|
||||||
git add .gitmodules
|
command git add .gitmodules
|
||||||
|
|
||||||
git rm --cached -rf "${1}"
|
command git rm --cached -rf "$1"
|
||||||
rm -rf "${1}"
|
rm -rf "$1"
|
||||||
rm -rf "$(git-dir)/modules/${1}"
|
rm -rf "$(git-dir)/modules/$1"
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
@ -13,5 +13,8 @@ fi
|
|||||||
# Load dependencies.
|
# Load dependencies.
|
||||||
pmodload 'helper'
|
pmodload 'helper'
|
||||||
|
|
||||||
|
# Load 'run-help' function.
|
||||||
|
autoload -Uz run-help-git
|
||||||
|
|
||||||
# Source module files.
|
# Source module files.
|
||||||
source "${0:h}/alias.zsh"
|
source "${0:h}/alias.zsh"
|
||||||
|
@ -1,34 +1,34 @@
|
|||||||
GNU Utility
|
# GNU Utility
|
||||||
===========
|
|
||||||
|
|
||||||
Provides for the interactive use of GNU utilities on BSD systems.
|
Provides for the interactive use of GNU utilities on BSD systems.
|
||||||
|
|
||||||
Installing GNU utilities on non-GNU systems in `$PATH` without a prefix, i.e.
|
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
|
`ls` instead of `gls`, is not recommended since scripts that target other
|
||||||
utilities will be broken.
|
utilities will be broken.
|
||||||
|
|
||||||
This module wraps GNU utilities in functions without a prefix for interactive
|
This module wraps GNU utilities in functions without a prefix for interactive
|
||||||
use.
|
use.
|
||||||
|
|
||||||
This module must be loaded **before** the *utility* module.
|
This module must be loaded _before_ the [_`utility`_][1] module so that GNU
|
||||||
|
utilities enabled in this module are available for configuration in _`utility`_
|
||||||
|
module.
|
||||||
|
|
||||||
Settings
|
## Settings
|
||||||
--------
|
|
||||||
|
|
||||||
### Prefix
|
### Prefix
|
||||||
|
|
||||||
To use a different prefix, add the following to *zpreztorc*, and replace 'g' with
|
To use a different prefix, add the following to
|
||||||
the desired prefix:
|
_`${ZDOTDIR:-$HOME}/.zpreztorc`_, and replace `'g'` with the desired prefix.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zstyle ':prezto:module:gnu-utility' prefix 'g'
|
zstyle ':prezto:module:gnu-utility' prefix 'g'
|
||||||
```
|
```
|
||||||
|
|
||||||
Authors
|
## Authors
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][1].*
|
_The authors of this module should be contacted via the [issue tracker][2]._
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
[1]: https://github.com/sorin-ionescu/prezto/issues
|
[1]: ../utility#readme
|
||||||
|
[2]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
@ -6,34 +6,36 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Get the prefix or use the default.
|
# Get the prefix or use the default.
|
||||||
zstyle -s ':prezto:module:gnu-utility' prefix '_gnu_utility_p' || _gnu_utility_p='g'
|
zstyle -s ':prezto:module:gnu-utility' prefix '_gnu_utility_p' \
|
||||||
|
|| _gnu_utility_p='g'
|
||||||
|
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
if (( ! ${+commands[${_gnu_utility_p}whoami]} )); then
|
if (( ! $+commands[${_gnu_utility_p}whoami] )); then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
_gnu_utility_cmds=(
|
_gnu_utility_cmds=(
|
||||||
# Coreutils
|
# Coreutils
|
||||||
'[' 'base64' 'basename' 'cat' 'chcon' 'chgrp' 'chmod' 'chown'
|
'[' 'b2sum' 'base32' 'base64' 'basename' 'basenc' 'cat' 'chcon' 'chgrp'
|
||||||
'chroot' 'cksum' 'comm' 'cp' 'csplit' 'cut' 'date' 'dd' 'df'
|
'chmod' 'chown' 'chroot' 'cksum' 'comm' 'cp' 'csplit' 'cut'
|
||||||
'dir' 'dircolors' 'dirname' 'du' 'echo' 'env' 'expand' 'expr'
|
'date' 'dd' 'df' 'dir' 'dircolors' 'dirname' 'du' 'echo' 'env' 'expand' 'expr'
|
||||||
'factor' 'false' 'fmt' 'fold' 'groups' 'head' 'hostid' 'id'
|
'factor' 'false' 'fmt' 'fold' 'groups' 'head' 'hostid' 'id' 'install' 'join'
|
||||||
'install' 'join' 'kill' 'link' 'ln' 'logname' 'ls' 'md5sum'
|
'kill' 'link' 'ln' 'logname' 'ls' 'md5sum' 'mkdir' 'mkfifo'
|
||||||
'mkdir' 'mkfifo' 'mknod' 'mktemp' 'mv' 'nice' 'nl' 'nohup' 'nproc'
|
'mknod' 'mktemp' 'mv' 'nice' 'nl' 'nohup' 'nproc' 'numfmt' 'od'
|
||||||
'od' 'paste' 'pathchk' 'pinee' 'pr' 'printenv' 'printf' 'ptx'
|
'paste' 'pathchk' 'pinky' 'pr' 'printenv' 'printf' 'ptx' 'pwd'
|
||||||
'pwd' 'readlink' 'realpath' 'rm' 'rmdir' 'runcon' 'seq' 'sha1sum'
|
'readlink' 'realpath' 'rm' 'rmdir' 'runcon'
|
||||||
'sha224sum' 'sha256sum' 'sha384sum' 'sha512sum' 'shred' 'shuf'
|
'seq' 'sha1sum' 'sha224sum' 'sha256sum' 'sha384sum' 'sha512sum' 'shred' 'shuf'
|
||||||
'sleep' 'sort' 'split' 'stat' 'stty' 'sum' 'sync' 'tac' 'tail'
|
'sleep' 'sort' 'split' 'stat' 'stdbuf' 'stty' 'sum' 'sync' 'tac' 'tail'
|
||||||
'tee' 'test' 'timeout' 'touch' 'tr' 'true' 'truncate' 'tsort'
|
'tee' 'test' 'timeout' 'touch' 'tr' 'true' 'truncate' 'tsort' 'tty'
|
||||||
'tty' 'uname' 'unexpand' 'uniq' 'unlink' 'uptime' 'users' 'vdir'
|
'uname' 'unexpand' 'uniq' 'unlink' 'uptime' 'users' 'vdir'
|
||||||
'wc' 'who' 'whoami' 'yes'
|
'wc' 'who' 'whoami' 'yes'
|
||||||
|
|
||||||
# The following utilities are not part of Coreutils but installed separately.
|
# The following utilities are not part of Coreutils but installed separately.
|
||||||
|
|
||||||
# Binutils
|
# Binutils
|
||||||
'addr2line' 'ar' 'c++filt' 'elfedit' 'nm' 'objcopy' 'objdump'
|
'addr2line' 'ar' 'c++filt' 'coffdump' 'dlltool' 'dllwrap' 'elfedit' 'nm'
|
||||||
'ranlib' 'readelf' 'size' 'strings' 'strip'
|
'objcopy' 'objdump' 'ranlib' 'readelf'
|
||||||
|
'size' 'srconv' 'strings' 'strip' 'sysdump' 'windmc' 'windres'
|
||||||
|
|
||||||
# Findutils
|
# Findutils
|
||||||
'find' 'locate' 'oldfind' 'updatedb' 'xargs'
|
'find' 'locate' 'oldfind' 'updatedb' 'xargs'
|
||||||
@ -42,16 +44,18 @@ _gnu_utility_cmds=(
|
|||||||
'libtool' 'libtoolize'
|
'libtool' 'libtoolize'
|
||||||
|
|
||||||
# Miscellaneous
|
# Miscellaneous
|
||||||
'getopt' 'grep' 'indent' 'make' 'sed' 'tar' 'time' 'units' 'which'
|
'egrep' 'fgrep' 'getopt' 'grep' 'indent' 'make' 'sed' 'tar' 'time' 'units'
|
||||||
|
'which'
|
||||||
)
|
)
|
||||||
|
|
||||||
# Wrap GNU utilities in functions.
|
# Wrap GNU utilities in functions.
|
||||||
for _gnu_utility_cmd in "${_gnu_utility_cmds[@]}"; do
|
for _gnu_utility_cmd in "${_gnu_utility_cmds[@]}"; do
|
||||||
_gnu_utility_pcmd="${_gnu_utility_p}${_gnu_utility_cmd}"
|
_gnu_utility_pcmd="${_gnu_utility_p}${_gnu_utility_cmd}"
|
||||||
if (( ${+commands[${_gnu_utility_pcmd}]} && ! ${+builtins[${_gnu_utility_cmd}]} )); then
|
if (( $+commands[$_gnu_utility_pcmd] \
|
||||||
|
&& ! $+builtins[$_gnu_utility_cmd] )); then
|
||||||
eval "
|
eval "
|
||||||
function ${_gnu_utility_cmd} {
|
function $_gnu_utility_cmd {
|
||||||
'${commands[${_gnu_utility_pcmd}]}' \"\$@\"
|
'$commands[$_gnu_utility_pcmd]' \"\$@\"
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
fi
|
fi
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
GPG
|
# GPG
|
||||||
===
|
|
||||||
|
|
||||||
Provides for an easier use of [GPG][1] by setting up [gpg-agent][2].
|
Provides for an easier use of [GPG][1] by setting up [gpg-agent][2].
|
||||||
|
|
||||||
|
## Settings
|
||||||
|
|
||||||
### SSH
|
### SSH
|
||||||
|
|
||||||
To enable OpenSSH Agent protocol emulation, and make `gpg-agent` a drop-in
|
To enable OpenSSH Agent protocol emulation, and make `gpg-agent` a drop-in
|
||||||
replacement for `ssh-agent`, add the following line to
|
replacement for `ssh-agent`, add the following line to
|
||||||
*~/.gnupg/gpg-agent.conf*:
|
_`$GNUPGHOME/gpg-agent.conf`_ or _`$$HOME/.gnupg/gpg-agent.conf`_:
|
||||||
|
|
||||||
```conf
|
```conf
|
||||||
enable-ssh-support
|
enable-ssh-support
|
||||||
@ -16,13 +17,12 @@ enable-ssh-support
|
|||||||
When OpenSSH Agent protocol emulation is enabled, this module will load the SSH
|
When OpenSSH Agent protocol emulation is enabled, this module will load the SSH
|
||||||
module for additional processing.
|
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]: http://www.gnupg.org
|
[1]: https://www.gnupg.org
|
||||||
[2]: http://linux.die.net/man/1/gpg-agent
|
[2]: https://linux.die.net/man/1/gpg-agent
|
||||||
[3]: https://github.com/sorin-ionescu/prezto/issues
|
[3]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
@ -12,7 +12,7 @@ fi
|
|||||||
|
|
||||||
# Set the default paths to gpg-agent files.
|
# Set the default paths to gpg-agent files.
|
||||||
_gpg_agent_conf="${GNUPGHOME:-$HOME/.gnupg}/gpg-agent.conf"
|
_gpg_agent_conf="${GNUPGHOME:-$HOME/.gnupg}/gpg-agent.conf"
|
||||||
_gpg_agent_env="${TMPDIR:-/tmp}/gpg-agent.env.$UID"
|
_gpg_agent_env="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/gpg-agent.env"
|
||||||
|
|
||||||
# Load environment variables from previous run
|
# Load environment variables from previous run
|
||||||
source "$_gpg_agent_env" 2> /dev/null
|
source "$_gpg_agent_env" 2> /dev/null
|
||||||
@ -21,12 +21,13 @@ source "$_gpg_agent_env" 2> /dev/null
|
|||||||
if [[ -z "$GPG_AGENT_INFO" && ! -S "${GNUPGHOME:-$HOME/.gnupg}/S.gpg-agent" ]]; then
|
if [[ -z "$GPG_AGENT_INFO" && ! -S "${GNUPGHOME:-$HOME/.gnupg}/S.gpg-agent" ]]; then
|
||||||
# Start gpg-agent if not started.
|
# Start gpg-agent if not started.
|
||||||
if ! ps -U "$LOGNAME" -o pid,ucomm | grep -q -- "${${${(s.:.)GPG_AGENT_INFO}[2]}:--1} gpg-agent"; then
|
if ! ps -U "$LOGNAME" -o pid,ucomm | grep -q -- "${${${(s.:.)GPG_AGENT_INFO}[2]}:--1} gpg-agent"; then
|
||||||
|
mkdir -p "$_gpg_agent_env:h"
|
||||||
eval "$(gpg-agent --daemon | tee "$_gpg_agent_env")"
|
eval "$(gpg-agent --daemon | tee "$_gpg_agent_env")"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Inform gpg-agent of the current TTY for user prompts.
|
# Inform gpg-agent of the current TTY for user prompts.
|
||||||
export GPG_TTY="$(tty)"
|
export GPG_TTY=$TTY
|
||||||
|
|
||||||
# Integrate with the SSH module.
|
# Integrate with the SSH module.
|
||||||
if grep '^enable-ssh-support' "$_gpg_agent_conf" &> /dev/null; then
|
if grep '^enable-ssh-support' "$_gpg_agent_conf" &> /dev/null; then
|
||||||
|
@ -1,10 +1,8 @@
|
|||||||
Haskell
|
# Haskell
|
||||||
=======
|
|
||||||
|
|
||||||
Enables local Haskell package installation.
|
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
|
[Cabal][1], the Haskell package manager, can install packages into per user
|
||||||
directories.
|
directories.
|
||||||
@ -17,12 +15,11 @@ documentation.
|
|||||||
|
|
||||||
Install packages into per user directories with `cabal install --user`.
|
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]: http://www.haskell.org/cabal/
|
[1]: https://www.haskell.org/cabal/
|
||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
|
[2]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
@ -10,8 +10,11 @@ if (( ! $+commands[ghc] )); then
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Load dependencies.
|
||||||
|
pmodload 'helper'
|
||||||
|
|
||||||
# Prepend Cabal per user directories to PATH.
|
# Prepend Cabal per user directories to PATH.
|
||||||
if [[ "$OSTYPE" == darwin* && -d $HOME/Library/Haskell ]]; then
|
if is-darwin && [[ -d $HOME/Library/Haskell ]]; then
|
||||||
path=($HOME/Library/Haskell/bin(/N) $path)
|
path=($HOME/Library/Haskell/bin(/N) $path)
|
||||||
else
|
else
|
||||||
path=($HOME/.cabal/bin(/N) $path)
|
path=($HOME/.cabal/bin(/N) $path)
|
||||||
|
@ -1,24 +1,26 @@
|
|||||||
Helper
|
# Helper
|
||||||
======
|
|
||||||
|
|
||||||
Provides helper functions for developing modules.
|
Provides helper functions for developing modules.
|
||||||
|
|
||||||
Functions
|
## Functions
|
||||||
---------
|
|
||||||
|
|
||||||
- `add-zsh-trap` adds a function name to a list to be called when a trap is
|
- `add-zsh-trap` adds a function name to a list to be called when a trap is
|
||||||
triggered.
|
triggered.
|
||||||
- `is-autoloadable` checks if a file can be autoloaded by trying to load it
|
- `is-autoloadable` checks if a file can be autoloaded by trying to load it in
|
||||||
in a subshell.
|
a subshell.
|
||||||
- `is-callable` checks if a name is a command, function, or alias.
|
- `is-callable` checks if a name is a command, function, or alias.
|
||||||
- `is-true` checks a boolean variable for "true".
|
- `is-true` checks a boolean variable for "true".
|
||||||
- `coalesce` prints the first non-empty string in the arguments array.
|
- `coalesce` prints the first non-empty string in the arguments array.
|
||||||
|
- `is-darwin` checks if running on macOS Darwin.
|
||||||
|
- `is-linux` checks if running on Linux.
|
||||||
|
- `is-bsd` checks if running on BSD.
|
||||||
|
- `is-cygwin` checks if running on Cygwin (Windows).
|
||||||
|
- `is-termux` checks if running on Termux (Android).
|
||||||
|
|
||||||
Authors
|
## Authors
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][1].*
|
_The authors of this module should be contacted via the [issue tracker][1]._
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
[1]: https://github.com/sorin-ionescu/prezto/issues
|
[1]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
@ -29,3 +29,28 @@ function coalesce {
|
|||||||
done
|
done
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Checks if running on macOS Darwin.
|
||||||
|
function is-darwin {
|
||||||
|
[[ "$OSTYPE" == darwin* ]]
|
||||||
|
}
|
||||||
|
|
||||||
|
# Checks if running on Linux.
|
||||||
|
function is-linux {
|
||||||
|
[[ "$OSTYPE" == linux* ]]
|
||||||
|
}
|
||||||
|
|
||||||
|
# Checks if running on BSD.
|
||||||
|
function is-bsd {
|
||||||
|
[[ "$OSTYPE" == *bsd* ]]
|
||||||
|
}
|
||||||
|
|
||||||
|
# Checks if running on Cygwin (Windows).
|
||||||
|
function is-cygwin {
|
||||||
|
[[ "$OSTYPE" == cygwin* ]]
|
||||||
|
}
|
||||||
|
|
||||||
|
# Checks if running on termux (Android).
|
||||||
|
function is-termux {
|
||||||
|
[[ "$OSTYPE" == linux-android ]]
|
||||||
|
}
|
||||||
|
@ -1,28 +1,32 @@
|
|||||||
History Substring Search
|
# History Substring Search
|
||||||
========================
|
|
||||||
|
|
||||||
Integrates [zsh-history-substring-search][1] into Prezto, which implements
|
Integrates [`zsh-history-substring-search`][1] into Prezto, which implements the
|
||||||
the [Fish shell][2]'s history search feature, where the user can type in any
|
[Fish shell][2]'s history search feature, where the user can type in any part of
|
||||||
part of a previously entered command and press up and down to cycle through
|
a previously entered command and press up and down to cycle through matching
|
||||||
matching commands.
|
commands.
|
||||||
|
|
||||||
If this module is used in conjunction with the *syntax-highlighting* module,
|
If this module is used in conjunction with the [_`syntax-highlighting`_][3]
|
||||||
this module must be loaded **after** the *syntax-highlighting* module.
|
module, this module must be loaded _after_ the _`syntax-highlighting`_ module.
|
||||||
|
|
||||||
Contributors
|
Additionally, if this module is used in conjunction with the
|
||||||
------------
|
[_`autosuggestions`_][4] module, this module must be loaded _before_ the
|
||||||
|
_`autosuggestions`_ module.
|
||||||
|
|
||||||
|
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
|
New features and bug fixes should be submitted to the
|
||||||
[zsh-history-substring-search][1] project according to its rules and
|
[`zsh-history-substring-search`][1] project according to its rules and
|
||||||
regulations. This module will be synchronized against it.
|
regulations. This module will be synchronized against it.
|
||||||
|
|
||||||
Settings
|
## Settings
|
||||||
--------
|
|
||||||
|
|
||||||
### Case Sensitivity
|
### Case Sensitivity
|
||||||
|
|
||||||
To enable case-sensitivity for this module only, add the following line to
|
To enable case-sensitivity for this module only, add the following line to
|
||||||
*zpreztorc*:
|
_`${ZDOTDIR:-$HOME}/.zpreztorc`_:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zstyle ':prezto:module:history-substring-search' case-sensitive 'yes'
|
zstyle ':prezto:module:history-substring-search' case-sensitive 'yes'
|
||||||
@ -30,42 +34,46 @@ zstyle ':prezto:module:history-substring-search' case-sensitive 'yes'
|
|||||||
|
|
||||||
### Highlighting
|
### Highlighting
|
||||||
|
|
||||||
If colors are enabled, *history-substring-search* will automatically highlight
|
If colors are enabled, _history-substring-search_ will automatically highlight
|
||||||
positive results.
|
positive results.
|
||||||
|
|
||||||
To enable highlighting for this module only, add the following line to
|
To disable highlighting for this module only, add the following line to
|
||||||
*zpreztorc*:
|
_`${ZDOTDIR:-$HOME}/.zpreztorc`_:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zstyle ':prezto:module:history-substring-search' color 'yes'
|
zstyle ':prezto:module:history-substring-search' color 'no'
|
||||||
```
|
```
|
||||||
|
|
||||||
To set the query found color, add the following line to *zpreztorc*:
|
To set the query found color, add the following line to
|
||||||
|
_`${ZDOTDIR:-$HOME}/.zpreztorc`_:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zstyle ':prezto:module:history-substring-search:color' found ''
|
zstyle ':prezto:module:history-substring-search:color' found ''
|
||||||
```
|
```
|
||||||
|
|
||||||
To set the query not found color, add the following line to *zpreztorc*:
|
To set the query not found color, add the following line to
|
||||||
|
_`${ZDOTDIR:-$HOME}/.zpreztorc`_:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zstyle ':prezto:module:history-substring-search:color' not-found ''
|
zstyle ':prezto:module:history-substring-search:color' not-found ''
|
||||||
```
|
```
|
||||||
|
|
||||||
To set the search globbing flags, add the following line to *zpreztorc*:
|
To set the search globbing flags, add the following line to
|
||||||
|
_`${ZDOTDIR:-$HOME}/.zpreztorc`_:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zstyle ':prezto:module:history-substring-search' globbing-flags ''
|
zstyle ':prezto:module:history-substring-search' globbing-flags ''
|
||||||
```
|
```
|
||||||
|
|
||||||
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][5]._
|
||||||
|
|
||||||
- [Suraj N. Kurapati](https://github.com/sunaku)
|
- [Suraj N. Kurapati](https://github.com/sunaku)
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
[1]: https://github.com/zsh-users/zsh-history-substring-search
|
[1]: https://github.com/zsh-users/zsh-history-substring-search
|
||||||
[2]: http://fishshell.com
|
[2]: https://fishshell.com
|
||||||
[3]: https://github.com/sorin-ionescu/prezto/issues
|
[3]: ../syntax-highlighting#readme
|
||||||
|
[4]: ../autosuggestions#readme
|
||||||
|
[5]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
Submodule modules/history-substring-search/external updated: aae3388491...0f80b8eb33
@ -10,7 +10,9 @@
|
|||||||
pmodload 'editor'
|
pmodload 'editor'
|
||||||
|
|
||||||
# Source module files.
|
# Source module files.
|
||||||
source "${0:h}/external/zsh-history-substring-search.zsh" || return 1
|
if (( ! $+functions[history-substring-search-up] )); then
|
||||||
|
source "${0:h}/external/zsh-history-substring-search.zsh" || return 1
|
||||||
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
# Search
|
# Search
|
||||||
|
@ -1,43 +1,79 @@
|
|||||||
History
|
# History
|
||||||
=======
|
|
||||||
|
|
||||||
Sets [history][1] options and defines history aliases.
|
Sets [history][1] options and defines history aliases.
|
||||||
|
|
||||||
Variables
|
**Note:** Default path of `HISTFILE` has changed from
|
||||||
---------
|
_`${ZDOTDIR:-$HOME}/.zhistory`_ to _`${ZDOTDIR:-$HOME}/.zsh_history`_. The file
|
||||||
|
will be automatically renamed if possible (when the new one doesn't exist).
|
||||||
|
Otherwise, if you want to preserve previous history, you will need to move them
|
||||||
|
from _`${ZDOTDIR:-$HOME}/.zhistory`_ to _`${ZDOTDIR:-$HOME}/.zsh_history`_.
|
||||||
|
|
||||||
- `HISTFILE` stores the path to the history file.
|
Alternately, you can set `HISTFILE` manually to _`${ZDOTDIR:-$HOME}/.zhistory`_.
|
||||||
- `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
|
## Options
|
||||||
-------
|
|
||||||
|
|
||||||
- `BANG_HIST` treats the **!** character specially during expansion.
|
- `BANG_HIST` treats the **!** character specially during expansion.
|
||||||
- `EXTENDED_HISTORY` writes the history file in the *:start:elapsed;command* format.
|
- `EXTENDED_HISTORY` writes the history file in the _:start:elapsed;command_
|
||||||
- `INC_APPEND_HISTORY` writes to the history file immediately, not when the shell exits.
|
format.
|
||||||
- `SHARE_HISTORY` shares history between all sessions.
|
- `SHARE_HISTORY` shares history between all sessions. Note that
|
||||||
- `HIST_EXPIRE_DUPS_FIRST` expires a duplicate event first when trimming history.
|
`SHARE_HISTORY`, `INC_APPEND_HISTORY`, and `INC_APPEND_HISTORY_TIME` are
|
||||||
- `HIST_IGNORE_DUPS` does not record an event that was just recorded again.
|
mutually exclusive.
|
||||||
- `HIST_IGNORE_ALL_DUPS` deletes an old recorded event if a new event is a duplicate.
|
- `HIST_EXPIRE_DUPS_FIRST` expires a duplicate event first when trimming history.
|
||||||
- `HIST_FIND_NO_DUPS` does not display a previously found event.
|
- `HIST_IGNORE_DUPS` does not record an event that was just recorded again.
|
||||||
- `HIST_IGNORE_SPACE` does not record an event starting with a space.
|
- `HIST_IGNORE_ALL_DUPS` deletes an old recorded event if a new event is a
|
||||||
- `HIST_SAVE_NO_DUPS` does not write a duplicate event to the history file.
|
duplicate.
|
||||||
- `HIST_VERIFY` does not execute immediately upon history expansion.
|
- `HIST_FIND_NO_DUPS` does not display a previously found event.
|
||||||
- `HIST_BEEP` beeps when accessing non-existent history.
|
- `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
|
## Variables
|
||||||
-------
|
|
||||||
|
|
||||||
- `history-stat` lists the ten most used commands
|
- `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.
|
||||||
|
|
||||||
Authors
|
## Aliases
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][2].*
|
- `history-stat` lists the ten most used commands
|
||||||
|
|
||||||
- [Robby Russell](https://github.com/robbyrussell)
|
## Settings
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
|
||||||
|
|
||||||
[1]: http://zsh.sourceforge.net/Guide/zshguide02.html#l16
|
### histfile
|
||||||
|
|
||||||
|
Can be configured either by setting HISTFILE manually before loading this
|
||||||
|
module or by using zstyle:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
zstyle ':prezto:module:history' histfile "<file_name>"
|
||||||
|
```
|
||||||
|
|
||||||
|
defaults to "${ZDOTDIR:-$HOME}/.zsh_history".
|
||||||
|
|
||||||
|
## histsize
|
||||||
|
|
||||||
|
```sh
|
||||||
|
zstyle ':prezto:module:history' histsize <number>
|
||||||
|
```
|
||||||
|
|
||||||
|
defaults to 10000.
|
||||||
|
|
||||||
|
## savehist
|
||||||
|
|
||||||
|
```sh
|
||||||
|
zstyle ':prezto:module:history' savehist <number>
|
||||||
|
```
|
||||||
|
|
||||||
|
defaults to histsize
|
||||||
|
|
||||||
|
## 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)
|
||||||
|
- [Indrajit Raychaudhuri](https://github.com/indrajitr)
|
||||||
|
|
||||||
|
[1]: https://zsh.sourceforge.net/Guide/zshguide02.html#l16
|
||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
|
[2]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
@ -6,21 +6,12 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
#
|
|
||||||
# Variables
|
|
||||||
#
|
|
||||||
|
|
||||||
HISTFILE="${ZDOTDIR:-$HOME}/.zhistory" # The path to the history file.
|
|
||||||
HISTSIZE=10000 # The maximum number of events to save in the internal history.
|
|
||||||
SAVEHIST=10000 # The maximum number of events to save in the history file.
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Options
|
# Options
|
||||||
#
|
#
|
||||||
|
|
||||||
setopt BANG_HIST # Treat the '!' character specially during expansion.
|
setopt BANG_HIST # Treat the '!' character specially during expansion.
|
||||||
setopt EXTENDED_HISTORY # Write the history file in the ':start:elapsed;command' format.
|
setopt EXTENDED_HISTORY # Write the history file in the ':start:elapsed;command' format.
|
||||||
setopt INC_APPEND_HISTORY # Write to the history file immediately, not when the shell exits.
|
|
||||||
setopt SHARE_HISTORY # Share history between all sessions.
|
setopt SHARE_HISTORY # Share history between all sessions.
|
||||||
setopt HIST_EXPIRE_DUPS_FIRST # Expire a duplicate event first when trimming history.
|
setopt HIST_EXPIRE_DUPS_FIRST # Expire a duplicate event first when trimming history.
|
||||||
setopt HIST_IGNORE_DUPS # Do not record an event that was just recorded again.
|
setopt HIST_IGNORE_DUPS # Do not record an event that was just recorded again.
|
||||||
@ -31,9 +22,46 @@ setopt HIST_SAVE_NO_DUPS # Do not write a duplicate event to the history
|
|||||||
setopt HIST_VERIFY # Do not execute immediately upon history expansion.
|
setopt HIST_VERIFY # Do not execute immediately upon history expansion.
|
||||||
setopt HIST_BEEP # Beep when accessing non-existent history.
|
setopt HIST_BEEP # Beep when accessing non-existent history.
|
||||||
|
|
||||||
|
#
|
||||||
|
# Variables
|
||||||
|
#
|
||||||
|
|
||||||
|
zstyle -s ':prezto:module:history' histfile '_pmh_histfile' || _pmh_histfile="${HISTFILE:-${ZDOTDIR:-$HOME}/.zsh_history}"
|
||||||
|
zstyle -s ':prezto:module:history' histsize '_pmh_histsize' || _pmh_histsize=10000
|
||||||
|
zstyle -s ':prezto:module:history' savehist '_pmh_savehist' || _pmh_savehist=${_pmh_histsize}
|
||||||
|
HISTFILE="${_pmh_histfile}" # The path to the history file.
|
||||||
|
HISTSIZE="${_pmh_histsize}" # The maximum number of events to save in the internal history.
|
||||||
|
SAVEHIST="${_pmh_savehist}" # The maximum number of events to save in the history file.
|
||||||
|
unset _pmh_{hist{file,size},savehist}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Aliases
|
# Aliases
|
||||||
#
|
#
|
||||||
|
|
||||||
# Lists the ten most used commands.
|
# Lists the ten most used commands.
|
||||||
alias history-stat="history 0 | awk '{print \$2}' | sort | uniq -c | sort -n -r | head"
|
alias history-stat="history 0 | awk '{print \$2}' | sort | uniq -c | sort -n -r | head"
|
||||||
|
|
||||||
|
if [[ -s "${OLD_HISTFILE::=${HISTFILE:h}/.zhistory}" ]]; then
|
||||||
|
|
||||||
|
# New 'HISTFILE' doesn't exist yet, rename legacy one if available and notify.
|
||||||
|
if [[ ! -s "$HISTFILE" ]]; then
|
||||||
|
<<EON
|
||||||
|
NOTICE: Default path of 'HISTFILE' has changed from '${OLD_HISTFILE/#$HOME/~}'
|
||||||
|
to '${HISTFILE/#$HOME/~}'.
|
||||||
|
Attempting to rename the existing 'HISTFILE' ...
|
||||||
|
EON
|
||||||
|
command mv -v "$OLD_HISTFILE" "$HISTFILE"
|
||||||
|
|
||||||
|
# New 'HISTFILE' does exist and is older than legacy one, just warn.
|
||||||
|
elif [[ "$OLD_HISTFILE" -nt "$HISTFILE" ]]; then
|
||||||
|
<<EOW
|
||||||
|
WARNING: Default path of 'HISTFILE' has changed from '${OLD_HISTFILE/#$HOME/~}'
|
||||||
|
to '${HISTFILE/#$HOME/~}'.
|
||||||
|
Either set 'HISTFILE' in '${${0:h}/#$HOME/~}'
|
||||||
|
or move previous history from '${OLD_HISTFILE/#$HOME/~}' to
|
||||||
|
'${HISTFILE/#$HOME/~}'.
|
||||||
|
EOW
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset OLD_HISTFILE
|
||||||
|
fi
|
||||||
|
@ -1,39 +1,43 @@
|
|||||||
Homebrew
|
# Homebrew
|
||||||
========
|
|
||||||
|
|
||||||
Defines Homebrew aliases.
|
Defines Homebrew specific environment variables and aliases.
|
||||||
|
|
||||||
Aliases
|
## Variables
|
||||||
-------
|
|
||||||
|
|
||||||
### Homebrew
|
Execute the following to list the environment variables loaded in the shell:
|
||||||
|
|
||||||
- `brewc` cleans outdated brews and their cached archives.
|
```sh
|
||||||
- `brewC` cleans outdated brews, including keg-only, and their cached archives.
|
brew shellenv
|
||||||
- `brewi` installs a formula.
|
```
|
||||||
- `brewl` lists installed formulae.
|
|
||||||
- `brewo` lists brews which have an update available.
|
## Aliases
|
||||||
- `brews` searches for a formula.
|
|
||||||
- `brewu` updates and upgrades Homebrew packages and formulae.
|
### Homebrew Core
|
||||||
- `brewx` uninstalls a formula.
|
|
||||||
|
- `brewc` cleans outdated brews and their cached archives.
|
||||||
|
- `brewi` installs a formula.
|
||||||
|
- `brewL` lists installed formulae that are not dependencies of another
|
||||||
|
installed formula.
|
||||||
|
- `brewl` lists installed formulae.
|
||||||
|
- `brewo` lists brews which have an update available.
|
||||||
|
- `brews` searches for a formula.
|
||||||
|
- `brewu` upgrades outdated formulae.
|
||||||
|
- `brewx` uninstalls a formula.
|
||||||
|
|
||||||
### Homebrew Cask
|
### Homebrew Cask
|
||||||
|
|
||||||
- `cask` is aliased to `brew cask`.
|
- `caski` installs a cask.
|
||||||
- `caskc` cleans up old cached downloads.
|
- `caskl` lists installed casks.
|
||||||
- `caskC` cleans up all cached downloads.
|
- `casko` lists casks which have an update available.
|
||||||
- `caski` installs a cask.
|
- `casks` searches for a cask.
|
||||||
- `caskl` lists installed casks.
|
- `casku` upgrades outdated casks.
|
||||||
- `casko` lists casks which have an update available.
|
- `caskx` uninstalls a cask.
|
||||||
- `casks` searches for a cask.
|
|
||||||
- `caskx` uninstalls a cask.
|
|
||||||
|
|
||||||
Authors
|
## Authors
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][1].*
|
_The authors of this module should be contacted via the [issue tracker][1]._
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
- [Griffin Yourick](https://github.com/tough-griff)
|
- [Griffin Yourick](https://github.com/tough-griff)
|
||||||
|
|
||||||
[1]: https://github.com/sorin-ionescu/prezto/issues
|
[1]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
@ -5,31 +5,43 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# Load dependencies.
|
||||||
|
pmodload 'helper'
|
||||||
|
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
if [[ "$OSTYPE" != (darwin|linux)* ]]; then
|
if ! is-darwin && ! is-linux; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# Variables
|
||||||
|
#
|
||||||
|
|
||||||
|
# Load standard Homebrew shellenv into the shell session.
|
||||||
|
# Load 'HOMEBREW_' prefixed variables only. Avoid loading 'PATH' related
|
||||||
|
# variables as they are already handled in standard zsh configuration.
|
||||||
|
if (( $+commands[brew] )); then
|
||||||
|
eval "${(@M)${(f)"$(brew shellenv 2> /dev/null)"}:#export HOMEBREW*}"
|
||||||
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
# Aliases
|
# Aliases
|
||||||
#
|
#
|
||||||
|
|
||||||
# Homebrew
|
# Homebrew
|
||||||
alias brewc='brew cleanup'
|
alias brewc='brew cleanup'
|
||||||
alias brewC='brew cleanup --force'
|
|
||||||
alias brewi='brew install'
|
alias brewi='brew install'
|
||||||
|
alias brewL='brew leaves'
|
||||||
alias brewl='brew list'
|
alias brewl='brew list'
|
||||||
alias brewo='brew outdated'
|
alias brewo='brew outdated'
|
||||||
alias brews='brew search'
|
alias brews='brew search'
|
||||||
alias brewu='brew update && brew upgrade'
|
alias brewu='brew upgrade'
|
||||||
alias brewx='brew remove'
|
alias brewx='brew uninstall'
|
||||||
|
|
||||||
# Homebrew Cask
|
# Homebrew Cask
|
||||||
alias cask='brew cask'
|
alias caski='brew install --cask'
|
||||||
alias caskc='brew cask cleanup --outdated'
|
alias caskl='brew list --cask'
|
||||||
alias caskC='brew cask cleanup'
|
alias casko='brew outdated --cask'
|
||||||
alias caski='brew cask install'
|
alias casks='brew search --cask'
|
||||||
alias caskl='brew cask list'
|
alias casku='brew upgrade --cask'
|
||||||
alias casko='brew cask outdated'
|
alias caskx='brew uninstall --cask'
|
||||||
alias casks='brew cask search'
|
|
||||||
alias caskx='brew cask uninstall'
|
|
||||||
|
@ -1,25 +1,22 @@
|
|||||||
MacPorts
|
# MacPorts
|
||||||
========
|
|
||||||
|
|
||||||
Defines MacPorts aliases and adds MacPorts directories to path variables.
|
Defines MacPorts aliases and adds MacPorts directories to path variables.
|
||||||
|
|
||||||
Aliases
|
## Aliases
|
||||||
-------
|
|
||||||
|
|
||||||
- `portc` cleans the files used to build ports.
|
- `portc` cleans the files used to build ports.
|
||||||
- `porti` installs a port.
|
- `porti` installs a port.
|
||||||
- `ports` searches for a port.
|
- `ports` searches for a port.
|
||||||
- `portu` upgrades a port.
|
- `portu` upgrades a port.
|
||||||
- `portU` upgrades MacPorts, the ports collection, and outdated ports.
|
- `portU` upgrades MacPorts, the ports collection, and outdated ports.
|
||||||
- `portx` uninstalls a port.
|
- `portx` uninstalls a port.
|
||||||
- `portX` uninstalls inactive ports.
|
- `portX` uninstalls inactive ports.
|
||||||
|
|
||||||
Authors
|
## Authors
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][1].*
|
_The authors of this module should be contacted via the [issue tracker][1]._
|
||||||
|
|
||||||
- [Matt Cable](https://github.com/curiousstranger)
|
- [Matt Cable](https://github.com/curiousstranger)
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
[1]: https://github.com/sorin-ionescu/prezto/issues
|
[1]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
@ -6,8 +6,11 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# Load dependencies.
|
||||||
|
pmodload 'helper'
|
||||||
|
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
if [[ "$OSTYPE" != darwin* ]]; then
|
if ! is-darwin; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1,32 +1,59 @@
|
|||||||
Node.js
|
# Node.js
|
||||||
=======
|
|
||||||
|
|
||||||
Provides utility functions for [Node.js][1], loads the Node Version Manager, and
|
Provides utility functions for [Node.js][1], loads the Node Version Manager, and
|
||||||
enables [npm][2] completion.
|
enables [_npm_][2] completion.
|
||||||
|
|
||||||
nvm
|
This module must be loaded _before_ the _`completion`_ module so that the
|
||||||
---
|
provided completion definitions are loaded.
|
||||||
|
|
||||||
[nvm][5] allows for managing multiple, isolated Node.js installations in the
|
## nodenv
|
||||||
|
|
||||||
|
[_nodenv_][5] does one thing well - it is concerned solely with switching
|
||||||
|
Node versions. It is simple and predictable, Just Works, and is rock solid in
|
||||||
|
production. nodenv is forked from the popular [_rbenv_][6].
|
||||||
|
|
||||||
|
This will be loaded automatically if nodenv is installed in `$NODENV_ROOT`,
|
||||||
|
_`$XDG_CONFIG_HOME/nodenv`_, _`~/.nodenv`_, or `nodenv` is on the path.
|
||||||
|
|
||||||
|
## nvm
|
||||||
|
|
||||||
|
[_nvm_][7] allows for managing multiple, isolated Node.js installations in the
|
||||||
home directory.
|
home directory.
|
||||||
|
|
||||||
nodenv
|
This will be loaded automatically if nvm is installed in `$NVM_DIR`,
|
||||||
------
|
_`$XDG_CONFIG_HOME/nvm`_, _`~/.nvm`_, or is installed with homebrew.
|
||||||
|
|
||||||
[nodenv][6] does one thing well. nodenv is concerned solely with switching
|
## Variables
|
||||||
Node versions. It's simple and predictable, Just Works, and is rock solid in
|
|
||||||
production. nodenv is forked from the popular [rbenv][7].
|
|
||||||
|
|
||||||
Functions
|
- `N_PREFIX` stores the path to [_n_][8] cache.
|
||||||
---------
|
|
||||||
|
|
||||||
- `node-doc` opens the Node.js online [API documentation][3] in the default
|
## Aliases
|
||||||
browser.
|
|
||||||
- `node-info` exposes information about the Node.js environment via the
|
|
||||||
`$node_info` associative array.
|
|
||||||
|
|
||||||
Theming
|
### npm
|
||||||
-------
|
|
||||||
|
- `npmi` install a package.
|
||||||
|
- `npml` list installed packages.
|
||||||
|
- `npmo` check for outdated packages.
|
||||||
|
- `npmp` publish a package.
|
||||||
|
- `npmP` remove extraneous packages.
|
||||||
|
- `npmr` run arbitrary package scripts.
|
||||||
|
- `npms` search for packages.
|
||||||
|
- `npmt` test a package.
|
||||||
|
- `npmu` update packages.
|
||||||
|
- `npmx` uninstalls a package.
|
||||||
|
|
||||||
|
- `npmci` install a project with a clean slate.
|
||||||
|
- `npmcit` install a project with a clean slate and run tests.
|
||||||
|
- `npmit` install package(s) and run tests.
|
||||||
|
|
||||||
|
## 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
|
To display the version number of the current Node.js version, define the
|
||||||
following style inside the `prompt_name_setup` function.
|
following style inside the `prompt_name_setup` function.
|
||||||
@ -39,18 +66,19 @@ zstyle ':prezto:module:node:info:version' format 'version:%v'
|
|||||||
Then add `$node_info[version]` to either `$PROMPT` or `$RPROMPT` and call
|
Then add `$node_info[version]` to either `$PROMPT` or `$RPROMPT` and call
|
||||||
`node-info` in `prompt_name_preexec` hook function.
|
`node-info` in `prompt_name_preexec` hook function.
|
||||||
|
|
||||||
Authors
|
## Authors
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][4].*
|
_The authors of this module should be contacted via the [issue tracker][4]._
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
- [Zeh Rizzatti](https://github.com/zehrizzatti)
|
- [Zeh Rizzatti](https://github.com/zehrizzatti)
|
||||||
|
- [Indrajit Raychaudhuri](https://github.com/indrajitr)
|
||||||
|
|
||||||
[1]: http://nodejs.org
|
[1]: http://nodejs.org
|
||||||
[2]: http://npmjs.org
|
[2]: http://npmjs.org
|
||||||
[3]: http://nodejs.org/api
|
[3]: http://nodejs.org/api
|
||||||
[4]: https://github.com/sorin-ionescu/prezto/issues
|
[4]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
[5]: https://github.com/creationix/nvm
|
[5]: https://github.com/nodenv/nodenv
|
||||||
[6]: https://github.com/nodenv/nodenv
|
[6]: https://github.com/sstephenson/rbenv
|
||||||
[7]: https://github.com/sstephenson/rbenv
|
[7]: https://github.com/nvm-sh/nvm
|
||||||
|
[8]: https://github.com/tj/n
|
||||||
|
15
modules/node/functions/_grunt
Normal file
15
modules/node/functions/_grunt
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#compdef grunt
|
||||||
|
#autoload
|
||||||
|
|
||||||
|
#
|
||||||
|
# Grunt completion, delegating to grunt to do all the completion work.
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# Indrajit Raychaudhuri <irc@indrajit.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
if (( $+commands[grunt] )); then
|
||||||
|
eval "$(grunt --completion=zsh)"
|
||||||
|
|
||||||
|
_grunt_completion "$@"
|
||||||
|
fi
|
15
modules/node/functions/_gulp
Normal file
15
modules/node/functions/_gulp
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#compdef gulp
|
||||||
|
#autoload
|
||||||
|
|
||||||
|
#
|
||||||
|
# Gulp completion, delegating to gulp to do all the completion work.
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# Indrajit Raychaudhuri <irc@indrajit.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
if (( $+commands[gulp] )); then
|
||||||
|
eval "$(gulp --completion=zsh)"
|
||||||
|
|
||||||
|
_gulp_completion "$@"
|
||||||
|
fi
|
@ -13,6 +13,6 @@ if [[ -z "$BROWSER" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# TODO: Make the sections easier to use.
|
# TODO: Make the sections easier to use.
|
||||||
"$BROWSER" "http://nodejs.org/docs/$(node --version | sed 's/-.*//')/api/all.html#${1}"
|
"$BROWSER" "https://nodejs.org/docs/${$(node --version 2> /dev/null)/%-*}/api/all.html#${1}"
|
||||||
|
|
||||||
# }
|
# }
|
||||||
|
@ -15,13 +15,15 @@ local version_formatted
|
|||||||
unset node_info
|
unset node_info
|
||||||
typeset -gA node_info
|
typeset -gA node_info
|
||||||
|
|
||||||
if (( $+functions[nvm_version] )); then
|
if (( $+commands[nodenv] )); then
|
||||||
version="${$(nvm_version)#v}"
|
|
||||||
elif (( $+commands[nodenv] )); then
|
|
||||||
version="${${$(nodenv version)#v}[(w)0]}"
|
version="${${$(nodenv version)#v}[(w)0]}"
|
||||||
|
elif (( $+functions[nvm_version] )); then
|
||||||
|
version="${$(nvm_version)#v}"
|
||||||
|
elif (( $+commands[node] )) ; then
|
||||||
|
version="${$(node -v)#v}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$version" != (none|) ]]; then
|
if [[ "$version" != (none|system) ]]; then
|
||||||
zstyle -s ':prezto:module:node:info:version' format 'version_format'
|
zstyle -s ':prezto:module:node:info:version' format 'version_format'
|
||||||
zformat -f version_formatted "$version_format" "v:$version"
|
zformat -f version_formatted "$version_format" "v:$version"
|
||||||
node_info[version]="$version_formatted"
|
node_info[version]="$version_formatted"
|
||||||
|
@ -1,43 +1,65 @@
|
|||||||
#
|
#
|
||||||
# Loads the Node Version Manager and enables npm completion.
|
# Configures Node local installation, loads version managers, and defines
|
||||||
|
# variables and aliases.
|
||||||
#
|
#
|
||||||
# Authors:
|
# Authors:
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
# Zeh Rizzatti <zehrizzatti@gmail.com>
|
# Zeh Rizzatti <zehrizzatti@gmail.com>
|
||||||
|
# Indrajit Raychaudhuri <irc@indrajit.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
# Load manually installed NVM into the shell session.
|
# Possible lookup locations for manually installed nodenv and nvm.
|
||||||
if [[ -s "$HOME/.nvm/nvm.sh" ]]; then
|
local_nodenv_paths=({$NODENV_ROOT,{$XDG_CONFIG_HOME/,$HOME/.}nodenv}/bin/nodenv(N))
|
||||||
source "$HOME/.nvm/nvm.sh"
|
local_nvm_paths=({$NVM_DIR,{$XDG_CONFIG_HOME/,$HOME/.}nvm}/nvm.sh(N))
|
||||||
|
|
||||||
# Load package manager installed NVM into the shell session.
|
# Load manually installed or package manager installed nodenv into the shell
|
||||||
elif (( $+commands[brew] )) && [[ -d "$(brew --prefix nvm 2> /dev/null)" ]]; then
|
# session.
|
||||||
source "$(brew --prefix nvm)/nvm.sh"
|
if (( $#local_nodenv_paths || $+commands[nodenv] )); then
|
||||||
|
|
||||||
# Load manually installed nodenv into the shell session.
|
# Ensure manually installed nodenv is added to path when present.
|
||||||
elif [[ -s "$HOME/.nodenv/bin/nodenv" ]]; then
|
[[ -s $local_nodenv_paths[1] ]] && path=($local_nodenv_paths[1]:h $path)
|
||||||
path=("$HOME/.nodenv/bin" $path)
|
|
||||||
eval "$(nodenv init - --no-rehash zsh)"
|
|
||||||
|
|
||||||
# Load package manager installed nodenv into the shell session.
|
eval "$(nodenv init - zsh)"
|
||||||
elif (( $+commands[nodenv] )); then
|
|
||||||
eval "$(nodenv init - --no-rehash zsh)"
|
# Load manually installed nvm into the shell session.
|
||||||
|
elif (( $#local_nvm_paths )); then
|
||||||
|
source "$local_nvm_paths[1]" --no-use
|
||||||
|
|
||||||
|
# Load package manager installed nvm into the shell session.
|
||||||
|
elif (( $+commands[brew] )) \
|
||||||
|
&& [[ -d "${nvm_path::="$(brew --prefix 2> /dev/null)"/opt/nvm}" ]]; then
|
||||||
|
source "$nvm_path/nvm.sh" --no-use
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset local_n{odenv,vm}_paths nvm_path
|
||||||
|
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
elif (( ! $+commands[node] )); then
|
if (( ! $+commands[node] && ! $#functions[(i)n(odenv|vm)] )); then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Load NPM completion.
|
#
|
||||||
if (( $+commands[npm] )); then
|
# Variables
|
||||||
cache_file="${TMPDIR:-/tmp}/prezto-node-cache.$UID.zsh"
|
#
|
||||||
|
|
||||||
if [[ "$commands[npm]" -nt "$cache_file" || ! -s "$cache_file" ]]; then
|
N_PREFIX="${XDG_CONFIG_HOME:-$HOME/.config}/n" # The path to 'n' cache.
|
||||||
# npm is slow; cache its output.
|
|
||||||
npm completion >! "$cache_file" 2> /dev/null
|
|
||||||
fi
|
|
||||||
|
|
||||||
source "$cache_file"
|
#
|
||||||
|
# Aliases
|
||||||
|
#
|
||||||
|
|
||||||
unset cache_file
|
# npm
|
||||||
fi
|
alias npmi='npm install'
|
||||||
|
alias npml='npm list'
|
||||||
|
alias npmo='npm outdated'
|
||||||
|
alias npmp='npm publish'
|
||||||
|
alias npmP='npm prune'
|
||||||
|
alias npmr='npm run'
|
||||||
|
alias npms='npm search'
|
||||||
|
alias npmt='npm test'
|
||||||
|
alias npmu='npm update'
|
||||||
|
alias npmx='npm uninstall'
|
||||||
|
|
||||||
|
alias npmci='npm ci'
|
||||||
|
alias npmcit='npm cit'
|
||||||
|
alias npmit='npm it'
|
||||||
|
@ -1,10 +1,8 @@
|
|||||||
OCaml
|
# OCaml
|
||||||
=====
|
|
||||||
|
|
||||||
Initializes [OCaml][1] package management.
|
Initializes [OCaml][1] package management.
|
||||||
|
|
||||||
OPAM
|
## OPAM
|
||||||
----
|
|
||||||
|
|
||||||
[OPAM][2] is a package manager for OCaml.
|
[OPAM][2] is a package manager for OCaml.
|
||||||
|
|
||||||
@ -15,13 +13,12 @@ relevant path and OCaml variables.
|
|||||||
|
|
||||||
Install packages to your local package directory with `opam install`.
|
Install packages to your local package directory with `opam install`.
|
||||||
|
|
||||||
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]._
|
||||||
|
|
||||||
- [Sebastian Wiesner](https://github.com/lunaryorn)
|
- [Sebastian Wiesner](https://github.com/lunaryorn)
|
||||||
|
|
||||||
[1]: http://ocaml.org/
|
[1]: https://ocaml.org/
|
||||||
[2]: http://opam.ocamlpro.com/
|
[2]: http://opam.ocamlpro.com/
|
||||||
[3]: https://github.com/sorin-ionescu/prezto/issues
|
[3]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
23
modules/openstack/functions/os-info
Normal file
23
modules/openstack/functions/os-info
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
#
|
||||||
|
# Exposes information about the OpenStack environment via the $os_info associative
|
||||||
|
# array.
|
||||||
|
#
|
||||||
|
|
||||||
|
# function os-info {
|
||||||
|
|
||||||
|
local tenant
|
||||||
|
local tenant_format
|
||||||
|
local tenant_formatted
|
||||||
|
|
||||||
|
unset os_info
|
||||||
|
typeset -gA os_info
|
||||||
|
|
||||||
|
[[ -n "${OS_PROJECT_NAME+1}" ]] && tenant="${OS_PROJECT_NAME}"
|
||||||
|
|
||||||
|
if [[ "$tenant" != (none|) ]]; then
|
||||||
|
zstyle -s ':prezto:module:openstack:info:tenant' format 'tenant_format'
|
||||||
|
zformat -f tenant_formatted "$tenant_format" "v:$tenant"
|
||||||
|
os_info[tenant]="$tenant_formatted"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# }
|
@ -1,50 +1,50 @@
|
|||||||
OSX
|
# OSX
|
||||||
===
|
|
||||||
|
|
||||||
Defines [Mac OS X][1] aliases and functions.
|
Defines [macOS][1] aliases and functions.
|
||||||
|
|
||||||
Settings
|
This module must be loaded _before_ the [_`completion`_][2] module so that the
|
||||||
--------
|
provided completion definitions are loaded automatically by _`completion`_
|
||||||
|
module.
|
||||||
|
|
||||||
|
## Settings
|
||||||
|
|
||||||
### Dash Keyword
|
### Dash Keyword
|
||||||
|
|
||||||
To change the keyword used by `mand` to open man pages in [_Dash.app_][2] from
|
To change the keyword used by `mand` to open man pages in [_Dash.app_][3] from
|
||||||
its default value of 'manpages', add the following line in *zpreztorc* and
|
its default value of 'manpages', add the following line in
|
||||||
replace the **keyword** with the one configured in [_Dash.app_][2].
|
_`${ZDOTDIR:-$HOME}/.zpreztorc`_ and replace the **keyword** with the one
|
||||||
|
configured in [_Dash.app_][3].
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zstyle ':prezto:module:osx:man' dash-keyword 'keyword'
|
zstyle ':prezto:module:osx:man' dash-keyword 'keyword'
|
||||||
```
|
```
|
||||||
|
|
||||||
Aliases
|
## Aliases
|
||||||
-------
|
|
||||||
|
|
||||||
- `cdf` changes the current working director to the current _Finder_
|
- `cdf` changes the current working director to the current _Finder_ directory.
|
||||||
directory.
|
- `pushdf` pushes the current working directory onto the directory queue and
|
||||||
- `pushdf` pushes the current working directory onto the directory queue and
|
changes the current working director to the current _Finder_ directory.
|
||||||
changes the current working director to the current _Finder_ directory.
|
|
||||||
|
|
||||||
Functions
|
## Functions
|
||||||
---------
|
|
||||||
|
|
||||||
- `mand` opens _man_ pages in [_Dash.app_][2].
|
- `mand` opens _man_ pages in [_Dash.app_][3].
|
||||||
- `manp` opens _man_ pages in _Preview.app_.
|
- `manp` opens _man_ pages in _Preview.app_.
|
||||||
- `pfd` prints the current _Finder_ directory.
|
- `pfd` prints the current _Finder_ directory.
|
||||||
- `pfs` prints the current _Finder_ selection.
|
- `pfs` prints the current _Finder_ selection.
|
||||||
- `tab` creates a new tab (works in both _Terminal_ and [_iTerm_][3]).
|
- `tab` creates a new tab (works in both _Terminal_ and [_iTerm.app_][4]).
|
||||||
- `ql` previews files in Quick Look.
|
- `ql` previews files in Quick Look.
|
||||||
- `osx-rm-dir-metadata` deletes .DS\_Store, \_\_MACOSX cruft.
|
- `osx-rm-dir-metadata` deletes _`.DS_Store`_, _`__MACOSX`_ cruft.
|
||||||
- `osx-ls-download-history` displays the Mac OS X download history.
|
- `osx-ls-download-history` displays the macOS download history.
|
||||||
- `osx-rm-download-history` deletes the Mac OS X download history.
|
- `osx-rm-download-history` deletes the macOS download history.
|
||||||
|
|
||||||
Authors
|
## Authors
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][4].*
|
_The authors of this module should be contacted via the [issue tracker][5]._
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
[1]: http://www.apple.com/macosx/
|
[1]: https://www.apple.com/macos/
|
||||||
[2]: http://kapeli.com/dash
|
[2]: ../completion#readme
|
||||||
[3]: http://www.iterm2.com/
|
[3]: https://kapeli.com/dash
|
||||||
[4]: https://github.com/sorin-ionescu/prezto/issues
|
[4]: https://www.iterm2.com/
|
||||||
|
[5]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
function mand {
|
function mand {
|
||||||
if (( $# > 0 )); then
|
if (( $# > 0 )); then
|
||||||
zstyle -s ':prezto:module:osx:man' dash-keyword 'dashkw' || dashkw='manpages'
|
zstyle -s ':prezto:module:osx:man' dash-keyword 'dashkw' || dashkw='manpages'
|
||||||
open "dash://$dashkw:$1" 2> /dev/null
|
open "dash://$dashkw%3A$1" 2> /dev/null
|
||||||
if (( $? != 0 )); then
|
if (( $? != 0 )); then
|
||||||
print "$0: Dash is not installed" >&2
|
print "$0: Dash is not installed" >&2
|
||||||
break
|
break
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Displays the Mac OS X download history.
|
# Displays the macOS download history.
|
||||||
#
|
#
|
||||||
# Authors:
|
# Authors:
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Deletes the Mac OS X download history.
|
# Deletes the macOS download history.
|
||||||
#
|
#
|
||||||
# Authors:
|
# Authors:
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
|
@ -1,12 +1,15 @@
|
|||||||
#
|
#
|
||||||
# Defines Mac OS X aliases and functions.
|
# Defines macOS aliases and functions.
|
||||||
#
|
#
|
||||||
# Authors:
|
# Authors:
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# Load dependencies.
|
||||||
|
pmodload 'helper'
|
||||||
|
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
if [[ "$OSTYPE" != darwin* ]]; then
|
if ! is-darwin; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
Pacman
|
# Pacman
|
||||||
======
|
|
||||||
|
|
||||||
Provides aliases and functions for the [Pacman][1] package manager and
|
Provides aliases and functions for the [Pacman][1] package manager and
|
||||||
frontends.
|
frontends.
|
||||||
|
|
||||||
Settings
|
## Settings
|
||||||
--------
|
|
||||||
|
|
||||||
It is possible to use a Pacman frontend with the pacman aliases provided by this
|
It is possible to use a Pacman frontend with the pacman aliases provided by this
|
||||||
package as long as that frontend supports the same command line options (The
|
package as long as that frontend supports the same command line options (The
|
||||||
@ -17,53 +15,51 @@ supported by Archlinux. It is currently recommended to manually build AUR
|
|||||||
packages using the [provided instructions][3]. The [aurutils][4] project has a
|
packages using the [provided instructions][3]. The [aurutils][4] project has a
|
||||||
set of small utilities to make this easier.
|
set of small utilities to make this easier.
|
||||||
|
|
||||||
To enable a Pacman frontend, add the following line to *zpreztorc*, substituting
|
To enable a different Pacman frontend, add the following to
|
||||||
`pacman_frontend` with the name of the frontent:
|
_`${ZDOTDIR:-$HOME}/.zpreztorc`_, and replace `'<frontend>'` with the name
|
||||||
|
of the preferred frontend.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zstyle ':prezto:module:pacman' frontend 'pacman_frontend'
|
zstyle ':prezto:module:pacman' frontend '<frontend>'
|
||||||
```
|
```
|
||||||
|
|
||||||
Aliases
|
## Aliases
|
||||||
-------
|
|
||||||
|
|
||||||
### Pacman
|
### Pacman
|
||||||
|
|
||||||
- `pac` is short for `pacman`.
|
- `pac` is short for `pacman`.
|
||||||
- `paci` installs packages from repositories.
|
- `paci` installs packages from repositories.
|
||||||
- `pacI` installs packages from files.
|
- `pacI` installs packages from files.
|
||||||
- `pacx` removes packages and unneeded dependencies.
|
- `pacx` removes packages and unneeded dependencies.
|
||||||
- `pacX` removes packages, their configuration, 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 repositories.
|
||||||
- `pacQ` displays information about a package from the local database.
|
- `pacQ` displays information about a package from the local database.
|
||||||
- `pacs` searches for packages in the repositories.
|
- `pacs` searches for packages in the repositories.
|
||||||
- `pacS` searches for packages in the local database.
|
- `pacS` searches for packages in the local database.
|
||||||
- `pacu` synchronizes the local package and Arch Build System (requires `abs`)
|
- `pacu` synchronizes the local package and Arch Build System (requires `abs`)
|
||||||
databases against the repositories.
|
databases against the repositories.
|
||||||
- `pacU` synchronizes the local package database against the repositories then
|
- `pacU` synchronizes the local package database against the repositories then
|
||||||
upgrades outdated packages.
|
upgrades outdated packages.
|
||||||
- `pacman-list-orphans` lists orphan packages.
|
- `pacman-list-orphans` lists orphan packages.
|
||||||
- `pacman-remove-orphans` removes orphan packages.
|
- `pacman-remove-orphans` removes orphan packages.
|
||||||
|
|
||||||
### Frontends
|
### Frontends
|
||||||
|
|
||||||
Functions
|
## Functions
|
||||||
---------
|
|
||||||
|
|
||||||
- `aurget` clone an aur package
|
- `aurget` clone an aur package.
|
||||||
- `pacman-list-explicit` lists explicitly installed pacman packages.
|
- `pacman-list-explicit` lists explicitly installed pacman packages.
|
||||||
- `pacman-list-disowned` lists pacman disowned files.
|
- `pacman-list-disowned` lists pacman disowned files.
|
||||||
|
|
||||||
Authors
|
## Authors
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][5].*
|
_The authors of this module should be contacted via the [issue tracker][5]._
|
||||||
|
|
||||||
- [Benjamin Boudreau](https://github.com/dreur)
|
- [Benjamin Boudreau](https://github.com/dreur)
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
[1]: http://www.archlinux.org/pacman/
|
[1]: https://www.archlinux.org/pacman/
|
||||||
[2]: https://wiki.archlinux.org/index.php/AUR_helpers#Comparison_table
|
[2]: https://wiki.archlinux.org/title/AUR_helpers#Comparison_tables
|
||||||
[3]: https://wiki.archlinux.org/index.php/Arch_User_Repository#Installing_packages
|
[3]: https://wiki.archlinux.org/title/Arch_User_Repository#Installing_and_upgrading_packages
|
||||||
[4]: https://github.com/AladW/aurutils
|
[4]: https://github.com/AladW/aurutils
|
||||||
[5]: https://github.com/sorin-ionescu/prezto/issues
|
[5]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
@ -8,11 +8,11 @@
|
|||||||
|
|
||||||
# function pacman-list-disowned {
|
# function pacman-list-disowned {
|
||||||
|
|
||||||
local tmp="${TMPDIR:-/tmp}/pacman-disowned-$UID-$$"
|
local tmp="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/pacman-disowned-$$"
|
||||||
local db="$tmp/db"
|
local db="$tmp/db"
|
||||||
local fs="$tmp/fs"
|
local fs="$tmp/fs"
|
||||||
|
|
||||||
mkdir "$tmp"
|
mkdir -p "$tmp"
|
||||||
trap 'rm -rf "$tmp"' EXIT
|
trap 'rm -rf "$tmp"' EXIT
|
||||||
|
|
||||||
pacman --quiet --query --list | sort --unique > "$db"
|
pacman --quiet --query --list | sort --unique > "$db"
|
||||||
|
@ -1,18 +1,16 @@
|
|||||||
Perl
|
# Perl
|
||||||
====
|
|
||||||
|
|
||||||
Enables local [Perl][1] module installation on Mac OS X and defines aliases.
|
Enables local [Perl][1] module installation on macOS and defines aliases.
|
||||||
|
|
||||||
Local Module Installation
|
## Local Module Installation
|
||||||
-------------------------
|
|
||||||
|
|
||||||
Perl versions older than 5.14 do not support the local installation of Perl
|
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
|
modules natively. This module allows for local installation of Perl modules on
|
||||||
Mac OS X in *~/Library/Perl/5.12* by altering the environment.
|
macOS in _`~/Library/Perl/5.12`_ by altering the environment.
|
||||||
|
|
||||||
### Usage
|
### Usage
|
||||||
|
|
||||||
For Perl versions older than 5.14, install *local::lib*.
|
For Perl versions older than 5.14, install _`local::lib`_.
|
||||||
|
|
||||||
```console
|
```console
|
||||||
curl -L -C - -O http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.008004.tar.gz
|
curl -L -C - -O http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.008004.tar.gz
|
||||||
@ -22,73 +20,68 @@ perl Makefile.PL --bootstrap=$HOME/Library/Perl/5.12
|
|||||||
make && make test && make install
|
make && make test && make install
|
||||||
```
|
```
|
||||||
|
|
||||||
Install *cpanminus*:
|
Install _cpanminus_:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
curl -L http://cpanmin.us | perl - --self-upgrade
|
curl -L http://cpanmin.us | perl - --self-upgrade
|
||||||
```
|
```
|
||||||
|
|
||||||
Perlbrew
|
## Perlbrew
|
||||||
--------
|
|
||||||
|
|
||||||
An alternative to the above is to use [Perlbrew][2], which allows for the
|
An alternative to the above is to use [Perlbrew][2], which allows for the
|
||||||
management of multiple, isolated Perl installations in the home directory.
|
management of multiple, isolated Perl installations in the home directory.
|
||||||
|
|
||||||
plenv
|
## plenv
|
||||||
-----
|
|
||||||
|
|
||||||
Yet another alternative is [plenv][3]. This is inspired from rbenv and enables
|
Yet another alternative is [_plenv_][3]. This is inspired from _rbenv_ and
|
||||||
switching between multiple binary installations.
|
enables switching between multiple binary installations.
|
||||||
|
|
||||||
The subcommands of plenv is similar with rbenv.
|
The subcommands of _plenv_ is similar with _rbenv_.
|
||||||
|
|
||||||
Aliases
|
## Aliases
|
||||||
-------
|
|
||||||
|
|
||||||
### General
|
### General
|
||||||
|
|
||||||
- `pl` is short for `perl`.
|
- `pl` is short for `perl`.
|
||||||
- `pld` looks up Perl documentation (`perldoc`).
|
- `pld` looks up Perl documentation (`perldoc`).
|
||||||
- `ple` executes a one line program in a loop (`perl -wlne`).
|
- `ple` executes a one line program in a loop (`perl -wlne`).
|
||||||
|
|
||||||
### Perlbrew
|
### Perlbrew (plb)
|
||||||
|
|
||||||
- `plb` manages Perl environments.
|
- `plb` manages Perl environments.
|
||||||
- `plba` lists available Perl versions.
|
- `plba` lists available Perl versions.
|
||||||
- `plbi` installs a Perl version.
|
- `plbi` installs a Perl version.
|
||||||
- `plbl` lists installed Perl versions.
|
- `plbl` lists installed Perl versions.
|
||||||
- `plbo` temporarily turns off Perlbrew.
|
- `plbo` temporarily turns off Perlbrew.
|
||||||
- `plbO` turns off Perlbrew.
|
- `plbO` turns off Perlbrew.
|
||||||
- `plbs` switches to a Perl version.
|
- `plbs` switches to a Perl version.
|
||||||
- `plbu` uninstalls a Perl version.
|
- `plbu` uninstalls a Perl version.
|
||||||
- `plbx` temporarily sets the Perl version to use.
|
- `plbx` temporarily sets the Perl version to use.
|
||||||
|
|
||||||
### plenv
|
### plenv (plv)
|
||||||
|
|
||||||
- `plv` manages Perl environments.
|
- `plv` manages Perl environments.
|
||||||
- `plvc` List all available plenv commands.
|
- `plvc` List all available plenv commands.
|
||||||
- `plvl` Set or show the local application-specific Perl version.
|
- `plvl` Set or show the local application-specific Perl version.
|
||||||
- `plvg` Set or show the global Perl version.
|
- `plvg` Set or show the global Perl version.
|
||||||
- `plvs` Set or show the shell-specific Perl version.
|
- `plvs` Set or show the shell-specific Perl version.
|
||||||
- `plvi` Install a Perl version using the perl-build plugin.
|
- `plvi` Install a Perl version using the perl-build plugin.
|
||||||
- `plvu` Uninstall a specific Perl version.
|
- `plvu` Uninstall a specific Perl version.
|
||||||
- `plvr` Rehash plenv shims (run this after installing executables).
|
- `plvr` Rehash plenv shims (run this after installing executables).
|
||||||
- `plvv` Show the current Perl version and its origin.
|
- `plvv` Show the current Perl version and its origin.
|
||||||
- `plvV` List all Perl versions available to plenv.
|
- `plvV` List all Perl versions available to plenv.
|
||||||
- `plvw` Display the full path to an executable.
|
- `plvw` Display the full path to an executable.
|
||||||
- `plvW` List all Perl versions that contain the given executable.
|
- `plvW` List all Perl versions that contain the given executable.
|
||||||
- `plvm` List cpan modules in current perl.
|
- `plvm` List cpan modules in current perl.
|
||||||
- `plvM` Migrate cpan modules from other version.
|
- `plvM` Migrate cpan modules from other version.
|
||||||
- `plvI` Install cpanm.
|
- `plvI` Install cpanm.
|
||||||
|
|
||||||
Functions
|
## Functions
|
||||||
---------
|
|
||||||
|
|
||||||
- `perl-info` exposes information about the Perl environment via the
|
- `perl-info` exposes information about the Perl environment via the
|
||||||
`$perl_info` associative array.
|
`$perl_info` associative array.
|
||||||
|
|
||||||
Theming
|
## Theming
|
||||||
-------
|
|
||||||
|
|
||||||
To display the name of the current Perl version in a prompt, define the
|
To display the name of the current Perl version in a prompt, define the
|
||||||
following style in the `prompt_name_setup` function.
|
following style in the `prompt_name_setup` function.
|
||||||
@ -101,14 +94,13 @@ zstyle ':prezto:module:perl:info:version' format 'version:%v'
|
|||||||
Then add `$perl_info[version]` to `$PROMPT` or `$RPROMPT` and call
|
Then add `$perl_info[version]` to `$PROMPT` or `$RPROMPT` and call
|
||||||
`perl-info` in the `prompt_name_precmd` hook function.
|
`perl-info` in the `prompt_name_precmd` hook function.
|
||||||
|
|
||||||
Authors
|
## Authors
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][4].*
|
_The authors of this module should be contacted via the [issue tracker][4]._
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
[1]: http://www.perl.org
|
[1]: https://www.perl.org
|
||||||
[2]: http://perlbrew.pl
|
[2]: https://perlbrew.pl
|
||||||
[3]: https://github.com/tokuhirom/plenv
|
[3]: https://github.com/tokuhirom/plenv
|
||||||
[4]: https://github.com/sorin-ionescu/prezto/issues
|
[4]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Enables local Perl module installation on Mac OS X and defines aliases.
|
# Enables local Perl module installation on macOS and defines aliases.
|
||||||
#
|
#
|
||||||
# Authors:
|
# Authors:
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
@ -10,6 +10,9 @@ if (( ! $+commands[perl] )); then
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Load dependencies.
|
||||||
|
pmodload 'helper'
|
||||||
|
|
||||||
#
|
#
|
||||||
# Load Perlbrew or plenv
|
# Load Perlbrew or plenv
|
||||||
#
|
#
|
||||||
@ -37,13 +40,14 @@ fi
|
|||||||
# Local Module Installation
|
# Local Module Installation
|
||||||
#
|
#
|
||||||
|
|
||||||
if [[ "$OSTYPE" == darwin* ]]; then
|
if is-darwin; then
|
||||||
# Perl is slow; cache its output.
|
# Perl is slow; cache its output.
|
||||||
cache_file="${TMPDIR:-/tmp}/prezto-perl-cache.$UID.zsh"
|
cache_file="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/perl-cache.zsh"
|
||||||
perl_path="$HOME/Library/Perl/5.12"
|
perl_path="$HOME/Library/Perl/5.12"
|
||||||
|
|
||||||
if [[ -f "$perl_path/lib/perl5/local/lib.pm" ]]; then
|
if [[ -f "$perl_path/lib/perl5/local/lib.pm" ]]; then
|
||||||
if [[ ! -s "$cache_file" ]]; then
|
if [[ "${ZDOTDIR:-$HOME}/.zpreztorc" -nt "$cache_file" || ! -s "$cache_file" ]]; then
|
||||||
|
mkdir -p "$cache_file:h"
|
||||||
perl -I$perl_path/lib/perl5 -Mlocal::lib=$perl_path >! "$cache_file"
|
perl -I$perl_path/lib/perl5 -Mlocal::lib=$perl_path >! "$cache_file"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1,26 +1,24 @@
|
|||||||
Prompt
|
# Prompt
|
||||||
======
|
|
||||||
|
|
||||||
Loads prompt [themes][1].
|
Loads prompt [themes][1].
|
||||||
|
|
||||||
Settings
|
## Settings
|
||||||
--------
|
|
||||||
|
|
||||||
### Prompt Theme
|
### Prompt Theme
|
||||||
|
|
||||||
To select a prompt theme, add the following to *zpreztorc*, and replace **name**
|
To select a prompt theme, add the following to _`${ZDOTDIR:-$HOME}/.zpreztorc`_,
|
||||||
with the name of the theme you wish to load. Setting it to **random** will load
|
and replace `'<name>'` with the name of the theme you wish to load. Setting it
|
||||||
a random theme.
|
to `'random'` will load a random theme every time.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zstyle ':prezto:module:prompt' theme 'name'
|
zstyle ':prezto:module:prompt' theme '<name>'
|
||||||
```
|
```
|
||||||
|
|
||||||
### Prompt Display Length
|
### Prompt Display Length
|
||||||
|
|
||||||
To change working directory prompt display length from 'short', set the
|
To change working directory prompt display length from 'short', set the
|
||||||
following to 'long' (without `~` expansion) or 'full' (with `~` expansion)
|
following to 'long' (without `~` expansion) or 'full' (with `~` expansion) in
|
||||||
in *zpreztorc*.
|
_`${ZDOTDIR:-$HOME}/.zpreztorc`_.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zstyle ':prezto:module:prompt' pwd-length 'short'
|
zstyle ':prezto:module:prompt' pwd-length 'short'
|
||||||
@ -35,14 +33,29 @@ this can be disabled with the following snippet.
|
|||||||
zstyle ':prezto:module:prompt' show-return-val 'no'
|
zstyle ':prezto:module:prompt' show-return-val 'no'
|
||||||
```
|
```
|
||||||
|
|
||||||
Theming
|
## Theming
|
||||||
-------
|
|
||||||
|
|
||||||
A prompt theme is an autoloadable function file with a special name,
|
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
|
`prompt_name_setup`, placed anywhere in `$fpath`, but for the purpose of this
|
||||||
project, themes **should** be placed in the *modules/prompt/functions*
|
project, themes **should** be placed in the _modules/prompt/functions_
|
||||||
directory.
|
directory.
|
||||||
|
|
||||||
|
### Required Variables
|
||||||
|
|
||||||
|
To ensure that your function works with the editor-info module you'll need to
|
||||||
|
set the following variable in _`${ZDOTDIR:-$HOME}/.zpreztorc`_:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# Tell prezto we can manage this prompt
|
||||||
|
zstyle ':prezto:module:prompt' managed 'yes'
|
||||||
|
```
|
||||||
|
|
||||||
|
This is to ensure compatibility with outside prompts, while allowing prezto
|
||||||
|
and prezto-compatible prompts to take full advantage of the editor module.
|
||||||
|
This should be set in the `prompt_name_setup` function after you've added
|
||||||
|
any additional hooks with `add-zsh-hook precmd prompt_name_precmd`. See below
|
||||||
|
for additional information about functions and hooks.
|
||||||
|
|
||||||
### Theme Functions
|
### Theme Functions
|
||||||
|
|
||||||
There are three theme functions, a setup function, a help function, and
|
There are three theme functions, a setup function, a help function, and
|
||||||
@ -106,7 +119,7 @@ function prompt_name_preview {
|
|||||||
|
|
||||||
### Hook Functions
|
### Hook Functions
|
||||||
|
|
||||||
There are many Zsh [hook][2] functions, but mostly the *precmd* hook will be
|
There are many Zsh [hook][2] functions, but mostly the _precmd_ hook will be
|
||||||
used.
|
used.
|
||||||
|
|
||||||
#### `prompt_name_precmd`
|
#### `prompt_name_precmd`
|
||||||
@ -118,7 +131,8 @@ 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
|
that all the dependencies have been loaded. Always check for the availability of
|
||||||
a function before you calling it.
|
a function before you calling it.
|
||||||
|
|
||||||
**Do not register hook functions. They will be registered by the `prompt` function.**
|
**Do not register hook functions. They will be automatically registered by the
|
||||||
|
`prompt` function.**
|
||||||
|
|
||||||
The most basic example of this function can be seen below.
|
The most basic example of this function can be seen below.
|
||||||
|
|
||||||
@ -130,10 +144,9 @@ function prompt_name_precmd {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Troubleshooting
|
## Troubleshooting
|
||||||
---------------
|
|
||||||
|
|
||||||
### Fonts aren't displaying properly.
|
### Fonts aren't displaying properly
|
||||||
|
|
||||||
On most systems, themes which use special characters need to have a patched font
|
On most systems, themes which use special characters need to have a patched font
|
||||||
installed and configured properly.
|
installed and configured properly.
|
||||||
@ -141,16 +154,14 @@ installed and configured properly.
|
|||||||
Powerline provides some information on [terminal support][4] and [how to install
|
Powerline provides some information on [terminal support][4] and [how to install
|
||||||
patched fonts][5] which should fix most font issues.
|
patched fonts][5] which should fix most font issues.
|
||||||
|
|
||||||
|
## 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://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Prompt-Themes
|
||||||
|
[2]: https://zsh.sourceforge.net/Doc/Release/Functions.html#Hook-Functions
|
||||||
[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
|
[3]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
[4]: http://powerline.readthedocs.io/en/master/usage.html#terminal-emulator-requirements
|
[4]: https://powerline.readthedocs.io/en/master/usage.html#terminal-emulator-requirements
|
||||||
[5]: http://powerline.readthedocs.io/en/latest/installation.html#fonts-installation
|
[5]: https://powerline.readthedocs.io/en/latest/installation.html#fonts-installation
|
||||||
|
2
modules/prompt/external/agnoster
vendored
2
modules/prompt/external/agnoster
vendored
Submodule modules/prompt/external/agnoster updated: 3ad94b6599...6bba672c78
2
modules/prompt/external/async
vendored
2
modules/prompt/external/async
vendored
Submodule modules/prompt/external/async updated: b001fa529a...bbbc92bd01
1
modules/prompt/external/powerlevel10k
vendored
Submodule
1
modules/prompt/external/powerlevel10k
vendored
Submodule
Submodule modules/prompt/external/powerlevel10k added at 8a676a9157
1
modules/prompt/external/powerlevel9k
vendored
1
modules/prompt/external/powerlevel9k
vendored
Submodule modules/prompt/external/powerlevel9k deleted from 17c069d25a
2
modules/prompt/external/pure
vendored
2
modules/prompt/external/pure
vendored
Submodule modules/prompt/external/pure updated: a95d55cc7d...5b458ba5b7
@ -28,3 +28,4 @@ unset current_pwd
|
|||||||
print "$ret_directory"
|
print "$ret_directory"
|
||||||
|
|
||||||
# }
|
# }
|
||||||
|
# vim: ft=zsh
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
# - The prompt is prefixed by a character sequence of your choice.
|
# - The prompt is prefixed by a character sequence of your choice.
|
||||||
# - Only displays the current directory instead of the full path.
|
# - Only displays the current directory instead of the full path.
|
||||||
# - Displays the current branch when in a git project (this requires loading
|
# - Displays the current branch when in a git project (this requires loading
|
||||||
# the git module before prompt in ~/.zpreztorc).
|
# the git module before prompt in ${ZDOTDIR:-$HOME}/.zpreztorc).
|
||||||
# - Displays a character at the end of the prompt when in a git project with
|
# - Displays a character at the end of the prompt when in a git project with
|
||||||
# "dirty" files.
|
# "dirty" files.
|
||||||
#
|
#
|
||||||
@ -17,7 +17,7 @@
|
|||||||
# This prompt's prefix symbol and colors are customizable:
|
# This prompt's prefix symbol and colors are customizable:
|
||||||
# prompt cloud [<symbol>] [<color1>] [<color2>]
|
# prompt cloud [<symbol>] [<color1>] [<color2>]
|
||||||
#
|
#
|
||||||
# In ~/.zpreztorc:
|
# In ${ZDOTDIR:-$HOME}/.zpreztorc:
|
||||||
# zstyle ':prezto:module:prompt' theme 'cloud' \
|
# zstyle ':prezto:module:prompt' theme 'cloud' \
|
||||||
# ['<symbol>'] \
|
# ['<symbol>'] \
|
||||||
# ['<color1>'] \
|
# ['<color1>'] \
|
||||||
@ -53,7 +53,7 @@ This prompt's prefix symbol and colors are customizable:
|
|||||||
|
|
||||||
prompt cloud [<symbol>] [<color1>] [<color2>]
|
prompt cloud [<symbol>] [<color1>] [<color2>]
|
||||||
|
|
||||||
In ~/.zpreztorc:
|
In ${ZDOTDIR:-$HOME}/.zpreztorc:
|
||||||
zstyle ':prezto:module:prompt' theme 'cloud' ['<symbol>'] ['<color1>'] ['<color2>']
|
zstyle ':prezto:module:prompt' theme 'cloud' ['<symbol>'] ['<color1>'] ['<color2>']
|
||||||
|
|
||||||
If these options are not provided, the symbol defaults to ☁ with colors cyan
|
If these options are not provided, the symbol defaults to ☁ with colors cyan
|
||||||
@ -104,6 +104,9 @@ function prompt_cloud_setup {
|
|||||||
# Add hook for calling git-info before each command.
|
# Add hook for calling git-info before each command.
|
||||||
add-zsh-hook precmd prompt_cloud_precmd
|
add-zsh-hook precmd prompt_cloud_precmd
|
||||||
|
|
||||||
|
# Tell prezto we can manage this prompt
|
||||||
|
zstyle ':prezto:module:prompt' managed 'yes'
|
||||||
|
|
||||||
# Set git-info parameters.
|
# Set git-info parameters.
|
||||||
zstyle ':prezto:module:git:info' verbose 'yes'
|
zstyle ':prezto:module:git:info' verbose 'yes'
|
||||||
zstyle ':prezto:module:git:info:dirty' format "%%B%F{$secondary_color}]%f%%b %F{yellow}⚡%f"
|
zstyle ':prezto:module:git:info:dirty' format "%%B%F{$secondary_color}]%f%%b %F{yellow}⚡%f"
|
||||||
@ -119,3 +122,4 @@ function prompt_cloud_setup {
|
|||||||
}
|
}
|
||||||
|
|
||||||
prompt_cloud_setup "$@"
|
prompt_cloud_setup "$@"
|
||||||
|
# vim: ft=zsh
|
||||||
|
@ -27,6 +27,11 @@ prompt_damoekri_precmd() {
|
|||||||
if (( $+functions[ruby-info] )); then
|
if (( $+functions[ruby-info] )); then
|
||||||
ruby-info
|
ruby-info
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Get Openstack tenant information.
|
||||||
|
if (( $+functions[os-info] )); then
|
||||||
|
os-info
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function prompt_damoekri_setup {
|
function prompt_damoekri_setup {
|
||||||
@ -40,6 +45,9 @@ function prompt_damoekri_setup {
|
|||||||
# Add hook for calling git-info and ruby-info before each command.
|
# Add hook for calling git-info and ruby-info before each command.
|
||||||
add-zsh-hook precmd prompt_damoekri_precmd
|
add-zsh-hook precmd prompt_damoekri_precmd
|
||||||
|
|
||||||
|
# Tell prezto we can manage this prompt
|
||||||
|
zstyle ':prezto:module:prompt' managed 'yes'
|
||||||
|
|
||||||
# Set editor-info parameters.
|
# Set editor-info parameters.
|
||||||
zstyle ':prezto:module:editor:info:keymap:primary' format ' %F{green}»%f'
|
zstyle ':prezto:module:editor:info:keymap:primary' format ' %F{green}»%f'
|
||||||
|
|
||||||
@ -57,9 +65,13 @@ function prompt_damoekri_setup {
|
|||||||
# Set ruby-info parameters.
|
# Set ruby-info parameters.
|
||||||
zstyle ':prezto:module:ruby:info:version' format ' %F{yellow}%v%f'
|
zstyle ':prezto:module:ruby:info:version' format ' %F{yellow}%v%f'
|
||||||
|
|
||||||
|
# Set openstack tenant info
|
||||||
|
zstyle ':prezto:module:openstack:info:tenant' format '%s'
|
||||||
|
|
||||||
# Define prompts.
|
# Define prompts.
|
||||||
PROMPT='%F{cyan}${_prompt_damoekri_pwd}%f${editor_info[keymap]} '
|
PROMPT='${os_info:+${os_info[tenant]} }%F{cyan}${_prompt_damoekri_pwd}%f${editor_info[keymap]} '
|
||||||
RPROMPT='${git_info:+${(e)git_info[rprompt]}}${ruby_info:+${ruby_info[version]}}'
|
RPROMPT='${git_info:+${(e)git_info[rprompt]}}${ruby_info:+${ruby_info[version]}}'
|
||||||
}
|
}
|
||||||
|
|
||||||
prompt_damoekri_setup "$@"
|
prompt_damoekri_setup "$@"
|
||||||
|
# vim: ft=zsh
|
||||||
|
@ -47,6 +47,9 @@ function prompt_giddie_setup {
|
|||||||
# Add hook to set up prompt parameters before each command.
|
# Add hook to set up prompt parameters before each command.
|
||||||
add-zsh-hook precmd prompt_giddie_precmd
|
add-zsh-hook precmd prompt_giddie_precmd
|
||||||
|
|
||||||
|
# Tell prezto we can manage this prompt
|
||||||
|
zstyle ':prezto:module:prompt' managed 'yes'
|
||||||
|
|
||||||
# Set editor-info parameters.
|
# Set editor-info parameters.
|
||||||
zstyle ':prezto:module:editor:info:completing' format '%F{green}...%f'
|
zstyle ':prezto:module:editor:info:completing' format '%F{green}...%f'
|
||||||
zstyle ':prezto:module:editor:info:keymap:alternate' format '%F{yellow}--- COMMAND ---%f'
|
zstyle ':prezto:module:editor:info:keymap:alternate' format '%F{yellow}--- COMMAND ---%f'
|
||||||
@ -74,3 +77,4 @@ function prompt_giddie_setup {
|
|||||||
}
|
}
|
||||||
|
|
||||||
prompt_giddie_setup "$@"
|
prompt_giddie_setup "$@"
|
||||||
|
# vim: ft=zsh
|
||||||
|
@ -40,6 +40,9 @@ function prompt_kylewest_setup {
|
|||||||
# Add hook for calling git-info before each command.
|
# Add hook for calling git-info before each command.
|
||||||
add-zsh-hook precmd prompt_kylewest_precmd
|
add-zsh-hook precmd prompt_kylewest_precmd
|
||||||
|
|
||||||
|
# Tell prezto we can manage this prompt
|
||||||
|
zstyle ':prezto:module:prompt' managed 'yes'
|
||||||
|
|
||||||
# Set editor-info parameters.
|
# Set editor-info parameters.
|
||||||
zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b'
|
zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b'
|
||||||
zstyle ':prezto:module:editor:info:keymap:primary' format "%B%F{green}❯%f%b"
|
zstyle ':prezto:module:editor:info:keymap:primary' format "%B%F{green}❯%f%b"
|
||||||
@ -63,3 +66,4 @@ function prompt_kylewest_setup {
|
|||||||
}
|
}
|
||||||
|
|
||||||
prompt_kylewest_setup "$@"
|
prompt_kylewest_setup "$@"
|
||||||
|
# vim: ft=zsh
|
||||||
|
@ -32,6 +32,9 @@ function prompt_minimal_setup {
|
|||||||
# Add hook for calling vcs_info before each command.
|
# Add hook for calling vcs_info before each command.
|
||||||
add-zsh-hook precmd prompt_minimal_precmd
|
add-zsh-hook precmd prompt_minimal_precmd
|
||||||
|
|
||||||
|
# Tell prezto we can manage this prompt
|
||||||
|
zstyle ':prezto:module:prompt' managed 'yes'
|
||||||
|
|
||||||
# Set vcs_info parameters.
|
# Set vcs_info parameters.
|
||||||
zstyle ':vcs_info:*' enable bzr git hg svn
|
zstyle ':vcs_info:*' enable bzr git hg svn
|
||||||
zstyle ':vcs_info:*' check-for-changes true
|
zstyle ':vcs_info:*' check-for-changes true
|
||||||
@ -47,4 +50,14 @@ function prompt_minimal_setup {
|
|||||||
RPROMPT=''
|
RPROMPT=''
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function prompt_minimal_preview {
|
||||||
|
local +h PROMPT=''
|
||||||
|
local +h RPROMPT=''
|
||||||
|
local +h SPROMPT=''
|
||||||
|
|
||||||
|
editor-info 2> /dev/null
|
||||||
|
prompt_preview_theme 'minimal'
|
||||||
|
}
|
||||||
|
|
||||||
prompt_minimal_setup "$@"
|
prompt_minimal_setup "$@"
|
||||||
|
# vim: ft=zsh
|
||||||
|
@ -35,6 +35,9 @@ function prompt_nicoulaj_setup {
|
|||||||
# Add hook for calling vcs_info before each command.
|
# Add hook for calling vcs_info before each command.
|
||||||
add-zsh-hook precmd prompt_nicoulaj_precmd
|
add-zsh-hook precmd prompt_nicoulaj_precmd
|
||||||
|
|
||||||
|
# Tell prezto we can manage this prompt
|
||||||
|
zstyle ':prezto:module:prompt' managed 'yes'
|
||||||
|
|
||||||
# Customizable parameters.
|
# Customizable parameters.
|
||||||
local max_path_chars=30
|
local max_path_chars=30
|
||||||
local user_char='❯'
|
local user_char='❯'
|
||||||
@ -58,3 +61,4 @@ function prompt_nicoulaj_setup {
|
|||||||
}
|
}
|
||||||
|
|
||||||
prompt_nicoulaj_setup "$@"
|
prompt_nicoulaj_setup "$@"
|
||||||
|
# vim: ft=zsh
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user