mirror of
https://github.com/dcarrillo/prezto.git
synced 2025-07-01 15:09:25 +00:00
Compare commits
339 Commits
pull/638-e
...
belak/zdeb
Author | SHA1 | Date | |
---|---|---|---|
3524cc20f0 | |||
6ab2cc012e | |||
658ec4e4a7 | |||
282b478fd2 | |||
904eef5fa5 | |||
906ac99e20 | |||
0b62639ad5 | |||
54d2a76731 | |||
e32a96be72 | |||
73e94b84bb | |||
82d3265ad5 | |||
66bfe9be27 | |||
83085e5231 | |||
4c31107e3b | |||
d8d6b4d70a | |||
e021adeb4a | |||
aa0395244d | |||
3ab569ff78 | |||
3a0bd28e0c | |||
64d57ec71f | |||
b407ba0c3a | |||
e2785cc246 | |||
029414581e | |||
7cdde9b631 | |||
8ed2c78de8 | |||
043d09bbfe | |||
df3468e957 | |||
65bcbae8bc | |||
64d6ae805c | |||
221c6cd128 | |||
cbe4815189 | |||
a3f40a7479 | |||
d725233bb1 | |||
2436806fce | |||
96bbb31cc8 | |||
ce349dff81 | |||
ad79f78fbe | |||
e159c1a439 | |||
f02dc1af57 | |||
105e9658bb | |||
948d9b3aa5 | |||
79927ac73a | |||
485ad9e704 | |||
c7dcd21c9e | |||
7ebb5e9dda | |||
ff9b901394 | |||
4b0ecffaca | |||
87d39f5dd2 | |||
cbcbedd694 | |||
109864429c | |||
b5d09e2da7 | |||
fb903cb067 | |||
6d5650eae7 | |||
25d8db301d | |||
63310f6403 | |||
1d0bee6098 | |||
9520f1be6f | |||
cd703d3c3c | |||
752f64f085 | |||
00f1d92ed8 | |||
34d4897d0e | |||
3faaffe7e9 | |||
34482cb325 | |||
2cfd366ba6 | |||
808d9d3579 | |||
76388a8cd1 | |||
6a8f1c6b16 | |||
ba0cb8afd8 | |||
46de6fef77 | |||
37c61a058c | |||
38fb41d66e | |||
727f094b0f | |||
8fa14ed72f | |||
58bcc43bf9 | |||
98f37b3c2f | |||
a7fb175b20 | |||
9c528efa60 | |||
83ab314b77 | |||
5ffc8a07f1 | |||
cab4ac54ec | |||
4c272a20f6 | |||
5b244eeadb | |||
3194442759 | |||
9dfa8a67f6 | |||
e6af5f2e91 | |||
dd1133d32e | |||
2f867d6f22 | |||
24e5e49ff2 | |||
730fc4690e | |||
5e295b0835 | |||
8d7e3e27c7 | |||
a60499f933 | |||
7b5196ca66 | |||
3f556400e7 | |||
b3c7d21d31 | |||
591d087ccc | |||
9b6bf4a7cd | |||
19435b16ea | |||
7e7124e84a | |||
09fe5191e7 | |||
0fc49ac4f0 | |||
e364eac8f5 | |||
9bdc1b35d5 | |||
9f1a41de90 | |||
d6276e8025 | |||
8846db9d4d | |||
eddbdd9416 | |||
24b710f545 | |||
a60fe47359 | |||
17a59bada7 | |||
ac628c9059 | |||
bcbaea27af | |||
608f291ad3 | |||
2db7f62c2b | |||
46e34d30b8 | |||
cb4be65d29 | |||
f236344fc8 | |||
90071d3ad0 | |||
c1a8fc0469 | |||
b0c85eddf6 | |||
04bfb5131b | |||
19990c8025 | |||
d25b251ef7 | |||
0f3a5f745e | |||
ebae698f70 | |||
d69070268a | |||
86de7a8d2e | |||
1221e4030d | |||
17bc7530ba | |||
aad91beb3c | |||
2a75fba6a8 | |||
6e1f4ddd19 | |||
7d109fb3fa | |||
899c176942 | |||
3f99519021 | |||
e3520b737f | |||
db48a22c74 | |||
e6136a517b | |||
7d5beeab51 | |||
a70bce3ea6 | |||
75a60bc7bf | |||
5cd3380d9d | |||
c6124d4d37 | |||
09b333eb41 | |||
a876890afd | |||
dbe9a5ea28 | |||
5ef10f7658 | |||
87868441eb | |||
eb47b45a0d | |||
a4ff6acd56 | |||
e52523204b | |||
961326f8e9 | |||
7fe28574a8 | |||
d101b0a319 | |||
f8f4953dce | |||
7c172fc9a7 | |||
ecc34e0051 | |||
1c041c0433 | |||
d9a1380263 | |||
a75c63768c | |||
a0541ce7a5 | |||
2f20a80f72 | |||
5bcc223e95 | |||
14670f40f0 | |||
7ae7a0266c | |||
08e39a587f | |||
658fffb3a6 | |||
6975b119b6 | |||
d02c2951b3 | |||
871b15663c | |||
42d9b78907 | |||
2794f95d3e | |||
46a1ffaf7e | |||
3d7a8c2870 | |||
1050a0a290 | |||
723b3812e1 | |||
7c509a264f | |||
850ad42c96 | |||
4f87376b50 | |||
876f426581 | |||
f15557159a | |||
81b41d2367 | |||
cf7d3cffbd | |||
fb37539f43 | |||
7242b4ed49 | |||
c38c2dd909 | |||
600b4cc9e6 | |||
38f0d2f34e | |||
40853f23c2 | |||
a622652f73 | |||
a8ce3da782 | |||
19d11ab1d0 | |||
e606b09c9e | |||
d035e4cf1e | |||
8a4333103d | |||
bb168c5881 | |||
7c64584629 | |||
7011031a87 | |||
2e20eb8571 | |||
5c0e68f75f | |||
1c0f95c08e | |||
fb6f3f7ee9 | |||
95036c908c | |||
9a70a1675c | |||
8655cd543b | |||
60c433d4ce | |||
b963484fe7 | |||
ee249e50ee | |||
412af29808 | |||
94708f6b50 | |||
8dafaae5a4 | |||
e413ef5a97 | |||
909006638d | |||
464a8d20a1 | |||
95d19b37c1 | |||
c0049855c5 | |||
27c2ccd8b9 | |||
fd0b627a8b | |||
076e29e97d | |||
013668f484 | |||
ddfc870f9a | |||
65b05c0220 | |||
12d48dfcf9 | |||
fb689449a7 | |||
483447082b | |||
2c1ad5bed1 | |||
4e35f701ca | |||
3a6ae0fc6c | |||
dcd8596192 | |||
a7729561e8 | |||
5271af8180 | |||
8913bcccd2 | |||
2ba060a426 | |||
8820b71f37 | |||
0be0ff565a | |||
7346efd206 | |||
b38ced856a | |||
4f19700919 | |||
c8b8397728 | |||
8bd720b0c7 | |||
38baf39513 | |||
e36eed9c8a | |||
64aa907087 | |||
7227c4f0be | |||
2ad1b2f5b1 | |||
a7e4b447b3 | |||
02b3d329ac | |||
e641c2111a | |||
165879d4b3 | |||
de9ed0610b | |||
c05fbedd8d | |||
e137068cac | |||
f2a826e963 | |||
bdec6c4e20 | |||
ef634f38a4 | |||
b761261b11 | |||
02c5f776fc | |||
a275db55d6 | |||
b6efdc1ea4 | |||
904c94469e | |||
159418835f | |||
f7ea78078f | |||
fe64f91f52 | |||
b46769149b | |||
999f0d1a74 | |||
f6a2c73423 | |||
a1dea6ae43 | |||
cd5067668c | |||
6a812ed36b | |||
ca03fd670a | |||
08676a273e | |||
20766138cb | |||
e9f86bf4db | |||
c98da90662 | |||
ac8bc74ef0 | |||
ccca57f2ac | |||
4016f0c7c1 | |||
c34098af20 | |||
ee0b02464c | |||
e144abb285 | |||
b41f485528 | |||
ab45ade380 | |||
1292587f95 | |||
933c61b8f1 | |||
88aee30ae8 | |||
4411c95a83 | |||
62d87cae32 | |||
d43bcb9720 | |||
ba351df9fb | |||
925b94b6e2 | |||
c171621747 | |||
0148ee6a4d | |||
fc3f8025ea | |||
9539341e1e | |||
13d1ed160e | |||
2a33581e80 | |||
3dd4cbc3c0 | |||
7a92046c86 | |||
3012c0984b | |||
00a5639e65 | |||
3cb1f7c4c9 | |||
90eae2b491 | |||
d349c1cec7 | |||
a7a4912940 | |||
82710c29fc | |||
9f82926f6e | |||
61e91b8fb0 | |||
967c91a351 | |||
087fce8548 | |||
2ae905a625 | |||
19fc31c342 | |||
e76df6022d | |||
c2d62c3b47 | |||
03336db523 | |||
1bc4235a5e | |||
c078c47c9d | |||
0bede677e6 | |||
ad09f29fd5 | |||
567506f7e7 | |||
13ed3a1bf7 | |||
6f9c1666e1 | |||
ab7f697734 | |||
d020d34e59 | |||
17a6124b43 | |||
3c47c57c87 | |||
ff0cdd3ed7 | |||
b948e3630b | |||
55e4db9429 | |||
53bd555c6d | |||
86ba5b69d3 | |||
5791c07d48 | |||
34a50c2550 | |||
417b9d429d | |||
fea08d4e50 | |||
d3f1441481 | |||
a84ac5b002 | |||
10c33ec9a4 | |||
9b1f39f267 | |||
36ade25eb6 |
9
.editorconfig
Normal file
9
.editorconfig
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[*]
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
[{.gitattributes,.gitignore,.gitmodules}]
|
||||||
|
indent_style = tab
|
24
.github/ISSUE_TEMPLATE.md
vendored
Normal file
24
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<!-- Please check if a similar issue already exists or has been closed before before opening your issue. -->
|
||||||
|
|
||||||
|
### Description
|
||||||
|
<!-- Provide a general description of the bug or feature -->
|
||||||
|
|
||||||
|
### Expected behavior
|
||||||
|
|
||||||
|
<!-- What you expected to happen -->
|
||||||
|
|
||||||
|
### Actual behavior
|
||||||
|
|
||||||
|
<!-- What actually happened -->
|
||||||
|
|
||||||
|
### Steps to Reproduce
|
||||||
|
|
||||||
|
1. [First Step]
|
||||||
|
2. [Second Step]
|
||||||
|
3. [and so on...]
|
||||||
|
|
||||||
|
### Versions
|
||||||
|
|
||||||
|
- Prezto commit:
|
||||||
|
- ZSH version:
|
||||||
|
- OS information:
|
10
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
10
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
Please be sure to check out our [contributing guidelines](https://github.com/sorin-ionescu/prezto/blob/master/CONTRIBUTING.md)
|
||||||
|
before submitting your pull request.
|
||||||
|
|
||||||
|
Fixes #
|
||||||
|
|
||||||
|
## Proposed Changes
|
||||||
|
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
*.zwc
|
*.zwc
|
||||||
*.zwc.old
|
*.zwc.old
|
||||||
modules/*/cache.zsh
|
modules/*/cache.zsh
|
||||||
|
contrib
|
||||||
|
21
.gitmodules
vendored
21
.gitmodules
vendored
@ -1,3 +1,6 @@
|
|||||||
|
[submodule "modules/autosuggestions/external"]
|
||||||
|
path = modules/autosuggestions/external
|
||||||
|
url = https://github.com/zsh-users/zsh-autosuggestions.git
|
||||||
[submodule "modules/history-substring-search/external"]
|
[submodule "modules/history-substring-search/external"]
|
||||||
path = modules/history-substring-search/external
|
path = modules/history-substring-search/external
|
||||||
url = https://github.com/zsh-users/zsh-history-substring-search.git
|
url = https://github.com/zsh-users/zsh-history-substring-search.git
|
||||||
@ -7,3 +10,21 @@
|
|||||||
[submodule "modules/completion/external"]
|
[submodule "modules/completion/external"]
|
||||||
path = modules/completion/external
|
path = modules/completion/external
|
||||||
url = https://github.com/zsh-users/zsh-completions.git
|
url = https://github.com/zsh-users/zsh-completions.git
|
||||||
|
[submodule "modules/prompt/external/powerline"]
|
||||||
|
path = modules/prompt/external/powerline
|
||||||
|
url = https://github.com/davidjrice/prezto_powerline.git
|
||||||
|
[submodule "modules/prompt/external/agnoster"]
|
||||||
|
path = modules/prompt/external/agnoster
|
||||||
|
url = https://github.com/agnoster/agnoster-zsh-theme.git
|
||||||
|
[submodule "modules/prompt/functions/pure"]
|
||||||
|
path = modules/prompt/external/pure
|
||||||
|
url = https://github.com/sindresorhus/pure.git
|
||||||
|
[submodule "modules/fasd/external"]
|
||||||
|
path = modules/fasd/external
|
||||||
|
url = https://github.com/clvv/fasd.git
|
||||||
|
[submodule "modules/prompt/external/async"]
|
||||||
|
path = modules/prompt/external/async
|
||||||
|
url = https://github.com/mafredri/zsh-async.git
|
||||||
|
[submodule "modules/prompt/external/powerlevel9k"]
|
||||||
|
path = modules/prompt/external/powerlevel9k
|
||||||
|
url = https://github.com/bhilburn/powerlevel9k.git
|
||||||
|
@ -23,6 +23,39 @@ improve its performance, do not hesitate to fork and send pull requests.
|
|||||||
- 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 and description in grammatically correct, complete sentences.
|
title and description in grammatically correct, complete sentences.
|
||||||
|
|
||||||
|
#### Code Style
|
||||||
|
|
||||||
|
This project follows the [Google Shell Style Guide][5] when possible. However,
|
||||||
|
there are a number of additional things to keep in mind.
|
||||||
|
|
||||||
|
- Local variables should be used whenever possible.
|
||||||
|
- Prefer `zstyle` over environment variables for configuration.
|
||||||
|
- Prefer (( ... )) over [[ ... ]] for arithmetic expression.
|
||||||
|
- Use the function keyword to define functions.
|
||||||
|
- The 80 character hard limit can be waved for readability.
|
||||||
|
|
||||||
|
#### Using an Alternative zprezto Directory
|
||||||
|
|
||||||
|
To work on zprezto without messing with your current configuration:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
mkdir devel-zprezto
|
||||||
|
cd devel-zprezto
|
||||||
|
git clone --recursive https://github.com/sorin-ionescu/prezto.git .zprezto
|
||||||
|
ZDOTDIR=$(pwd)
|
||||||
|
echo "Your development ZDOTDIR is $ZDOTDIR"
|
||||||
|
setopt EXTENDED_GLOB
|
||||||
|
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
|
||||||
|
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
|
||||||
|
done
|
||||||
|
```
|
||||||
|
|
||||||
|
Then to start zsh in this development environment you will run:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
ZDOTDIR=/path/to/devel-zprezto zsh
|
||||||
|
```
|
||||||
|
|
||||||
#### Modules
|
#### Modules
|
||||||
|
|
||||||
- A *README.md* must be present.
|
- A *README.md* must be present.
|
||||||
@ -32,11 +65,11 @@ improve its performance, do not hesitate to fork and send pull requests.
|
|||||||
#### 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][5].
|
- 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]: http://gun.io/blog/how-to-github-fork-branch-and-pull-request
|
||||||
[3]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
|
[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]: http://daringfireball.net/projects/markdown/syntax#img
|
[5]: https://google.github.io/styleguide/shell.xml
|
||||||
|
[6]: http://daringfireball.net/projects/markdown/syntax#img
|
||||||
|
20
LICENSE
Normal file
20
LICENSE
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
Copyright (c) 2009-2011 Robby Russell and contributors
|
||||||
|
Copyright (c) 2011-2017 Sorin Ionescu and contributors
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
|
the Software without restriction, including without limitation the rights to
|
||||||
|
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||||
|
of the Software, and to permit persons to whom the Software is furnished to do
|
||||||
|
so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE
|
82
README.md
82
README.md
@ -9,27 +9,41 @@ 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.17.
|
version is 4.3.11.
|
||||||
|
|
||||||
1. Launch Zsh:
|
1. Launch Zsh:
|
||||||
|
|
||||||
zsh
|
```console
|
||||||
|
zsh
|
||||||
|
```
|
||||||
|
|
||||||
2. Clone the repository:
|
2. Clone the repository:
|
||||||
|
|
||||||
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
|
```console
|
||||||
|
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
|
3. Create a new Zsh configuration by copying the Zsh configuration files
|
||||||
provided:
|
provided:
|
||||||
|
|
||||||
setopt EXTENDED_GLOB
|
```sh
|
||||||
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
|
setopt EXTENDED_GLOB
|
||||||
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
|
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
|
||||||
done
|
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
|
||||||
|
done
|
||||||
|
```
|
||||||
|
|
||||||
|
Note: If you already have any of the given config files, ln will error. In
|
||||||
|
simple cases you can add `source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"` to
|
||||||
|
the bottom of your `.zshrc` to load prezto but keep your config intact. For
|
||||||
|
more complicated setups, it is recommended that you back up your original
|
||||||
|
configs and replace them with the provided prezto runcoms.
|
||||||
|
|
||||||
4. Set Zsh as your default shell:
|
4. Set Zsh as your default shell:
|
||||||
|
|
||||||
chsh -s /bin/zsh
|
```console
|
||||||
|
chsh -s /bin/zsh
|
||||||
|
```
|
||||||
|
|
||||||
5. Open a new Zsh terminal window or tab.
|
5. Open a new Zsh terminal window or tab.
|
||||||
|
|
||||||
@ -42,9 +56,18 @@ window or tab.
|
|||||||
Updating
|
Updating
|
||||||
--------
|
--------
|
||||||
|
|
||||||
Pull the latest changes and update submodules.
|
Run `zprezto-update` to automatically check if there is an update to zprezto.
|
||||||
|
If there are no file conflicts, zprezto and its submodules will be
|
||||||
|
automatically updated. If there are conflicts you will instructed to go into
|
||||||
|
the `$ZPREZTODIR` directory and resolve them yourself.
|
||||||
|
|
||||||
git pull && git submodule update --init --recursive
|
To pull the latest changes and update submodules manually:
|
||||||
|
|
||||||
|
```console
|
||||||
|
cd $ZPREZTODIR
|
||||||
|
git pull
|
||||||
|
git submodule update --init --recursive
|
||||||
|
```
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
-----
|
-----
|
||||||
@ -67,6 +90,19 @@ accompanying README files to learn of what is available.
|
|||||||
|
|
||||||
![sorin theme][2]
|
![sorin theme][2]
|
||||||
|
|
||||||
|
### External Modules
|
||||||
|
|
||||||
|
1. By default modules will be loaded from */modules* and */contrib*.
|
||||||
|
2. Additional module directories can be added to the
|
||||||
|
`:prezto:load:pmodule-dirs` setting in *~/.zpreztorc*.
|
||||||
|
|
||||||
|
Note that module names need to be unique or they will cause an error when
|
||||||
|
loading.
|
||||||
|
|
||||||
|
```console
|
||||||
|
zstyle ':prezto:load' pmodule-dirs $HOME/.zprezto-contrib
|
||||||
|
```
|
||||||
|
|
||||||
Customization
|
Customization
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
@ -83,35 +119,13 @@ The [Zsh Reference Card][7] and the [zsh-lovers][8] man page are indispensable.
|
|||||||
License
|
License
|
||||||
-------
|
-------
|
||||||
|
|
||||||
(The MIT License)
|
This project is licensed under the MIT License.
|
||||||
|
|
||||||
Copyright (c) 2009-2011 Robby Russell and contributors.
|
|
||||||
Copyright (c) 2011-2014 Sorin Ionescu and contributors.
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
||||||
this software and associated documentation files (the "Software"), to deal in
|
|
||||||
the Software without restriction, including without limitation the rights to
|
|
||||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
||||||
of the Software, and to permit persons to whom the Software is furnished to do
|
|
||||||
so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
|
|
||||||
[1]: http://www.zsh.org
|
[1]: http://www.zsh.org
|
||||||
[2]: http://i.imgur.com/nBEEZ.png "sorin theme"
|
[2]: http://i.imgur.com/nrGV6pg.png "sorin theme"
|
||||||
[3]: http://git-scm.com
|
[3]: http://git-scm.com
|
||||||
[4]: https://github.com
|
[4]: https://github.com
|
||||||
[5]: http://gitimmersion.com
|
[5]: http://gitimmersion.com
|
||||||
[6]: http://gitref.org
|
[6]: http://gitref.org
|
||||||
[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]: http://grml.org/zsh/zsh-lovers.html
|
||||||
|
|
||||||
|
147
init.zsh
147
init.zsh
@ -10,13 +10,75 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Check for the minimum supported version.
|
# Check for the minimum supported version.
|
||||||
min_zsh_version='4.3.17'
|
min_zsh_version='4.3.11'
|
||||||
if ! autoload -Uz is-at-least || ! is-at-least "$min_zsh_version"; then
|
if ! autoload -Uz is-at-least || ! is-at-least "$min_zsh_version"; then
|
||||||
print "prezto: old shell detected, minimum required: $min_zsh_version" >&2
|
printf "prezto: old shell detected, minimum required: %s\n" "$min_zsh_version" >&2
|
||||||
return 1
|
return 1
|
||||||
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
|
||||||
|
# The function is surrounded by ( ) instead of { } so it starts in a subshell
|
||||||
|
# and won't affect the environment of the calling shell
|
||||||
|
function zprezto-update {
|
||||||
|
(
|
||||||
|
function cannot-fast-forward {
|
||||||
|
local STATUS="$1"
|
||||||
|
[[ -n "${STATUS}" ]] && printf "%s\n" "${STATUS}"
|
||||||
|
printf "Unable to fast-forward the changes. You can fix this by "
|
||||||
|
printf "running\ncd '%s' and then\n'git pull' " "${ZPREZTODIR}"
|
||||||
|
printf "to manually pull and possibly merge in changes\n"
|
||||||
|
}
|
||||||
|
cd -q -- "${ZPREZTODIR}" || return 7
|
||||||
|
local orig_branch="$(git symbolic-ref HEAD 2> /dev/null | cut -d '/' -f 3)"
|
||||||
|
if [[ "$orig_branch" == "master" ]]; then
|
||||||
|
git fetch || return "$?"
|
||||||
|
local UPSTREAM=$(git rev-parse '@{u}')
|
||||||
|
local LOCAL=$(git rev-parse HEAD)
|
||||||
|
local REMOTE=$(git rev-parse "$UPSTREAM")
|
||||||
|
local BASE=$(git merge-base HEAD "$UPSTREAM")
|
||||||
|
if [[ $LOCAL == $REMOTE ]]; then
|
||||||
|
printf "There are no updates.\n"
|
||||||
|
return 0
|
||||||
|
elif [[ $LOCAL == $BASE ]]; then
|
||||||
|
printf "There is an update available. Trying to pull.\n\n"
|
||||||
|
if git pull --ff-only; then
|
||||||
|
printf "Syncing submodules\n"
|
||||||
|
git submodule update --recursive
|
||||||
|
return $?
|
||||||
|
else
|
||||||
|
cannot-fast-forward
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
elif [[ $REMOTE == $BASE ]]; then
|
||||||
|
cannot-fast-forward "Commits in master that aren't in upstream."
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
cannot-fast-forward "Upstream and local have diverged."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
printf "zprezto install at '%s' is not on the master branch " "${ZPREZTODIR}"
|
||||||
|
printf "(you're on '%s')\nUnable to automatically update.\n" "${orig_branch}"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
return 1
|
||||||
|
)
|
||||||
|
}
|
||||||
#
|
#
|
||||||
# Module Loader
|
# Module Loader
|
||||||
#
|
#
|
||||||
@ -24,44 +86,71 @@ unset min_zsh_version
|
|||||||
# Loads Prezto modules.
|
# Loads Prezto modules.
|
||||||
function pmodload {
|
function pmodload {
|
||||||
local -a pmodules
|
local -a pmodules
|
||||||
|
local -a pmodule_dirs
|
||||||
|
local -a locations
|
||||||
local pmodule
|
local pmodule
|
||||||
local pfunction_glob='^([_.]*|prompt_*_setup|README*)(-.N:t)'
|
local pmodule_location
|
||||||
|
local pfunction_glob='^([_.]*|prompt_*_setup|README*|*~)(-.N:t)'
|
||||||
|
|
||||||
|
# Load in any additional directories and warn if they don't exist
|
||||||
|
zstyle -a ':prezto:load' pmodule-dirs 'user_pmodule_dirs'
|
||||||
|
for user_dir in "$user_pmodule_dirs[@]"; do
|
||||||
|
if [[ ! -d "$user_dir" ]]; then
|
||||||
|
echo "$0: Missing user module dir: $user_dir"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
pmodule_dirs=("$ZPREZTODIR/modules" "$ZPREZTODIR/contrib" "$user_pmodule_dirs[@]")
|
||||||
|
|
||||||
# $argv is overridden in the anonymous function.
|
# $argv is overridden in the anonymous function.
|
||||||
pmodules=("$argv[@]")
|
pmodules=("$argv[@]")
|
||||||
|
|
||||||
# Add functions to $fpath.
|
|
||||||
fpath=(${pmodules:+${ZDOTDIR:-$HOME}/.zprezto/modules/${^pmodules}/functions(/FN)} $fpath)
|
|
||||||
|
|
||||||
function {
|
|
||||||
local pfunction
|
|
||||||
|
|
||||||
# Extended globbing is needed for listing autoloadable function directories.
|
|
||||||
setopt LOCAL_OPTIONS EXTENDED_GLOB
|
|
||||||
|
|
||||||
# Load Prezto functions.
|
|
||||||
for pfunction in ${ZDOTDIR:-$HOME}/.zprezto/modules/${^pmodules}/functions/$~pfunction_glob; do
|
|
||||||
autoload -Uz "$pfunction"
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
# Load Prezto modules.
|
# 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
|
||||||
continue
|
pdebuglog "Module %q already loaded" $pmodule
|
||||||
elif [[ ! -d "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule" ]]; then
|
|
||||||
print "$0: no such module: $pmodule" >&2
|
|
||||||
continue
|
continue
|
||||||
else
|
else
|
||||||
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule/init.zsh" ]]; then
|
locations=(${pmodule_dirs:+${^pmodule_dirs}/$pmodule(-/FN)})
|
||||||
source "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule/init.zsh"
|
if (( ${#locations} > 1 )); then
|
||||||
|
print "$0: conflicting module locations: $locations"
|
||||||
|
continue
|
||||||
|
elif (( ${#locations} < 1 )); then
|
||||||
|
print "$0: no such module: $pmodule"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Grab the full path to this module
|
||||||
|
pmodule_location=${locations[1]}
|
||||||
|
|
||||||
|
# Add functions to $fpath.
|
||||||
|
fpath=(${pmodule_location}/functions(/FN) $fpath)
|
||||||
|
|
||||||
|
function {
|
||||||
|
local pfunction
|
||||||
|
|
||||||
|
# Extended globbing is needed for listing autoloadable function directories.
|
||||||
|
setopt LOCAL_OPTIONS EXTENDED_GLOB
|
||||||
|
|
||||||
|
# Load Prezto functions.
|
||||||
|
for pfunction in ${pmodule_location}/functions/$~pfunction_glob; do
|
||||||
|
autoload -Uz "$pfunction"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ -s "${pmodule_location}/init.zsh" ]]; then
|
||||||
|
source "${pmodule_location}/init.zsh"
|
||||||
|
elif [[ -s "${pmodule_location}/${pmodule}.plugin.zsh" ]]; then
|
||||||
|
source "${pmodule_location}/${pmodule}.plugin.zsh"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
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)${ZDOTDIR:-$HOME}/.zprezto/modules/${pmodule}/functions]=()
|
fpath[(r)${pmodule_location}/functions]=()
|
||||||
|
|
||||||
function {
|
function {
|
||||||
local pfunction
|
local pfunction
|
||||||
@ -71,11 +160,12 @@ function pmodload {
|
|||||||
setopt LOCAL_OPTIONS EXTENDED_GLOB
|
setopt LOCAL_OPTIONS EXTENDED_GLOB
|
||||||
|
|
||||||
# Unload Prezto functions.
|
# Unload Prezto functions.
|
||||||
for pfunction in ${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule/functions/$~pfunction_glob; do
|
for pfunction in ${pmodule_location}/functions/$~pfunction_glob; do
|
||||||
unfunction "$pfunction"
|
unfunction "$pfunction"
|
||||||
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
|
||||||
@ -86,6 +176,12 @@ function pmodload {
|
|||||||
# Prezto Initialization
|
# Prezto Initialization
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# This finds the directory prezto is installed to so plugin managers don't need
|
||||||
|
# to rely on dirty hacks to force prezto into a directory. Additionally, it
|
||||||
|
# needs to be done here because inside the pmodload function ${0:h} evaluates to
|
||||||
|
# the current directory of the shell rather than the prezto dir.
|
||||||
|
ZPREZTODIR=${0:h}
|
||||||
|
|
||||||
# Source the Prezto configuration file.
|
# Source the Prezto configuration file.
|
||||||
if [[ -s "${ZDOTDIR:-$HOME}/.zpreztorc" ]]; then
|
if [[ -s "${ZDOTDIR:-$HOME}/.zpreztorc" ]]; then
|
||||||
source "${ZDOTDIR:-$HOME}/.zpreztorc"
|
source "${ZDOTDIR:-$HOME}/.zpreztorc"
|
||||||
@ -111,4 +207,3 @@ unset zfunction{s,}
|
|||||||
zstyle -a ':prezto:load' pmodule 'pmodules'
|
zstyle -a ':prezto:load' pmodule 'pmodules'
|
||||||
pmodload "$pmodules[@]"
|
pmodload "$pmodules[@]"
|
||||||
unset pmodules
|
unset pmodules
|
||||||
|
|
||||||
|
@ -3,13 +3,20 @@ Modules
|
|||||||
|
|
||||||
Load modules in *zpreztorc*. The order matters.
|
Load modules in *zpreztorc*. The order matters.
|
||||||
|
|
||||||
zstyle ':prezto:load' pmodule 'environment' 'terminal'
|
```sh
|
||||||
|
zstyle ':prezto:load' pmodule 'environment' 'terminal'
|
||||||
|
```
|
||||||
|
|
||||||
Archive
|
Archive
|
||||||
-------
|
-------
|
||||||
|
|
||||||
Provides functions to list and extract archives.
|
Provides functions to list and extract archives.
|
||||||
|
|
||||||
|
Autosuggestions
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Integrates zsh-autosuggestions into Prezto.
|
||||||
|
|
||||||
Command-Not-Found
|
Command-Not-Found
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
@ -26,6 +33,11 @@ Directory
|
|||||||
|
|
||||||
Sets directory options and defines directory aliases.
|
Sets directory options and defines directory aliases.
|
||||||
|
|
||||||
|
DNF
|
||||||
|
---
|
||||||
|
|
||||||
|
Defines dnf aliases.
|
||||||
|
|
||||||
Dpkg
|
Dpkg
|
||||||
----
|
----
|
||||||
|
|
||||||
@ -92,7 +104,7 @@ 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.
|
||||||
@ -192,4 +204,3 @@ Yum
|
|||||||
---
|
---
|
||||||
|
|
||||||
Defines yum aliases.
|
Defines yum aliases.
|
||||||
|
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
Archive
|
Archive
|
||||||
=======
|
=======
|
||||||
|
|
||||||
Provides functions to list and extract archives.
|
Provides functions to create, list, and extract archives.
|
||||||
|
|
||||||
Functions
|
Functions
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
- `archive` creates an archive based on the provided archive name.
|
||||||
- `lsarchive` lists the contents of one or more archives.
|
- `lsarchive` lists the contents of one or more archives.
|
||||||
- `unarchive` extracts the contents of one or more archives.
|
- `unarchive` extracts the contents of one or more archives.
|
||||||
|
|
||||||
@ -15,8 +16,8 @@ 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`.
|
- *.tar.gz*, *.tgz* require `tar` (optionally `pigz`).
|
||||||
- *.tar.bz2*, *.tbz* require `tar`.
|
- *.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`.
|
||||||
@ -25,17 +26,27 @@ installed:
|
|||||||
- *.xz* requires `unxz`.
|
- *.xz* requires `unxz`.
|
||||||
- *.lzma* requires `unlzma`.
|
- *.lzma* requires `unlzma`.
|
||||||
- *.Z* requires `uncompress`.
|
- *.Z* requires `uncompress`.
|
||||||
- *.zip* requires `unzip`.
|
- *.zip*, *.jar* requires `unzip`.
|
||||||
- *.rar* requires `unrar` or `rar`.
|
- *.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
|
||||||
|
their traditional counterparts, `gzip` and `bzip2` respectively, to take full advantage
|
||||||
|
of all available CPU cores for compression.
|
||||||
|
|
||||||
|
Alternatives
|
||||||
|
------------
|
||||||
|
|
||||||
|
Specifically on macOS, [The Unarchiver][1] provides a similar command line tool
|
||||||
|
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][1].*
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
- [Matt Hamilton](https://github.com/Eriner)
|
||||||
|
|
||||||
[1]: https://github.com/sorin-ionescu/prezto/issues
|
[1]: https://theunarchiver.com/command-line
|
||||||
|
|
||||||
|
@ -10,5 +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|rar|7z)(-.)'" && return 0
|
"*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|jar|rar|7z)(-.)'" && return 0
|
||||||
|
|
||||||
|
@ -10,5 +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|rar|7z|deb)(-.)'" && return 0
|
"*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|jar|rar|7z|deb)(-.)'" && return 0
|
||||||
|
|
||||||
|
71
modules/archive/functions/archive
Normal file
71
modules/archive/functions/archive
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
#!/usr/bin/env zsh
|
||||||
|
#
|
||||||
|
# Creates archive file
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# Matt Hamilton <m@tthamilton.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
# function archive {
|
||||||
|
|
||||||
|
local archive_name dir_to_archive _gzip_bin _bzip2_bin
|
||||||
|
|
||||||
|
if (( $# != 2 )); then
|
||||||
|
cat >&2 <<EOF
|
||||||
|
usage: $0 [archive_name.zip] [/path/to/include/into/archive]
|
||||||
|
|
||||||
|
Where 'archive.zip' uses any of the following extensions:
|
||||||
|
|
||||||
|
.tar.gz, .tar.bz2, .tar.xz, .tar.lzma, .tar, .zip, .rar, .7z
|
||||||
|
|
||||||
|
There is no '-v' switch; all operations are verbose.
|
||||||
|
EOF
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# we are quitting (above) if there are not exactly 2 vars,
|
||||||
|
# so we don't need any argc check here.
|
||||||
|
|
||||||
|
# strip the path, just in case one is provided for some reason
|
||||||
|
archive_name="${1:t}"
|
||||||
|
# use absolute paths, and follow symlinks
|
||||||
|
dir_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
|
||||||
|
# this should eventually be moved to modules/archive/init.zsh
|
||||||
|
# as a global alias
|
||||||
|
if (( $+commands[pigz] )); then
|
||||||
|
_gzip_bin='pigz'
|
||||||
|
else
|
||||||
|
_gzip_bin='gzip'
|
||||||
|
fi
|
||||||
|
|
||||||
|
if (( $+commands[pbzip2] )); then
|
||||||
|
_bzip2_bin='pbzip2'
|
||||||
|
else
|
||||||
|
_bzip2_bin='bzip2'
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "${archive_name}" in
|
||||||
|
(*.tar.gz|*.tgz) tar -cvf "${archive_name}" --use-compress-program="${_gzip_bin}" "${dir_to_archive}" ;;
|
||||||
|
(*.tar.bz2|*.tbz|*.tbz2) tar -cvf "${archive_name}" --use-compress-program="${_bzip2_bin}" "${dir_to_archive}" ;;
|
||||||
|
(*.tar.xz|*.txz) tar -cvJf "${archive_name}" "${dir_to_archive}" ;;
|
||||||
|
(*.tar.lzma|*.tlz) tar -cvf "${archive_name}" --lzma "${dir_to_archive}" ;;
|
||||||
|
(*.tar) tar -cvf "${archive_name}" "${dir_to_archive}" ;;
|
||||||
|
(*.zip|*.jar) zip -r "${archive_name}" "${dir_to_archive}" ;;
|
||||||
|
(*.rar) rar a "${archive_name}" "${dir_to_archive}" ;;
|
||||||
|
(*.7z) 7za a "${archive_name}" "${dir_to_archive}" ;;
|
||||||
|
(*.gz) print "\n.gz is only useful for single files, and does not capture permissions. Use .tar.gz" ;;
|
||||||
|
(*.bz2) print "\n.bzip2 is only useful for single files, and does not capture permissions. Use .tar.bz2" ;;
|
||||||
|
(*.xz) print "\n.xz is only useful for single files, and does not capture permissions. Use .tar.xz" ;;
|
||||||
|
(*.lzma) print "\n.lzma is only useful for single files, and does not capture permissions. Use .tar.lzma" ;;
|
||||||
|
(*) print "\nunknown archive type for archive: ${archive_name}" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# }
|
@ -5,6 +5,8 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function lsarchive {
|
||||||
|
|
||||||
local verbose
|
local verbose
|
||||||
|
|
||||||
if (( $# == 0 )); then
|
if (( $# == 0 )); then
|
||||||
@ -30,7 +32,7 @@ while (( $# > 0 )); do
|
|||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case "$1" in
|
case "$1:l" in
|
||||||
(*.tar.gz|*.tgz) tar t${verbose:+v}vzf "$1" ;;
|
(*.tar.gz|*.tgz) tar t${verbose:+v}vzf "$1" ;;
|
||||||
(*.tar.bz2|*.tbz|*.tbz2) tar t${verbose:+v}jf "$1" ;;
|
(*.tar.bz2|*.tbz|*.tbz2) tar t${verbose:+v}jf "$1" ;;
|
||||||
(*.tar.xz|*.txz) tar --xz --help &> /dev/null \
|
(*.tar.xz|*.txz) tar --xz --help &> /dev/null \
|
||||||
@ -40,13 +42,15 @@ while (( $# > 0 )); do
|
|||||||
&& 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) tar t${verbose:+v}f "$1" ;;
|
(*.tar) tar t${verbose:+v}f "$1" ;;
|
||||||
(*.zip) unzip -l${verbose:+v} "$1" ;;
|
(*.zip|*.jar) unzip -l${verbose:+v} "$1" ;;
|
||||||
(*.rar) unrar &> /dev/null \
|
(*.rar) ( (( $+commands[unrar] )) \
|
||||||
&& unrar ${${verbose:+v}:-l} "$1" \
|
&& unrar ${${verbose:+v}:-l} "$1" ) \
|
||||||
|| rar ${${verbose:+v}:-l} "$1" ;;
|
|| ( (( $+commands[rar] )) \
|
||||||
|
&& rar ${${verbose:+v}:-l} "$1" ) \
|
||||||
|
|| lsar ${verbose:+-l} "$1" ;;
|
||||||
(*.7z) 7za l "$1" ;;
|
(*.7z) 7za l "$1" ;;
|
||||||
(*)
|
(*)
|
||||||
print "$0: cannot list: $1" >&2
|
print "$0: cannot list: $1" >&2
|
||||||
success=1
|
success=1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -54,3 +58,4 @@ while (( $# > 0 )); do
|
|||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -5,9 +5,12 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function unarchive {
|
||||||
|
|
||||||
local remove_archive
|
local remove_archive
|
||||||
local success
|
local success
|
||||||
local file_name
|
local file_name
|
||||||
|
local file_path
|
||||||
local extract_dir
|
local extract_dir
|
||||||
|
|
||||||
if (( $# == 0 )); then
|
if (( $# == 0 )); then
|
||||||
@ -36,8 +39,9 @@ while (( $# > 0 )); do
|
|||||||
|
|
||||||
success=0
|
success=0
|
||||||
file_name="${1:t}"
|
file_name="${1:t}"
|
||||||
|
file_path="${1:A}"
|
||||||
extract_dir="${file_name:r}"
|
extract_dir="${file_name:r}"
|
||||||
case "$1" in
|
case "$1:l" in
|
||||||
(*.tar.gz|*.tgz) tar xvzf "$1" ;;
|
(*.tar.gz|*.tgz) tar xvzf "$1" ;;
|
||||||
(*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;;
|
(*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;;
|
||||||
(*.tar.xz|*.txz) tar --xz --help &> /dev/null \
|
(*.tar.xz|*.txz) tar --xz --help &> /dev/null \
|
||||||
@ -52,18 +56,20 @@ while (( $# > 0 )); do
|
|||||||
(*.xz) unxz "$1" ;;
|
(*.xz) unxz "$1" ;;
|
||||||
(*.lzma) unlzma "$1" ;;
|
(*.lzma) unlzma "$1" ;;
|
||||||
(*.Z) uncompress "$1" ;;
|
(*.Z) uncompress "$1" ;;
|
||||||
(*.zip) unzip "$1" -d $extract_dir ;;
|
(*.zip|*.jar) unzip "$1" -d $extract_dir ;;
|
||||||
(*.rar) unrar &> /dev/null \
|
(*.rar) ( (( $+commands[unrar] )) \
|
||||||
&& unrar x -ad "$1" \
|
&& unrar x -ad "$1" ) \
|
||||||
|| rar x -ad "$1" ;;
|
|| ( (( $+commands[rar] )) \
|
||||||
|
&& rar x -ad "$1" ) \
|
||||||
|
|| unar -d "$1" ;;
|
||||||
(*.7z) 7za x "$1" ;;
|
(*.7z) 7za x "$1" ;;
|
||||||
(*.deb)
|
(*.deb)
|
||||||
mkdir -p "$extract_dir/control"
|
mkdir -p "$extract_dir/control"
|
||||||
mkdir -p "$extract_dir/data"
|
mkdir -p "$extract_dir/data"
|
||||||
cd "$extract_dir"; ar vx "../${1}" > /dev/null
|
cd "$extract_dir"; ar vx "${file_path}" > /dev/null
|
||||||
cd control; tar xzvf ../control.tar.gz
|
cd control; tar xvf ../control.tar.*
|
||||||
cd ../data; tar xzvf ../data.tar.gz
|
cd ../data; tar xvf ../data.tar.*
|
||||||
cd ..; rm *.tar.gz debian-binary
|
cd ..; rm control.tar.* data.tar.* debian-binary
|
||||||
cd ..
|
cd ..
|
||||||
;;
|
;;
|
||||||
(*)
|
(*)
|
||||||
@ -77,3 +83,4 @@ while (( $# > 0 )); do
|
|||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# }
|
||||||
|
58
modules/autosuggestions/README.md
Normal file
58
modules/autosuggestions/README.md
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
Autosuggestions
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Integrates zsh-autosuggestions into Prezto.
|
||||||
|
|
||||||
|
Autosuggestions
|
||||||
|
===============
|
||||||
|
|
||||||
|
Integrates [zsh-autosuggestions][1] into Prezto, which implements the
|
||||||
|
[Fish shell][2]'s autosuggestions feature, where the user can type in any part
|
||||||
|
of a previously entered command and Zsh suggests commands as you type based on
|
||||||
|
history and completions.
|
||||||
|
|
||||||
|
If this module is used in conjunction with the *syntax-highlighting* module,
|
||||||
|
this module must be loaded **after** the *syntax-highlighting* module.
|
||||||
|
|
||||||
|
If this module is used in conjunction with the *history-substring-search*
|
||||||
|
module, this module must be loaded **after** the *history-substring-search*
|
||||||
|
module.
|
||||||
|
|
||||||
|
Contributors
|
||||||
|
------------
|
||||||
|
|
||||||
|
New features and bug fixes should be submitted to the [zsh-autosuggestions][1]
|
||||||
|
project according to its rules and regulations. This module will be synchronized
|
||||||
|
against it.
|
||||||
|
|
||||||
|
Settings
|
||||||
|
--------
|
||||||
|
|
||||||
|
### Highlighting
|
||||||
|
|
||||||
|
If colors are enabled, *autosuggestions* will automatically highlight
|
||||||
|
positive results.
|
||||||
|
|
||||||
|
To enable highlighting for this module only, add the following line to
|
||||||
|
*zpreztorc*:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
zstyle ':prezto:module:autosuggestions' color 'yes'
|
||||||
|
```
|
||||||
|
|
||||||
|
To set the query found color, add the following line to *zpreztorc*:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
zstyle ':prezto:module:autosuggestions:color' found ''
|
||||||
|
```
|
||||||
|
|
||||||
|
Authors
|
||||||
|
-------
|
||||||
|
|
||||||
|
*The authors of this module should be contacted via the [issue tracker][3].*
|
||||||
|
|
||||||
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
|
[1]: https://github.com/tarruda/zsh-autosuggestions
|
||||||
|
[2]: http://fishshell.com
|
||||||
|
[3]: https://github.com/sorin-ionescu/prezto/issues
|
1
modules/autosuggestions/external
Submodule
1
modules/autosuggestions/external
Submodule
Submodule modules/autosuggestions/external added at 15931f04ff
35
modules/autosuggestions/init.zsh
Normal file
35
modules/autosuggestions/init.zsh
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
#
|
||||||
|
# Integrates zsh-autosuggestions into Prezto.
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
# Load dependencies.
|
||||||
|
pmodload 'editor'
|
||||||
|
|
||||||
|
# Source module files.
|
||||||
|
source "${0:h}/external/zsh-autosuggestions.zsh" || return 1
|
||||||
|
|
||||||
|
#
|
||||||
|
# Highlighting
|
||||||
|
#
|
||||||
|
|
||||||
|
# Set highlight color, default 'fg=8'.
|
||||||
|
zstyle -s ':prezto:module:autosuggestions:color' found \
|
||||||
|
'ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE' || ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'
|
||||||
|
|
||||||
|
# Disable highlighting.
|
||||||
|
if ! zstyle -t ':prezto:module:autosuggestions' color; then
|
||||||
|
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE=''
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# Key Bindings
|
||||||
|
#
|
||||||
|
|
||||||
|
if [[ -n "$key_info" ]]; then
|
||||||
|
# vi
|
||||||
|
bindkey -M viins "$key_info[Control]F" vi-forward-word
|
||||||
|
bindkey -M viins "$key_info[Control]E" vi-add-eol
|
||||||
|
fi
|
@ -1,16 +1,23 @@
|
|||||||
Command-Not-Found
|
Command-Not-Found
|
||||||
=================
|
=================
|
||||||
|
|
||||||
Displays installation information for not found commands by loading the
|
When you try to use a command that is not available locally, searches
|
||||||
[command-not-found][1] tool on Debian-based and Arch Linux-based distributions.
|
the package manager for a package offering that command and suggests
|
||||||
|
the proper install command.
|
||||||
|
|
||||||
|
Debian-based 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].
|
||||||
|
|
||||||
|
|
||||||
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][4].*
|
||||||
|
|
||||||
- [Joseph Booker](https://github.com/sargas)
|
- [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/sorin-ionescu/prezto/issues
|
[2]: https://github.com/Homebrew/homebrew-command-not-found
|
||||||
|
[3]: https://github.com/Homebrew/homebrew-command-not-found#install
|
||||||
|
[4]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
#
|
#
|
||||||
# Authors:
|
# Authors:
|
||||||
# Joseph Jon Booker <joe@neoturbine.net>
|
# Joseph Jon Booker <joe@neoturbine.net>
|
||||||
|
# Indrajit Raychaudhuri <irc+code@indrajit.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
# Load command-not-found on Debian-based distributions.
|
# Load command-not-found on Debian-based distributions.
|
||||||
@ -11,8 +12,10 @@ if [[ -s '/etc/zsh_command_not_found' ]]; then
|
|||||||
# 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.
|
||||||
|
elif (( $+commands[brew] )) && brew command command-not-found-init > /dev/null 2>&1; then
|
||||||
|
eval "$(brew command-not-found-init)"
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
else
|
else
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -6,6 +6,23 @@ the [zsh-completions][1] project.
|
|||||||
|
|
||||||
This module must be loaded **after** the *utility* module.
|
This module must be loaded **after** the *utility* module.
|
||||||
|
|
||||||
|
Settings
|
||||||
|
--------
|
||||||
|
|
||||||
|
### Ignore */etc/hosts* Entries
|
||||||
|
|
||||||
|
To ignore certain entries from static */etc/hosts* for host completion, add the
|
||||||
|
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
|
||||||
|
ignored during host completion. However, some of the entries ignored from
|
||||||
|
*/etc/hosts* still might appear during completion because of their presence in
|
||||||
|
*ssh* configuration or history).
|
||||||
|
|
||||||
|
```sh
|
||||||
|
zstyle ':prezto:module:completion:*:hosts' etc-host-ignores \
|
||||||
|
'0.0.0.0' '127.0.0.1'
|
||||||
|
```
|
||||||
|
|
||||||
Contributors
|
Contributors
|
||||||
------------
|
------------
|
||||||
|
|
||||||
@ -21,4 +38,3 @@ Authors
|
|||||||
|
|
||||||
[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://github.com/sorin-ionescu/prezto/issues
|
||||||
|
|
||||||
|
Submodule modules/completion/external updated: 08afea0e23...2a30b05a5c
@ -14,9 +14,6 @@ fi
|
|||||||
# Add zsh-completions to $fpath.
|
# Add zsh-completions to $fpath.
|
||||||
fpath=("${0:h}/external/src" $fpath)
|
fpath=("${0:h}/external/src" $fpath)
|
||||||
|
|
||||||
# Load and initialize the completion system ignoring insecure directories.
|
|
||||||
autoload -Uz compinit && compinit -i
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Options
|
# Options
|
||||||
#
|
#
|
||||||
@ -24,17 +21,30 @@ autoload -Uz compinit && compinit -i
|
|||||||
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 succesive 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
|
||||||
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.
|
||||||
|
|
||||||
|
# Load and initialize the completion system ignoring insecure directories with a
|
||||||
|
# cache time of 20 hours, so it should almost always regenerate the first time a
|
||||||
|
# shell is opened each day.
|
||||||
|
autoload -Uz compinit
|
||||||
|
_comp_files=(${ZDOTDIR:-$HOME}/.zcompdump(Nm-20))
|
||||||
|
if (( $#_comp_files )); then
|
||||||
|
compinit -i -C
|
||||||
|
else
|
||||||
|
compinit -i
|
||||||
|
fi
|
||||||
|
unset _comp_files
|
||||||
|
|
||||||
#
|
#
|
||||||
# Styles
|
# Styles
|
||||||
#
|
#
|
||||||
|
|
||||||
# Use caching to make completion for cammands 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 "${ZDOTDIR:-$HOME}/.zcompcache"
|
||||||
|
|
||||||
@ -66,8 +76,9 @@ zstyle ':completion:*' completer _complete _match _approximate
|
|||||||
zstyle ':completion:*:match:*' original only
|
zstyle ':completion:*:match:*' original only
|
||||||
zstyle ':completion:*:approximate:*' max-errors 1 numeric
|
zstyle ':completion:*:approximate:*' max-errors 1 numeric
|
||||||
|
|
||||||
# Increase the number of errors based on the length of the typed word.
|
# Increase the number of errors based on the length of the typed word. But make
|
||||||
zstyle -e ':completion:*:approximate:*' max-errors 'reply=($((($#PREFIX+$#SUFFIX)/3))numeric)'
|
# sure to cap (at 7) the max-errors to avoid hanging.
|
||||||
|
zstyle -e ':completion:*:approximate:*' max-errors 'reply=($((($#PREFIX+$#SUFFIX)/3>7?7:($#PREFIX+$#SUFFIX)/3))numeric)'
|
||||||
|
|
||||||
# Don't complete unavailable commands.
|
# Don't complete unavailable commands.
|
||||||
zstyle ':completion:*:functions' ignored-patterns '(_*|pre(cmd|exec))'
|
zstyle ':completion:*:functions' ignored-patterns '(_*|pre(cmd|exec))'
|
||||||
@ -91,11 +102,14 @@ zstyle ':completion:*:history-words' menu yes
|
|||||||
# Environmental Variables
|
# Environmental Variables
|
||||||
zstyle ':completion::*:(-command-|export):*' fake-parameters ${${${_comps[(I)-value-*]#*,}%%,*}:#-*-}
|
zstyle ':completion::*:(-command-|export):*' fake-parameters ${${${_comps[(I)-value-*]#*,}%%,*}:#-*-}
|
||||||
|
|
||||||
# Populate hostname completion.
|
# Populate hostname completion. But allow ignoring custom entries from static
|
||||||
|
# */etc/hosts* which might be uninteresting.
|
||||||
|
zstyle -a ':prezto:module:completion:*:hosts' etc-host-ignores '_etc_host_ignores'
|
||||||
|
|
||||||
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/known_}hosts(|2)(N) 2> /dev/null)"}%%[#| ]*}//\]:[0-9]*/ }//,/ }//\[/ }
|
||||||
${=${(f)"$(cat /etc/hosts(|)(N) <<(ypcat hosts 2>/dev/null))"}%%\#*}
|
${=${(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 }:#*\**}:#*\?*}}
|
||||||
)'
|
)'
|
||||||
|
|
||||||
# Don't complete uninteresting users...
|
# Don't complete uninteresting users...
|
||||||
@ -116,7 +130,7 @@ zstyle ':completion:*:(rm|kill|diff):*' ignore-line other
|
|||||||
zstyle ':completion:*:rm:*' file-patterns '*:all-files'
|
zstyle ':completion:*:rm:*' file-patterns '*:all-files'
|
||||||
|
|
||||||
# Kill
|
# Kill
|
||||||
zstyle ':completion:*:*:*:*:processes' command 'ps -u $USER -o pid,user,command -w'
|
zstyle ':completion:*:*:*:*:processes' command 'ps -u $LOGNAME -o pid,user,command -w'
|
||||||
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;36=0=01'
|
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;36=0=01'
|
||||||
zstyle ':completion:*:*:kill:*' menu yes select
|
zstyle ':completion:*:*:kill:*' menu yes select
|
||||||
zstyle ':completion:*:*:kill:*' force-list always
|
zstyle ':completion:*:*:kill:*' force-list always
|
||||||
@ -139,11 +153,9 @@ if [[ -s "$HOME/.mutt/aliases" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# SSH/SCP/RSYNC
|
# SSH/SCP/RSYNC
|
||||||
zstyle ':completion:*:(scp|rsync):*' tag-order 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
|
zstyle ':completion:*:(ssh|scp|rsync):*' tag-order 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
|
||||||
zstyle ':completion:*:(scp|rsync):*' group-order users files all-files hosts-domain hosts-host hosts-ipaddr
|
zstyle ':completion:*:(scp|rsync):*' group-order users files all-files hosts-domain hosts-host hosts-ipaddr
|
||||||
zstyle ':completion:*:ssh:*' tag-order 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
|
|
||||||
zstyle ':completion:*:ssh:*' group-order users hosts-domain hosts-host users hosts-ipaddr
|
zstyle ':completion:*:ssh:*' group-order users hosts-domain hosts-host users hosts-ipaddr
|
||||||
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-host' ignored-patterns '*(.|:)*' loopback ip6-loopback localhost ip6-localhost broadcasthost
|
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-host' ignored-patterns '*(.|:)*' loopback ip6-loopback localhost ip6-localhost broadcasthost
|
||||||
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^[-[:alnum:]]##(.[-[:alnum:]]##)##' '*@*'
|
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^[-[:alnum:]]##(.[-[:alnum:]]##)##' '*@*'
|
||||||
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-ipaddr' ignored-patterns '^(<->.<->.<->.<->|(|::)([[:xdigit:].]##:(#c,2))##(|%*))' '127.0.0.<->' '255.255.255.255' '::1' 'fe80::*'
|
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-ipaddr' ignored-patterns '^(<->.<->.<->.<->|(|::)([[:xdigit:].]##:(#c,2))##(|%*))' '127.0.0.<->' '255.255.255.255' '::1' 'fe80::*'
|
||||||
|
|
||||||
|
@ -33,4 +33,3 @@ Authors
|
|||||||
- [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
|
||||||
|
|
||||||
|
@ -16,7 +16,6 @@ setopt PUSHD_IGNORE_DUPS # Do not store duplicates in the stack.
|
|||||||
setopt PUSHD_SILENT # Do not print the directory stack after pushd or popd.
|
setopt PUSHD_SILENT # Do not print the directory stack after pushd or popd.
|
||||||
setopt PUSHD_TO_HOME # Push to home directory when no argument is given.
|
setopt PUSHD_TO_HOME # Push to home directory when no argument is given.
|
||||||
setopt CDABLE_VARS # Change directory to a path stored in a variable.
|
setopt CDABLE_VARS # Change directory to a path stored in a variable.
|
||||||
setopt AUTO_NAME_DIRS # Auto add variable-stored paths to ~ list.
|
|
||||||
setopt MULTIOS # Write to multiple descriptors.
|
setopt MULTIOS # Write to multiple descriptors.
|
||||||
setopt EXTENDED_GLOB # Use extended globbing syntax.
|
setopt EXTENDED_GLOB # Use extended globbing syntax.
|
||||||
unsetopt CLOBBER # Do not overwrite existing files with > and >>.
|
unsetopt CLOBBER # Do not overwrite existing files with > and >>.
|
||||||
@ -28,4 +27,3 @@ unsetopt CLOBBER # Do not overwrite existing files with > and >>.
|
|||||||
|
|
||||||
alias d='dirs -v'
|
alias d='dirs -v'
|
||||||
for index ({1..9}) alias "$index"="cd +${index}"; unset index
|
for index ({1..9}) alias "$index"="cd +${index}"; unset index
|
||||||
|
|
||||||
|
29
modules/dnf/README.md
Normal file
29
modules/dnf/README.md
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
DNF
|
||||||
|
===
|
||||||
|
|
||||||
|
Defines [dnf][1] aliases.
|
||||||
|
|
||||||
|
Aliases
|
||||||
|
-------
|
||||||
|
|
||||||
|
- `dnfc` removes package(s) and leaves.
|
||||||
|
- `dnfi` installs package(s).
|
||||||
|
- `dnfh` displays history.
|
||||||
|
- `dnfl` lists packages.
|
||||||
|
- `dnfL` lists installed packages.
|
||||||
|
- `dnfq` displays package information.
|
||||||
|
- `dnfr` removes package(s).
|
||||||
|
- `dnfs` searches for a package.
|
||||||
|
- `dnfu` updates packages.
|
||||||
|
- `dnfU` upgrades packages.
|
||||||
|
|
||||||
|
Authors
|
||||||
|
-------
|
||||||
|
|
||||||
|
*The authors of this module should be contacted via the [issue tracker][2].*
|
||||||
|
|
||||||
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
|
[1]: https://fedoraproject.org/wiki/Features/DNF
|
||||||
|
[2]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
|
28
modules/dnf/init.zsh
Normal file
28
modules/dnf/init.zsh
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
#
|
||||||
|
# Defines dnf aliases.
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# FireWave <firewave@free.fr>
|
||||||
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
# Return if requirements are not found.
|
||||||
|
if (( ! $+commands[dnf] )); then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# Aliases
|
||||||
|
#
|
||||||
|
|
||||||
|
alias dnfc='sudo dnf clean all' # Cleans the cache.
|
||||||
|
alias dnfh='dnf history' # Displays history.
|
||||||
|
alias dnfi='sudo dnf install' # Installs package(s).
|
||||||
|
alias dnfl='dnf list' # Lists packages.
|
||||||
|
alias dnfL='dnf list installed' # Lists installed packages.
|
||||||
|
alias dnfq='dnf info' # Displays package information.
|
||||||
|
alias dnfr='sudo dnf remove' # Removes package(s).
|
||||||
|
alias dnfs='dnf search' # Searches for a package.
|
||||||
|
alias dnfu='sudo dnf update' # Updates packages.
|
||||||
|
alias dnfU='sudo dnf upgrade' # Upgrades packages.
|
||||||
|
|
190
modules/docker/README.md
Normal file
190
modules/docker/README.md
Normal file
@ -0,0 +1,190 @@
|
|||||||
|
# ZSH Docker Aliases
|
||||||
|
|
||||||
|
Defines [Docker][1] aliases and functions.
|
||||||
|
|
||||||
|
## Aliases
|
||||||
|
|
||||||
|
### Docker
|
||||||
|
|
||||||
|
- `dk` is short for `docker`
|
||||||
|
- `dka` Attach to a running container
|
||||||
|
- `dkb` Build an image from a Dockerfile
|
||||||
|
- `dkd` Inspect changes on a container's filesystem
|
||||||
|
- `dkdf` Show docker filesystem usage
|
||||||
|
- `dke` Run a command in a running container
|
||||||
|
- `dkE` Run an interactive command in a running container
|
||||||
|
- `dkh` Show the history of an image
|
||||||
|
- `dki` List images
|
||||||
|
- `dkin` Return low-level information on a container, image or task
|
||||||
|
- `dkk` Kill a running container
|
||||||
|
- `dkl` Fetch the logs of a container
|
||||||
|
- `dkli` Log in to a Docker registry
|
||||||
|
- `dklo` Log out from a Docker registry
|
||||||
|
- `dkls` is alias for `dkps`
|
||||||
|
- `dkp` Pause all processes within one or more containers<Paste>
|
||||||
|
- `dkP` Unpause all processes within one or more containers
|
||||||
|
- `dkpl` Pull an image or a repository from a registry
|
||||||
|
- `dkph` Push an image or a repository to a registry
|
||||||
|
- `dkps` List containers
|
||||||
|
- `dkpsa` List all containers (default lists just running)
|
||||||
|
- `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
|
||||||
|
- `dkRe` like `dkR` and set entry point to `/bin/bash`
|
||||||
|
- `dkrm` Remove one or more containers
|
||||||
|
- `dkrmi` Remove one or more images
|
||||||
|
- `dkrmC` Clean up exited containers
|
||||||
|
- `dkrmI` Clean up dangling images
|
||||||
|
- `dkrmV` Clean up unused volumes ( Docker >= 1.9 )
|
||||||
|
- `dkrn` Rename a container
|
||||||
|
- `dks` Start one or more stopped containers
|
||||||
|
- `dkS` Restart a container
|
||||||
|
- `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)
|
||||||
|
- `dkt` Tag an image into a repository
|
||||||
|
- `dktop` Display the running processes of a container
|
||||||
|
- `dkup` Update configuration of one or more containers
|
||||||
|
- `dkV` Manage Docker volumes
|
||||||
|
- `dkv` Show the Docker version information
|
||||||
|
- `dkw` Block until a container stops, then print its exit code<Paste>
|
||||||
|
- `dkx` Stop a running container
|
||||||
|
|
||||||
|
#### container (C)
|
||||||
|
|
||||||
|
- `dkC` Manage containers
|
||||||
|
- `dkCa` Attach to a running container
|
||||||
|
- `dkCcp` Copy files/folders between a container and the local filesystem
|
||||||
|
- `dkCd` Inspect changes on a container's filesystem
|
||||||
|
- `dkCe` Run a command in a running container
|
||||||
|
- `dkCin` Display detailed information on one or more containers
|
||||||
|
- `dkCk` Kill one or more running containers
|
||||||
|
- `dkCl` Fetch the logs of a container
|
||||||
|
- `dkCls` List containers
|
||||||
|
- `dkCp` Pause all processes within one or more containers
|
||||||
|
- `dkCpr` Remove all stopped containers
|
||||||
|
- `dkCrn` Rename a container
|
||||||
|
- `dkCS` Restart one or more containers
|
||||||
|
- `dkCrm` Remove one or more containers
|
||||||
|
- `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
|
||||||
|
- `dkCRe` like `dkCR` and set entry point to `/bin/bash`
|
||||||
|
- `dkCs` Start one or more stopped containers
|
||||||
|
- `dkCss` Display a live stream of container(s) resource usage statistics
|
||||||
|
- `dkCx` Stop one or more running containers
|
||||||
|
- `dkCtop` Display the running processes of a container
|
||||||
|
- `dkCP` Unpause all processes within one or more containers
|
||||||
|
- `dkCup` Update configuration of one or more containers
|
||||||
|
- `dkCw` Block until one or more containers stop, then print their exit codes
|
||||||
|
|
||||||
|
#### image (I)
|
||||||
|
|
||||||
|
- `dkI` Manage images
|
||||||
|
- `dkIb` Build an image from a Dockerfile
|
||||||
|
- `dkIh` Show the history of an image
|
||||||
|
- `dkIim` Import the contents from a tarball to create a filesystem image
|
||||||
|
- `dkIin` Display detailed information on one or more images
|
||||||
|
- `dkIls` List images
|
||||||
|
- `dkIpr` Remove unused images
|
||||||
|
- `dkIpl` Pull an image or a repository from a registry
|
||||||
|
- `dkIph` Push an image or a repository to a registry
|
||||||
|
- `dkIrm` Remove one or more images
|
||||||
|
- `dkIsv` Save one or more images to a tar archive (streamed to STDOUT by default)
|
||||||
|
- `dkIt` Tag an image into a repository
|
||||||
|
|
||||||
|
#### volume (V)
|
||||||
|
|
||||||
|
- `dkV` Manage volumes
|
||||||
|
- `dkVin` Display detailed information on one or more volumes
|
||||||
|
- `dkVls` List volumes
|
||||||
|
- `dkVpr` Remove all unused volumes
|
||||||
|
- `dkVrm` Remove one or more volumes
|
||||||
|
|
||||||
|
#### network (N)
|
||||||
|
|
||||||
|
- `dkN` Manage networks
|
||||||
|
- `dkNs` Connect a container to a network
|
||||||
|
- `dkNx` Disconnects a container from a network
|
||||||
|
- `dkNin` Displays detailed information on a network
|
||||||
|
- `dkNls` Lists all the networks created by the user
|
||||||
|
- `dkNpr` Remove all unused networks
|
||||||
|
- `dkNrm` Deletes one or more networks
|
||||||
|
|
||||||
|
#### system (Y)
|
||||||
|
|
||||||
|
- `dkY` Manage Docker
|
||||||
|
- `dkYdf` Show docker filesystem usage
|
||||||
|
- `dkYpr` Remove unused data
|
||||||
|
|
||||||
|
#### stack (K)
|
||||||
|
|
||||||
|
- `dkK` Manage Docker stacks
|
||||||
|
- `dkKls` List stacks
|
||||||
|
- `dkKps` List the tasks in the stack
|
||||||
|
- `dkKrm` Remove the stack
|
||||||
|
|
||||||
|
#### swarm (W)
|
||||||
|
|
||||||
|
- `dkW` Manage Docker Swarm
|
||||||
|
|
||||||
|
### Docker Machine
|
||||||
|
|
||||||
|
- `dkm` is short for `docker-machine`
|
||||||
|
- `dkma` Get or set the active machine
|
||||||
|
- `dkmcp` Copy files between machines
|
||||||
|
- `dkmd` Set up the default machine ; alowing you to use `dkme` without arguments
|
||||||
|
- `dkme` Set up the environment for the Docker client (eg: `dkme staging` to toggle to staging)
|
||||||
|
- `dkmin` Inspect information about a machine
|
||||||
|
- `dkmip` Get the IP address of a machine
|
||||||
|
- `dkmk` Kill a machine
|
||||||
|
- `dkmls` List machines
|
||||||
|
- `dkmpr` Re-provision existing machines
|
||||||
|
- `dkmps` is alias for `dkmls`
|
||||||
|
- `dkmrg` Regenerate TLS Certificates for a machine
|
||||||
|
- `dkmrm` Remove a machine
|
||||||
|
- `dkms` Start a machine
|
||||||
|
- `dkmsh` Log into or run a command on a machine with SSH
|
||||||
|
- `dkmst` Get the status of a machine
|
||||||
|
- `dkmS` Restart a machine
|
||||||
|
- `dkmu` Get the URL of a machine
|
||||||
|
- `dkmup` Upgrade a machine to the latest version of Docker
|
||||||
|
- `dkmV` Show the Docker Machine version or a machine docker version
|
||||||
|
- `dkmx` Stop a machine
|
||||||
|
|
||||||
|
### Docker Compose
|
||||||
|
|
||||||
|
- `dkc` is short for `docker-compose`
|
||||||
|
- `dkcb` Build or rebuild services
|
||||||
|
- `dkcB` Build or rebuild services and do not use cache when building the image
|
||||||
|
- `dkcd` Stop and remove containers, networks, images, and volumes
|
||||||
|
- `dkce` Execute a command in a running container
|
||||||
|
- `dkck` Kill containers
|
||||||
|
- `dkcl` View output from containers
|
||||||
|
- `dkcls` is alias for `dkcps`
|
||||||
|
- `dkcp` Pause services
|
||||||
|
- `dkcP` Unpause services
|
||||||
|
- `dkcpl` Pull service images
|
||||||
|
- `dkcph` Push service images
|
||||||
|
- `dkcps` List containers
|
||||||
|
- `dkcr` Run a one-off command
|
||||||
|
- `dkcR` Run a one-off command and remove container after run.
|
||||||
|
- `dkcrm` Remove stopped containers
|
||||||
|
- `dkcs` Start services
|
||||||
|
- `dkcsc` Set number of containers for a service
|
||||||
|
- `dkcS` Restart services
|
||||||
|
- `dkcu` Create and start containers
|
||||||
|
- `dkcU` Create and start containers in detached mode:
|
||||||
|
Run containers in the background, print new container names
|
||||||
|
- `dkcV` Show the Docker-Compose version information
|
||||||
|
- `dkcx` Stop services
|
||||||
|
|
||||||
|
## Support
|
||||||
|
|
||||||
|
If you're having problems, use the [Prezto issue tracker][2].
|
||||||
|
|
||||||
|
## Acknowledgements
|
||||||
|
|
||||||
|
This module is a copy of [akarzim/zsh-docker-aliases][3] by [François Vantomme][4] (MIT License).
|
||||||
|
|
||||||
|
[1]: https://www.docker.com/
|
||||||
|
[2]: https://github.com/zsh-users/prezto/issues
|
||||||
|
[3]: https://github.com/akarzim/zsh-docker-aliases
|
||||||
|
[4]: https://github.com/akarzim
|
177
modules/docker/alias.zsh
Normal file
177
modules/docker/alias.zsh
Normal file
@ -0,0 +1,177 @@
|
|||||||
|
#
|
||||||
|
# Defines Docker aliases.
|
||||||
|
#
|
||||||
|
# Author:
|
||||||
|
# François Vantomme <akarzim@gmail.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Aliases
|
||||||
|
#
|
||||||
|
|
||||||
|
# Docker
|
||||||
|
alias dk='docker'
|
||||||
|
alias dka='docker attach'
|
||||||
|
alias dkb='docker build'
|
||||||
|
alias dkd='docker diff'
|
||||||
|
alias dkdf='docker system df'
|
||||||
|
alias dke='docker exec'
|
||||||
|
alias dkE='docker exec -it'
|
||||||
|
alias dkh='docker history'
|
||||||
|
alias dki='docker images'
|
||||||
|
alias dkin='docker inspect'
|
||||||
|
alias dkim='docker import'
|
||||||
|
alias dkk='docker kill'
|
||||||
|
alias dkl='docker logs'
|
||||||
|
alias dkli='docker login'
|
||||||
|
alias dklo='docker logout'
|
||||||
|
alias dkls='docker ps'
|
||||||
|
alias dkp='docker pause'
|
||||||
|
alias dkP='docker unpause'
|
||||||
|
alias dkpl='docker pull'
|
||||||
|
alias dkph='docker push'
|
||||||
|
alias dkps='docker ps'
|
||||||
|
alias dkpsa='docker ps -a'
|
||||||
|
alias dkr='docker run'
|
||||||
|
alias dkR='docker run -it --rm'
|
||||||
|
alias dkRe='docker run -it --rm --entrypoint /bin/bash'
|
||||||
|
alias dkRM='docker system prune'
|
||||||
|
alias dkrm='docker rm'
|
||||||
|
alias dkrmi='docker rmi'
|
||||||
|
alias dkrn='docker rename'
|
||||||
|
alias dks='docker start'
|
||||||
|
alias dkS='docker restart'
|
||||||
|
alias dkss='docker stats'
|
||||||
|
alias dksv='docker save'
|
||||||
|
alias dkt='docker tag'
|
||||||
|
alias dktop='docker top'
|
||||||
|
alias dkup='docker update'
|
||||||
|
alias dkV='docker volume'
|
||||||
|
alias dkv='docker version'
|
||||||
|
alias dkw='docker wait'
|
||||||
|
alias dkx='docker stop'
|
||||||
|
|
||||||
|
## Container (C)
|
||||||
|
alias dkC='docker container'
|
||||||
|
alias dkCa='docker container attach'
|
||||||
|
alias dkCcp='docker container cp'
|
||||||
|
alias dkCd='docker container diff'
|
||||||
|
alias dkCe='docker container exec'
|
||||||
|
alias dkCin='docker container inspect'
|
||||||
|
alias dkCk='docker container kill'
|
||||||
|
alias dkCl='docker container logs'
|
||||||
|
alias dkCls='docker container ls'
|
||||||
|
alias dkCp='docker container pause'
|
||||||
|
alias dkCpr='docker container prune'
|
||||||
|
alias dkCrn='docker container rename'
|
||||||
|
alias dkCS='docker container restart'
|
||||||
|
alias dkCrm='docker container rm'
|
||||||
|
alias dkCr='docker container run'
|
||||||
|
alias dkCR='docker container run -it --rm'
|
||||||
|
alias dkCRe='docker container run -it --rm --entrypoint /bin/bash'
|
||||||
|
alias dkCs='docker container start'
|
||||||
|
alias dkCss='docker container stats'
|
||||||
|
alias dkCx='docker container stop'
|
||||||
|
alias dkCtop='docker container top'
|
||||||
|
alias dkCP='docker container unpause'
|
||||||
|
alias dkCup='docker container update'
|
||||||
|
alias dkCw='docker container wait'
|
||||||
|
|
||||||
|
## Image (I)
|
||||||
|
alias dkI='docker image'
|
||||||
|
alias dkIb='docker image build'
|
||||||
|
alias dkIh='docker image history'
|
||||||
|
alias dkIim='docker image import'
|
||||||
|
alias dkIin='docker image inspect'
|
||||||
|
alias dkIls='docker image ls'
|
||||||
|
alias dkIpr='docker image prune'
|
||||||
|
alias dkIpl='docker image pull'
|
||||||
|
alias dkIph='docker image push'
|
||||||
|
alias dkIrm='docker image rm'
|
||||||
|
alias dkIsv='docker image save'
|
||||||
|
alias dkIt='docker image tag'
|
||||||
|
|
||||||
|
## Volume (V)
|
||||||
|
alias dkV='docker volume'
|
||||||
|
alias dkVin='docker volume inspect'
|
||||||
|
alias dkVls='docker volume ls'
|
||||||
|
alias dkVpr='docker volume prune'
|
||||||
|
alias dkVrm='docker volume rm'
|
||||||
|
|
||||||
|
## Network (N)
|
||||||
|
alias dkN='docker network'
|
||||||
|
alias dkNs='docker network connect'
|
||||||
|
alias dkNx='docker network disconnect'
|
||||||
|
alias dkNin='docker network inspect'
|
||||||
|
alias dkNls='docker network ls'
|
||||||
|
alias dkNpr='docker network prune'
|
||||||
|
alias dkNrm='docker network rm'
|
||||||
|
|
||||||
|
## System (Y)
|
||||||
|
alias dkY='docker system'
|
||||||
|
alias dkYdf='docker system df'
|
||||||
|
alias dkYpr='docker system prune'
|
||||||
|
|
||||||
|
## Stack (K)
|
||||||
|
alias dkK='docker stack'
|
||||||
|
alias dkKls='docker stack ls'
|
||||||
|
alias dkKps='docker stack ps'
|
||||||
|
alias dkKrm='docker stack rm'
|
||||||
|
|
||||||
|
## Swarm (W)
|
||||||
|
alias dkW='docker swarm'
|
||||||
|
|
||||||
|
## CleanUp (rm)
|
||||||
|
# Clean up exited containers (docker < 1.13)
|
||||||
|
alias dkrmC='docker rm $(docker ps -qaf status=exited)'
|
||||||
|
# Clean up dangling images (docker < 1.13)
|
||||||
|
alias dkrmI='docker rmi $(docker images -qf dangling=true)'
|
||||||
|
# Clean up dangling volumes (docker < 1.13)
|
||||||
|
alias dkrmV='docker volume rm $(docker volume ls -qf dangling=true)'
|
||||||
|
|
||||||
|
|
||||||
|
# Docker Machine (m)
|
||||||
|
alias dkm='docker-machine'
|
||||||
|
alias dkma='docker-machine active'
|
||||||
|
alias dkmcp='docker-machine scp'
|
||||||
|
alias dkmin='docker-machine inspect'
|
||||||
|
alias dkmip='docker-machine ip'
|
||||||
|
alias dkmk='docker-machine kill'
|
||||||
|
alias dkmls='docker-machine ls'
|
||||||
|
alias dkmpr='docker-machine provision'
|
||||||
|
alias dkmps='docker-machine ps'
|
||||||
|
alias dkmrg='docker-machine regenerate-certs'
|
||||||
|
alias dkmrm='docker-machine rm'
|
||||||
|
alias dkms='docker-machine start'
|
||||||
|
alias dkmsh='docker-machine ssh'
|
||||||
|
alias dkmst='docker-machine status'
|
||||||
|
alias dkmS='docker-machine restart'
|
||||||
|
alias dkmu='docker-machine url'
|
||||||
|
alias dkmup='docker-machine upgrade'
|
||||||
|
alias dkmv='docker-machine version'
|
||||||
|
alias dkmx='docker-machine stop'
|
||||||
|
|
||||||
|
# Docker Compose (c)
|
||||||
|
alias dkc='docker-compose'
|
||||||
|
alias dkcb='docker-compose build'
|
||||||
|
alias dkcB='docker-compose build --no-cache'
|
||||||
|
alias dkcd='docker-compose down'
|
||||||
|
alias dkce='docker-compose exec'
|
||||||
|
alias dkck='docker-compose kill'
|
||||||
|
alias dkcl='docker-compose logs'
|
||||||
|
alias dkcls='docker-compose ps'
|
||||||
|
alias dkcp='docker-compose pause'
|
||||||
|
alias dkcP='docker-compose unpause'
|
||||||
|
alias dkcpl='docker-compose pull'
|
||||||
|
alias dkcph='docker-compose push'
|
||||||
|
alias dkcps='docker-compose ps'
|
||||||
|
alias dkcr='docker-compose run'
|
||||||
|
alias dkcR='docker-compose run --rm'
|
||||||
|
alias dkcrm='docker-compose rm'
|
||||||
|
alias dkcs='docker-compose start'
|
||||||
|
alias dkcsc='docker-compose scale'
|
||||||
|
alias dkcS='docker-compose restart'
|
||||||
|
alias dkcu='docker-compose up'
|
||||||
|
alias dkcU='docker-compose up -d'
|
||||||
|
alias dkcv='docker-compose version'
|
||||||
|
alias dkcx='docker-compose stop'
|
57
modules/docker/init.zsh
Normal file
57
modules/docker/init.zsh
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
#
|
||||||
|
# Defines Docker aliases.
|
||||||
|
#
|
||||||
|
# Author:
|
||||||
|
# François Vantomme <akarzim@gmail.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
# Return if requirements are not found.
|
||||||
|
if (( ! $+commands[docker] )); then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# Functions
|
||||||
|
#
|
||||||
|
|
||||||
|
# Set Docker Machine environment
|
||||||
|
function dkme {
|
||||||
|
if (( ! $+commands[docker-machine] )); then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
eval $(docker-machine env $1)
|
||||||
|
}
|
||||||
|
|
||||||
|
# Set Docker Machine default machine
|
||||||
|
function dkmd {
|
||||||
|
if (( ! $+commands[docker-machine] )); then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
pushd ~/.docker/machine/machines
|
||||||
|
|
||||||
|
if [[ ! -d $1 ]]; then
|
||||||
|
echo "Docker machine '$1' does not exists. Abort."
|
||||||
|
popd
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -L default ]]; then
|
||||||
|
eval $(rm -f default)
|
||||||
|
elif [[ -d default ]]; then
|
||||||
|
echo "A default machine already exists. Abort."
|
||||||
|
popd
|
||||||
|
return 1
|
||||||
|
elif [[ -e default ]]; then
|
||||||
|
echo "A file named 'default' already exists. Abort."
|
||||||
|
popd
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
eval $(ln -s $1 default)
|
||||||
|
popd
|
||||||
|
}
|
||||||
|
|
||||||
|
# Source module files.
|
||||||
|
source "${0:h}/alias.zsh"
|
@ -39,4 +39,3 @@ Authors
|
|||||||
|
|
||||||
[1]: http://wiki.debian.org/Teams/Dpkg
|
[1]: http://wiki.debian.org/Teams/Dpkg
|
||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
|
[2]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
|
||||||
|
@ -6,6 +6,8 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function deb-clone {
|
||||||
|
|
||||||
local clone_script="${0}.sh"
|
local clone_script="${0}.sh"
|
||||||
local package_list=$(
|
local package_list=$(
|
||||||
perl \
|
perl \
|
||||||
@ -24,3 +26,4 @@ print '#!/bin/sh\n' > "$clone_script"
|
|||||||
print "aptitude install ${package_list}\n" >> "$clone_script"
|
print "aptitude install ${package_list}\n" >> "$clone_script"
|
||||||
chmod +x "$clone_script"
|
chmod +x "$clone_script"
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function deb-history {
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
(install)
|
(install)
|
||||||
zgrep --no-filename 'install ' $(ls -rt /var/log/dpkg*)
|
zgrep --no-filename 'install ' $(ls -rt /var/log/dpkg*)
|
||||||
@ -35,3 +37,4 @@ EOF
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -6,6 +6,8 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function deb-kbuild {
|
||||||
|
|
||||||
make-kpkg clean
|
make-kpkg clean
|
||||||
MAKEFLAGS='' time fakeroot make-kpkg \
|
MAKEFLAGS='' time fakeroot make-kpkg \
|
||||||
--append-to-version '-custom' \
|
--append-to-version '-custom' \
|
||||||
@ -13,3 +15,4 @@ MAKEFLAGS='' time fakeroot make-kpkg \
|
|||||||
kernel_image \
|
kernel_image \
|
||||||
kernel_headers
|
kernel_headers
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -54,5 +54,4 @@ fi
|
|||||||
alias deb-build='time dpkg-buildpackage -rfakeroot -us -uc'
|
alias deb-build='time dpkg-buildpackage -rfakeroot -us -uc'
|
||||||
|
|
||||||
# Removes all kernel images and headers, except for the ones in use.
|
# Removes all kernel images and headers, except for the ones in use.
|
||||||
alias deb-kclean='sudo aptitude remove -P "?and(~i~nlinux-(ima|hea) ?not(~n`uname -r`))"'
|
alias deb-kclean='sudo aptitude remove -P "?and(~i~nlinux-(ima|hea) ?not(~n$(uname -r)))"'
|
||||||
|
|
||||||
|
@ -11,14 +11,27 @@ Settings
|
|||||||
To enable key bindings, add the following to *zpreztorc*, and replace 'bindings'
|
To enable key bindings, add the following to *zpreztorc*, and replace 'bindings'
|
||||||
with 'emacs' or 'vi'.
|
with 'emacs' or 'vi'.
|
||||||
|
|
||||||
zstyle ':prezto:module:editor' key-bindings 'bindings'
|
```sh
|
||||||
|
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*.
|
*zpreztorc*.
|
||||||
|
|
||||||
zstyle ':prezto:module:editor' dot-expansion 'yes'
|
```sh
|
||||||
|
zstyle ':prezto:module:editor' dot-expansion 'yes'
|
||||||
|
```
|
||||||
|
|
||||||
|
### PS Context
|
||||||
|
|
||||||
|
To enable the prompt context to be set, add the following to your
|
||||||
|
*zpreztorc*.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
zstyle ':prezto:module:editor' ps-context 'yes'
|
||||||
|
```
|
||||||
|
|
||||||
Theming
|
Theming
|
||||||
-------
|
-------
|
||||||
@ -26,31 +39,56 @@ 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.
|
||||||
|
|
||||||
zstyle ':prezto:module:editor:info:keymap:primary' format '>>>'
|
```sh
|
||||||
|
zstyle ':prezto:module:editor:info:keymap:primary' format '>>>'
|
||||||
|
```
|
||||||
|
|
||||||
To indicate when the editor is in the primary keymap (emacs or viins) insert
|
To indicate when the editor is in the primary keymap (emacs or viins) insert
|
||||||
mode, add the following to your `theme_prompt_setup` function.
|
mode, add the following to your `theme_prompt_setup` function.
|
||||||
|
|
||||||
zstyle ':prezto:module:editor:info:keymap:primary:insert' format 'I'
|
```sh
|
||||||
|
zstyle ':prezto:module:editor:info:keymap:primary:insert' format 'I'
|
||||||
|
```
|
||||||
|
|
||||||
To indicate when the editor is in the primary keymap (emacs or viins) overwrite
|
To indicate when the editor is in the primary keymap (emacs or viins) overwrite
|
||||||
mode, add the following to your `theme_prompt_setup` function.
|
mode, add the following to your `theme_prompt_setup` function.
|
||||||
|
|
||||||
zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format 'O'
|
```sh
|
||||||
|
zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format 'O'
|
||||||
|
```
|
||||||
|
|
||||||
To indicate when the editor is in the alternate keymap (vicmd), add the
|
To indicate when the editor is in the alternate keymap (vicmd), add the
|
||||||
following to your `theme_prompt_setup` function.
|
following to your `theme_prompt_setup` function.
|
||||||
|
|
||||||
zstyle ':prezto:module:editor:info:keymap:alternate' format '<<<'
|
```sh
|
||||||
|
zstyle ':prezto:module:editor:info:keymap:alternate' format '<<<'
|
||||||
|
```
|
||||||
|
|
||||||
To indicate when the editor is completing, add the following to your
|
To indicate when the editor is completing, add the following to your
|
||||||
`theme_prompt_setup` function.
|
`theme_prompt_setup` function.
|
||||||
|
|
||||||
zstyle ':prezto:module:editor:info:completing' format '...'
|
```sh
|
||||||
|
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
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
### bindkey-all
|
||||||
|
|
||||||
|
Provides a function `bindkey-all` which can be useful for checking how all of the
|
||||||
|
keys are bound. Normal `bindkey` command will only list the keys bound for 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
|
||||||
|
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
|
||||||
|
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.
|
||||||
|
|
||||||
Authors
|
Authors
|
||||||
-------
|
-------
|
||||||
|
|
||||||
@ -59,4 +97,3 @@ Authors
|
|||||||
- [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/oh-my-zsh/issues
|
||||||
|
|
||||||
|
@ -14,8 +14,7 @@ fi
|
|||||||
# Options
|
# Options
|
||||||
#
|
#
|
||||||
|
|
||||||
# Beep on error in line editor.
|
setopt BEEP # Beep on error in line editor.
|
||||||
setopt BEEP
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Variables
|
# Variables
|
||||||
@ -28,33 +27,37 @@ WORDCHARS='*?_-.[]~&;!#$%^(){}<>'
|
|||||||
zmodload zsh/terminfo
|
zmodload zsh/terminfo
|
||||||
typeset -gA key_info
|
typeset -gA key_info
|
||||||
key_info=(
|
key_info=(
|
||||||
'Control' '\C-'
|
'Control' '\C-'
|
||||||
'Escape' '\e'
|
'ControlLeft' '\e[1;5D \e[5D \e\e[D \eOd'
|
||||||
'Meta' '\M-'
|
'ControlRight' '\e[1;5C \e[5C \e\e[C \eOc'
|
||||||
'Backspace' "^?"
|
'ControlPageUp' '\e[5;5~'
|
||||||
'Delete' "^[[3~"
|
'ControlPageDown' '\e[6;5~'
|
||||||
'F1' "$terminfo[kf1]"
|
'Escape' '\e'
|
||||||
'F2' "$terminfo[kf2]"
|
'Meta' '\M-'
|
||||||
'F3' "$terminfo[kf3]"
|
'Backspace' "^?"
|
||||||
'F4' "$terminfo[kf4]"
|
'Delete' "^[[3~"
|
||||||
'F5' "$terminfo[kf5]"
|
'F1' "$terminfo[kf1]"
|
||||||
'F6' "$terminfo[kf6]"
|
'F2' "$terminfo[kf2]"
|
||||||
'F7' "$terminfo[kf7]"
|
'F3' "$terminfo[kf3]"
|
||||||
'F8' "$terminfo[kf8]"
|
'F4' "$terminfo[kf4]"
|
||||||
'F9' "$terminfo[kf9]"
|
'F5' "$terminfo[kf5]"
|
||||||
'F10' "$terminfo[kf10]"
|
'F6' "$terminfo[kf6]"
|
||||||
'F11' "$terminfo[kf11]"
|
'F7' "$terminfo[kf7]"
|
||||||
'F12' "$terminfo[kf12]"
|
'F8' "$terminfo[kf8]"
|
||||||
'Insert' "$terminfo[kich1]"
|
'F9' "$terminfo[kf9]"
|
||||||
'Home' "$terminfo[khome]"
|
'F10' "$terminfo[kf10]"
|
||||||
'PageUp' "$terminfo[kpp]"
|
'F11' "$terminfo[kf11]"
|
||||||
'End' "$terminfo[kend]"
|
'F12' "$terminfo[kf12]"
|
||||||
'PageDown' "$terminfo[knp]"
|
'Insert' "$terminfo[kich1]"
|
||||||
'Up' "$terminfo[kcuu1]"
|
'Home' "$terminfo[khome]"
|
||||||
'Left' "$terminfo[kcub1]"
|
'PageUp' "$terminfo[kpp]"
|
||||||
'Down' "$terminfo[kcud1]"
|
'End' "$terminfo[kend]"
|
||||||
'Right' "$terminfo[kcuf1]"
|
'PageDown' "$terminfo[knp]"
|
||||||
'BackTab' "$terminfo[kcbt]"
|
'Up' "$terminfo[kcuu1]"
|
||||||
|
'Left' "$terminfo[kcub1]"
|
||||||
|
'Down' "$terminfo[kcud1]"
|
||||||
|
'Right' "$terminfo[kcuf1]"
|
||||||
|
'BackTab' "$terminfo[kcbt]"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Set empty $key_info values to an invalid UTF-8 sequence to induce silent
|
# Set empty $key_info values to an invalid UTF-8 sequence to induce silent
|
||||||
@ -76,7 +79,15 @@ zle -N edit-command-line
|
|||||||
#
|
#
|
||||||
# Functions
|
# Functions
|
||||||
#
|
#
|
||||||
|
# Runs bindkey but for all of the keymaps. Running it with no arguments will
|
||||||
|
# print out the mappings for all of the keymaps.
|
||||||
|
function bindkey-all {
|
||||||
|
local keymap=''
|
||||||
|
for keymap in $(bindkey -l); do
|
||||||
|
[[ "$#" -eq 0 ]] && printf "#### %s\n" "${keymap}" 1>&2
|
||||||
|
bindkey -M "${keymap}" "$@"
|
||||||
|
done
|
||||||
|
}
|
||||||
# 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 {
|
||||||
@ -101,12 +112,27 @@ function editor-info {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
unset REPLY
|
unset REPLY
|
||||||
|
zle zle-reset-prompt
|
||||||
zle reset-prompt
|
|
||||||
zle -R
|
|
||||||
}
|
}
|
||||||
zle -N editor-info
|
zle -N editor-info
|
||||||
|
|
||||||
|
# Reset the prompt based on the current context and
|
||||||
|
# the ps-context option.
|
||||||
|
function zle-reset-prompt {
|
||||||
|
if zstyle -t ':prezto:module:editor' ps-context; then
|
||||||
|
# If we aren't within one of the specified contexts, then we want to reset
|
||||||
|
# the prompt with the appropriate editor_info[keymap] if there is one.
|
||||||
|
if [[ $CONTEXT != (select|cont) ]]; then
|
||||||
|
zle reset-prompt
|
||||||
|
zle -R
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
zle reset-prompt
|
||||||
|
zle -R
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
zle -N zle-reset-prompt
|
||||||
|
|
||||||
# Updates editor information when the keymap changes.
|
# Updates editor information when the keymap changes.
|
||||||
function zle-keymap-select {
|
function zle-keymap-select {
|
||||||
zle editor-info
|
zle editor-info
|
||||||
@ -184,6 +210,14 @@ zle -N expand-dot-to-parent-directory-path
|
|||||||
function expand-or-complete-with-indicator {
|
function expand-or-complete-with-indicator {
|
||||||
local indicator
|
local indicator
|
||||||
zstyle -s ':prezto:module:editor:info:completing' format 'indicator'
|
zstyle -s ':prezto:module:editor:info:completing' format 'indicator'
|
||||||
|
|
||||||
|
# This is included to work around a bug in zsh which shows up when interacting
|
||||||
|
# with multi-line prompts.
|
||||||
|
if [[ -z "$indicator" ]]; then
|
||||||
|
zle expand-or-complete
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
print -Pn "$indicator"
|
print -Pn "$indicator"
|
||||||
zle expand-or-complete
|
zle expand-or-complete
|
||||||
zle redisplay
|
zle redisplay
|
||||||
@ -199,6 +233,35 @@ function prepend-sudo {
|
|||||||
}
|
}
|
||||||
zle -N prepend-sudo
|
zle -N prepend-sudo
|
||||||
|
|
||||||
|
# Expand aliases
|
||||||
|
function glob-alias {
|
||||||
|
zle _expand_alias
|
||||||
|
zle expand-word
|
||||||
|
zle magic-space
|
||||||
|
}
|
||||||
|
zle -N glob-alias
|
||||||
|
|
||||||
|
# Toggle the comment character at the start of the line. This is meant to work
|
||||||
|
# around a buggy implementation of pound-insert in zsh.
|
||||||
|
#
|
||||||
|
# This is currently only used for the emacs keys because vi-pound-insert has
|
||||||
|
# been reported to work properly.
|
||||||
|
function pound-toggle {
|
||||||
|
if [[ "$BUFFER" = '#'* ]]; then
|
||||||
|
# Because of an oddity in how zsh handles the cursor when the buffer size
|
||||||
|
# changes, we need to make this check before we modify the buffer and let
|
||||||
|
# zsh handle moving the cursor back if it's past the end of the line.
|
||||||
|
if [[ $CURSOR != $#BUFFER ]]; then
|
||||||
|
(( CURSOR -= 1 ))
|
||||||
|
fi
|
||||||
|
BUFFER="${BUFFER:1}"
|
||||||
|
else
|
||||||
|
BUFFER="#$BUFFER"
|
||||||
|
(( CURSOR += 1 ))
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
zle -N pound-toggle
|
||||||
|
|
||||||
# Reset to default key bindings.
|
# Reset to default key bindings.
|
||||||
bindkey -d
|
bindkey -d
|
||||||
|
|
||||||
@ -206,10 +269,10 @@ bindkey -d
|
|||||||
# Emacs Key Bindings
|
# Emacs Key Bindings
|
||||||
#
|
#
|
||||||
|
|
||||||
for key ("$key_info[Escape]"{B,b}) bindkey -M emacs "$key" emacs-backward-word
|
for key in "$key_info[Escape]"{B,b} "${(s: :)key_info[ControlLeft]}"
|
||||||
for key ("$key_info[Escape]"{F,f}) bindkey -M emacs "$key" emacs-forward-word
|
bindkey -M emacs "$key" emacs-backward-word
|
||||||
bindkey -M emacs "$key_info[Escape]$key_info[Left]" emacs-backward-word
|
for key in "$key_info[Escape]"{F,f} "${(s: :)key_info[ControlRight]}"
|
||||||
bindkey -M emacs "$key_info[Escape]$key_info[Right]" emacs-forward-word
|
bindkey -M emacs "$key" emacs-forward-word
|
||||||
|
|
||||||
# Kill to the beginning of the line.
|
# Kill to the beginning of the line.
|
||||||
for key in "$key_info[Escape]"{K,k}
|
for key in "$key_info[Escape]"{K,k}
|
||||||
@ -234,12 +297,18 @@ if (( $+widgets[history-incremental-pattern-search-backward] )); then
|
|||||||
history-incremental-pattern-search-forward
|
history-incremental-pattern-search-forward
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Toggle comment at the start of the line. Note that we use pound-toggle which
|
||||||
|
# is similar to pount insert, but meant to work around some issues that were
|
||||||
|
# being seen in iTerm.
|
||||||
|
bindkey -M emacs "$key_info[Escape];" pound-toggle
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Vi Key Bindings
|
# Vi Key Bindings
|
||||||
#
|
#
|
||||||
|
|
||||||
# Edit command in an external editor.
|
# Edit command in an external editor emacs style (v is used for visual mode)
|
||||||
bindkey -M vicmd "v" edit-command-line
|
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
|
||||||
@ -253,14 +322,61 @@ else
|
|||||||
bindkey -M vicmd "/" history-incremental-search-forward
|
bindkey -M vicmd "/" history-incremental-search-forward
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Toggle comment at the start of the line.
|
||||||
|
bindkey -M vicmd "#" vi-pound-insert
|
||||||
|
|
||||||
#
|
#
|
||||||
# Emacs and Vi Key Bindings
|
# Emacs and Vi Key Bindings
|
||||||
#
|
#
|
||||||
|
|
||||||
for keymap in 'emacs' 'viins'; do
|
# Unbound keys in vicmd and viins mode will cause really odd things to happen
|
||||||
|
# such as the casing of all the characters you have typed changing or other
|
||||||
|
# undefined things. In emacs mode they just insert a tilde, but bind these keys
|
||||||
|
# in the main keymap to a noop op so if there is no keybind in the users mode
|
||||||
|
# it will fall back and do nothing.
|
||||||
|
function _prezto-zle-noop { ; }
|
||||||
|
zle -N _prezto-zle-noop
|
||||||
|
local -a unbound_keys
|
||||||
|
unbound_keys=(
|
||||||
|
"${key_info[F1]}"
|
||||||
|
"${key_info[F2]}"
|
||||||
|
"${key_info[F3]}"
|
||||||
|
"${key_info[F4]}"
|
||||||
|
"${key_info[F5]}"
|
||||||
|
"${key_info[F6]}"
|
||||||
|
"${key_info[F7]}"
|
||||||
|
"${key_info[F8]}"
|
||||||
|
"${key_info[F9]}"
|
||||||
|
"${key_info[F10]}"
|
||||||
|
"${key_info[F11]}"
|
||||||
|
"${key_info[F12]}"
|
||||||
|
"${key_info[PageUp]}"
|
||||||
|
"${key_info[PageDown]}"
|
||||||
|
"${key_info[ControlPageUp]}"
|
||||||
|
"${key_info[ControlPageDown]}"
|
||||||
|
)
|
||||||
|
for keymap in $unbound_keys; do
|
||||||
|
bindkey -M viins "${keymap}" _prezto-zle-noop
|
||||||
|
bindkey -M vicmd "${keymap}" _prezto-zle-noop
|
||||||
|
done
|
||||||
|
|
||||||
|
# Keybinds for all keymaps
|
||||||
|
for keymap in 'emacs' 'viins' 'vicmd'; do
|
||||||
bindkey -M "$keymap" "$key_info[Home]" beginning-of-line
|
bindkey -M "$keymap" "$key_info[Home]" beginning-of-line
|
||||||
bindkey -M "$keymap" "$key_info[End]" end-of-line
|
bindkey -M "$keymap" "$key_info[End]" end-of-line
|
||||||
|
done
|
||||||
|
|
||||||
|
# Keybinds for all vi keymaps
|
||||||
|
for keymap in viins vicmd; do
|
||||||
|
# Ctrl + Left and Ctrl + Right bindings to forward/backward word
|
||||||
|
for key in "${(s: :)key_info[ControlLeft]}"
|
||||||
|
bindkey -M "$keymap" "$key" vi-backward-word
|
||||||
|
for key in "${(s: :)key_info[ControlRight]}"
|
||||||
|
bindkey -M "$keymap" "$key" vi-forward-word
|
||||||
|
done
|
||||||
|
|
||||||
|
# Keybinds for emacs and vi insert mode
|
||||||
|
for keymap in 'emacs' 'viins'; do
|
||||||
bindkey -M "$keymap" "$key_info[Insert]" overwrite-mode
|
bindkey -M "$keymap" "$key_info[Insert]" overwrite-mode
|
||||||
bindkey -M "$keymap" "$key_info[Delete]" delete-char
|
bindkey -M "$keymap" "$key_info[Delete]" delete-char
|
||||||
bindkey -M "$keymap" "$key_info[Backspace]" backward-delete-char
|
bindkey -M "$keymap" "$key_info[Backspace]" backward-delete-char
|
||||||
@ -303,8 +419,14 @@ for keymap in 'emacs' 'viins'; do
|
|||||||
|
|
||||||
# Insert 'sudo ' at the beginning of the line.
|
# Insert 'sudo ' at the beginning of the line.
|
||||||
bindkey -M "$keymap" "$key_info[Control]X$key_info[Control]S" prepend-sudo
|
bindkey -M "$keymap" "$key_info[Control]X$key_info[Control]S" prepend-sudo
|
||||||
|
|
||||||
|
# control-space expands all aliases, including global
|
||||||
|
bindkey -M "$keymap" "$key_info[Control] " glob-alias
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Delete key deletes character in vimcmd cmd mode instead of weird default functionality
|
||||||
|
bindkey -M vicmd "$key_info[Delete]" delete-char
|
||||||
|
|
||||||
# Do not expand .... to ../.. during incremental search.
|
# Do not expand .... to ../.. during incremental search.
|
||||||
if zstyle -t ':prezto:module:editor' dot-expansion; then
|
if zstyle -t ':prezto:module:editor' dot-expansion; then
|
||||||
bindkey -M isearch . self-insert 2> /dev/null
|
bindkey -M isearch . self-insert 2> /dev/null
|
||||||
@ -324,5 +446,4 @@ else
|
|||||||
print "prezto: editor: invalid key bindings: $key_bindings" >&2
|
print "prezto: editor: invalid key bindings: $key_bindings" >&2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
unset key{,map,bindings}
|
unset key{,map,_bindings}
|
||||||
|
|
||||||
|
@ -13,14 +13,14 @@ Contributors
|
|||||||
|
|
||||||
This module **MUST NOT** rely on any command not built in Zsh.
|
This module **MUST NOT** rely on any command not built in Zsh.
|
||||||
|
|
||||||
Non-interactive environment variables should be defined in *zshenv*.
|
Non-interactive environment variables should be defined in [`zshenv`][1].
|
||||||
|
|
||||||
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]: https://github.com/sorin-ionescu/prezto/blob/master/runcoms/zshenv
|
||||||
|
[2]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
@ -9,18 +9,34 @@
|
|||||||
# Smart URLs
|
# Smart URLs
|
||||||
#
|
#
|
||||||
|
|
||||||
autoload -Uz url-quote-magic
|
# This logic comes from an old version of zim. Essentially, bracketed-paste was
|
||||||
zle -N self-insert url-quote-magic
|
# added as a requirement of url-quote-magic in 5.1, but in 5.1.1 bracketed
|
||||||
|
# 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.
|
||||||
|
autoload -Uz is-at-least
|
||||||
|
if [[ ${ZSH_VERSION} != 5.1.1 ]]; then
|
||||||
|
if is-at-least 5.2; then
|
||||||
|
autoload -Uz bracketed-paste-url-magic
|
||||||
|
zle -N bracketed-paste bracketed-paste-url-magic
|
||||||
|
else
|
||||||
|
if is-at-least 5.1; then
|
||||||
|
autoload -Uz bracketed-paste-magic
|
||||||
|
zle -N bracketed-paste bracketed-paste-magic
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
autoload -Uz url-quote-magic
|
||||||
|
zle -N self-insert url-quote-magic
|
||||||
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
# General
|
# General
|
||||||
#
|
#
|
||||||
|
|
||||||
setopt BRACE_CCL # Allow brace character class list expansion.
|
setopt COMBINING_CHARS # Combine zero-length punctuation characters (accents)
|
||||||
setopt COMBINING_CHARS # Combine zero-length punctuation characters (accents)
|
# with the base character.
|
||||||
# with the base character.
|
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.
|
||||||
|
|
||||||
#
|
#
|
||||||
# Jobs
|
# Jobs
|
||||||
@ -33,15 +49,6 @@ unsetopt BG_NICE # Don't run all background jobs at a lower priority.
|
|||||||
unsetopt HUP # Don't kill jobs on shell exit.
|
unsetopt HUP # Don't kill jobs on shell exit.
|
||||||
unsetopt CHECK_JOBS # Don't report on jobs when shell exit.
|
unsetopt CHECK_JOBS # Don't report on jobs when shell exit.
|
||||||
|
|
||||||
#
|
|
||||||
# Grep
|
|
||||||
#
|
|
||||||
|
|
||||||
if zstyle -t ':prezto:environment:grep' color; then
|
|
||||||
export GREP_COLOR='37;45'
|
|
||||||
export GREP_OPTIONS='--color=auto'
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Termcap
|
# Termcap
|
||||||
#
|
#
|
||||||
@ -55,4 +62,3 @@ if zstyle -t ':prezto:environment:termcap' color; then
|
|||||||
export LESS_TERMCAP_ue=$'\E[0m' # Ends underline.
|
export LESS_TERMCAP_ue=$'\E[0m' # Ends underline.
|
||||||
export LESS_TERMCAP_us=$'\E[01;32m' # Begins underline.
|
export LESS_TERMCAP_us=$'\E[01;32m' # Begins underline.
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -12,6 +12,12 @@ 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
|
||||||
|
------------
|
||||||
|
|
||||||
|
`fasd` is bundled with prezto as a git submodule. Alternatively, you can manually install `fasd`.
|
||||||
|
If a manual install is found, it will be used instead of the bundled version.
|
||||||
|
|
||||||
Aliases
|
Aliases
|
||||||
-------
|
-------
|
||||||
|
|
||||||
@ -36,4 +42,3 @@ Authors
|
|||||||
[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]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
|
||||||
|
1
modules/fasd/external
Submodule
1
modules/fasd/external
Submodule
Submodule modules/fasd/external added at 90b531a5da
@ -9,16 +9,17 @@
|
|||||||
# Load dependencies.
|
# Load dependencies.
|
||||||
pmodload 'editor'
|
pmodload 'editor'
|
||||||
|
|
||||||
# Return if requirements are not found.
|
# If the command doesn't exist externally, we need to fall back to the bundled
|
||||||
|
# submodule.
|
||||||
if (( ! $+commands[fasd] )); then
|
if (( ! $+commands[fasd] )); then
|
||||||
return 1
|
source "${0:h}/external/fasd" || return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
# Initialization
|
# Initialization
|
||||||
#
|
#
|
||||||
|
|
||||||
cache_file="${0:h}/cache.zsh"
|
cache_file="${TMPDIR:-/tmp}/prezto-fasd-cache.$UID.zsh"
|
||||||
if [[ "${commands[fasd]}" -nt "$cache_file" || ! -s "$cache_file" ]]; then
|
if [[ "${commands[fasd]}" -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)
|
||||||
@ -51,4 +52,3 @@ function fasd_cd {
|
|||||||
|
|
||||||
# Changes the current working directory interactively.
|
# Changes the current working directory interactively.
|
||||||
alias j='fasd_cd -i'
|
alias j='fasd_cd -i'
|
||||||
|
|
||||||
|
@ -15,20 +15,30 @@ The format of the [git-log][8] output is configurable via the following style,
|
|||||||
where context is *brief*, *oneline*, and *medium*, which will be passed to the
|
where context is *brief*, *oneline*, and *medium*, which will be passed to the
|
||||||
`--pretty=format:` switch.
|
`--pretty=format:` switch.
|
||||||
|
|
||||||
zstyle ':prezto:module:git:log:context' format ''
|
```sh
|
||||||
|
zstyle ':prezto:module:git:log:context' format ''
|
||||||
|
```
|
||||||
|
|
||||||
### Status
|
### Status
|
||||||
|
|
||||||
Retrieving the status of a repository with submodules can take a long time.
|
Retrieving the status of a repository with submodules can take a long time.
|
||||||
Submodules may be ignored when they are *dirty*, *untracked*, *all*, or *none*.
|
Submodules may be ignored when they are *dirty*, *untracked*, *all*, or *none*.
|
||||||
|
|
||||||
zstyle ':prezto:module:git:status:ignore' submodules 'all'
|
```sh
|
||||||
|
zstyle ':prezto:module:git:status:ignore' submodules 'all'
|
||||||
|
```
|
||||||
|
|
||||||
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:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
zstyle ':prezto:module:git:alias' skip 'yes'
|
||||||
|
```
|
||||||
|
|
||||||
### Git
|
### Git
|
||||||
|
|
||||||
- `g` is short for `git`.
|
- `g` is short for `git`.
|
||||||
@ -37,15 +47,17 @@ Aliases
|
|||||||
|
|
||||||
- `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.
|
- `gbl` lists branches and their commits. (also `gbv`)
|
||||||
- `gbL` lists 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 even if the new branch name already exists. (also
|
||||||
|
`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.
|
||||||
- `gbx` deletes a branch.
|
- `gbV` lists branches with more verbose information about their commits.
|
||||||
- `gbX` deletes a branch irrespective of its merged status.
|
- `gbx` deletes a branch. (also `gbd`)
|
||||||
- `gbm` renames a branch.
|
- `gbX` deletes a branch irrespective of its merged status. (also `gbD`)
|
||||||
- `gbM` renames a branch even if the new branch name already exists.
|
|
||||||
|
|
||||||
|
|
||||||
### Commit
|
### Commit
|
||||||
@ -53,11 +65,16 @@ Aliases
|
|||||||
- `gc` records changes to the repository.
|
- `gc` records changes to the repository.
|
||||||
- `gca` stages all modified and deleted files.
|
- `gca` stages all modified and deleted files.
|
||||||
- `gcm` records changes to the repository with the given message.
|
- `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 a branch or paths to work tree.
|
||||||
- `gcO` checks out hunks from the index or the tree interactively.
|
- `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
|
- `gcf` amends the tip of the current branch using the same log message as *HEAD*.
|
||||||
*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.
|
- `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.
|
||||||
- `gcP` applies changes introduced by existing commits without committing.
|
- `gcP` applies changes introduced by existing commits without committing.
|
||||||
- `gcr` reverts existing commits by reverting patches and recording new
|
- `gcr` reverts existing commits by reverting patches and recording new
|
||||||
@ -89,10 +106,86 @@ Aliases
|
|||||||
### Fetch
|
### Fetch
|
||||||
|
|
||||||
- `gf` downloads objects and references from another repository.
|
- `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.
|
- `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.
|
- `gfm` fetches from and merges with another repository or local branch.
|
||||||
- `gfr` fetches from and rebases on another repository or local branch.
|
- `gfr` fetches from and rebases on another repository or local branch.
|
||||||
|
|
||||||
|
### Flow
|
||||||
|
|
||||||
|
- `gFi` is short for `git flow init`
|
||||||
|
|
||||||
|
#### 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`
|
||||||
|
|
||||||
|
#### 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`
|
||||||
|
|
||||||
|
#### 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`
|
||||||
|
|
||||||
|
#### 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`
|
||||||
|
|
||||||
|
#### 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`
|
||||||
|
|
||||||
### Grep
|
### Grep
|
||||||
|
|
||||||
- `gg` displays lines matching a pattern.
|
- `gg` displays lines matching a pattern.
|
||||||
@ -109,6 +202,8 @@ Aliases
|
|||||||
- `giu` adds file contents to the index (updates only known files).
|
- `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 (diff).
|
||||||
- `giD` displays changes between the index and a named commit (word 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 HEAD to the specified state.
|
||||||
- `giR` resets the current index interactively.
|
- `giR` resets the current index interactively.
|
||||||
- `gix` removes files/directories from the index (recursively).
|
- `gix` removes files/directories from the index (recursively).
|
||||||
@ -214,6 +309,7 @@ The following aliases may shadow system commands:
|
|||||||
|
|
||||||
- `gpt` shadows the [GUID partition table maintenance utility][4].
|
- `gpt` shadows the [GUID partition table maintenance utility][4].
|
||||||
- `gs` shadows the [Ghostscript][5].
|
- `gs` shadows the [Ghostscript][5].
|
||||||
|
- `gb` shadows the [GB][9].
|
||||||
|
|
||||||
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`.
|
||||||
@ -228,7 +324,7 @@ Functions
|
|||||||
- `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.
|
- `git-hub-shorten-url` shortens [GitHub URLs][10].
|
||||||
- `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.
|
||||||
@ -245,7 +341,9 @@ 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
|
||||||
setting a style is as follows.
|
setting a style is as follows.
|
||||||
|
|
||||||
zstyle ':prezto:module:git:info:context:subcontext' format 'string'
|
```sh
|
||||||
|
zstyle ':prezto:module:git:info:context:subcontext' format 'string'
|
||||||
|
```
|
||||||
|
|
||||||
### Main Contexts
|
### Main Contexts
|
||||||
|
|
||||||
@ -272,7 +370,9 @@ setting a style is as follows.
|
|||||||
|
|
||||||
The following contexts must be enabled with the following zstyle:
|
The following contexts must be enabled with the following zstyle:
|
||||||
|
|
||||||
zstyle ':prezto:module:git:info' verbose 'yes'
|
```sh
|
||||||
|
zstyle ':prezto:module:git:info' verbose 'yes'
|
||||||
|
```
|
||||||
|
|
||||||
### Verbose Contexts
|
### Verbose Contexts
|
||||||
|
|
||||||
@ -299,18 +399,24 @@ The following contexts must be enabled with the following zstyle:
|
|||||||
| 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-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.
|
||||||
|
|
||||||
zstyle ':prezto:module:git:info:branch' format 'branch:%b'
|
```sh
|
||||||
zstyle ':prezto:module:git:info:remote' format 'remote:%R'
|
zstyle ':prezto:module:git:info:branch' format 'branch:%b'
|
||||||
|
zstyle ':prezto:module:git:info:remote' format 'remote:%R'
|
||||||
|
```
|
||||||
|
|
||||||
Second, format how the above attributes are displayed in prompts.
|
Second, format how the above attributes are displayed in prompts.
|
||||||
|
|
||||||
zstyle ':prezto:module:git:info:keys' format \
|
```sh
|
||||||
'prompt' ' git(%b)' \
|
zstyle ':prezto:module:git:info:keys' format \
|
||||||
'rprompt' '[%R]'
|
'prompt' ' git(%b)' \
|
||||||
|
'rprompt' '[%R]'
|
||||||
|
```
|
||||||
|
|
||||||
Last, add `$git_info[prompt]` to `$PROMPT` and `$git_info[rprompt]` to
|
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
|
||||||
@ -332,4 +438,5 @@ Authors
|
|||||||
[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]: http://www.kernel.org/pub/software/scm/git/docs/git-log.html
|
||||||
|
[9]: https://getgb.io/
|
||||||
|
[10]: https://github.com/blog/985-git-io-github-url-shortener
|
||||||
|
@ -26,157 +26,239 @@ zstyle -s ':prezto:module:git:status:ignore' submodules '_git_status_ignore_subm
|
|||||||
# Aliases
|
# Aliases
|
||||||
#
|
#
|
||||||
|
|
||||||
# Git
|
if ! zstyle -t ':prezto:module:git:alias' skip 'yes'; then
|
||||||
alias g='git'
|
# Git
|
||||||
|
alias g='git'
|
||||||
|
|
||||||
# Branch (b)
|
# Branch (b)
|
||||||
alias gb='git branch'
|
alias gb='git branch'
|
||||||
alias gbc='git checkout -b'
|
alias gba='git branch --all --verbose'
|
||||||
alias gbl='git branch -v'
|
alias gbc='git checkout -b'
|
||||||
alias gbL='git branch -av'
|
alias gbd='git branch --delete'
|
||||||
alias gbx='git branch -d'
|
alias gbD='git branch --delete --force'
|
||||||
alias gbX='git branch -D'
|
alias gbl='git branch --verbose'
|
||||||
alias gbm='git branch -m'
|
alias gbL='git branch --all --verbose'
|
||||||
alias gbM='git branch -M'
|
alias gbm='git branch --move'
|
||||||
alias gbs='git show-branch'
|
alias gbM='git branch --move --force'
|
||||||
alias gbS='git show-branch -a'
|
alias gbr='git branch --move'
|
||||||
|
alias gbR='git branch --move --force'
|
||||||
|
alias gbs='git show-branch'
|
||||||
|
alias gbS='git show-branch --all'
|
||||||
|
alias gbv='git branch --verbose'
|
||||||
|
alias gbV='git branch --verbose --verbose'
|
||||||
|
alias gbx='git branch --delete'
|
||||||
|
alias gbX='git branch --delete --force'
|
||||||
|
|
||||||
# Commit (c)
|
# Commit (c)
|
||||||
alias gc='git commit --verbose'
|
alias gc='git commit --verbose'
|
||||||
alias gca='git commit --verbose --all'
|
alias gca='git commit --verbose --all'
|
||||||
alias gcm='git commit --message'
|
alias gcm='git commit --message'
|
||||||
alias gco='git checkout'
|
alias gcS='git commit -S --verbose'
|
||||||
alias gcO='git checkout --patch'
|
alias gcSa='git commit -S --verbose --all'
|
||||||
alias gcf='git commit --amend --reuse-message HEAD'
|
alias gcSm='git commit -S --message'
|
||||||
alias gcF='git commit --verbose --amend'
|
alias gcam='git commit --all --message'
|
||||||
alias gcp='git cherry-pick --ff'
|
alias gco='git checkout'
|
||||||
alias gcP='git cherry-pick --no-commit'
|
alias gcO='git checkout --patch'
|
||||||
alias gcr='git revert'
|
alias gcf='git commit --amend --reuse-message HEAD'
|
||||||
alias gcR='git reset "HEAD^"'
|
alias gcSf='git commit -S --amend --reuse-message HEAD'
|
||||||
alias gcs='git show'
|
alias gcF='git commit --verbose --amend'
|
||||||
alias gcl='git-commit-lost'
|
alias gcSF='git commit -S --verbose --amend'
|
||||||
|
alias gcp='git cherry-pick --ff'
|
||||||
|
alias gcP='git cherry-pick --no-commit'
|
||||||
|
alias gcr='git revert'
|
||||||
|
alias gcR='git reset "HEAD^"'
|
||||||
|
alias gcs='git show'
|
||||||
|
alias gcl='git-commit-lost'
|
||||||
|
|
||||||
# Conflict (C)
|
# Conflict (C)
|
||||||
alias gCl='git status | sed -n "s/^.*both [a-z]*ed: *//p"'
|
alias gCl='git --no-pager diff --name-only --diff-filter=U'
|
||||||
alias gCa='git add $(gCl)'
|
alias gCa='git add $(gCl)'
|
||||||
alias gCe='git mergetool $(gCl)'
|
alias gCe='git mergetool $(gCl)'
|
||||||
alias gCo='git checkout --ours --'
|
alias gCo='git checkout --ours --'
|
||||||
alias gCO='gCo $(gCl)'
|
alias gCO='gCo $(gCl)'
|
||||||
alias gCt='git checkout --theirs --'
|
alias gCt='git checkout --theirs --'
|
||||||
alias gCT='gCt $(gCl)'
|
alias gCT='gCt $(gCl)'
|
||||||
|
|
||||||
# Data (d)
|
# Data (d)
|
||||||
alias gd='git ls-files'
|
alias gd='git ls-files'
|
||||||
alias gdc='git ls-files --cached'
|
alias gdc='git ls-files --cached'
|
||||||
alias gdx='git ls-files --deleted'
|
alias gdx='git ls-files --deleted'
|
||||||
alias gdm='git ls-files --modified'
|
alias gdm='git ls-files --modified'
|
||||||
alias gdu='git ls-files --other --exclude-standard'
|
alias gdu='git ls-files --other --exclude-standard'
|
||||||
alias gdk='git ls-files --killed'
|
alias gdk='git ls-files --killed'
|
||||||
alias gdi='git status --porcelain --short --ignored | sed -n "s/^!! //p"'
|
alias gdi='git status --porcelain --short --ignored | sed -n "s/^!! //p"'
|
||||||
|
|
||||||
# Fetch (f)
|
# Fetch (f)
|
||||||
alias gf='git fetch'
|
alias gf='git fetch'
|
||||||
alias gfc='git clone'
|
alias gfa='git fetch --all'
|
||||||
alias gfm='git pull'
|
alias gfc='git clone'
|
||||||
alias gfr='git pull --rebase'
|
alias gfcr='git clone --recurse-submodules'
|
||||||
|
alias gfm='git pull'
|
||||||
|
alias gfr='git pull --rebase'
|
||||||
|
|
||||||
# Grep (g)
|
# Flow (F)
|
||||||
alias gg='git grep'
|
alias gFi='git flow init'
|
||||||
alias ggi='git grep --ignore-case'
|
alias gFf='git flow feature'
|
||||||
alias ggl='git grep --files-with-matches'
|
alias gFb='git flow bugfix'
|
||||||
alias ggL='git grep --files-without-matches'
|
alias gFl='git flow release'
|
||||||
alias ggv='git grep --invert-match'
|
alias gFh='git flow hotfix'
|
||||||
alias ggw='git grep --word-regexp'
|
alias gFs='git flow support'
|
||||||
|
|
||||||
# Index (i)
|
alias gFfl='git flow feature list'
|
||||||
alias gia='git add'
|
alias gFfs='git flow feature start'
|
||||||
alias giA='git add --patch'
|
alias gFff='git flow feature finish'
|
||||||
alias giu='git add --update'
|
alias gFfp='git flow feature publish'
|
||||||
alias gid='git diff --no-ext-diff --cached'
|
alias gFft='git flow feature track'
|
||||||
alias giD='git diff --no-ext-diff --cached --word-diff'
|
alias gFfd='git flow feature diff'
|
||||||
alias gir='git reset'
|
alias gFfr='git flow feature rebase'
|
||||||
alias giR='git reset --patch'
|
alias gFfc='git flow feature checkout'
|
||||||
alias gix='git rm -r --cached'
|
alias gFfm='git flow feature pull'
|
||||||
alias giX='git rm -rf --cached'
|
alias gFfx='git flow feature delete'
|
||||||
|
|
||||||
# Log (l)
|
alias gFbl='git flow bugfix list'
|
||||||
alias gl='git log --topo-order --pretty=format:${_git_log_medium_format}'
|
alias gFbs='git flow bugfix start'
|
||||||
alias gls='git log --topo-order --stat --pretty=format:${_git_log_medium_format}'
|
alias gFbf='git flow bugfix finish'
|
||||||
alias gld='git log --topo-order --stat --patch --full-diff --pretty=format:${_git_log_medium_format}'
|
alias gFbp='git flow bugfix publish'
|
||||||
alias glo='git log --topo-order --pretty=format:${_git_log_oneline_format}'
|
alias gFbt='git flow bugfix track'
|
||||||
alias glg='git log --topo-order --all --graph --pretty=format:${_git_log_oneline_format}'
|
alias gFbd='git flow bugfix diff'
|
||||||
alias glb='git log --topo-order --pretty=format:${_git_log_brief_format}'
|
alias gFbr='git flow bugfix rebase'
|
||||||
alias glc='git shortlog --summary --numbered'
|
alias gFbc='git flow bugfix checkout'
|
||||||
|
alias gFbm='git flow bugfix pull'
|
||||||
|
alias gFbx='git flow bugfix delete'
|
||||||
|
|
||||||
# Merge (m)
|
alias gFll='git flow release list'
|
||||||
alias gm='git merge'
|
alias gFls='git flow release start'
|
||||||
alias gmC='git merge --no-commit'
|
alias gFlf='git flow release finish'
|
||||||
alias gmF='git merge --no-ff'
|
alias gFlp='git flow release publish'
|
||||||
alias gma='git merge --abort'
|
alias gFlt='git flow release track'
|
||||||
alias gmt='git mergetool'
|
alias gFld='git flow release diff'
|
||||||
|
alias gFlr='git flow release rebase'
|
||||||
|
alias gFlc='git flow release checkout'
|
||||||
|
alias gFlm='git flow release pull'
|
||||||
|
alias gFlx='git flow release delete'
|
||||||
|
|
||||||
# Push (p)
|
alias gFhl='git flow hotfix list'
|
||||||
alias gp='git push'
|
alias gFhs='git flow hotfix start'
|
||||||
alias gpf='git push --force'
|
alias gFhf='git flow hotfix finish'
|
||||||
alias gpa='git push --all'
|
alias gFhp='git flow hotfix publish'
|
||||||
alias gpA='git push --all && git push --tags'
|
alias gFht='git flow hotfix track'
|
||||||
alias gpt='git push --tags'
|
alias gFhd='git flow hotfix diff'
|
||||||
alias gpc='git push --set-upstream origin "$(git-branch-current 2> /dev/null)"'
|
alias gFhr='git flow hotfix rebase'
|
||||||
alias gpp='git pull origin "$(git-branch-current 2> /dev/null)" && git push origin "$(git-branch-current 2> /dev/null)"'
|
alias gFhc='git flow hotfix checkout'
|
||||||
|
alias gFhm='git flow hotfix pull'
|
||||||
|
alias gFhx='git flow hotfix delete'
|
||||||
|
|
||||||
# Rebase (r)
|
alias gFsl='git flow support list'
|
||||||
alias gr='git rebase'
|
alias gFss='git flow support start'
|
||||||
alias gra='git rebase --abort'
|
alias gFsf='git flow support finish'
|
||||||
alias grc='git rebase --continue'
|
alias gFsp='git flow support publish'
|
||||||
alias gri='git rebase --interactive'
|
alias gFst='git flow support track'
|
||||||
alias grs='git rebase --skip'
|
alias gFsd='git flow support diff'
|
||||||
|
alias gFsr='git flow support rebase'
|
||||||
|
alias gFsc='git flow support checkout'
|
||||||
|
alias gFsm='git flow support pull'
|
||||||
|
alias gFsx='git flow support delete'
|
||||||
|
|
||||||
# Remote (R)
|
# Grep (g)
|
||||||
alias gR='git remote'
|
alias gg='git grep'
|
||||||
alias gRl='git remote --verbose'
|
alias ggi='git grep --ignore-case'
|
||||||
alias gRa='git remote add'
|
alias ggl='git grep --files-with-matches'
|
||||||
alias gRx='git remote rm'
|
alias ggL='git grep --files-without-matches'
|
||||||
alias gRm='git remote rename'
|
alias ggv='git grep --invert-match'
|
||||||
alias gRu='git remote update'
|
alias ggw='git grep --word-regexp'
|
||||||
alias gRp='git remote prune'
|
|
||||||
alias gRs='git remote show'
|
|
||||||
alias gRb='git-hub-browse'
|
|
||||||
|
|
||||||
# Stash (s)
|
# Index (i)
|
||||||
alias gs='git stash'
|
alias gia='git add'
|
||||||
alias gsa='git stash apply'
|
alias giA='git add --patch'
|
||||||
alias gsx='git stash drop'
|
alias giu='git add --update'
|
||||||
alias gsX='git-stash-clear-interactive'
|
alias gid='git diff --no-ext-diff --cached'
|
||||||
alias gsl='git stash list'
|
alias giD='git diff --no-ext-diff --cached --word-diff'
|
||||||
alias gsL='git-stash-dropped'
|
alias gii='git update-index --assume-unchanged'
|
||||||
alias gsd='git stash show --patch --stat'
|
alias giI='git update-index --no-assume-unchanged'
|
||||||
alias gsp='git stash pop'
|
alias gir='git reset'
|
||||||
alias gsr='git-stash-recover'
|
alias giR='git reset --patch'
|
||||||
alias gss='git stash save --include-untracked'
|
alias gix='git rm -r --cached'
|
||||||
alias gsS='git stash save --patch --no-keep-index'
|
alias giX='git rm -rf --cached'
|
||||||
alias gsw='git stash save --include-untracked --keep-index'
|
|
||||||
|
|
||||||
# Submodule (S)
|
# Log (l)
|
||||||
alias gS='git submodule'
|
alias gl='git log --topo-order --pretty=format:"${_git_log_medium_format}"'
|
||||||
alias gSa='git submodule add'
|
alias gls='git log --topo-order --stat --pretty=format:"${_git_log_medium_format}"'
|
||||||
alias gSf='git submodule foreach'
|
alias gld='git log --topo-order --stat --patch --full-diff --pretty=format:"${_git_log_medium_format}"'
|
||||||
alias gSi='git submodule init'
|
alias glo='git log --topo-order --pretty=format:"${_git_log_oneline_format}"'
|
||||||
alias gSI='git submodule update --init --recursive'
|
alias glg='git log --topo-order --all --graph --pretty=format:"${_git_log_oneline_format}"'
|
||||||
alias gSl='git submodule status'
|
alias glb='git log --topo-order --pretty=format:"${_git_log_brief_format}"'
|
||||||
alias gSm='git-submodule-move'
|
alias glc='git shortlog --summary --numbered'
|
||||||
alias gSs='git submodule sync'
|
|
||||||
alias gSu='git submodule foreach git pull origin master'
|
|
||||||
alias gSx='git-submodule-remove'
|
|
||||||
|
|
||||||
# Working Copy (w)
|
# Merge (m)
|
||||||
alias gws='git status --ignore-submodules=${_git_status_ignore_submodules} --short'
|
alias gm='git merge'
|
||||||
alias gwS='git status --ignore-submodules=${_git_status_ignore_submodules}'
|
alias gmC='git merge --no-commit'
|
||||||
alias gwd='git diff --no-ext-diff'
|
alias gmF='git merge --no-ff'
|
||||||
alias gwD='git diff --no-ext-diff --word-diff'
|
alias gma='git merge --abort'
|
||||||
alias gwr='git reset --soft'
|
alias gmt='git mergetool'
|
||||||
alias gwR='git reset --hard'
|
|
||||||
alias gwc='git clean -n'
|
|
||||||
alias gwC='git clean -f'
|
|
||||||
alias gwx='git rm -r'
|
|
||||||
alias gwX='git rm -rf'
|
|
||||||
|
|
||||||
|
# Push (p)
|
||||||
|
alias gp='git push'
|
||||||
|
alias gpf='git push --force-with-lease'
|
||||||
|
alias gpF='git push --force'
|
||||||
|
alias gpa='git push --all'
|
||||||
|
alias gpA='git push --all && git push --tags'
|
||||||
|
alias gpt='git push --tags'
|
||||||
|
alias gpc='git push --set-upstream origin "$(git-branch-current 2> /dev/null)"'
|
||||||
|
alias gpp='git pull origin "$(git-branch-current 2> /dev/null)" && git push origin "$(git-branch-current 2> /dev/null)"'
|
||||||
|
|
||||||
|
# Rebase (r)
|
||||||
|
alias gr='git rebase'
|
||||||
|
alias gra='git rebase --abort'
|
||||||
|
alias grc='git rebase --continue'
|
||||||
|
alias gri='git rebase --interactive'
|
||||||
|
alias grs='git rebase --skip'
|
||||||
|
|
||||||
|
# Remote (R)
|
||||||
|
alias gR='git remote'
|
||||||
|
alias gRl='git remote --verbose'
|
||||||
|
alias gRa='git remote add'
|
||||||
|
alias gRx='git remote rm'
|
||||||
|
alias gRm='git remote rename'
|
||||||
|
alias gRu='git remote update'
|
||||||
|
alias gRp='git remote prune'
|
||||||
|
alias gRs='git remote show'
|
||||||
|
alias gRb='git-hub-browse'
|
||||||
|
|
||||||
|
# Stash (s)
|
||||||
|
alias gs='git stash'
|
||||||
|
alias gsa='git stash apply'
|
||||||
|
alias gsx='git stash drop'
|
||||||
|
alias gsX='git-stash-clear-interactive'
|
||||||
|
alias gsl='git stash list'
|
||||||
|
alias gsL='git-stash-dropped'
|
||||||
|
alias gsd='git stash show --patch --stat'
|
||||||
|
alias gsp='git stash pop'
|
||||||
|
alias gsr='git-stash-recover'
|
||||||
|
alias gss='git stash save --include-untracked'
|
||||||
|
alias gsS='git stash save --patch --no-keep-index'
|
||||||
|
alias gsw='git stash save --include-untracked --keep-index'
|
||||||
|
|
||||||
|
# Submodule (S)
|
||||||
|
alias gS='git submodule'
|
||||||
|
alias gSa='git submodule add'
|
||||||
|
alias gSf='git submodule foreach'
|
||||||
|
alias gSi='git submodule init'
|
||||||
|
alias gSI='git submodule update --init --recursive'
|
||||||
|
alias gSl='git submodule status'
|
||||||
|
alias gSm='git-submodule-move'
|
||||||
|
alias gSs='git submodule sync'
|
||||||
|
alias gSu='git submodule foreach git pull origin master'
|
||||||
|
alias gSx='git-submodule-remove'
|
||||||
|
|
||||||
|
# Working Copy (w)
|
||||||
|
alias gws='git status --ignore-submodules=${_git_status_ignore_submodules} --short'
|
||||||
|
alias gwS='git status --ignore-submodules=${_git_status_ignore_submodules}'
|
||||||
|
alias gwd='git diff --no-ext-diff'
|
||||||
|
alias gwD='git diff --no-ext-diff --word-diff'
|
||||||
|
alias gwr='git reset --soft'
|
||||||
|
alias gwR='git reset --hard'
|
||||||
|
alias gwc='git clean -n'
|
||||||
|
alias gwC='git clean -f'
|
||||||
|
alias gwx='git rm -r'
|
||||||
|
alias gwX='git rm -rf'
|
||||||
|
fi
|
||||||
|
@ -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
|
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,10 +39,9 @@ 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 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
|
||||||
|
|
||||||
return $ret
|
return $ret
|
||||||
|
|
||||||
|
@ -8,5 +8,9 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
_arguments '1:url:' && return 0
|
local service="$service"
|
||||||
|
|
||||||
|
zstyle ":completion:*:${service}:*:prefixes" ignored-patterns '^http(|s)://'
|
||||||
|
zstyle ":completion:*:${service}:*:hosts" ignored-patterns '^*github.com'
|
||||||
|
|
||||||
|
_arguments '1::GitHub URL:_urls' '2::code:' && return 0
|
||||||
|
@ -16,4 +16,3 @@ _arguments "1:toggle:((
|
|||||||
on\:'enable in-prompt information for the current repository'
|
on\:'enable in-prompt information for the current repository'
|
||||||
off\:'disable in-prompt information for the current repository'
|
off\:'disable in-prompt information for the current repository'
|
||||||
))" && return 0
|
))" && return 0
|
||||||
|
|
||||||
|
@ -38,4 +38,3 @@ case "$state" in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
return $ret
|
return $ret
|
||||||
|
|
||||||
|
@ -24,4 +24,3 @@ done < <(
|
|||||||
)
|
)
|
||||||
|
|
||||||
_describe -t submodule 'submodules' submodules && return 0
|
_describe -t submodule 'submodules' submodules && return 0
|
||||||
|
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function git-branch-current {
|
||||||
|
|
||||||
if ! git rev-parse 2> /dev/null; then
|
if ! 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
|
||||||
@ -19,3 +21,4 @@ else
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function git-commit-lost {
|
||||||
|
|
||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
if ! is-true "$(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
|
||||||
@ -19,3 +21,4 @@ git fsck 2> /dev/null \
|
|||||||
--stdin \
|
--stdin \
|
||||||
--pretty=format:${_git_log_oneline_format}
|
--pretty=format:${_git_log_oneline_format}
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function git-dir {
|
||||||
|
|
||||||
local git_dir="${$(git rev-parse --git-dir):A}"
|
local git_dir="${$(git rev-parse --git-dir):A}"
|
||||||
|
|
||||||
if [[ -n "$git_dir" ]]; then
|
if [[ -n "$git_dir" ]]; then
|
||||||
@ -15,3 +17,4 @@ else
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function git-hub-browse {
|
||||||
|
|
||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
if ! is-true "$(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
|
||||||
@ -37,7 +39,7 @@ 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="$(git rev-parse HEAD 2> /dev/null)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
file="$3"
|
file="$3"
|
||||||
@ -57,3 +59,4 @@ else
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -5,19 +5,24 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
local url="$1"
|
# function git-hub-shorten-url {
|
||||||
|
|
||||||
|
local url="$1" code="$2"
|
||||||
|
|
||||||
if [[ "$url" == '-' ]]; then
|
if [[ "$url" == '-' ]]; then
|
||||||
read url <&0
|
read url <&0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z "$url" ]]; then
|
if [[ -z "$url" || ! "$url" =~ ^https?:\/\/.*github.com\/ ]]; then
|
||||||
print "usage: $0 [ url | - ]" >&2
|
print "usage: $0 [ url | - ] [code] ; url must be a github.com URL" >&2
|
||||||
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if (( $+commands[curl] )); then
|
if (( $+commands[curl] )); then
|
||||||
curl -s -i 'http://git.io' -F "url=$url" | grep 'Location:' | sed 's/Location: //'
|
curl -s -i 'https://git.io' -F "url=$url" ${(s: :)code:+ -F "code=$code"} | sed -n 's/^Location: //p'
|
||||||
else
|
else
|
||||||
print "$0: command not found: curl" >&2
|
print "$0: command not found: curl" >&2
|
||||||
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
# Gets the Git special action (am, bisect, cherry, merge, rebase).
|
# Gets the Git special action (am, bisect, cherry, merge, rebase, revert).
|
||||||
# Borrowed from vcs_info and edited.
|
# Borrowed from vcs_info and edited.
|
||||||
function _git-action {
|
function _git-action {
|
||||||
local action_dir
|
local action_dir
|
||||||
@ -18,6 +18,8 @@ function _git-action {
|
|||||||
local rebase_formatted
|
local rebase_formatted
|
||||||
local rebase_interactive_formatted
|
local rebase_interactive_formatted
|
||||||
local rebase_merge_formatted
|
local rebase_merge_formatted
|
||||||
|
local revert_formatted
|
||||||
|
local revert_sequence_formatted
|
||||||
|
|
||||||
for action_dir in \
|
for action_dir in \
|
||||||
"${git_dir}/rebase-apply" \
|
"${git_dir}/rebase-apply" \
|
||||||
@ -80,6 +82,18 @@ function _git-action {
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ -f "${git_dir}/REVERT_HEAD" ]]; 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'
|
||||||
|
print "$revert_sequence_formatted"
|
||||||
|
else
|
||||||
|
zstyle -s ':prezto:module:git:info:action:revert' format 'revert_formatted' || revert_formatted='revert'
|
||||||
|
print "$revert_formatted"
|
||||||
|
fi
|
||||||
|
|
||||||
|
return 0
|
||||||
|
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"
|
||||||
@ -421,4 +435,3 @@ function git-info {
|
|||||||
}
|
}
|
||||||
|
|
||||||
git-info "$@"
|
git-info "$@"
|
||||||
|
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function git-root {
|
||||||
|
|
||||||
local root="$(git rev-parse --show-toplevel 2> /dev/null)"
|
local root="$(git rev-parse --show-toplevel 2> /dev/null)"
|
||||||
|
|
||||||
if [[ -n "$root" ]]; then
|
if [[ -n "$root" ]]; then
|
||||||
@ -15,3 +17,4 @@ else
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function git-stash-clear-interactive {
|
||||||
|
|
||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
if ! is-true "$(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
|
||||||
@ -21,3 +23,4 @@ if [[ -f "$(git-dir)/refs/stash" ]]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function git-stash-dropped {
|
||||||
|
|
||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
if ! is-true "$(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
|
||||||
@ -21,3 +23,4 @@ git fsck --unreachable 2> /dev/null \
|
|||||||
--no-walk \
|
--no-walk \
|
||||||
--stdin
|
--stdin
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function git-stash-recover {
|
||||||
|
|
||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
if ! is-true "$(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
|
||||||
@ -17,3 +19,4 @@ for commit in "$@"; do
|
|||||||
-m "$(git log -1 --pretty="format:%s" "$commit")" refs/stash "$commit"
|
-m "$(git log -1 --pretty="format:%s" "$commit")" refs/stash "$commit"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function git-submodule-move {
|
||||||
|
|
||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
if ! is-true "$(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
|
||||||
@ -31,3 +33,4 @@ git submodule add "$url" "$dst"
|
|||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function git-submodule-remove {
|
||||||
|
|
||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
if ! is-true "$(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
|
||||||
@ -26,3 +28,4 @@ rm -rf "$(git-dir)/modules/${1}"
|
|||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -15,4 +15,3 @@ pmodload 'helper'
|
|||||||
|
|
||||||
# Source module files.
|
# Source module files.
|
||||||
source "${0:h}/alias.zsh"
|
source "${0:h}/alias.zsh"
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
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 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
|
||||||
@ -20,7 +20,9 @@ Settings
|
|||||||
To use a different prefix, add the following to *zpreztorc*, and replace 'g' with
|
To use a different prefix, add the following to *zpreztorc*, and replace 'g' with
|
||||||
the desired prefix:
|
the desired prefix:
|
||||||
|
|
||||||
zstyle ':prezto:module:gnu-utility' prefix 'g'
|
```sh
|
||||||
|
zstyle ':prezto:module:gnu-utility' prefix 'g'
|
||||||
|
```
|
||||||
|
|
||||||
Authors
|
Authors
|
||||||
-------
|
-------
|
||||||
@ -30,4 +32,3 @@ Authors
|
|||||||
- [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
|
||||||
|
|
||||||
|
@ -42,13 +42,13 @@ _gnu_utility_cmds=(
|
|||||||
'libtool' 'libtoolize'
|
'libtool' 'libtoolize'
|
||||||
|
|
||||||
# Miscellaneous
|
# Miscellaneous
|
||||||
'getopt' 'grep' 'indent' 'sed' 'tar' 'time' 'units' 'which'
|
'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}]} )); 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}]}' \"\$@\"
|
||||||
@ -58,4 +58,3 @@ for _gnu_utility_cmd in "${_gnu_utility_cmds[@]}"; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
unset _gnu_utility_{p,cmds,cmd,pcmd}
|
unset _gnu_utility_{p,cmds,cmd,pcmd}
|
||||||
|
|
||||||
|
@ -9,7 +9,9 @@ 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*:
|
*~/.gnupg/gpg-agent.conf*:
|
||||||
|
|
||||||
enable-ssh-support
|
```conf
|
||||||
|
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.
|
||||||
@ -24,4 +26,3 @@ Authors
|
|||||||
[1]: http://www.gnupg.org
|
[1]: http://www.gnupg.org
|
||||||
[2]: http://linux.die.net/man/1/gpg-agent
|
[2]: http://linux.die.net/man/1/gpg-agent
|
||||||
[3]: https://github.com/sorin-ionescu/prezto/issues
|
[3]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
|
||||||
|
@ -11,16 +11,16 @@ if (( ! $+commands[gpg-agent] )); then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Set the default paths to gpg-agent files.
|
# Set the default paths to gpg-agent files.
|
||||||
_gpg_agent_conf="$HOME/.gnupg/gpg-agent.conf"
|
_gpg_agent_conf="${GNUPGHOME:-$HOME/.gnupg}/gpg-agent.conf"
|
||||||
_gpg_agent_env="${TMPDIR:-/tmp}/gpg-agent.env"
|
_gpg_agent_env="${TMPDIR:-/tmp}/gpg-agent.env.$UID"
|
||||||
|
|
||||||
|
# Load environment variables from previous run
|
||||||
|
source "$_gpg_agent_env" 2> /dev/null
|
||||||
|
|
||||||
# Start gpg-agent if not started.
|
# Start gpg-agent if not started.
|
||||||
if [[ -z "$GPG_AGENT_INFO" ]]; then
|
if [[ -z "$GPG_AGENT_INFO" && ! -S "${GNUPGHOME:-$HOME/.gnupg}/S.gpg-agent" ]]; then
|
||||||
# Export environment variables.
|
|
||||||
source "$_gpg_agent_env" 2> /dev/null
|
|
||||||
|
|
||||||
# Start gpg-agent if not started.
|
# Start gpg-agent if not started.
|
||||||
if ! ps -U "$USER" -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
|
||||||
eval "$(gpg-agent --daemon | tee "$_gpg_agent_env")"
|
eval "$(gpg-agent --daemon | tee "$_gpg_agent_env")"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@ -29,12 +29,21 @@ fi
|
|||||||
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
|
||||||
|
# Load required functions.
|
||||||
|
autoload -Uz add-zsh-hook
|
||||||
|
|
||||||
# Override the ssh-agent environment file default path.
|
# Override the ssh-agent environment file default path.
|
||||||
_ssh_agent_env="$_gpg_agent_env"
|
_ssh_agent_env="$_gpg_agent_env"
|
||||||
|
|
||||||
# Load the SSH module for additional processing.
|
# Load the SSH module for additional processing.
|
||||||
pmodload 'ssh'
|
pmodload 'ssh'
|
||||||
|
|
||||||
|
# Updates the GPG-Agent TTY before every command since SSH does not set it.
|
||||||
|
function _gpg-agent-update-tty {
|
||||||
|
gpg-connect-agent UPDATESTARTUPTTY /bye >/dev/null
|
||||||
|
}
|
||||||
|
add-zsh-hook preexec _gpg-agent-update-tty
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clean up.
|
# Clean up.
|
||||||
@ -44,4 +53,3 @@ unset _gpg_agent_{conf,env}
|
|||||||
if [[ -n "$SSH_CONNECTION" ]]; then
|
if [[ -n "$SSH_CONNECTION" ]]; then
|
||||||
export PINENTRY_USER_DATA='USE_CURSES=1'
|
export PINENTRY_USER_DATA='USE_CURSES=1'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -26,4 +26,3 @@ Authors
|
|||||||
|
|
||||||
[1]: http://www.haskell.org/cabal/
|
[1]: http://www.haskell.org/cabal/
|
||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
|
[2]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
|
||||||
|
@ -22,4 +22,3 @@ Authors
|
|||||||
- [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
|
||||||
|
|
||||||
|
@ -39,4 +39,3 @@ function add-zsh-trap {
|
|||||||
}
|
}
|
||||||
|
|
||||||
add-zsh-trap "$@"
|
add-zsh-trap "$@"
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ function is-autoloadable {
|
|||||||
|
|
||||||
# Checks if a name is a command, function, or alias.
|
# Checks if a name is a command, function, or alias.
|
||||||
function is-callable {
|
function is-callable {
|
||||||
(( $+commands[$1] )) || (( $+functions[$1] )) || (( $+aliases[$1] ))
|
(( $+commands[$1] || $+functions[$1] || $+aliases[$1] || $+builtins[$1] ))
|
||||||
}
|
}
|
||||||
|
|
||||||
# Checks a boolean variable for "true".
|
# Checks a boolean variable for "true".
|
||||||
@ -29,4 +29,3 @@ function coalesce {
|
|||||||
done
|
done
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,8 +6,8 @@ the [Fish shell][2]'s history search feature, where the user can type in any
|
|||||||
part of a previously entered command and press up and down to cycle through
|
part of a previously entered command and press up and down to cycle through
|
||||||
matching commands.
|
matching commands.
|
||||||
|
|
||||||
If this module is used in conjuncture with the *syntax-highlighting* module, it
|
If this module is used in conjunction with the *syntax-highlighting* module,
|
||||||
must be loaded **after** it.
|
this module must be loaded **after** the *syntax-highlighting* module.
|
||||||
|
|
||||||
Contributors
|
Contributors
|
||||||
------------
|
------------
|
||||||
@ -24,7 +24,9 @@ Settings
|
|||||||
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*:
|
*zpreztorc*:
|
||||||
|
|
||||||
zstyle ':prezto:module:history-substring-search' case-sensitive 'yes'
|
```sh
|
||||||
|
zstyle ':prezto:module:history-substring-search' case-sensitive 'yes'
|
||||||
|
```
|
||||||
|
|
||||||
### Highlighting
|
### Highlighting
|
||||||
|
|
||||||
@ -34,19 +36,27 @@ 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*:
|
*zpreztorc*:
|
||||||
|
|
||||||
zstyle ':prezto:module:history-substring-search' color 'yes'
|
```sh
|
||||||
|
zstyle ':prezto:module:history-substring-search' 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 *zpreztorc*:
|
||||||
|
|
||||||
zstyle ':prezto:module:history-substring-search:color' found ''
|
```sh
|
||||||
|
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 *zpreztorc*:
|
||||||
|
|
||||||
zstyle ':prezto:module:history-substring-search:color' not-found ''
|
```sh
|
||||||
|
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 *zpreztorc*:
|
||||||
|
|
||||||
zstyle ':prezto:module:history-substring-search' globbing-flags ''
|
```sh
|
||||||
|
zstyle ':prezto:module:history-substring-search' globbing-flags ''
|
||||||
|
```
|
||||||
|
|
||||||
Authors
|
Authors
|
||||||
-------
|
-------
|
||||||
@ -59,4 +69,3 @@ Authors
|
|||||||
[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]: http://fishshell.com
|
||||||
[3]: https://github.com/sorin-ionescu/prezto/issues
|
[3]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
|
||||||
|
Submodule modules/history-substring-search/external updated: 9f9fc7d550...aae3388491
@ -54,5 +54,6 @@ if [[ -n "$key_info" ]]; then
|
|||||||
bindkey -M "$keymap" "$key_info[Up]" history-substring-search-up
|
bindkey -M "$keymap" "$key_info[Up]" history-substring-search-up
|
||||||
bindkey -M "$keymap" "$key_info[Down]" history-substring-search-down
|
bindkey -M "$keymap" "$key_info[Down]" history-substring-search-down
|
||||||
done
|
done
|
||||||
fi
|
|
||||||
|
|
||||||
|
unset keymap
|
||||||
|
fi
|
||||||
|
@ -41,4 +41,3 @@ Authors
|
|||||||
|
|
||||||
[1]: http://zsh.sourceforge.net/Guide/zshguide02.html#l16
|
[1]: http://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,34 @@ Defines Homebrew aliases.
|
|||||||
Aliases
|
Aliases
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
### Homebrew
|
||||||
|
|
||||||
- `brewc` cleans outdated brews and their cached archives.
|
- `brewc` cleans outdated brews and their cached archives.
|
||||||
- `brewC` cleans outdated brews, including keg-only, and their cached archives.
|
- `brewC` cleans outdated brews, including keg-only, and their cached archives.
|
||||||
- `brewi` installs a formula.
|
- `brewi` installs a formula.
|
||||||
- `brewl` lists installed formulae.
|
- `brewl` lists installed formulae.
|
||||||
|
- `brewo` lists brews which have an update available.
|
||||||
- `brews` searches for a formula.
|
- `brews` searches for a formula.
|
||||||
- `brewU` upgrades Homebrew and outdated brews.
|
- `brewu` updates and upgrades Homebrew packages and formulae.
|
||||||
- `brewu` upgrades Homebrew.
|
|
||||||
- `brewx` uninstalls a formula.
|
- `brewx` uninstalls a formula.
|
||||||
|
|
||||||
|
### Homebrew Cask
|
||||||
|
|
||||||
|
- `cask` is aliased to `brew cask`.
|
||||||
|
- `caskc` cleans up old cached downloads.
|
||||||
|
- `caskC` cleans up all cached downloads.
|
||||||
|
- `caski` installs a cask.
|
||||||
|
- `caskl` lists installed casks.
|
||||||
|
- `casko` lists casks which have an update available.
|
||||||
|
- `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)
|
||||||
|
|
||||||
[1]: https://github.com/sorin-ionescu/prezto/issues
|
[1]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
if [[ "$OSTYPE" != darwin* ]]; then
|
if [[ "$OSTYPE" != (darwin|linux)* ]]; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -14,12 +14,22 @@ fi
|
|||||||
# Aliases
|
# Aliases
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# Homebrew
|
||||||
alias brewc='brew cleanup'
|
alias brewc='brew cleanup'
|
||||||
alias brewC='brew cleanup --force'
|
alias brewC='brew cleanup --force'
|
||||||
alias brewi='brew install'
|
alias brewi='brew install'
|
||||||
alias brewl='brew list'
|
alias brewl='brew list'
|
||||||
|
alias brewo='brew outdated'
|
||||||
alias brews='brew search'
|
alias brews='brew search'
|
||||||
alias brewu='brew upgrade'
|
alias brewu='brew update && brew upgrade'
|
||||||
alias brewU='brew update && brew upgrade'
|
|
||||||
alias brewx='brew remove'
|
alias brewx='brew remove'
|
||||||
|
|
||||||
|
# Homebrew Cask
|
||||||
|
alias cask='brew cask'
|
||||||
|
alias caskc='brew cask cleanup --outdated'
|
||||||
|
alias caskC='brew cask cleanup'
|
||||||
|
alias caski='brew cask install'
|
||||||
|
alias caskl='brew cask list'
|
||||||
|
alias casko='brew cask outdated'
|
||||||
|
alias casks='brew cask search'
|
||||||
|
alias caskx='brew cask uninstall'
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Macports
|
MacPorts
|
||||||
========
|
========
|
||||||
|
|
||||||
Defines MacPorts aliases and adds MacPorts directories to path variables.
|
Defines MacPorts aliases and adds MacPorts directories to path variables.
|
||||||
@ -23,4 +23,3 @@ Authors
|
|||||||
- [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
|
||||||
|
|
||||||
|
@ -32,4 +32,3 @@ alias portU='sudo port selfupdate && sudo port upgrade outdated'
|
|||||||
alias portu='sudo port upgrade'
|
alias portu='sudo port upgrade'
|
||||||
alias portX='sudo port -u uninstall'
|
alias portX='sudo port -u uninstall'
|
||||||
alias portx='sudo port uninstall'
|
alias portx='sudo port uninstall'
|
||||||
|
|
||||||
|
@ -10,6 +10,13 @@ nvm
|
|||||||
[nvm][5] allows for managing multiple, isolated Node.js installations in the
|
[nvm][5] allows for managing multiple, isolated Node.js installations in the
|
||||||
home directory.
|
home directory.
|
||||||
|
|
||||||
|
nodenv
|
||||||
|
------
|
||||||
|
|
||||||
|
[nodenv][6] does one thing well. nodenv is concerned solely with switching
|
||||||
|
Node versions. It's simple and predictable, Just Works, and is rock solid in
|
||||||
|
production. nodenv is forked from the popular [rbenv][7].
|
||||||
|
|
||||||
Functions
|
Functions
|
||||||
---------
|
---------
|
||||||
|
|
||||||
@ -24,8 +31,10 @@ 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.
|
||||||
|
|
||||||
# %v - Node.js version.
|
```sh
|
||||||
zstyle ':prezto:module:node:info:version' format 'version:%v'
|
# %v - Node.js version.
|
||||||
|
zstyle ':prezto:module:node:info:version' format 'version:%v'
|
||||||
|
```
|
||||||
|
|
||||||
Then add `$node_info[version]` to either `$PROMPT` or `$RPROMPT` and call
|
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.
|
||||||
@ -43,4 +52,5 @@ Authors
|
|||||||
[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/creationix/nvm
|
||||||
|
[6]: https://github.com/nodenv/nodenv
|
||||||
|
[7]: https://github.com/sstephenson/rbenv
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function node-doc {
|
||||||
|
|
||||||
if [[ -z "$BROWSER" ]]; then
|
if [[ -z "$BROWSER" ]]; then
|
||||||
print "$0: no web browser defined" >&2
|
print "$0: no web browser defined" >&2
|
||||||
return 1
|
return 1
|
||||||
@ -13,3 +15,4 @@ 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" "http://nodejs.org/docs/$(node --version | sed 's/-.*//')/api/all.html#${1}"
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -6,6 +6,8 @@
|
|||||||
# Zeh Rizzatti <zehrizzatti@gmail.com>
|
# Zeh Rizzatti <zehrizzatti@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function node-info {
|
||||||
|
|
||||||
local version
|
local version
|
||||||
local version_format
|
local version_format
|
||||||
local version_formatted
|
local version_formatted
|
||||||
@ -15,11 +17,14 @@ typeset -gA node_info
|
|||||||
|
|
||||||
if (( $+functions[nvm_version] )); then
|
if (( $+functions[nvm_version] )); then
|
||||||
version="${$(nvm_version)#v}"
|
version="${$(nvm_version)#v}"
|
||||||
|
elif (( $+commands[nodenv] )); then
|
||||||
|
version="${${$(nodenv version)#v}[(w)0]}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$version" == (none|) ]]; then
|
if [[ "$version" != (none|) ]]; 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"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -6,19 +6,31 @@
|
|||||||
# Zeh Rizzatti <zehrizzatti@gmail.com>
|
# Zeh Rizzatti <zehrizzatti@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
# Load NVM into the shell session.
|
# Load manually installed NVM into the shell session.
|
||||||
if [[ -s "$HOME/.nvm/nvm.sh" ]]; then
|
if [[ -s "$HOME/.nvm/nvm.sh" ]]; then
|
||||||
source "$HOME/.nvm/nvm.sh"
|
source "$HOME/.nvm/nvm.sh"
|
||||||
fi
|
|
||||||
|
# Load package manager installed NVM into the shell session.
|
||||||
|
elif (( $+commands[brew] )) && [[ -d "$(brew --prefix nvm 2> /dev/null)" ]]; then
|
||||||
|
source "$(brew --prefix nvm)/nvm.sh"
|
||||||
|
|
||||||
|
# Load manually installed nodenv into the shell session.
|
||||||
|
elif [[ -s "$HOME/.nodenv/bin/nodenv" ]]; then
|
||||||
|
path=("$HOME/.nodenv/bin" $path)
|
||||||
|
eval "$(nodenv init - --no-rehash zsh)"
|
||||||
|
|
||||||
|
# Load package manager installed nodenv into the shell session.
|
||||||
|
elif (( $+commands[nodenv] )); then
|
||||||
|
eval "$(nodenv init - --no-rehash zsh)"
|
||||||
|
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
if (( ! $+commands[node] )); then
|
elif (( ! $+commands[node] )); then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Load NPM completion.
|
# Load NPM completion.
|
||||||
if (( $+commands[npm] )); then
|
if (( $+commands[npm] )); then
|
||||||
cache_file="${0:h}/cache.zsh"
|
cache_file="${TMPDIR:-/tmp}/prezto-node-cache.$UID.zsh"
|
||||||
|
|
||||||
if [[ "$commands[npm]" -nt "$cache_file" || ! -s "$cache_file" ]]; then
|
if [[ "$commands[npm]" -nt "$cache_file" || ! -s "$cache_file" ]]; then
|
||||||
# npm is slow; cache its output.
|
# npm is slow; cache its output.
|
||||||
@ -29,4 +41,3 @@ if (( $+commands[npm] )); then
|
|||||||
|
|
||||||
unset cache_file
|
unset cache_file
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -25,4 +25,3 @@ Authors
|
|||||||
[1]: http://ocaml.org/
|
[1]: http://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
|
||||||
|
|
||||||
|
@ -6,10 +6,9 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
if (( ! $+commands[opam] )); then
|
if [[ ! -f "$HOME/.opam/opam-init/init.zsh" ]]; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Initialize OPAM.
|
# Initialize OPAM.
|
||||||
eval "$(opam config env)"
|
source "$HOME/.opam/opam-init/init.zsh"
|
||||||
|
|
||||||
|
@ -3,6 +3,19 @@ OSX
|
|||||||
|
|
||||||
Defines [Mac OS X][1] aliases and functions.
|
Defines [Mac OS X][1] aliases and functions.
|
||||||
|
|
||||||
|
Settings
|
||||||
|
--------
|
||||||
|
|
||||||
|
### Dash Keyword
|
||||||
|
|
||||||
|
To change the keyword used by `mand` to open man pages in [_Dash.app_][2] from
|
||||||
|
its default value of 'manpages', add the following line in *zpreztorc* and
|
||||||
|
replace the **keyword** with the one configured in [_Dash.app_][2].
|
||||||
|
|
||||||
|
```sh
|
||||||
|
zstyle ':prezto:module:osx:man' dash-keyword 'keyword'
|
||||||
|
```
|
||||||
|
|
||||||
Aliases
|
Aliases
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
@ -9,4 +9,3 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
_man
|
_man
|
||||||
|
|
@ -7,7 +7,8 @@
|
|||||||
|
|
||||||
function mand {
|
function mand {
|
||||||
if (( $# > 0 )); then
|
if (( $# > 0 )); then
|
||||||
open "dash://manpages:$1" 2>/dev/null
|
zstyle -s ':prezto:module:osx:man' dash-keyword 'dashkw' || dashkw='manpages'
|
||||||
|
open "dash://$dashkw:$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
|
||||||
@ -15,7 +16,8 @@ function mand {
|
|||||||
else
|
else
|
||||||
print 'What manual page do you want?' >&2
|
print 'What manual page do you want?' >&2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
unset dashkw
|
||||||
}
|
}
|
||||||
|
|
||||||
mand "$@"
|
mand "$@"
|
||||||
|
|
||||||
|
@ -17,4 +17,3 @@ function manp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
manp "$@"
|
manp "$@"
|
||||||
|
|
||||||
|
@ -5,9 +5,13 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function osx-ls-download-history {
|
||||||
|
|
||||||
local db
|
local db
|
||||||
for db in ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV*; do
|
for db in ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV*; do
|
||||||
if grep -q 'LSQuarantineEvent' < <(sqlite3 "$db" .tables); then
|
if grep -q 'LSQuarantineEvent' < <(sqlite3 "$db" .tables); then
|
||||||
sqlite3 "$db" 'SELECT LSQuarantineDataURLString FROM LSQuarantineEvent'
|
sqlite3 "$db" 'SELECT LSQuarantineDataURLString FROM LSQuarantineEvent'
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -5,7 +5,11 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function osx-rm-dir-metadata {
|
||||||
|
|
||||||
find "${@:-$PWD}" \( \
|
find "${@:-$PWD}" \( \
|
||||||
-type f -name '.DS_Store' -o \
|
-type f -name '.DS_Store' -o \
|
||||||
-type d -name '__MACOSX' \
|
-type d -name '__MACOSX' \
|
||||||
\) -print0 | xargs -0 rm -rf
|
\) -print0 | xargs -0 rm -rf
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -5,9 +5,13 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function osx-rm-download-history {
|
||||||
|
|
||||||
local db
|
local db
|
||||||
for db in ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV*; do
|
for db in ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV*; do
|
||||||
if grep -q 'LSQuarantineEvent' < <(sqlite3 "$db" .tables); then
|
if grep -q 'LSQuarantineEvent' < <(sqlite3 "$db" .tables); then
|
||||||
sqlite3 "$db" 'DELETE FROM LSQuarantineEvent; VACUUM'
|
sqlite3 "$db" 'DELETE FROM LSQuarantineEvent; VACUUM'
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -5,8 +5,12 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
osascript 2>/dev/null <<EOF
|
# function pfd {
|
||||||
|
|
||||||
|
osascript 2> /dev/null <<EOF
|
||||||
tell application "Finder"
|
tell application "Finder"
|
||||||
return POSIX path of (target of first window as text)
|
return POSIX path of (target of first window as text)
|
||||||
end tell
|
end tell
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function pfs {
|
||||||
|
|
||||||
osascript 2>&1 <<EOF
|
osascript 2>&1 <<EOF
|
||||||
tell application "Finder" to set the_selection to selection
|
tell application "Finder" to set the_selection to selection
|
||||||
if the_selection is not {}
|
if the_selection is not {}
|
||||||
@ -13,3 +15,5 @@ osascript 2>&1 <<EOF
|
|||||||
end repeat
|
end repeat
|
||||||
end if
|
end if
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -5,6 +5,10 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function ql {
|
||||||
|
|
||||||
if (( $# > 0 )); then
|
if (( $# > 0 )); then
|
||||||
qlmanage -p "$@" &> /dev/null
|
qlmanage -p "$@" &> /dev/null
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -5,11 +5,13 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function tab {
|
||||||
|
|
||||||
local command="cd \\\"$PWD\\\""
|
local command="cd \\\"$PWD\\\""
|
||||||
(( $# > 0 )) && command="${command}; $*"
|
(( $# > 0 )) && command="${command}; $*"
|
||||||
|
|
||||||
the_app=$(
|
the_app=$(
|
||||||
osascript 2>/dev/null <<EOF
|
osascript 2> /dev/null <<EOF
|
||||||
tell application "System Events"
|
tell application "System Events"
|
||||||
name of first item of (every process whose frontmost is true)
|
name of first item of (every process whose frontmost is true)
|
||||||
end tell
|
end tell
|
||||||
@ -17,7 +19,7 @@ EOF
|
|||||||
)
|
)
|
||||||
|
|
||||||
[[ "$the_app" == 'Terminal' ]] && {
|
[[ "$the_app" == 'Terminal' ]] && {
|
||||||
osascript 2>/dev/null <<EOF
|
osascript 2> /dev/null <<EOF
|
||||||
tell application "System Events"
|
tell application "System Events"
|
||||||
tell process "Terminal" to keystroke "t" using command down
|
tell process "Terminal" to keystroke "t" using command down
|
||||||
tell application "Terminal" to do script "${command}" in front window
|
tell application "Terminal" to do script "${command}" in front window
|
||||||
@ -26,7 +28,7 @@ EOF
|
|||||||
}
|
}
|
||||||
|
|
||||||
[[ "$the_app" == 'iTerm' ]] && {
|
[[ "$the_app" == 'iTerm' ]] && {
|
||||||
osascript 2>/dev/null <<EOF
|
osascript 2> /dev/null <<EOF
|
||||||
tell application "iTerm"
|
tell application "iTerm"
|
||||||
set current_terminal to current terminal
|
set current_terminal to current terminal
|
||||||
tell current_terminal
|
tell current_terminal
|
||||||
@ -40,3 +42,15 @@ EOF
|
|||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[[ "$the_app" == 'iTerm2' ]] && {
|
||||||
|
osascript 2> /dev/null <<EOF
|
||||||
|
tell application "iTerm2"
|
||||||
|
tell current window
|
||||||
|
create tab with default profile
|
||||||
|
tell current session to write text "${command}"
|
||||||
|
end tell
|
||||||
|
end tell
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -7,17 +7,22 @@ frontends.
|
|||||||
Settings
|
Settings
|
||||||
--------
|
--------
|
||||||
|
|
||||||
To enable a Pacman frontend, for example, [Yaourt][2], add the following line to
|
It is possible to use a Pacman frontend with the pacman aliases provided by this
|
||||||
*zpreztorc*:
|
package as long as that frontend supports the same command line options (The
|
||||||
|
[AUR Helpers][2] page has a good comparison which lists if the command line
|
||||||
|
options are pacman compatible).
|
||||||
|
|
||||||
zstyle ':prezto:module:pacman' frontend 'yaourt'
|
Please note that installing packages with an AUR Helper is not officially
|
||||||
|
supported by Archlinux. It is currently recommended to manually build AUR
|
||||||
|
packages using the [provided instructions][3]. The [aurutils][4] project has a
|
||||||
|
set of small utilities to make this easier.
|
||||||
|
|
||||||
If you have enabled color globally in *zpreztorc*, you may disable it for certain
|
To enable a Pacman frontend, add the following line to *zpreztorc*, substituting
|
||||||
commands.
|
`pacman_frontend` with the name of the frontent:
|
||||||
|
|
||||||
To disable `yaourt` highlighting, add the following line to *zpreztorc*:
|
```sh
|
||||||
|
zstyle ':prezto:module:pacman' frontend 'pacman_frontend'
|
||||||
zstyle ':prezto:module:pacman:yaourt' color 'no'
|
```
|
||||||
|
|
||||||
Aliases
|
Aliases
|
||||||
-------
|
-------
|
||||||
@ -42,25 +47,23 @@ Aliases
|
|||||||
|
|
||||||
### Frontends
|
### Frontends
|
||||||
|
|
||||||
#### Yaourt
|
|
||||||
|
|
||||||
- `pacc` manages *.pac\** files.
|
|
||||||
|
|
||||||
Functions
|
Functions
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
- `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][3].*
|
*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]: http://www.archlinux.org/pacman/
|
||||||
[2]: http://archlinux.fr/yaourt-en
|
[2]: https://wiki.archlinux.org/index.php/AUR_helpers#Comparison_table
|
||||||
[3]: https://github.com/sorin-ionescu/prezto/issues
|
[3]: https://wiki.archlinux.org/index.php/Arch_User_Repository#Installing_packages
|
||||||
|
[4]: https://github.com/AladW/aurutils
|
||||||
|
[5]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
@ -6,6 +6,8 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function pacman-list-disowned {
|
||||||
|
|
||||||
local tmp="${TMPDIR:-/tmp}/pacman-disowned-$UID-$$"
|
local tmp="${TMPDIR:-/tmp}/pacman-disowned-$UID-$$"
|
||||||
local db="$tmp/db"
|
local db="$tmp/db"
|
||||||
local fs="$tmp/fs"
|
local fs="$tmp/fs"
|
||||||
@ -21,3 +23,4 @@ find /bin /etc /lib /sbin /usr \
|
|||||||
|
|
||||||
comm -23 "$fs" "$db"
|
comm -23 "$fs" "$db"
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -6,6 +6,8 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# function pacman-list-explicit {
|
||||||
|
|
||||||
pacman --query --explicit --info \
|
pacman --query --explicit --info \
|
||||||
| awk '
|
| awk '
|
||||||
BEGIN {
|
BEGIN {
|
||||||
@ -19,3 +21,4 @@ pacman --query --explicit --info \
|
|||||||
}
|
}
|
||||||
'
|
'
|
||||||
|
|
||||||
|
# }
|
||||||
|
@ -23,10 +23,6 @@ zstyle -s ':prezto:module:pacman' frontend '_pacman_frontend'
|
|||||||
|
|
||||||
if (( $+commands[$_pacman_frontend] )); then
|
if (( $+commands[$_pacman_frontend] )); then
|
||||||
alias pacman="$_pacman_frontend"
|
alias pacman="$_pacman_frontend"
|
||||||
|
|
||||||
if [[ -s "${0:h}/${_pacman_frontend}.zsh" ]]; then
|
|
||||||
source "${0:h}/${_pacman_frontend}.zsh"
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
_pacman_frontend='pacman'
|
_pacman_frontend='pacman'
|
||||||
_pacman_sudo='sudo '
|
_pacman_sudo='sudo '
|
||||||
@ -70,9 +66,9 @@ alias pacman-list-orphans="${_pacman_sudo}${_pacman_frontend} --query --deps --u
|
|||||||
alias pacman-remove-orphans="${_pacman_sudo}${_pacman_frontend} --remove --recursive \$(${_pacman_frontend} --quiet --query --deps --unrequired)"
|
alias pacman-remove-orphans="${_pacman_sudo}${_pacman_frontend} --remove --recursive \$(${_pacman_frontend} --quiet --query --deps --unrequired)"
|
||||||
|
|
||||||
# Synchronizes the local package and Arch Build System databases against the
|
# Synchronizes the local package and Arch Build System databases against the
|
||||||
# repositories.
|
# repositories using the asp tool.
|
||||||
if (( $+commands[abs] )); then
|
if (( $+commands[asp] )); then
|
||||||
alias pacu="${_pacman_sudo}${_pacman_frontend} --sync --refresh && ${_pacman_sudo}abs"
|
alias pacu="${_pacman_sudo}${_pacman_frontend} --sync --refresh && sudo asp update"
|
||||||
else
|
else
|
||||||
alias pacu="${_pacman_sudo}${_pacman_frontend} --sync --refresh"
|
alias pacu="${_pacman_sudo}${_pacman_frontend} --sync --refresh"
|
||||||
fi
|
fi
|
||||||
@ -81,5 +77,12 @@ fi
|
|||||||
# upgrades outdated packages.
|
# upgrades outdated packages.
|
||||||
alias pacU="${_pacman_sudo}${_pacman_frontend} --sync --refresh --sysupgrade"
|
alias pacU="${_pacman_sudo}${_pacman_frontend} --sync --refresh --sysupgrade"
|
||||||
|
|
||||||
unset _pacman_{frontend,sudo}
|
function aurget {
|
||||||
|
local target_dir="$1"
|
||||||
|
if [[ -n "$2" ]]; then
|
||||||
|
target_dir="$2"
|
||||||
|
fi
|
||||||
|
git clone "https://aur.archlinux.org/$1" "$target_dir"
|
||||||
|
}
|
||||||
|
|
||||||
|
unset _pacman_{frontend,sudo}
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user