mirror of
https://github.com/dcarrillo/prezto.git
synced 2025-07-01 16:19:26 +00:00
Compare commits
3 Commits
pull/628-e
...
issue/306-
Author | SHA1 | Date | |
---|---|---|---|
113f6763c2 | |||
59f448d6ed | |||
3456166ab0 |
9
.gitmodules
vendored
9
.gitmodules
vendored
@ -7,12 +7,3 @@
|
|||||||
[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://gist.github.com/3712874.git
|
|
||||||
[submodule "modules/prompt/functions/pure"]
|
|
||||||
path = modules/prompt/external/pure
|
|
||||||
url = https://github.com/sindresorhus/pure.git
|
|
||||||
|
@ -39,3 +39,4 @@ improve its performance, do not hesitate to fork and send pull requests.
|
|||||||
[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]: http://daringfireball.net/projects/markdown/syntax#img
|
||||||
|
|
||||||
|
45
README.md
45
README.md
@ -8,8 +8,8 @@ and prompt themes.
|
|||||||
Installation
|
Installation
|
||||||
------------
|
------------
|
||||||
|
|
||||||
Prezto will work with any recent release of Zsh, but the minimum required
|
Prezto will work with any recent release of Zsh, but the minimum recommended
|
||||||
version is 4.3.17.
|
version is 4.3.10.
|
||||||
|
|
||||||
1. Launch Zsh:
|
1. Launch Zsh:
|
||||||
|
|
||||||
@ -33,19 +33,31 @@ version is 4.3.17.
|
|||||||
|
|
||||||
5. Open a new Zsh terminal window or tab.
|
5. Open a new Zsh terminal window or tab.
|
||||||
|
|
||||||
|
### Mac OS X
|
||||||
|
|
||||||
|
If you have administrator privileges, you must fix an Apple-introduced problem
|
||||||
|
in Mac OS X 10.5 Leopard by executing the following command, or BASH and Zsh
|
||||||
|
will have the wrong `PATH` when executed non-interactively.
|
||||||
|
|
||||||
|
sudo chmod ugo-x /usr/libexec/path_helper
|
||||||
|
|
||||||
|
`path_helper` is intended to make it easier for installers to add new paths to
|
||||||
|
the environment without having to edit shell configuration files by adding
|
||||||
|
a file with a path to the */etc/paths.d* directory.
|
||||||
|
|
||||||
|
Unfortunately, `path_helper` always reads paths from */etc/paths* set by Apple
|
||||||
|
then paths from */etc/paths.d* set by third party installers, and lastly paths
|
||||||
|
from the `PATH` environment variable set by the parent process, which
|
||||||
|
ultimately is set by the user with `export PATH=...` Thus, it reorders path
|
||||||
|
priorities, and user */bin* directories meant to override system */bin*
|
||||||
|
directories end up at the tail of the array.
|
||||||
|
|
||||||
### Troubleshooting
|
### Troubleshooting
|
||||||
|
|
||||||
If you are not able to find certain commands after switching to *Prezto*,
|
If you are not able to find certain commands after switching to *Prezto*,
|
||||||
modify the `PATH` variable in *~/.zprofile* then open a new Zsh terminal
|
modify the `PATH` variable in *~/.zshenv* then open a new Zsh terminal
|
||||||
window or tab.
|
window or tab.
|
||||||
|
|
||||||
Updating
|
|
||||||
--------
|
|
||||||
|
|
||||||
Pull the latest changes and update submodules.
|
|
||||||
|
|
||||||
git pull && git submodule update --init --recursive
|
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
-----
|
-----
|
||||||
|
|
||||||
@ -70,10 +82,9 @@ accompanying README files to learn of what is available.
|
|||||||
Customization
|
Customization
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
The project is managed via [Git][3]. It is highly recommended that you fork this
|
The project is managed via [Git][3]. It is highly recommend that you commit
|
||||||
project; so, that you can commit your changes and push them to [GitHub][4] to
|
your changes and push them to [GitHub][4] to not lose them. If you do not know
|
||||||
not lose them. If you do not know how to use Git, follow this [tutorial][5] and
|
how to use Git, follow this [tutorial][5] and bookmark this [reference][6].
|
||||||
bookmark this [reference][6].
|
|
||||||
|
|
||||||
Resources
|
Resources
|
||||||
---------
|
---------
|
||||||
@ -85,8 +96,7 @@ License
|
|||||||
|
|
||||||
(The MIT License)
|
(The MIT License)
|
||||||
|
|
||||||
Copyright (c) 2009-2011 Robby Russell and contributors.
|
Copyright (c) 2009-2012 Robby Russell, Sorin Ionescu, and contributors.
|
||||||
Copyright (c) 2011-2014 Sorin Ionescu and contributors.
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
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
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
@ -107,10 +117,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|||||||
SOFTWARE.
|
SOFTWARE.
|
||||||
|
|
||||||
[1]: http://www.zsh.org
|
[1]: http://www.zsh.org
|
||||||
[2]: http://i.imgur.com/AzjmpwM.png "sorin theme"
|
[2]: http://i.imgur.com/nBEEZ.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
|
||||||
|
|
||||||
|
5
init.zsh
5
init.zsh
@ -10,7 +10,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Check for the minimum supported version.
|
# Check for the minimum supported version.
|
||||||
min_zsh_version='4.3.17'
|
min_zsh_version='4.3.10'
|
||||||
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
|
print "prezto: old shell detected, minimum required: $min_zsh_version" >&2
|
||||||
return 1
|
return 1
|
||||||
@ -25,7 +25,7 @@ unset min_zsh_version
|
|||||||
function pmodload {
|
function pmodload {
|
||||||
local -a pmodules
|
local -a pmodules
|
||||||
local pmodule
|
local pmodule
|
||||||
local pfunction_glob='^([_.]*|prompt_*_setup|README*)(-.N:t)'
|
local pfunction_glob='^([_.]*|prompt_*_setup|README*)(.N:t)'
|
||||||
|
|
||||||
# $argv is overridden in the anonymous function.
|
# $argv is overridden in the anonymous function.
|
||||||
pmodules=("$argv[@]")
|
pmodules=("$argv[@]")
|
||||||
@ -111,3 +111,4 @@ unset zfunction{s,}
|
|||||||
zstyle -a ':prezto:load' pmodule 'pmodules'
|
zstyle -a ':prezto:load' pmodule 'pmodules'
|
||||||
pmodload "$pmodules[@]"
|
pmodload "$pmodules[@]"
|
||||||
unset pmodules
|
unset pmodules
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ Load modules in *zpreztorc*. The order matters.
|
|||||||
Archive
|
Archive
|
||||||
-------
|
-------
|
||||||
|
|
||||||
Provides functions to list and extract archives.
|
Provides functions to extract and list popular archive formats.
|
||||||
|
|
||||||
Command-Not-Found
|
Command-Not-Found
|
||||||
-----------------
|
-----------------
|
||||||
@ -31,41 +31,20 @@ Dpkg
|
|||||||
|
|
||||||
Defines dpkg aliases and functions.
|
Defines dpkg aliases and functions.
|
||||||
|
|
||||||
Editor
|
|
||||||
------
|
|
||||||
|
|
||||||
Sets key bindings.
|
|
||||||
|
|
||||||
Emacs
|
|
||||||
-----
|
|
||||||
|
|
||||||
Enables Emacs dependency management.
|
|
||||||
|
|
||||||
Environment
|
Environment
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
Sets general shell options and defines environment variables.
|
Sets general shell options and defines environment variables.
|
||||||
|
|
||||||
Fasd
|
|
||||||
----
|
|
||||||
|
|
||||||
Maintains a frequently used file and directory list for fast access.
|
|
||||||
|
|
||||||
Git
|
|
||||||
---
|
|
||||||
|
|
||||||
Enhances the Git distributed version control system by providing aliases,
|
|
||||||
functions and by exposing repository status information to prompts.
|
|
||||||
|
|
||||||
GNU Utility
|
GNU Utility
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
Provides for the interactive use of GNU utilities on non-GNU systems.
|
Provides for the interactive use of GNU utilities on non-GNU systems.
|
||||||
|
|
||||||
GPG
|
GPG-Agent
|
||||||
---
|
---------
|
||||||
|
|
||||||
Provides for an easier use of GPG by setting up gpg-agent.
|
Provides for an easier use of gpg-agent.
|
||||||
|
|
||||||
Haskell
|
Haskell
|
||||||
-------
|
-------
|
||||||
@ -77,20 +56,15 @@ Helper
|
|||||||
|
|
||||||
Provides helper functions for developing modules.
|
Provides helper functions for developing modules.
|
||||||
|
|
||||||
History
|
|
||||||
-------
|
|
||||||
|
|
||||||
Sets history options and defines history aliases.
|
|
||||||
|
|
||||||
History Substring Search
|
History Substring Search
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
Integrates zsh-history-substring-search into Prezto.
|
Integrates zsh-history-substring-search into Prezto.
|
||||||
|
|
||||||
Homebrew
|
History
|
||||||
--------
|
-------
|
||||||
|
|
||||||
Defines Homebrew aliases.
|
Sets history options and defines history aliases.
|
||||||
|
|
||||||
Macports
|
Macports
|
||||||
--------
|
--------
|
||||||
@ -102,11 +76,6 @@ Node.js
|
|||||||
|
|
||||||
Provides utility functions for Node.js and loads npm completion.
|
Provides utility functions for Node.js and loads npm completion.
|
||||||
|
|
||||||
OCaml
|
|
||||||
-----
|
|
||||||
|
|
||||||
Initializes OCaml package management.
|
|
||||||
|
|
||||||
OSX
|
OSX
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -158,10 +127,10 @@ Spectrum
|
|||||||
|
|
||||||
Provides for easier use of 256 colors and effects.
|
Provides for easier use of 256 colors and effects.
|
||||||
|
|
||||||
SSH
|
SSH-Agent
|
||||||
---
|
---------
|
||||||
|
|
||||||
Provides for an easier use of SSH by setting up ssh-agent.
|
Provides for an easier use of ssh-agent.
|
||||||
|
|
||||||
Syntax Highlighting
|
Syntax Highlighting
|
||||||
-------------------
|
-------------------
|
||||||
@ -192,3 +161,10 @@ Yum
|
|||||||
---
|
---
|
||||||
|
|
||||||
Defines yum aliases.
|
Defines yum aliases.
|
||||||
|
|
||||||
|
Z
|
||||||
|
-
|
||||||
|
|
||||||
|
Integrates z into Prezto, which maintains a frequently used directory list for
|
||||||
|
fast directory changes.
|
||||||
|
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
Archive
|
Archive
|
||||||
=======
|
=======
|
||||||
|
|
||||||
Provides functions to list and extract archives.
|
Provides functions to extract and list popular archive formats.
|
||||||
|
|
||||||
Functions
|
Functions
|
||||||
---------
|
---------
|
||||||
|
|
||||||
- `lsarchive` lists the contents of one or more archives.
|
- `extract` extracts the contents of one or more archives.
|
||||||
- `unarchive` extracts the contents of one or more archives.
|
- `ls-archive` lists the contents of one or more archives.
|
||||||
|
|
||||||
Supported Formats
|
Supported Formats
|
||||||
-----------------
|
-----------------
|
||||||
@ -26,7 +26,7 @@ installed:
|
|||||||
- *.lzma* requires `unlzma`.
|
- *.lzma* requires `unlzma`.
|
||||||
- *.Z* requires `uncompress`.
|
- *.Z* requires `uncompress`.
|
||||||
- *.zip* requires `unzip`.
|
- *.zip* requires `unzip`.
|
||||||
- *.rar* requires `unrar` or `rar`.
|
- *.rar* requires `unrar`.
|
||||||
- *.7z* requires `7za`.
|
- *.7z* requires `7za`.
|
||||||
- *.deb* requires `ar`, `tar`.
|
- *.deb* requires `ar`, `tar`.
|
||||||
|
|
||||||
@ -38,3 +38,4 @@ 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
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
#compdef unarchive
|
#compdef extract
|
||||||
#autoload
|
#autoload
|
||||||
|
|
||||||
#
|
#
|
||||||
# Completes unarchive.
|
# Completes extract.
|
||||||
#
|
#
|
||||||
# Authors:
|
# Authors:
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
@ -11,3 +11,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|rar|7z|deb)(-.)'" && return 0
|
||||||
|
|
@ -1,8 +1,8 @@
|
|||||||
#compdef lsarchive
|
#compdef ls-archive
|
||||||
#autoload
|
#autoload
|
||||||
|
|
||||||
#
|
#
|
||||||
# Completes lsarchive.
|
# Completes ls-archive.
|
||||||
#
|
#
|
||||||
# Authors:
|
# Authors:
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
@ -11,3 +11,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|rar|7z)(-.)'" && return 0
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Extracts the contents of archives.
|
# Extracts the contents of popular archive formats.
|
||||||
#
|
#
|
||||||
# Authors:
|
# Authors:
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
@ -37,7 +37,7 @@ while (( $# > 0 )); do
|
|||||||
success=0
|
success=0
|
||||||
file_name="${1:t}"
|
file_name="${1:t}"
|
||||||
extract_dir="${file_name:r}"
|
extract_dir="${file_name:r}"
|
||||||
case "$1:l" in
|
case "$1" 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 \
|
||||||
@ -53,9 +53,7 @@ while (( $# > 0 )); do
|
|||||||
(*.lzma) unlzma "$1" ;;
|
(*.lzma) unlzma "$1" ;;
|
||||||
(*.Z) uncompress "$1" ;;
|
(*.Z) uncompress "$1" ;;
|
||||||
(*.zip) unzip "$1" -d $extract_dir ;;
|
(*.zip) unzip "$1" -d $extract_dir ;;
|
||||||
(*.rar) unrar &> /dev/null \
|
(*.rar) unrar e -ad "$1" ;;
|
||||||
&& unrar x -ad "$1" \
|
|
||||||
|| rar x -ad "$1" ;;
|
|
||||||
(*.7z) 7za x "$1" ;;
|
(*.7z) 7za x "$1" ;;
|
||||||
(*.deb)
|
(*.deb)
|
||||||
mkdir -p "$extract_dir/control"
|
mkdir -p "$extract_dir/control"
|
||||||
@ -76,3 +74,4 @@ while (( $# > 0 )); do
|
|||||||
(( $success == 0 )) && (( $remove_archive == 0 )) && rm "$1"
|
(( $success == 0 )) && (( $remove_archive == 0 )) && rm "$1"
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Lists the contents of archives.
|
# Lists the contents of popular archive formats.
|
||||||
#
|
#
|
||||||
# Authors:
|
# Authors:
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
@ -30,7 +30,7 @@ while (( $# > 0 )); do
|
|||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case "$1:l" in
|
case "$1" 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 \
|
||||||
@ -41,15 +41,14 @@ while (( $# > 0 )); do
|
|||||||
|| 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) unzip -l${verbose:+v} "$1" ;;
|
||||||
(*.rar) unrar &> /dev/null \
|
(*.rar) unrar ${${verbose:+v}:-l} "$1" ;;
|
||||||
&& unrar ${${verbose:+v}:-l} "$1" \
|
|
||||||
|| rar ${${verbose:+v}:-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
|
||||||
|
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
@ -1,8 +1,7 @@
|
|||||||
Command-Not-Found
|
Command-Not-Found
|
||||||
=================
|
=================
|
||||||
|
|
||||||
Displays installation information for not found commands by loading the
|
Loads the [command-not-found][1] tool on Debian-based distributions.
|
||||||
[command-not-found][1] tool on Debian-based and Arch Linux-based distributions.
|
|
||||||
|
|
||||||
Authors
|
Authors
|
||||||
-------
|
-------
|
||||||
@ -13,3 +12,4 @@ Authors
|
|||||||
|
|
||||||
[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/sorin-ionescu/prezto/issues
|
||||||
|
|
||||||
|
@ -5,13 +5,10 @@
|
|||||||
# Joseph Jon Booker <joe@neoturbine.net>
|
# Joseph Jon Booker <joe@neoturbine.net>
|
||||||
#
|
#
|
||||||
|
|
||||||
# Load command-not-found on Debian-based distributions.
|
|
||||||
if [[ -s '/etc/zsh_command_not_found' ]]; then
|
|
||||||
source '/etc/zsh_command_not_found'
|
|
||||||
# Load command-not-found on Arch Linux-based distributions.
|
|
||||||
elif [[ -s '/usr/share/doc/pkgfile/command-not-found.zsh' ]]; then
|
|
||||||
source '/usr/share/doc/pkgfile/command-not-found.zsh'
|
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
else
|
if [[ ! -s '/etc/zsh_command_not_found' ]]; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
source '/etc/zsh_command_not_found'
|
||||||
|
|
||||||
|
@ -21,3 +21,4 @@ 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...9ef8d2f088
@ -30,6 +30,9 @@ setopt AUTO_PARAM_SLASH # If completed parameter is a directory, add a traili
|
|||||||
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.
|
||||||
|
|
||||||
|
# Treat these characters as part of a word.
|
||||||
|
WORDCHARS='*?_-.[]~&;!#$%^(){}<>'
|
||||||
|
|
||||||
#
|
#
|
||||||
# Styles
|
# Styles
|
||||||
#
|
#
|
||||||
@ -93,7 +96,7 @@ zstyle ':completion::*:(-command-|export):*' fake-parameters ${${${_comps[(I)-va
|
|||||||
|
|
||||||
# Populate hostname completion.
|
# Populate hostname completion.
|
||||||
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)"}%%[#| ]*}//,/ }
|
||||||
${=${(f)"$(cat /etc/hosts(|)(N) <<(ypcat hosts 2>/dev/null))"}%%\#*}
|
${=${(f)"$(cat /etc/hosts(|)(N) <<(ypcat hosts 2>/dev/null))"}%%\#*}
|
||||||
${=${${${${(@M)${(f)"$(cat ~/.ssh/config 2>/dev/null)"}:#Host *}#Host }:#*\**}:#*\?*}}
|
${=${${${${(@M)${(f)"$(cat ~/.ssh/config 2>/dev/null)"}:#Host *}#Host }:#*\**}:#*\?*}}
|
||||||
)'
|
)'
|
||||||
@ -116,7 +119,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 $USER -o pid,user,comm -w'
|
||||||
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;36=0=01'
|
zstyle ':completion:*:*:kill:*: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
|
||||||
@ -141,8 +144,9 @@ 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:*:(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:*' tag-order users '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 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,3 +33,4 @@ 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
|
||||||
|
|
||||||
|
@ -28,3 +28,4 @@ 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
|
||||||
|
|
||||||
|
@ -7,16 +7,16 @@ Aliases
|
|||||||
-------
|
-------
|
||||||
|
|
||||||
- `debc` cleans the cache.
|
- `debc` cleans the cache.
|
||||||
- `debf` displays a file's package.
|
- `debf` displays a file's packake.
|
||||||
- `debi` installs packages from repositories.
|
- `debi` installs packages from repositories.
|
||||||
- `debI` installs packages from files.
|
- `debI` installs packages from files.
|
||||||
- `debq` displays package information.
|
- `debq` displays package information.
|
||||||
- `debu` updates the package lists.
|
- `debu` updates the packages lists.
|
||||||
- `debU` upgrades outdated packages.
|
- `debU` upgrades outdated packages.
|
||||||
- `debx` removes packages.
|
- `debx` removes packages.
|
||||||
- `debX` removes packages, their configuration, and unneeded dependencies.
|
- `debX` removes packages, their configuration, and unneeded dependencies.
|
||||||
- `debs` searches for packages.
|
- `debs` searches for packages.
|
||||||
- `deb-build` creates a basic deb package.
|
- `deb-build` creates a basic .deb package.
|
||||||
- `deb-kclean` removes all kernel images and headers, except for the ones in
|
- `deb-kclean` removes all kernel images and headers, except for the ones in
|
||||||
use.
|
use.
|
||||||
|
|
||||||
@ -39,3 +39,4 @@ 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
|
||||||
|
|
||||||
|
@ -23,3 +23,4 @@ rm "$clone_script"
|
|||||||
print '#!/bin/sh\n' > "$clone_script"
|
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"
|
||||||
|
|
||||||
|
@ -34,3 +34,4 @@ Commands:
|
|||||||
EOF
|
EOF
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
@ -12,3 +12,4 @@ MAKEFLAGS='' time fakeroot make-kpkg \
|
|||||||
--revision "$(date +"%Y%m%d")" \
|
--revision "$(date +"%Y%m%d")" \
|
||||||
kernel_image \
|
kernel_image \
|
||||||
kernel_headers
|
kernel_headers
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ fi
|
|||||||
# Cleans the cache.
|
# Cleans the cache.
|
||||||
alias debc='sudo apt-get clean && sudo apt-get autoclean'
|
alias debc='sudo apt-get clean && sudo apt-get autoclean'
|
||||||
|
|
||||||
# Displays a file's package.
|
# Displays a file's packake.
|
||||||
alias debf='apt-file search --regexp'
|
alias debf='apt-file search --regexp'
|
||||||
|
|
||||||
# Installs packages from repositories.
|
# Installs packages from repositories.
|
||||||
@ -31,7 +31,7 @@ alias debI='sudo dpkg -i'
|
|||||||
# Displays package information.
|
# Displays package information.
|
||||||
alias debq='apt-cache show'
|
alias debq='apt-cache show'
|
||||||
|
|
||||||
# Updates the package lists.
|
# Updates the packages lists.
|
||||||
alias debu='sudo apt-get update'
|
alias debu='sudo apt-get update'
|
||||||
|
|
||||||
# Upgrades outdated packages.
|
# Upgrades outdated packages.
|
||||||
@ -50,8 +50,9 @@ else
|
|||||||
alias debs='apt-cache search'
|
alias debs='apt-cache search'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Creates a basic deb package.
|
# Creates a basic .deb package.
|
||||||
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`))"'
|
||||||
|
|
||||||
|
@ -1,61 +0,0 @@
|
|||||||
Editor
|
|
||||||
======
|
|
||||||
|
|
||||||
Sets key bindings.
|
|
||||||
|
|
||||||
Settings
|
|
||||||
--------
|
|
||||||
|
|
||||||
### Key bindings
|
|
||||||
|
|
||||||
To enable key bindings, add the following to *zpreztorc*, and replace 'bindings'
|
|
||||||
with 'emacs' or 'vi'.
|
|
||||||
|
|
||||||
zstyle ':prezto:module:editor' key-bindings 'bindings'
|
|
||||||
|
|
||||||
### Dot Expansion
|
|
||||||
|
|
||||||
To enable the auto conversion of .... to ../.., add the following to
|
|
||||||
*zpreztorc*.
|
|
||||||
|
|
||||||
zstyle ':prezto:module:editor' dot-expansion 'yes'
|
|
||||||
|
|
||||||
Theming
|
|
||||||
-------
|
|
||||||
|
|
||||||
To indicate when the editor is in the primary keymap (emacs or viins), add
|
|
||||||
the following to your `theme_prompt_setup` function.
|
|
||||||
|
|
||||||
zstyle ':prezto:module:editor:info:keymap:primary' format '>>>'
|
|
||||||
|
|
||||||
To indicate when the editor is in the primary keymap (emacs or viins) insert
|
|
||||||
mode, add the following to your `theme_prompt_setup` function.
|
|
||||||
|
|
||||||
zstyle ':prezto:module:editor:info:keymap:primary:insert' format 'I'
|
|
||||||
|
|
||||||
To indicate when the editor is in the primary keymap (emacs or viins) overwrite
|
|
||||||
mode, add the following to your `theme_prompt_setup` function.
|
|
||||||
|
|
||||||
zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format 'O'
|
|
||||||
|
|
||||||
To indicate when the editor is in the alternate keymap (vicmd), add the
|
|
||||||
following to your `theme_prompt_setup` function.
|
|
||||||
|
|
||||||
zstyle ':prezto:module:editor:info:keymap:alternate' format '<<<'
|
|
||||||
|
|
||||||
To indicate when the editor is completing, add the following to your
|
|
||||||
`theme_prompt_setup` function.
|
|
||||||
|
|
||||||
zstyle ':prezto:module:editor:info:completing' format '...'
|
|
||||||
|
|
||||||
Then add `$editor_info[context]`, where context is *keymap*, *insert*, or
|
|
||||||
*overwrite*, to `$PROMPT` or `$RPROMPT`.
|
|
||||||
|
|
||||||
Authors
|
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][1].*
|
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
|
||||||
|
|
||||||
[1]: https://github.com/sorin-ionescu/oh-my-zsh/issues
|
|
@ -4,6 +4,42 @@
|
|||||||
# Authors:
|
# Authors:
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
# Usage:
|
||||||
|
# To enable key bindings, add the following to zpreztorc, and replace 'map'
|
||||||
|
# with 'emacs' or 'vi.
|
||||||
|
#
|
||||||
|
# zstyle ':prezto:module:editor' keymap 'map'
|
||||||
|
#
|
||||||
|
# To enable the auto conversion of .... to ../.., add the following to
|
||||||
|
# zpreztorc.
|
||||||
|
#
|
||||||
|
# zstyle ':prezto:module:editor' dot-expansion 'yes'
|
||||||
|
#
|
||||||
|
# To indicate when the editor is in the primary keymap (emacs or viins), add
|
||||||
|
# the following to your theme prompt setup function.
|
||||||
|
#
|
||||||
|
# zstyle ':prezto:module:editor:info:keymap:primary' format '>>>'
|
||||||
|
#
|
||||||
|
# To indicate when the editor is in the primary keymap (emacs or viins) insert
|
||||||
|
# mode, add the following to your theme prompt setup function.
|
||||||
|
#
|
||||||
|
# zstyle ':prezto:module:editor:info:keymap:primary:insert' format 'I'
|
||||||
|
#
|
||||||
|
# To indicate when the editor is in the primary keymap (emacs or viins)
|
||||||
|
# overwrite mode, add the following to your theme prompt setup function.
|
||||||
|
#
|
||||||
|
# zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format 'O'
|
||||||
|
#
|
||||||
|
# To indicate when the editor is in the alternate keymap (vicmd), add the
|
||||||
|
# following to your theme prompt setup function.
|
||||||
|
#
|
||||||
|
# zstyle ':prezto:module:editor:info:keymap:alternate' format '<<<'
|
||||||
|
#
|
||||||
|
# To indicate when the editor is completing, add the following to your theme
|
||||||
|
# prompt setup function.
|
||||||
|
#
|
||||||
|
# zstyle ':prezto:module:editor:info:completing' format '...'
|
||||||
|
#
|
||||||
|
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
if [[ "$TERM" == 'dumb' ]]; then
|
if [[ "$TERM" == 'dumb' ]]; then
|
||||||
@ -21,49 +57,45 @@ setopt BEEP
|
|||||||
# Variables
|
# Variables
|
||||||
#
|
#
|
||||||
|
|
||||||
# Treat these characters as part of a word.
|
|
||||||
WORDCHARS='*?_-.[]~&;!#$%^(){}<>'
|
|
||||||
|
|
||||||
# Use human-friendly identifiers.
|
# Use human-friendly identifiers.
|
||||||
zmodload zsh/terminfo
|
zmodload zsh/terminfo
|
||||||
typeset -gA key_info
|
typeset -gA key_info
|
||||||
key_info=(
|
key_info=(
|
||||||
'Control' '\C-'
|
'Control' '\C-'
|
||||||
'ControlLeft' '\e[1;5D \e[5D \e\e[D \eOd'
|
'Escape' '\e'
|
||||||
'ControlRight' '\e[1;5C \e[5C \e\e[C \eOc'
|
'Meta' '\M-'
|
||||||
'Escape' '\e'
|
'Backspace' "^?"
|
||||||
'Meta' '\M-'
|
'Delete' "^[[3~"
|
||||||
'Backspace' "^?"
|
'F1' "$terminfo[kf1]"
|
||||||
'Delete' "^[[3~"
|
'F2' "$terminfo[kf2]"
|
||||||
'F1' "$terminfo[kf1]"
|
'F3' "$terminfo[kf3]"
|
||||||
'F2' "$terminfo[kf2]"
|
'F4' "$terminfo[kf4]"
|
||||||
'F3' "$terminfo[kf3]"
|
'F5' "$terminfo[kf5]"
|
||||||
'F4' "$terminfo[kf4]"
|
'F6' "$terminfo[kf6]"
|
||||||
'F5' "$terminfo[kf5]"
|
'F7' "$terminfo[kf7]"
|
||||||
'F6' "$terminfo[kf6]"
|
'F8' "$terminfo[kf8]"
|
||||||
'F7' "$terminfo[kf7]"
|
'F9' "$terminfo[kf9]"
|
||||||
'F8' "$terminfo[kf8]"
|
'F10' "$terminfo[kf10]"
|
||||||
'F9' "$terminfo[kf9]"
|
'F11' "$terminfo[kf11]"
|
||||||
'F10' "$terminfo[kf10]"
|
'F12' "$terminfo[kf12]"
|
||||||
'F11' "$terminfo[kf11]"
|
'Insert' "$terminfo[kich1]"
|
||||||
'F12' "$terminfo[kf12]"
|
'Home' "$terminfo[khome]"
|
||||||
'Insert' "$terminfo[kich1]"
|
'PageUp' "$terminfo[kpp]"
|
||||||
'Home' "$terminfo[khome]"
|
'End' "$terminfo[kend]"
|
||||||
'PageUp' "$terminfo[kpp]"
|
'PageDown' "$terminfo[knp]"
|
||||||
'End' "$terminfo[kend]"
|
'Up' "$terminfo[kcuu1]"
|
||||||
'PageDown' "$terminfo[knp]"
|
'Left' "$terminfo[kcub1]"
|
||||||
'Up' "$terminfo[kcuu1]"
|
'Down' "$terminfo[kcud1]"
|
||||||
'Left' "$terminfo[kcub1]"
|
'Right' "$terminfo[kcuf1]"
|
||||||
'Down' "$terminfo[kcud1]"
|
'BackTab' "$terminfo[kcbt]"
|
||||||
'Right' "$terminfo[kcuf1]"
|
|
||||||
'BackTab' "$terminfo[kcbt]"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Set empty $key_info values to an invalid UTF-8 sequence to induce silent
|
# Do not bind any keys if there are empty values in $key_info.
|
||||||
# bindkey failure.
|
|
||||||
for key in "${(k)key_info[@]}"; do
|
for key in "${(k)key_info[@]}"; do
|
||||||
if [[ -z "$key_info[$key]" ]]; then
|
if [[ -z "$key_info[$key]" ]]; then
|
||||||
key_info[$key]='<27>'
|
print "prezto: one or more keys are non-bindable" >&2
|
||||||
|
unset key{,_info}
|
||||||
|
return 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -110,38 +142,12 @@ function editor-info {
|
|||||||
zle -N editor-info
|
zle -N editor-info
|
||||||
|
|
||||||
# Updates editor information when the keymap changes.
|
# Updates editor information when the keymap changes.
|
||||||
function zle-keymap-select {
|
function zle-keymap-select zle-line-init zle-line-finish {
|
||||||
zle editor-info
|
zle editor-info
|
||||||
}
|
}
|
||||||
zle -N zle-keymap-select
|
zle -N zle-keymap-select
|
||||||
|
|
||||||
# Enables terminal application mode and updates editor information.
|
|
||||||
function zle-line-init {
|
|
||||||
# The terminal must be in application mode when ZLE is active for $terminfo
|
|
||||||
# values to be valid.
|
|
||||||
if (( $+terminfo[smkx] )); then
|
|
||||||
# Enable terminal application mode.
|
|
||||||
echoti smkx
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Update editor information.
|
|
||||||
zle editor-info
|
|
||||||
}
|
|
||||||
zle -N zle-line-init
|
|
||||||
|
|
||||||
# Disables terminal application mode and updates editor information.
|
|
||||||
function zle-line-finish {
|
|
||||||
# The terminal must be in application mode when ZLE is active for $terminfo
|
|
||||||
# values to be valid.
|
|
||||||
if (( $+terminfo[rmkx] )); then
|
|
||||||
# Disable terminal application mode.
|
|
||||||
echoti rmkx
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Update editor information.
|
|
||||||
zle editor-info
|
|
||||||
}
|
|
||||||
zle -N zle-line-finish
|
zle -N zle-line-finish
|
||||||
|
zle -N zle-line-init
|
||||||
|
|
||||||
# Toggles emacs overwrite mode and updates editor information.
|
# Toggles emacs overwrite mode and updates editor information.
|
||||||
function overwrite-mode {
|
function overwrite-mode {
|
||||||
@ -208,10 +214,10 @@ bindkey -d
|
|||||||
# Emacs Key Bindings
|
# Emacs Key Bindings
|
||||||
#
|
#
|
||||||
|
|
||||||
for key in "$key_info[Escape]"{B,b} "${(s: :)key_info[ControlLeft]}"
|
for key ("$key_info[Escape]"{B,b}) bindkey -M emacs "$key" emacs-backward-word
|
||||||
bindkey -M emacs "$key" emacs-backward-word
|
for key ("$key_info[Escape]"{F,f}) bindkey -M emacs "$key" emacs-forward-word
|
||||||
for key in "$key_info[Escape]"{F,f} "${(s: :)key_info[ControlRight]}"
|
bindkey -M emacs "$key_info[Escape]$key_info[Left]" emacs-backward-word
|
||||||
bindkey -M emacs "$key" emacs-forward-word
|
bindkey -M emacs "$key_info[Escape]$key_info[Right]" 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}
|
||||||
@ -247,6 +253,10 @@ bindkey -M vicmd "v" edit-command-line
|
|||||||
bindkey -M vicmd "u" undo
|
bindkey -M vicmd "u" undo
|
||||||
bindkey -M vicmd "$key_info[Control]R" redo
|
bindkey -M vicmd "$key_info[Control]R" redo
|
||||||
|
|
||||||
|
# Switch to command mode.
|
||||||
|
bindkey -M viins "jk" vi-cmd-mode
|
||||||
|
bindkey -M viins "kj" vi-cmd-mode
|
||||||
|
|
||||||
if (( $+widgets[history-incremental-pattern-search-backward] )); then
|
if (( $+widgets[history-incremental-pattern-search-backward] )); then
|
||||||
bindkey -M vicmd "?" history-incremental-pattern-search-backward
|
bindkey -M vicmd "?" history-incremental-pattern-search-backward
|
||||||
bindkey -M vicmd "/" history-incremental-pattern-search-forward
|
bindkey -M vicmd "/" history-incremental-pattern-search-forward
|
||||||
@ -317,13 +327,14 @@ fi
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Set the key layout.
|
# Set the key layout.
|
||||||
zstyle -s ':prezto:module:editor' key-bindings 'key_bindings'
|
zstyle -s ':prezto:module:editor' keymap 'keymap'
|
||||||
if [[ "$key_bindings" == (emacs|) ]]; then
|
if [[ "$keymap" == (emacs|) ]]; then
|
||||||
bindkey -e
|
bindkey -e
|
||||||
elif [[ "$key_bindings" == vi ]]; then
|
elif [[ "$keymap" == vi ]]; then
|
||||||
bindkey -v
|
bindkey -v
|
||||||
else
|
else
|
||||||
print "prezto: editor: invalid key bindings: $key_bindings" >&2
|
print "prezto: invalid keymap: $keymap" >&2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
unset key{,map,bindings}
|
unset key{map,}
|
||||||
|
|
||||||
|
@ -1,33 +0,0 @@
|
|||||||
Emacs
|
|
||||||
=====
|
|
||||||
|
|
||||||
Enables Emacs dependency management.
|
|
||||||
|
|
||||||
Dependency management
|
|
||||||
---------------------
|
|
||||||
|
|
||||||
[Carton][1] installs and manages Emacs packages for Emacs package development
|
|
||||||
and Emacs configuration.
|
|
||||||
|
|
||||||
This module prepends the Carton directory to the path variable to enable the
|
|
||||||
execution of `carton`.
|
|
||||||
|
|
||||||
Aliases
|
|
||||||
-------
|
|
||||||
|
|
||||||
### Carton
|
|
||||||
|
|
||||||
- `cai` installs dependencies.
|
|
||||||
- `cau` updates dependencies.
|
|
||||||
- `caI` initializes the current directory for dependency management.
|
|
||||||
- `cae` executes a command which correct dependencies.
|
|
||||||
|
|
||||||
Authors
|
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][2].*
|
|
||||||
|
|
||||||
- [Sebastian Wiesner](https://github.com/lunaryorn)
|
|
||||||
|
|
||||||
[1]: https://github.com/rejeep/carton
|
|
||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
|
|
@ -1,25 +0,0 @@
|
|||||||
#
|
|
||||||
# Configures Emacs dependency management.
|
|
||||||
#
|
|
||||||
# Authors: Sebastian Wiesner <lunaryorn@gmail.com>
|
|
||||||
#
|
|
||||||
|
|
||||||
# Return if requirements are not found.
|
|
||||||
if [[ ! -d "$HOME/.cask" ]]; then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Prepend Cask bin directory.
|
|
||||||
path=($HOME/.cask/bin $path)
|
|
||||||
|
|
||||||
# Load Carton completion
|
|
||||||
source "$HOME/.cask/etc/cask_completion.zsh" 2> /dev/null
|
|
||||||
|
|
||||||
#
|
|
||||||
# Aliases
|
|
||||||
#
|
|
||||||
|
|
||||||
alias cai='cask install'
|
|
||||||
alias cau='cask update'
|
|
||||||
alias caI='cask init'
|
|
||||||
alias cae='cask exec'
|
|
@ -23,3 +23,4 @@ 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
|
||||||
|
|
||||||
|
@ -17,8 +17,6 @@ zle -N self-insert url-quote-magic
|
|||||||
#
|
#
|
||||||
|
|
||||||
setopt BRACE_CCL # Allow brace character class list expansion.
|
setopt BRACE_CCL # Allow brace character class list expansion.
|
||||||
setopt COMBINING_CHARS # Combine zero-length punctuation characters (accents)
|
|
||||||
# with the base character.
|
|
||||||
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.
|
||||||
|
|
||||||
@ -55,3 +53,4 @@ 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
|
||||||
|
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
#Explainshell
|
|
||||||
|
|
||||||
Adds a keybinding and a function to open
|
|
||||||
[explainshell.com](http://www.explainshell.com) with the content of the command
|
|
||||||
line.
|
|
||||||
|
|
||||||
##Settings
|
|
||||||
###Key-Binding
|
|
||||||
The keybinding to open [explainshell.com](http://www.explainshell.com)
|
|
||||||
|
|
||||||
`zstyle ':prezto:module:explainshell' key-binding '^K'`
|
|
@ -1,63 +0,0 @@
|
|||||||
#
|
|
||||||
# Adds a explain function and explainshell widget
|
|
||||||
#
|
|
||||||
# Authors
|
|
||||||
# C Lentfort
|
|
||||||
#
|
|
||||||
|
|
||||||
function _expand_alias_recursive {
|
|
||||||
local _alias
|
|
||||||
for word in "$@"; do
|
|
||||||
# Check if word is aliased
|
|
||||||
_alias=$aliases[$word]
|
|
||||||
if [ -n "$_alias" ]; then
|
|
||||||
# Check if found alias and given command are identical
|
|
||||||
if [[ "$_alias" != "${(j: :)@}" ]]; then
|
|
||||||
_expand_alias_recursive "${(z)_alias}"
|
|
||||||
else
|
|
||||||
_explainshell_expanded_buffer+=$1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
_explainshell_expanded_buffer+=$word
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
function explain {
|
|
||||||
local url
|
|
||||||
# We don't explain empty buffers
|
|
||||||
if (( $# == 0 )); then
|
|
||||||
return 1;
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Replace aliases with their actual expansions
|
|
||||||
_explainshell_expanded_buffer=()
|
|
||||||
_expand_alias_recursive $@
|
|
||||||
_explainshell_expanded_buffer=(${(u)_explainshell_expanded_buffer})
|
|
||||||
# base url with first command already injected
|
|
||||||
# $ explain tar
|
|
||||||
# => http://explainshel.com/explain/tar?args=
|
|
||||||
url="http://explainshell.com/explain?cmd="
|
|
||||||
|
|
||||||
# iterates over remaining args and adds builds the rest of the url
|
|
||||||
for i in "$_explainshell_expanded_buffer"; do
|
|
||||||
url=$url"$i""+"
|
|
||||||
done
|
|
||||||
|
|
||||||
unset _explainshell_expanded_buffer
|
|
||||||
# opens url in browser
|
|
||||||
$BROWSER -t $url &> /dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
function explainshell {
|
|
||||||
explain ${(z)BUFFER}
|
|
||||||
}
|
|
||||||
|
|
||||||
zle -N explainshell
|
|
||||||
|
|
||||||
zstyle -s ':prezto:module:explainshell' key-binding 'key_binding'
|
|
||||||
if [[ -n "$key_binding" ]]; then
|
|
||||||
bindkey "$key_binding" explainshell
|
|
||||||
fi
|
|
||||||
|
|
||||||
unset key_binding
|
|
@ -36,3 +36,4 @@ 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
|
||||||
|
|
||||||
|
@ -51,3 +51,4 @@ 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'
|
||||||
|
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
Git
|
Git
|
||||||
===
|
===
|
||||||
|
|
||||||
Enhances the [Git][1] distributed version control system by providing aliases,
|
Enhances the [Git][1] distributed version control system by providing aliases, functions and by exposing repository status information to prompts.
|
||||||
functions and by exposing repository status information to prompts.
|
|
||||||
|
|
||||||
Git **1.7.2** is the [minimum required version][7].
|
Git **1.7.2** is the [minimum required version][7].
|
||||||
|
|
||||||
@ -13,7 +12,7 @@ Settings
|
|||||||
|
|
||||||
The format of the [git-log][8] output is configurable via the following style,
|
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.
|
`--prety=format:` switch.
|
||||||
|
|
||||||
zstyle ':prezto:module:git:log:context' format ''
|
zstyle ':prezto:module:git:log:context' format ''
|
||||||
|
|
||||||
@ -39,8 +38,8 @@ Aliases
|
|||||||
- `gbc` creates a new branch.
|
- `gbc` creates a new branch.
|
||||||
- `gbl` lists branches and their commits.
|
- `gbl` lists branches and their commits.
|
||||||
- `gbL` lists local and remote branches and their commits.
|
- `gbL` lists local and remote branches and their commits.
|
||||||
- `gbs` lists branches and their commits with ancestry graphs.
|
- `gbs` lists branches and their commits with ancestery graphs.
|
||||||
- `gbS` lists local and remote branches and their commits with ancestry
|
- `gbS` lists local and remote branches and their commits with ancestery
|
||||||
graphs.
|
graphs.
|
||||||
- `gbx` deletes a branch.
|
- `gbx` deletes a branch.
|
||||||
- `gbX` deletes a branch irrespective of its merged status.
|
- `gbX` deletes a branch irrespective of its merged status.
|
||||||
@ -54,27 +53,16 @@ Aliases
|
|||||||
- `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.
|
||||||
- `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 paths to work tree using the *HEAD* commit.
|
||||||
- `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*.
|
||||||
- `gcF` amends the tip of the current branch.
|
|
||||||
- `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
|
||||||
commits.
|
commits.
|
||||||
- `gcR` removes the *HEAD* commit.
|
- `gcR` removes the *HEAD* commit.
|
||||||
- `gcs` displays various types of objects.
|
- `gcs` displays various types of objects.
|
||||||
- `gcl` lists lost commits.
|
- `gcl` displays lost commits.
|
||||||
|
|
||||||
### Conflict
|
|
||||||
|
|
||||||
- `gCl` lists unmerged files.
|
|
||||||
- `gCa` adds unmerged file contents to the index.
|
|
||||||
- `gCe` executes merge-tool on all unmerged file.
|
|
||||||
- `gCo` checks out our changes for unmerged paths.
|
|
||||||
- `gCO` checks out our changes for all unmerged paths.
|
|
||||||
- `gCt` checks out their changes for unmerged paths.
|
|
||||||
- `gCT` checks out their changes for all unmerged paths.
|
|
||||||
|
|
||||||
### Data
|
### Data
|
||||||
|
|
||||||
@ -97,8 +85,8 @@ Aliases
|
|||||||
|
|
||||||
- `gg` displays lines matching a pattern.
|
- `gg` displays lines matching a pattern.
|
||||||
- `ggi` displays lines matching a pattern ignoring case.
|
- `ggi` displays lines matching a pattern ignoring case.
|
||||||
- `ggl` lists files matching a pattern.
|
- `ggl` displays files matching a pattern.
|
||||||
- `ggL` lists files that are not matching a pattern.
|
- `ggL` displays files are not matching a pattern.
|
||||||
- `ggv` displays lines not matching a pattern.
|
- `ggv` displays lines not matching a pattern.
|
||||||
- `ggw` displays lines matching a pattern at word boundary.
|
- `ggw` displays lines matching a pattern at word boundary.
|
||||||
|
|
||||||
@ -109,11 +97,21 @@ 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).
|
||||||
- `gir` resets the current HEAD to the specified state.
|
- `gir` resets current HEAD to the specified state.
|
||||||
- `giR` resets the current index interactively.
|
- `giR` resets current index to the specified state.
|
||||||
- `gix` removes files/directories from the index (recursively).
|
- `gix` removes files/directories from the index (recursively).
|
||||||
- `giX` removes files/directories from the index (recursively and forced).
|
- `giX` removes files/directories from the index (recursively and forced).
|
||||||
|
|
||||||
|
### Conflict
|
||||||
|
|
||||||
|
- `gCl` lists unmerged files.
|
||||||
|
- `gCa` adds unmerged file contents to the index.
|
||||||
|
- `gCe` executes merge-tool on all unmerged file.
|
||||||
|
- `gCo` checks out our changes for unmerged paths.
|
||||||
|
- `gCO` checks out our changes for all unmerged paths.
|
||||||
|
- `gCt` checks out their changes for unmerged paths.
|
||||||
|
- `gCT` checks out their changes for all unmerged paths.
|
||||||
|
|
||||||
### Log
|
### Log
|
||||||
|
|
||||||
- `gl` displays the log.
|
- `gl` displays the log.
|
||||||
@ -155,12 +153,12 @@ Aliases
|
|||||||
### Remote
|
### Remote
|
||||||
|
|
||||||
- `gR` manages tracked repositories.
|
- `gR` manages tracked repositories.
|
||||||
- `gRl` lists remote names and their URLs.
|
- `gRl` displays remote names and URLs.
|
||||||
- `gRa` adds a new remote.
|
- `gRa` adds a new remote.
|
||||||
- `gRx` removes a remote.
|
- `gRx` removes a remote.
|
||||||
- `gRm` renames a remote.
|
- `gRm` renames a remote.
|
||||||
- `gRu` fetches remotes updates.
|
- `gRu` fetches remotes updates.
|
||||||
- `gRp` prunes all stale remote tracking branches.
|
- `gRc` deletes all stale remote tracking branches.
|
||||||
- `gRs` displays information about a given remote.
|
- `gRs` displays information about a given remote.
|
||||||
- `gRb` opens a remote on [GitHub][3] in the default browser.
|
- `gRb` opens a remote on [GitHub][3] in the default browser.
|
||||||
|
|
||||||
@ -170,9 +168,10 @@ Aliases
|
|||||||
- `gsa` applies the changes recorded in a stash to the working directory.
|
- `gsa` applies the changes recorded in a stash to the working directory.
|
||||||
- `gsx` drops a stashed state.
|
- `gsx` drops a stashed state.
|
||||||
- `gsX` drops all the stashed states.
|
- `gsX` drops all the stashed states.
|
||||||
|
- `gsd` lists dropped stashed states.
|
||||||
- `gsl` lists stashed states.
|
- `gsl` lists stashed states.
|
||||||
- `gsL` lists dropped stashed states.
|
- `gsL` displays the changes recorded in the stash as a diff between the
|
||||||
- `gsd` displays changes between the stash and its original parent.
|
stashed state and its original parent.
|
||||||
- `gsp` removes and applies a single stashed state from the stash list.
|
- `gsp` removes and applies a single stashed state from the stash list.
|
||||||
- `gsr` recovers a given stashed state.
|
- `gsr` recovers a given stashed state.
|
||||||
- `gss` stashes the changes of the dirty working directory, including untracked.
|
- `gss` stashes the changes of the dirty working directory, including untracked.
|
||||||
@ -247,47 +246,25 @@ setting a style is as follows.
|
|||||||
|
|
||||||
zstyle ':prezto:module:git:info:context:subcontext' format 'string'
|
zstyle ':prezto:module:git:info:context:subcontext' format 'string'
|
||||||
|
|
||||||
### Main Contexts
|
|
||||||
|
|
||||||
| Name | Format Code | Description
|
| Name | Format Code | Description
|
||||||
| --------- | :---------: | ---------------------------------------------------
|
| --------- | :---------: | ---------------------------------------------------
|
||||||
| action | %s | Special action name
|
| action | %s | Special action name
|
||||||
|
| added | %a | Added files count
|
||||||
| ahead | %A | Commits ahead of remote count
|
| ahead | %A | Commits ahead of remote count
|
||||||
| behind | %B | Commits behind of remote count
|
| behind | %B | Commits behind of remote count
|
||||||
| branch | %b | Branch name
|
| branch | %b | Branch name
|
||||||
| commit | %c | Commit hash
|
| commit | %c | Commit hash
|
||||||
| position | %p | Commits from the nearest tag count
|
|
||||||
| remote | %R | Remote name
|
|
||||||
| stashed | %S | Stashed states count
|
|
||||||
|
|
||||||
### Concise Contexts
|
|
||||||
|
|
||||||
| Name | Format Code | Description
|
|
||||||
| --------- | :---------: | ---------------------------------------------------
|
|
||||||
| clean | %C | Clean state
|
|
||||||
| dirty | %D | Dirty files count
|
|
||||||
| indexed | %i | Indexed files count
|
|
||||||
| unindexed | %I | Unindexed files count
|
|
||||||
| untracked | %u | Untracked files count
|
|
||||||
|
|
||||||
The following contexts must be enabled with the following zstyle:
|
|
||||||
|
|
||||||
zstyle ':prezto:module:git:info' verbose 'yes'
|
|
||||||
|
|
||||||
### Verbose Contexts
|
|
||||||
|
|
||||||
| Name | Format Code | Description
|
|
||||||
| --------- | :---------: | ---------------------------------------------------
|
|
||||||
| added | %a | Added files count
|
|
||||||
| clean | %C | Clean state
|
| clean | %C | Clean state
|
||||||
| deleted | %d | Deleted files count
|
| deleted | %d | Deleted files count
|
||||||
| dirty | %D | Dirty files count
|
| dirty | %D | Dirty files count
|
||||||
| modified | %m | Modified files count
|
| modified | %m | Modified files count
|
||||||
|
| position | %p | Commits from the nearest tag count
|
||||||
|
| remote | %R | Remote name
|
||||||
| renamed | %r | Renamed files count
|
| renamed | %r | Renamed files count
|
||||||
|
| stashed | %S | Stashed states count
|
||||||
| unmerged | %U | Unmerged files count
|
| unmerged | %U | Unmerged files count
|
||||||
| untracked | %u | Untracked files count
|
| untracked | %u | Untracked files count
|
||||||
|
[**Main Contexts**]
|
||||||
### Special Action Contexts
|
|
||||||
|
|
||||||
| Name | Format | Description
|
| Name | Format | Description
|
||||||
| -------------------- | :---------: | -----------------------------------------
|
| -------------------- | :---------: | -----------------------------------------
|
||||||
@ -299,6 +276,7 @@ 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
|
||||||
|
[**Special Action Contexts**]
|
||||||
|
|
||||||
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.
|
||||||
@ -312,7 +290,7 @@ Second, format how the above attributes are displayed in prompts.
|
|||||||
'prompt' ' git(%b)' \
|
'prompt' ' git(%b)' \
|
||||||
'rprompt' '[%R]'
|
'rprompt' '[%R]'
|
||||||
|
|
||||||
Last, add `$git_info[prompt]` to `$PROMPT` and `$git_info[rprompt]` to
|
Last, add `$git_info[prompt]` to `$PROMPT` and `$git_info[prompt]` to
|
||||||
`$RPROMPT` respectively and call `git-info` in the `prompt_name_preexec` hook
|
`$RPROMPT` respectively and call `git-info` in the `prompt_name_preexec` hook
|
||||||
function.
|
function.
|
||||||
|
|
||||||
@ -332,3 +310,4 @@ 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
|
||||||
|
|
||||||
|
@ -42,13 +42,12 @@ alias gbs='git show-branch'
|
|||||||
alias gbS='git show-branch -a'
|
alias gbS='git show-branch -a'
|
||||||
|
|
||||||
# Commit (c)
|
# Commit (c)
|
||||||
alias gc='git commit --verbose'
|
alias gc='git commit'
|
||||||
alias gca='git commit --verbose --all'
|
alias gca='git commit --all'
|
||||||
alias gcm='git commit --message'
|
alias gcm='git commit --message'
|
||||||
alias gco='git checkout'
|
alias gco='git checkout'
|
||||||
alias gcO='git checkout --patch'
|
alias gcO='git checkout HEAD --'
|
||||||
alias gcf='git commit --amend --reuse-message HEAD'
|
alias gcf='git commit --amend --reuse-message HEAD'
|
||||||
alias gcF='git commit --verbose --amend'
|
|
||||||
alias gcp='git cherry-pick --ff'
|
alias gcp='git cherry-pick --ff'
|
||||||
alias gcP='git cherry-pick --no-commit'
|
alias gcP='git cherry-pick --no-commit'
|
||||||
alias gcr='git revert'
|
alias gcr='git revert'
|
||||||
@ -56,15 +55,6 @@ alias gcR='git reset "HEAD^"'
|
|||||||
alias gcs='git show'
|
alias gcs='git show'
|
||||||
alias gcl='git-commit-lost'
|
alias gcl='git-commit-lost'
|
||||||
|
|
||||||
# Conflict (C)
|
|
||||||
alias gCl='git status | sed -n "s/^.*both [a-z]*ed: *//p"'
|
|
||||||
alias gCa='git add $(gCl)'
|
|
||||||
alias gCe='git mergetool $(gCl)'
|
|
||||||
alias gCo='git checkout --ours --'
|
|
||||||
alias gCO='gCo $(gCl)'
|
|
||||||
alias gCt='git checkout --theirs --'
|
|
||||||
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'
|
||||||
@ -95,17 +85,26 @@ alias giu='git add --update'
|
|||||||
alias gid='git diff --no-ext-diff --cached'
|
alias gid='git diff --no-ext-diff --cached'
|
||||||
alias giD='git diff --no-ext-diff --cached --word-diff'
|
alias giD='git diff --no-ext-diff --cached --word-diff'
|
||||||
alias gir='git reset'
|
alias gir='git reset'
|
||||||
alias giR='git reset --patch'
|
alias giR='git reset --keep'
|
||||||
alias gix='git rm -r --cached'
|
alias gix='git rm -r --cached'
|
||||||
alias giX='git rm -rf --cached'
|
alias giX='git rm -rf --cached'
|
||||||
|
|
||||||
|
# Conflict (C)
|
||||||
|
alias gCl='git status | sed -n "s/^.*both [a-z]*ed: *//p"'
|
||||||
|
alias gCa='git add $(gCl)'
|
||||||
|
alias gCe='git mergetool $(gCl)'
|
||||||
|
alias gCo='git checkout --ours --'
|
||||||
|
alias gCO='gCo $(gCl)'
|
||||||
|
alias gCt='git checkout --theirs --'
|
||||||
|
alias gCT='gCt $(gCl)'
|
||||||
|
|
||||||
# Log (l)
|
# Log (l)
|
||||||
alias gl='git log --topo-order --pretty=format:"${_git_log_medium_format}"'
|
alias gl='git log --topo-order --pretty=format:${_git_log_medium_format}'
|
||||||
alias gls='git log --topo-order --stat --pretty=format:"${_git_log_medium_format}"'
|
alias gls='git log --topo-order --stat --pretty=format:${_git_log_medium_format}'
|
||||||
alias gld='git log --topo-order --stat --patch --full-diff --pretty=format:"${_git_log_medium_format}"'
|
alias gld='git log --topo-order --stat --patch --full-diff --pretty=format:${_git_log_medium_format}'
|
||||||
alias glo='git log --topo-order --pretty=format:"${_git_log_oneline_format}"'
|
alias glo='git log --topo-order --pretty=format:${_git_log_oneline_format}'
|
||||||
alias glg='git log --topo-order --all --graph --pretty=format:"${_git_log_oneline_format}"'
|
alias glg='git log --topo-order --all --graph --pretty=format:${_git_log_oneline_format}'
|
||||||
alias glb='git log --topo-order --pretty=format:"${_git_log_brief_format}"'
|
alias glb='git log --topo-order --pretty=format:${_git_log_brief_format}'
|
||||||
alias glc='git shortlog --summary --numbered'
|
alias glc='git shortlog --summary --numbered'
|
||||||
|
|
||||||
# Merge (m)
|
# Merge (m)
|
||||||
@ -138,7 +137,7 @@ alias gRa='git remote add'
|
|||||||
alias gRx='git remote rm'
|
alias gRx='git remote rm'
|
||||||
alias gRm='git remote rename'
|
alias gRm='git remote rename'
|
||||||
alias gRu='git remote update'
|
alias gRu='git remote update'
|
||||||
alias gRp='git remote prune'
|
alias gRc='git remote prune'
|
||||||
alias gRs='git remote show'
|
alias gRs='git remote show'
|
||||||
alias gRb='git-hub-browse'
|
alias gRb='git-hub-browse'
|
||||||
|
|
||||||
@ -147,9 +146,9 @@ alias gs='git stash'
|
|||||||
alias gsa='git stash apply'
|
alias gsa='git stash apply'
|
||||||
alias gsx='git stash drop'
|
alias gsx='git stash drop'
|
||||||
alias gsX='git-stash-clear-interactive'
|
alias gsX='git-stash-clear-interactive'
|
||||||
|
alias gsd='git-stash-dropped'
|
||||||
alias gsl='git stash list'
|
alias gsl='git stash list'
|
||||||
alias gsL='git-stash-dropped'
|
alias gsL='git stash show --patch --stat'
|
||||||
alias gsd='git stash show --patch --stat'
|
|
||||||
alias gsp='git stash pop'
|
alias gsp='git stash pop'
|
||||||
alias gsr='git-stash-recover'
|
alias gsr='git-stash-recover'
|
||||||
alias gss='git stash save --include-untracked'
|
alias gss='git stash save --include-untracked'
|
||||||
@ -179,3 +178,4 @@ alias gwc='git clean -n'
|
|||||||
alias gwC='git clean -f'
|
alias gwC='git clean -f'
|
||||||
alias gwx='git rm -r'
|
alias gwx='git rm -r'
|
||||||
alias gwX='git rm -rf'
|
alias gwX='git rm -rf'
|
||||||
|
|
||||||
|
@ -45,3 +45,4 @@ case "$state" in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
return $ret
|
return $ret
|
||||||
|
|
||||||
|
@ -9,3 +9,4 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
_arguments '1:url:' && return 0
|
_arguments '1:url:' && return 0
|
||||||
|
|
||||||
|
@ -16,3 +16,4 @@ _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,3 +38,4 @@ case "$state" in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
return $ret
|
return $ret
|
||||||
|
|
||||||
|
@ -24,3 +24,4 @@ done < <(
|
|||||||
)
|
)
|
||||||
|
|
||||||
_describe -t submodule 'submodules' submodules && return 0
|
_describe -t submodule 'submodules' submodules && return 0
|
||||||
|
|
||||||
|
@ -18,3 +18,4 @@ if [[ -n "$ref" ]]; then
|
|||||||
else
|
else
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -18,3 +18,4 @@ git fsck 2> /dev/null \
|
|||||||
--no-walk \
|
--no-walk \
|
||||||
--stdin \
|
--stdin \
|
||||||
--pretty=format:${_git_log_oneline_format}
|
--pretty=format:${_git_log_oneline_format}
|
||||||
|
|
||||||
|
@ -14,3 +14,4 @@ else
|
|||||||
print "$0: not a repository: $PWD" >&2
|
print "$0: not a repository: $PWD" >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -56,3 +56,4 @@ else
|
|||||||
print "$0: not a Git repository or remote not set" >&2
|
print "$0: not a Git repository or remote not set" >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -20,3 +20,4 @@ if (( $+commands[curl] )); then
|
|||||||
else
|
else
|
||||||
print "$0: command not found: curl" >&2
|
print "$0: command not found: curl" >&2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -89,6 +89,31 @@ function _git-action {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Turns off git-info for the current repository.
|
||||||
|
function _git-info-abort {
|
||||||
|
if ! is-true "$_git_info_executing"; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat >&2 <<EOF
|
||||||
|
|
||||||
|
|
||||||
|
Gathering status for certain repositories is time intensive.
|
||||||
|
By pressing CTRL + C, you have turned off prompt Git status
|
||||||
|
for this repository.
|
||||||
|
|
||||||
|
To revert, execute:
|
||||||
|
git-info on
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
unset _git_info_executing
|
||||||
|
git config --bool prompt.showinfo false
|
||||||
|
git-info
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
add-zsh-trap INT _git-info-abort
|
||||||
|
|
||||||
# Gets the Git status information.
|
# Gets the Git status information.
|
||||||
function git-info {
|
function git-info {
|
||||||
# Extended globbing is needed to parse repository status.
|
# Extended globbing is needed to parse repository status.
|
||||||
@ -101,13 +126,13 @@ function git-info {
|
|||||||
local added=0
|
local added=0
|
||||||
local added_format
|
local added_format
|
||||||
local added_formatted
|
local added_formatted
|
||||||
local ahead=0
|
local ahead
|
||||||
local ahead_and_behind
|
local ahead_and_behind
|
||||||
local ahead_and_behind_cmd
|
local ahead_and_behind_cmd
|
||||||
local ahead_format
|
local ahead_format
|
||||||
local ahead_formatted
|
local ahead_formatted
|
||||||
local ahead_or_behind
|
local ahead_or_behind
|
||||||
local behind=0
|
local behind
|
||||||
local behind_format
|
local behind_format
|
||||||
local behind_formatted
|
local behind_formatted
|
||||||
local branch
|
local branch
|
||||||
@ -126,11 +151,9 @@ function git-info {
|
|||||||
local dirty_format
|
local dirty_format
|
||||||
local dirty_formatted
|
local dirty_formatted
|
||||||
local ignore_submodules
|
local ignore_submodules
|
||||||
local indexed=0
|
|
||||||
local indexed_format
|
|
||||||
local indexed_formatted
|
|
||||||
local -A info_formats
|
local -A info_formats
|
||||||
local info_format
|
local info_format
|
||||||
|
local line_number=0
|
||||||
local modified=0
|
local modified=0
|
||||||
local modified_format
|
local modified_format
|
||||||
local modified_formatted
|
local modified_formatted
|
||||||
@ -148,10 +171,6 @@ function git-info {
|
|||||||
local stashed_format
|
local stashed_format
|
||||||
local stashed_formatted
|
local stashed_formatted
|
||||||
local status_cmd
|
local status_cmd
|
||||||
local status_mode
|
|
||||||
local unindexed=0
|
|
||||||
local unindexed_format
|
|
||||||
local unindexed_formatted
|
|
||||||
local unmerged=0
|
local unmerged=0
|
||||||
local unmerged_format
|
local unmerged_format
|
||||||
local unmerged_formatted
|
local unmerged_formatted
|
||||||
@ -184,206 +203,135 @@ function git-info {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Used to abort and turn git-info off on SIGINT.
|
||||||
|
_git_info_executing=true
|
||||||
|
|
||||||
|
# Use porcelain status for easy parsing.
|
||||||
|
status_cmd='git status --porcelain'
|
||||||
|
|
||||||
|
# Gets the remote name.
|
||||||
|
remote_cmd='git rev-parse --symbolic-full-name --verify HEAD@{upstream}'
|
||||||
|
|
||||||
|
# Gets the commit difference counts between local and remote.
|
||||||
|
ahead_and_behind_cmd='git rev-list --count --left-right HEAD...@{upstream}'
|
||||||
|
|
||||||
# Ignore submodule status.
|
# Ignore submodule status.
|
||||||
zstyle -s ':prezto:module:git:status:ignore' submodules 'ignore_submodules'
|
zstyle -s ':prezto:module:git:status:ignore' submodules 'ignore_submodules'
|
||||||
|
if [[ -n "$ignore_submodules" ]]; then
|
||||||
|
status_cmd+=" --ignore-submodules=${ignore_submodules}"
|
||||||
|
fi
|
||||||
|
|
||||||
# Format commit.
|
# Format commit.
|
||||||
zstyle -s ':prezto:module:git:info:commit' format 'commit_format'
|
commit="$(git rev-parse HEAD 2> /dev/null)"
|
||||||
if [[ -n "$commit_format" ]]; then
|
if [[ -n "$commit" ]]; then
|
||||||
commit="$(git rev-parse HEAD 2> /dev/null)"
|
zstyle -s ':prezto:module:git:info:commit' format 'commit_format'
|
||||||
if [[ -n "$commit" ]]; then
|
zformat -f commit_formatted "$commit_format" "c:$commit"
|
||||||
zformat -f commit_formatted "$commit_format" "c:$commit"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Format stashed.
|
# Format stashed.
|
||||||
zstyle -s ':prezto:module:git:info:stashed' format 'stashed_format'
|
if [[ -f "$(git-dir)/refs/stash" ]]; then
|
||||||
if [[ -n "$stashed_format" && -f "$(git-dir)/refs/stash" ]]; then
|
|
||||||
stashed="$(git stash list 2> /dev/null | wc -l | awk '{print $1}')"
|
stashed="$(git stash list 2> /dev/null | wc -l | awk '{print $1}')"
|
||||||
if [[ -n "$stashed" ]]; then
|
zstyle -s ':prezto:module:git:info:stashed' format 'stashed_format'
|
||||||
zformat -f stashed_formatted "$stashed_format" "S:$stashed"
|
zformat -f stashed_formatted "$stashed_format" "S:$stashed"
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Format action.
|
# Format action.
|
||||||
zstyle -s ':prezto:module:git:info:action' format 'action_format'
|
action="$(_git-action)"
|
||||||
if [[ -n "$action_format" ]]; then
|
if [[ -n "$action" ]]; then
|
||||||
action="$(_git-action)"
|
zstyle -s ':prezto:module:git:info:action' format 'action_format'
|
||||||
if [[ -n "$action" ]]; then
|
zformat -f action_formatted "$action_format" "s:$action"
|
||||||
zformat -f action_formatted "$action_format" "s:$action"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Get the branch.
|
# Get current status.
|
||||||
branch="${$(git symbolic-ref HEAD 2> /dev/null)#refs/heads/}"
|
while IFS=$'\n' read line; do
|
||||||
|
# Count added, deleted, modified, renamed, unmerged, untracked, dirty.
|
||||||
|
# T (type change) is undocumented, see http://git.io/FnpMGw.
|
||||||
|
# For a table of scenarii, see http://i.imgur.com/2YLu1.png.
|
||||||
|
[[ "$line" == ([ACDMT][\ MT]|[ACMT]D)\ * ]] && (( added++ ))
|
||||||
|
[[ "$line" == [\ ACMRT]D\ * ]] && (( deleted++ ))
|
||||||
|
[[ "$line" == ?[MT]\ * ]] && (( modified++ ))
|
||||||
|
[[ "$line" == R?\ * ]] && (( renamed++ ))
|
||||||
|
[[ "$line" == (AA|DD|U?|?U)\ * ]] && (( unmerged++ ))
|
||||||
|
[[ "$line" == \?\?\ * ]] && (( untracked++ ))
|
||||||
|
(( dirty++ ))
|
||||||
|
done < <(${(z)status_cmd} 2> /dev/null)
|
||||||
|
|
||||||
# Format branch.
|
# Format branch.
|
||||||
zstyle -s ':prezto:module:git:info:branch' format 'branch_format'
|
branch="${$(git symbolic-ref -q HEAD)##refs/heads/}"
|
||||||
if [[ -n "$branch" && -n "$branch_format" ]]; then
|
if [[ -n "$branch" ]]; then
|
||||||
|
zstyle -s ':prezto:module:git:info:branch' format 'branch_format'
|
||||||
zformat -f branch_formatted "$branch_format" "b:$branch"
|
zformat -f branch_formatted "$branch_format" "b:$branch"
|
||||||
fi
|
|
||||||
|
|
||||||
# Format position.
|
# Format remote.
|
||||||
zstyle -s ':prezto:module:git:info:position' format 'position_format'
|
remote="${$(${(z)remote_cmd} 2> /dev/null)##refs/remotes/}"
|
||||||
if [[ -z "$branch" && -n "$position_format" ]]; then
|
if [[ -n "$remote" ]]; then
|
||||||
|
zstyle -s ':prezto:module:git:info:remote' format 'remote_format'
|
||||||
|
zformat -f remote_formatted "$remote_format" "R:$remote"
|
||||||
|
|
||||||
|
# Get ahead and behind counts.
|
||||||
|
ahead_and_behind="$(${(z)ahead_and_behind_cmd} 2> /dev/null)"
|
||||||
|
|
||||||
|
# Format ahead.
|
||||||
|
ahead="$ahead_and_behind[(w)1]"
|
||||||
|
if (( $ahead > 0 )); then
|
||||||
|
zstyle -s ':prezto:module:git:info:ahead' format 'ahead_format'
|
||||||
|
zformat -f ahead_formatted "$ahead_format" "A:$ahead"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Format behind.
|
||||||
|
behind="$ahead_and_behind[(w)2]"
|
||||||
|
if (( $behind > 0 )); then
|
||||||
|
zstyle -s ':prezto:module:git:info:behind' format 'behind_format'
|
||||||
|
zformat -f behind_formatted "$behind_format" "B:$behind"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Format position.
|
||||||
position="$(git describe --contains --all HEAD 2> /dev/null)"
|
position="$(git describe --contains --all HEAD 2> /dev/null)"
|
||||||
if [[ -n "$position" ]]; then
|
if [[ -n "$position" ]]; then
|
||||||
|
zstyle -s ':prezto:module:git:info:position' format 'position_format'
|
||||||
zformat -f position_formatted "$position_format" "p:$position"
|
zformat -f position_formatted "$position_format" "p:$position"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Format remote.
|
# Format added.
|
||||||
zstyle -s ':prezto:module:git:info:remote' format 'remote_format'
|
if (( $added > 0 )); then
|
||||||
if [[ -n "$branch" && -n "$remote_format" ]]; then
|
zstyle -s ':prezto:module:git:info:added' format 'added_format'
|
||||||
# Gets the remote name.
|
zformat -f added_formatted "$added_format" "a:$added_format"
|
||||||
remote_cmd='git rev-parse --symbolic-full-name --verify HEAD@{upstream}'
|
|
||||||
remote="${$(${(z)remote_cmd} 2> /dev/null)##refs/remotes/}"
|
|
||||||
if [[ -n "$remote" ]]; then
|
|
||||||
zformat -f remote_formatted "$remote_format" "R:$remote"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
zstyle -s ':prezto:module:git:info:ahead' format 'ahead_format'
|
# Format deleted.
|
||||||
zstyle -s ':prezto:module:git:info:behind' format 'behind_format'
|
if (( $deleted > 0 )); then
|
||||||
if [[ -n "$branch" && ( -n "$ahead_format" || -n "$behind_format" ) ]]; then
|
zstyle -s ':prezto:module:git:info:deleted' format 'deleted_format'
|
||||||
# Gets the commit difference counts between local and remote.
|
zformat -f deleted_formatted "$deleted_format" "d:$deleted_format"
|
||||||
ahead_and_behind_cmd='git rev-list --count --left-right HEAD...@{upstream}'
|
|
||||||
|
|
||||||
# Get ahead and behind counts.
|
|
||||||
ahead_and_behind="$(${(z)ahead_and_behind_cmd} 2> /dev/null)"
|
|
||||||
|
|
||||||
# Format ahead.
|
|
||||||
if [[ -n "$ahead_format" ]]; then
|
|
||||||
ahead="$ahead_and_behind[(w)1]"
|
|
||||||
if (( ahead > 0 )); then
|
|
||||||
zformat -f ahead_formatted "$ahead_format" "A:$ahead"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Format behind.
|
|
||||||
if [[ -n "$behind_format" ]]; then
|
|
||||||
behind="$ahead_and_behind[(w)2]"
|
|
||||||
if (( behind > 0 )); then
|
|
||||||
zformat -f behind_formatted "$behind_format" "B:$behind"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Get status type.
|
# Format modified.
|
||||||
if ! zstyle -t ':prezto:module:git:info' verbose; then
|
if (( $modified > 0 )); then
|
||||||
# Format indexed.
|
zstyle -s ':prezto:module:git:info:modified' format 'modified_format'
|
||||||
zstyle -s ':prezto:module:git:info:indexed' format 'indexed_format'
|
zformat -f modified_formatted "$modified_format" "m:$modified"
|
||||||
if [[ -n "$indexed_format" ]]; then
|
fi
|
||||||
((
|
|
||||||
indexed+=$(
|
|
||||||
git diff-index \
|
|
||||||
--no-ext-diff \
|
|
||||||
--name-only \
|
|
||||||
--cached \
|
|
||||||
--ignore-submodules=${ignore_submodules:-none} \
|
|
||||||
HEAD \
|
|
||||||
2> /dev/null \
|
|
||||||
| wc -l
|
|
||||||
)
|
|
||||||
))
|
|
||||||
if (( indexed > 0 )); then
|
|
||||||
zformat -f indexed_formatted "$indexed_format" "i:$indexed"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Format unindexed.
|
# Format renamed.
|
||||||
zstyle -s ':prezto:module:git:info:unindexed' format 'unindexed_format'
|
if (( $renamed > 0 )); then
|
||||||
if [[ -n "$unindexed_format" ]]; then
|
zstyle -s ':prezto:module:git:info:renamed' format 'renamed_format'
|
||||||
((
|
zformat -f renamed_formatted "$renamed_format" "r:$renamed"
|
||||||
unindexed+=$(
|
fi
|
||||||
git diff-files \
|
|
||||||
--no-ext-diff \
|
|
||||||
--name-only \
|
|
||||||
--ignore-submodules=${ignore_submodules:-none} \
|
|
||||||
2> /dev/null \
|
|
||||||
| wc -l
|
|
||||||
)
|
|
||||||
))
|
|
||||||
if (( unindexed > 0 )); then
|
|
||||||
zformat -f unindexed_formatted "$unindexed_format" "I:$unindexed"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Format untracked.
|
# Format unmerged.
|
||||||
|
if (( $unmerged > 0 )); then
|
||||||
|
zstyle -s ':prezto:module:git:info:unmerged' format 'unmerged_format'
|
||||||
|
zformat -f unmerged_formatted "$unmerged_format" "U:$unmerged"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Format untracked.
|
||||||
|
if (( $untracked > 0 )); then
|
||||||
zstyle -s ':prezto:module:git:info:untracked' format 'untracked_format'
|
zstyle -s ':prezto:module:git:info:untracked' format 'untracked_format'
|
||||||
if [[ -n "$untracked_format" ]]; then
|
zformat -f untracked_formatted "$untracked_format" "u:$untracked"
|
||||||
((
|
|
||||||
untracked+=$(
|
|
||||||
git ls-files \
|
|
||||||
--other \
|
|
||||||
--exclude-standard \
|
|
||||||
2> /dev/null \
|
|
||||||
| wc -l
|
|
||||||
)
|
|
||||||
))
|
|
||||||
if (( untracked > 0 )); then
|
|
||||||
zformat -f untracked_formatted "$untracked_format" "u:$untracked"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
(( dirty = indexed + unindexed + untracked ))
|
|
||||||
else
|
|
||||||
# Use porcelain status for easy parsing.
|
|
||||||
status_cmd="git status --porcelain --ignore-submodules=${ignore_submodules:-none}"
|
|
||||||
|
|
||||||
# Get current status.
|
|
||||||
while IFS=$'\n' read line; do
|
|
||||||
# Count added, deleted, modified, renamed, unmerged, untracked, dirty.
|
|
||||||
# T (type change) is undocumented, see http://git.io/FnpMGw.
|
|
||||||
# For a table of scenarii, see http://i.imgur.com/2YLu1.png.
|
|
||||||
[[ "$line" == ([ACDMT][\ MT]|[ACMT]D)\ * ]] && (( added++ ))
|
|
||||||
[[ "$line" == [\ ACMRT]D\ * ]] && (( deleted++ ))
|
|
||||||
[[ "$line" == ?[MT]\ * ]] && (( modified++ ))
|
|
||||||
[[ "$line" == R?\ * ]] && (( renamed++ ))
|
|
||||||
[[ "$line" == (AA|DD|U?|?U)\ * ]] && (( unmerged++ ))
|
|
||||||
[[ "$line" == \?\?\ * ]] && (( untracked++ ))
|
|
||||||
(( dirty++ ))
|
|
||||||
done < <(${(z)status_cmd} 2> /dev/null)
|
|
||||||
|
|
||||||
# Format added.
|
|
||||||
if (( added > 0 )); then
|
|
||||||
zstyle -s ':prezto:module:git:info:added' format 'added_format'
|
|
||||||
zformat -f added_formatted "$added_format" "a:$added"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Format deleted.
|
|
||||||
if (( deleted > 0 )); then
|
|
||||||
zstyle -s ':prezto:module:git:info:deleted' format 'deleted_format'
|
|
||||||
zformat -f deleted_formatted "$deleted_format" "d:$deleted"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Format modified.
|
|
||||||
if (( modified > 0 )); then
|
|
||||||
zstyle -s ':prezto:module:git:info:modified' format 'modified_format'
|
|
||||||
zformat -f modified_formatted "$modified_format" "m:$modified"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Format renamed.
|
|
||||||
if (( renamed > 0 )); then
|
|
||||||
zstyle -s ':prezto:module:git:info:renamed' format 'renamed_format'
|
|
||||||
zformat -f renamed_formatted "$renamed_format" "r:$renamed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Format unmerged.
|
|
||||||
if (( unmerged > 0 )); then
|
|
||||||
zstyle -s ':prezto:module:git:info:unmerged' format 'unmerged_format'
|
|
||||||
zformat -f unmerged_formatted "$unmerged_format" "U:$unmerged"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Format untracked.
|
|
||||||
if (( untracked > 0 )); then
|
|
||||||
zstyle -s ':prezto:module:git:info:untracked' format 'untracked_format'
|
|
||||||
zformat -f untracked_formatted "$untracked_format" "u:$untracked"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Format dirty and clean.
|
# Format dirty and clean.
|
||||||
if (( dirty > 0 )); then
|
if (( $dirty > 0 )); then
|
||||||
zstyle -s ':prezto:module:git:info:dirty' format 'dirty_format'
|
zstyle -s ':prezto:module:git:info:dirty' format 'dirty_format'
|
||||||
zformat -f dirty_formatted "$dirty_format" "D:$dirty"
|
zformat -f dirty_formatted "$dirty_format" "D:$dirty"
|
||||||
else
|
else
|
||||||
@ -394,30 +342,30 @@ function git-info {
|
|||||||
zstyle -a ':prezto:module:git:info:keys' format 'info_formats'
|
zstyle -a ':prezto:module:git:info:keys' format 'info_formats'
|
||||||
for info_format in ${(k)info_formats}; do
|
for info_format in ${(k)info_formats}; do
|
||||||
zformat -f REPLY "$info_formats[$info_format]" \
|
zformat -f REPLY "$info_formats[$info_format]" \
|
||||||
"a:$added_formatted" \
|
|
||||||
"A:$ahead_formatted" \
|
"A:$ahead_formatted" \
|
||||||
"B:$behind_formatted" \
|
"B:$behind_formatted" \
|
||||||
|
"D:$dirty_formatted" \
|
||||||
|
"R:$remote_formatted" \
|
||||||
|
"S:$stashed_formatted" \
|
||||||
|
"U:$unmerged_formatted" \
|
||||||
|
"a:$added_formatted" \
|
||||||
"b:$branch_formatted" \
|
"b:$branch_formatted" \
|
||||||
"C:$clean_formatted" \
|
"C:$clean_formatted" \
|
||||||
"c:$commit_formatted" \
|
"c:$commit_formatted" \
|
||||||
"d:$deleted_formatted" \
|
"d:$deleted_formatted" \
|
||||||
"D:$dirty_formatted" \
|
|
||||||
"i:$indexed_formatted" \
|
|
||||||
"I:$unindexed_formatted" \
|
|
||||||
"m:$modified_formatted" \
|
"m:$modified_formatted" \
|
||||||
"p:$position_formatted" \
|
"p:$position_formatted" \
|
||||||
"R:$remote_formatted" \
|
|
||||||
"r:$renamed_formatted" \
|
"r:$renamed_formatted" \
|
||||||
"s:$action_formatted" \
|
"s:$action_formatted" \
|
||||||
"S:$stashed_formatted" \
|
|
||||||
"U:$unmerged_formatted" \
|
|
||||||
"u:$untracked_formatted"
|
"u:$untracked_formatted"
|
||||||
git_info[$info_format]="$REPLY"
|
git_info[$info_format]="$REPLY"
|
||||||
done
|
done
|
||||||
|
|
||||||
unset REPLY
|
unset REPLY
|
||||||
|
unset _git_info_executing
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
git-info "$@"
|
git-info "$@"
|
||||||
|
|
||||||
|
@ -14,3 +14,4 @@ else
|
|||||||
print "$0: not a repository work tree: $PWD" >&2
|
print "$0: not a repository work tree: $PWD" >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -20,3 +20,4 @@ if [[ -f "$(git-dir)/refs/stash" ]]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -20,3 +20,4 @@ git fsck --unreachable 2> /dev/null \
|
|||||||
--merges \
|
--merges \
|
||||||
--no-walk \
|
--no-walk \
|
||||||
--stdin
|
--stdin
|
||||||
|
|
||||||
|
@ -16,3 +16,4 @@ for commit in "$@"; do
|
|||||||
git update-ref \
|
git update-ref \
|
||||||
-m "$(git log -1 --pretty="format:%s" "$commit")" refs/stash "$commit"
|
-m "$(git log -1 --pretty="format:%s" "$commit")" refs/stash "$commit"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -30,3 +30,4 @@ git-submodule-remove "$src"
|
|||||||
git submodule add "$url" "$dst"
|
git submodule add "$url" "$dst"
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
@ -25,3 +25,4 @@ rm -rf "${1}"
|
|||||||
rm -rf "$(git-dir)/modules/${1}"
|
rm -rf "$(git-dir)/modules/${1}"
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
@ -15,3 +15,4 @@ pmodload 'helper'
|
|||||||
|
|
||||||
# Source module files.
|
# Source module files.
|
||||||
source "${0:h}/alias.zsh"
|
source "${0:h}/alias.zsh"
|
||||||
|
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
GNU Utility
|
GNU Utility
|
||||||
===========
|
===========
|
||||||
|
|
||||||
Provides for the interactive use of GNU utilities on BSD systems.
|
Provides for the interactive use of GNU utilities on non-GNU systems.
|
||||||
|
|
||||||
Installing GNU utilities on non-GNU systems in `$PATH` without a prefix, i.e.
|
Installing GNU utilities on non-GNU systems in `$PATH` without a prefix, i.e.
|
||||||
`ls` instead of `gls`, is not recommended since scripts that target other
|
`ls` instead of `gls`, is not recommended since scripts that target other
|
||||||
utilities will be broken.
|
utilities will be broken.
|
||||||
|
|
||||||
This module wraps GNU utilities in functions without a prefix for interactive
|
However, for interactive use, prefixed commands can be wrapped in their
|
||||||
use.
|
non-prefixed counterparts.
|
||||||
|
|
||||||
This module must be loaded **before** the *utility* module.
|
This module must be loaded **before** the *utility* module.
|
||||||
|
|
||||||
@ -30,3 +30,4 @@ 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
|
||||||
|
|
||||||
|
@ -58,3 +58,4 @@ 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}
|
||||||
|
|
||||||
|
25
modules/gpg-agent/README.md
Normal file
25
modules/gpg-agent/README.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
GPG-Agent
|
||||||
|
=========
|
||||||
|
|
||||||
|
Provides for an easier use of [gpg-agent][1].
|
||||||
|
|
||||||
|
Settings
|
||||||
|
--------
|
||||||
|
|
||||||
|
### SSH-Agent Protocol Emulation
|
||||||
|
|
||||||
|
To enable SSH-Agent protocol emulation, add the following line to *zpreztorc*:
|
||||||
|
|
||||||
|
zstyle ':prezto:module:gpg-agent' ssh-support 'yes'
|
||||||
|
|
||||||
|
Authors
|
||||||
|
-------
|
||||||
|
|
||||||
|
*The authors of this module should be contacted via the [issue tracker][2].*
|
||||||
|
|
||||||
|
- [Florian Walch](https://github.com/fwalch)
|
||||||
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
|
[1]: http://linux.die.net/man/1/gpg-agent
|
||||||
|
[2]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
|
44
modules/gpg-agent/init.zsh
Normal file
44
modules/gpg-agent/init.zsh
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
#
|
||||||
|
# Provides for an easier use of gpg-agent.
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# Florian Walch <florian.walch@gmx.at>
|
||||||
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
# Return if requirements are not found.
|
||||||
|
if (( ! $+commands[gpg-agent] )); then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
_gpg_env="$HOME/.gnupg/gpg-agent.env"
|
||||||
|
|
||||||
|
function _gpg-agent-start {
|
||||||
|
local ssh_support
|
||||||
|
|
||||||
|
zstyle -b ':prezto:module:gpg-agent' ssh-support 'ssh_support' \
|
||||||
|
|| ssh_support=''
|
||||||
|
|
||||||
|
gpg-agent \
|
||||||
|
--daemon ${ssh_support:+'--enable-ssh-support'}
|
||||||
|
--write-env-file "${_gpg_env}" > /dev/null
|
||||||
|
|
||||||
|
chmod 600 "${_gpg_env}"
|
||||||
|
source "${_gpg_env}" > /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
# Source GPG agent settings, if applicable.
|
||||||
|
if [[ -s "${_gpg_env}" ]]; then
|
||||||
|
source "${_gpg_env}" > /dev/null
|
||||||
|
ps -ef | grep "${SSH_AGENT_PID}" | grep -q 'gpg-agent' || {
|
||||||
|
_gpg-agent-start
|
||||||
|
}
|
||||||
|
else
|
||||||
|
_gpg-agent-start
|
||||||
|
fi
|
||||||
|
|
||||||
|
export GPG_AGENT_INFO
|
||||||
|
export SSH_AUTH_SOCK
|
||||||
|
export SSH_AGENT_PID
|
||||||
|
export GPG_TTY="$(tty)"
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
GPG
|
|
||||||
===
|
|
||||||
|
|
||||||
Provides for an easier use of [GPG][1] by setting up [gpg-agent][2].
|
|
||||||
|
|
||||||
### SSH
|
|
||||||
|
|
||||||
To enable OpenSSH Agent protocol emulation, and make `gpg-agent` a drop-in
|
|
||||||
replacement for `ssh-agent`, add the following line to
|
|
||||||
*~/.gnupg/gpg-agent.conf*:
|
|
||||||
|
|
||||||
enable-ssh-support
|
|
||||||
|
|
||||||
When OpenSSH Agent protocol emulation is enabled, this module will load the SSH
|
|
||||||
module for additional processing.
|
|
||||||
|
|
||||||
Authors
|
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][3].*
|
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
|
||||||
|
|
||||||
[1]: http://www.gnupg.org
|
|
||||||
[2]: http://linux.die.net/man/1/gpg-agent
|
|
||||||
[3]: https://github.com/sorin-ionescu/prezto/issues
|
|
@ -1,46 +0,0 @@
|
|||||||
#
|
|
||||||
# Provides for an easier use of GPG by setting up gpg-agent.
|
|
||||||
#
|
|
||||||
# Authors:
|
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
|
||||||
#
|
|
||||||
|
|
||||||
# Return if requirements are not found.
|
|
||||||
if (( ! $+commands[gpg-agent] )); then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set the default paths to gpg-agent files.
|
|
||||||
_gpg_agent_conf="$HOME/.gnupg/gpg-agent.conf"
|
|
||||||
_gpg_agent_env="${TMPDIR:-/tmp}/gpg-agent.env"
|
|
||||||
|
|
||||||
# Start gpg-agent if not started.
|
|
||||||
if [[ -z "$GPG_AGENT_INFO" ]]; then
|
|
||||||
# Export environment variables.
|
|
||||||
source "$_gpg_agent_env" 2> /dev/null
|
|
||||||
|
|
||||||
# Start gpg-agent if not started.
|
|
||||||
if ! ps -U "$USER" -o pid,ucomm | grep -q -- "${${${(s.:.)GPG_AGENT_INFO}[2]}:--1} gpg-agent"; then
|
|
||||||
eval "$(gpg-agent --daemon | tee "$_gpg_agent_env")"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Inform gpg-agent of the current TTY for user prompts.
|
|
||||||
export GPG_TTY="$(tty)"
|
|
||||||
|
|
||||||
# Integrate with the SSH module.
|
|
||||||
if grep 'enable-ssh-support' "$_gpg_agent_conf" &> /dev/null; then
|
|
||||||
# Override the ssh-agent environment file default path.
|
|
||||||
_ssh_agent_env="$_gpg_agent_env"
|
|
||||||
|
|
||||||
# Load the SSH module for additional processing.
|
|
||||||
pmodload 'ssh'
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Clean up.
|
|
||||||
unset _gpg_agent_{conf,env}
|
|
||||||
|
|
||||||
# Disable GUI prompts inside SSH.
|
|
||||||
if [[ -n "$SSH_CONNECTION" ]]; then
|
|
||||||
export PINENTRY_USER_DATA='USE_CURSES=1'
|
|
||||||
fi
|
|
@ -26,3 +26,4 @@ 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
|
||||||
|
|
||||||
|
@ -10,9 +10,12 @@ if (( ! $+commands[ghc] )); then
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Prepend Cabal per user directories to PATH.
|
# Prepend Cabal per user directories to PATH/MANPATH.
|
||||||
if [[ "$OSTYPE" == darwin* && -d $HOME/Library/Haskell ]]; then
|
if [[ "$OSTYPE" == darwin* ]]; then
|
||||||
path=($HOME/Library/Haskell/bin(/N) $path)
|
path=($HOME/Library/Haskell/bin(/N) $path)
|
||||||
|
manpath=($HOME/Library/Haskell/man(/N) $manpath)
|
||||||
else
|
else
|
||||||
path=($HOME/.cabal/bin(/N) $path)
|
path=($HOME/.cabal/bin(/N) $path)
|
||||||
|
manpath=($HOME/.cabal/man(/N) $manpath)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -13,6 +13,7 @@ Functions
|
|||||||
- `is-callable` checks if a name is a command, function, or alias.
|
- `is-callable` checks if a name is a command, function, or alias.
|
||||||
- `is-true` checks a boolean variable for "true".
|
- `is-true` checks a boolean variable for "true".
|
||||||
- `coalesce` prints the first non-empty string in the arguments array.
|
- `coalesce` prints the first non-empty string in the arguments array.
|
||||||
|
- `zstyle-` defines a style if it is already not defined.
|
||||||
|
|
||||||
Authors
|
Authors
|
||||||
-------
|
-------
|
||||||
@ -22,3 +23,4 @@ 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
|
||||||
|
|
||||||
|
@ -6,6 +6,14 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# Trap signals were generated with 'kill -l'.
|
||||||
|
# DEBUG, EXIT, and ZERR are Zsh signals.
|
||||||
|
_trap_signals=(
|
||||||
|
ABRT ALRM BUS CHLD CONT EMT FPE HUP ILL INFO INT IO KILL PIPE PROF QUIT
|
||||||
|
SEGV STOP SYS TERM TRAP TSTP TTIN TTOU URG USR1 USR2 VTALRM WINCH XCPU XFSZ
|
||||||
|
DEBUG EXIT ZERR
|
||||||
|
)
|
||||||
|
|
||||||
# Adds a function name to a list to be called when a trap is triggered.
|
# Adds a function name to a list to be called when a trap is triggered.
|
||||||
function add-zsh-trap {
|
function add-zsh-trap {
|
||||||
if (( $# < 2 )); then
|
if (( $# < 2 )); then
|
||||||
@ -13,7 +21,7 @@ function add-zsh-trap {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z "$signals[(r)$1]" ]]; then
|
if [[ -z "$_trap_signals[(r)$1]" ]]; then
|
||||||
print "$0: unknown signal: $1" >&2
|
print "$0: unknown signal: $1" >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
@ -39,3 +47,4 @@ function add-zsh-trap {
|
|||||||
}
|
}
|
||||||
|
|
||||||
add-zsh-trap "$@"
|
add-zsh-trap "$@"
|
||||||
|
|
||||||
|
@ -29,3 +29,8 @@ function coalesce {
|
|||||||
done
|
done
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Defines a style if it is already not defined.
|
||||||
|
function zstyle- {
|
||||||
|
zstyle -T "$1" "$2" && zstyle "$@"
|
||||||
|
}
|
||||||
|
@ -36,18 +36,6 @@ To enable highlighting for this module only, add the following line to
|
|||||||
|
|
||||||
zstyle ':prezto:module:history-substring-search' color 'yes'
|
zstyle ':prezto:module:history-substring-search' color 'yes'
|
||||||
|
|
||||||
To set the query found color, add the following line to *zpreztorc*:
|
|
||||||
|
|
||||||
zstyle ':prezto:module:history-substring-search:color' found ''
|
|
||||||
|
|
||||||
To set the query not found color, add the following line to *zpreztorc*:
|
|
||||||
|
|
||||||
zstyle ':prezto:module:history-substring-search:color' not-found ''
|
|
||||||
|
|
||||||
To set the search globbing flags, add the following line to *zpreztorc*:
|
|
||||||
|
|
||||||
zstyle ':prezto:module:history-substring-search' globbing-flags ''
|
|
||||||
|
|
||||||
Authors
|
Authors
|
||||||
-------
|
-------
|
||||||
|
|
||||||
@ -59,3 +47,4 @@ 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...04c2eca00c
@ -10,26 +10,14 @@
|
|||||||
pmodload 'editor'
|
pmodload 'editor'
|
||||||
|
|
||||||
# Source module files.
|
# Source module files.
|
||||||
source "${0:h}/external/zsh-history-substring-search.zsh" || return 1
|
source "${0:h}/external/zsh-history-substring-search.zsh"
|
||||||
|
|
||||||
#
|
#
|
||||||
# Search
|
# Styles
|
||||||
#
|
#
|
||||||
|
|
||||||
zstyle -s ':prezto:module:history-substring-search:color' found \
|
|
||||||
'HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND' \
|
|
||||||
|| HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND='bg=magenta,fg=white,bold'
|
|
||||||
|
|
||||||
zstyle -s ':prezto:module:history-substring-search:color' not-found \
|
|
||||||
'HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND' \
|
|
||||||
|| HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND='bg=red,fg=white,bold'
|
|
||||||
|
|
||||||
zstyle -s ':prezto:module:history-substring-search' globbing-flags \
|
|
||||||
'HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS' \
|
|
||||||
|| HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS='i'
|
|
||||||
|
|
||||||
if zstyle -t ':prezto:module:history-substring-search' case-sensitive; then
|
if zstyle -t ':prezto:module:history-substring-search' case-sensitive; then
|
||||||
HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS="${HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS//i}"
|
unset HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! zstyle -t ':prezto:module:history-substring-search' color; then
|
if ! zstyle -t ':prezto:module:history-substring-search' color; then
|
||||||
@ -40,7 +28,7 @@ fi
|
|||||||
# Key Bindings
|
# Key Bindings
|
||||||
#
|
#
|
||||||
|
|
||||||
if [[ -n "$key_info" ]]; then
|
if [[ -n $key_info ]]; then
|
||||||
# Emacs
|
# Emacs
|
||||||
bindkey -M emacs "$key_info[Control]P" history-substring-search-up
|
bindkey -M emacs "$key_info[Control]P" history-substring-search-up
|
||||||
bindkey -M emacs "$key_info[Control]N" history-substring-search-down
|
bindkey -M emacs "$key_info[Control]N" history-substring-search-down
|
||||||
@ -55,3 +43,4 @@ if [[ -n "$key_info" ]]; then
|
|||||||
bindkey -M "$keymap" "$key_info[Down]" history-substring-search-down
|
bindkey -M "$keymap" "$key_info[Down]" history-substring-search-down
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -41,3 +41,4 @@ 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
|
||||||
|
|
||||||
|
@ -1,38 +0,0 @@
|
|||||||
Homebrew
|
|
||||||
========
|
|
||||||
|
|
||||||
Defines Homebrew aliases.
|
|
||||||
|
|
||||||
Aliases
|
|
||||||
-------
|
|
||||||
|
|
||||||
### Homebrew
|
|
||||||
|
|
||||||
- `brewc` cleans outdated brews and their cached archives.
|
|
||||||
- `brewC` cleans outdated brews, including keg-only, and their cached archives.
|
|
||||||
- `brewi` installs a formula.
|
|
||||||
- `brewl` lists installed formulae.
|
|
||||||
- `brews` searches for a formula.
|
|
||||||
- `brewU` upgrades Homebrew and outdated brews.
|
|
||||||
- `brewu` upgrades Homebrew.
|
|
||||||
- `brewx` uninstalls a formula.
|
|
||||||
|
|
||||||
### 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.
|
|
||||||
- `casks` searches for a cask.
|
|
||||||
- `caskx` uninstalls a cask.
|
|
||||||
|
|
||||||
Authors
|
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][1].*
|
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
|
||||||
- [Griffin Yourick](https://github.com/tough-griff)
|
|
||||||
|
|
||||||
[1]: https://github.com/sorin-ionescu/prezto/issues
|
|
@ -1,34 +0,0 @@
|
|||||||
#
|
|
||||||
# Defines Homebrew aliases.
|
|
||||||
#
|
|
||||||
# Authors:
|
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
|
||||||
#
|
|
||||||
|
|
||||||
# Return if requirements are not found.
|
|
||||||
if [[ "$OSTYPE" != darwin* ]]; then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# Aliases
|
|
||||||
#
|
|
||||||
|
|
||||||
# Homebrew
|
|
||||||
alias brewc='brew cleanup'
|
|
||||||
alias brewC='brew cleanup --force'
|
|
||||||
alias brewi='brew install'
|
|
||||||
alias brewl='brew list'
|
|
||||||
alias brews='brew search'
|
|
||||||
alias brewu='brew upgrade'
|
|
||||||
alias brewU='brew update && brew upgrade'
|
|
||||||
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 casks='brew cask search'
|
|
||||||
alias caskx='brew cask uninstall'
|
|
@ -23,3 +23,4 @@ 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
|
||||||
|
|
||||||
|
@ -15,6 +15,18 @@ fi
|
|||||||
# Paths
|
# Paths
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# Set the list of directories that info searches for manuals.
|
||||||
|
infopath=(
|
||||||
|
/opt/local/share/info
|
||||||
|
$infopath
|
||||||
|
)
|
||||||
|
|
||||||
|
# Set the list of directories that man searches for manuals.
|
||||||
|
manpath=(
|
||||||
|
/opt/local/share/man
|
||||||
|
$manpath
|
||||||
|
)
|
||||||
|
|
||||||
# Set the list of directories that Zsh searches for programs.
|
# Set the list of directories that Zsh searches for programs.
|
||||||
path=(
|
path=(
|
||||||
/opt/local/{bin,sbin}
|
/opt/local/{bin,sbin}
|
||||||
@ -32,3 +44,4 @@ 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'
|
||||||
|
|
||||||
|
@ -1,34 +1,13 @@
|
|||||||
Node.js
|
Node.js
|
||||||
=======
|
=======
|
||||||
|
|
||||||
Provides utility functions for [Node.js][1], loads the Node Version Manager, and
|
Provides utility functions for [Node.js][1] and loads [npm][2] completion.
|
||||||
enables [npm][2] completion.
|
|
||||||
|
|
||||||
nvm
|
|
||||||
---
|
|
||||||
|
|
||||||
[nvm][5] allows for managing multiple, isolated Node.js installations in the
|
|
||||||
home directory.
|
|
||||||
|
|
||||||
Functions
|
Functions
|
||||||
---------
|
---------
|
||||||
|
|
||||||
- `node-doc` opens the Node.js online [API documentation][3] in the default
|
- `node-doc` opens the Node.js online [API documentation][3] in the default
|
||||||
browser.
|
browser.
|
||||||
- `node-info` exposes information about the Node.js environment via the
|
|
||||||
`$node_info` associative array.
|
|
||||||
|
|
||||||
Theming
|
|
||||||
-------
|
|
||||||
|
|
||||||
To display the version number of the current Node.js version, define the
|
|
||||||
following style inside the `prompt_name_setup` function.
|
|
||||||
|
|
||||||
# %v - Node.js version.
|
|
||||||
zstyle ':prezto:module:node:info:version' format 'version:%v'
|
|
||||||
|
|
||||||
Then add `$node_info[version]` to either `$PROMPT` or `$RPROMPT` and call
|
|
||||||
`node-info` in `prompt_name_preexec` hook function.
|
|
||||||
|
|
||||||
Authors
|
Authors
|
||||||
-------
|
-------
|
||||||
@ -36,10 +15,9 @@ Authors
|
|||||||
*The authors of this module should be contacted via the [issue tracker][4].*
|
*The authors of this module should be contacted via the [issue tracker][4].*
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
- [Zeh Rizzatti](https://github.com/zehrizzatti)
|
|
||||||
|
|
||||||
[1]: http://nodejs.org
|
[1]: http://nodejs.org
|
||||||
[2]: http://npmjs.org
|
[2]: http://npmjs.org
|
||||||
[3]: http://nodejs.org/api
|
[3]: http://nodejs.org/api
|
||||||
[4]: https://github.com/sorin-ionescu/prezto/issues
|
[4]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
[5]: https://github.com/creationix/nvm
|
|
||||||
|
@ -5,10 +5,6 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
if [[ -z "$BROWSER" ]]; then
|
|
||||||
print "$0: no web browser defined" >&2
|
|
||||||
return 1
|
|
||||||
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}"
|
open "http://nodejs.org/docs/$(node --version | sed 's/-.*//')/api/all.html#${1}"
|
||||||
|
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
#
|
|
||||||
# Exposes information about the Node.js environment via the $node_info
|
|
||||||
# associative array.
|
|
||||||
#
|
|
||||||
# Authors:
|
|
||||||
# Zeh Rizzatti <zehrizzatti@gmail.com>
|
|
||||||
#
|
|
||||||
|
|
||||||
local version
|
|
||||||
local version_format
|
|
||||||
local version_formatted
|
|
||||||
|
|
||||||
unset node_info
|
|
||||||
typeset -gA node_info
|
|
||||||
|
|
||||||
if (( $+functions[nvm_version] )); then
|
|
||||||
version="${$(nvm_version)#v}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$version" != (none|) ]]; then
|
|
||||||
zstyle -s ':prezto:module:node:info:version' format 'version_format'
|
|
||||||
zformat -f version_formatted "$version_format" "v:$version"
|
|
||||||
node_info[version]="$version_formatted"
|
|
||||||
fi
|
|
@ -1,20 +1,10 @@
|
|||||||
#
|
#
|
||||||
# Loads the Node Version Manager and enables npm completion.
|
# Completes npm.
|
||||||
#
|
#
|
||||||
# Authors:
|
# Authors:
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
# Zeh Rizzatti <zehrizzatti@gmail.com>
|
|
||||||
#
|
#
|
||||||
|
|
||||||
# Load manually installed NVM into the shell session.
|
|
||||||
if [[ -s "$HOME/.nvm/nvm.sh" ]]; then
|
|
||||||
source "$HOME/.nvm/nvm.sh"
|
|
||||||
|
|
||||||
# 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
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
if (( ! $+commands[node] )); then
|
if (( ! $+commands[node] )); then
|
||||||
return 1
|
return 1
|
||||||
@ -33,3 +23,4 @@ if (( $+commands[npm] )); then
|
|||||||
|
|
||||||
unset cache_file
|
unset cache_file
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1,27 +0,0 @@
|
|||||||
OCaml
|
|
||||||
=====
|
|
||||||
|
|
||||||
Initializes [OCaml][1] package management.
|
|
||||||
|
|
||||||
OPAM
|
|
||||||
----
|
|
||||||
|
|
||||||
[OPAM][2] is a package manager for OCaml.
|
|
||||||
|
|
||||||
This module enables local package installation with OPAM by extending the
|
|
||||||
relevant path and OCaml variables.
|
|
||||||
|
|
||||||
### Usage
|
|
||||||
|
|
||||||
Install packages to your local package directory with `opam install`.
|
|
||||||
|
|
||||||
Authors
|
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][3].*
|
|
||||||
|
|
||||||
- [Sebastian Wiesner](https://github.com/lunaryorn)
|
|
||||||
|
|
||||||
[1]: http://ocaml.org/
|
|
||||||
[2]: http://opam.ocamlpro.com/
|
|
||||||
[3]: https://github.com/sorin-ionescu/prezto/issues
|
|
@ -1,14 +0,0 @@
|
|||||||
#
|
|
||||||
# Initializes OCaml package management.
|
|
||||||
#
|
|
||||||
# Authors:
|
|
||||||
# Sebastian Wiesner <lunaryorn@gmail.com>
|
|
||||||
#
|
|
||||||
|
|
||||||
# Return if requirements are not found.
|
|
||||||
if [[ ! -f "$HOME/.opam/opam-init/init.zsh" ]]; then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Initialize OPAM.
|
|
||||||
source "$HOME/.opam/opam-init/init.zsh"
|
|
@ -9,20 +9,18 @@ Aliases
|
|||||||
- `cdf` changes the current working director to the current _Finder_
|
- `cdf` changes the current working director to the current _Finder_
|
||||||
directory.
|
directory.
|
||||||
- `pushdf` pushes the current working directory onto the directory queue and
|
- `pushdf` pushes the current working directory onto the directory queue and
|
||||||
changes the current working director to the current _Finder_ directory.
|
- `ql` quick looks at files.
|
||||||
|
- `rm-osx-cruft` deletes .DS\_Store, \_\_MACOSX cruft.
|
||||||
|
|
||||||
Functions
|
Functions
|
||||||
---------
|
---------
|
||||||
|
|
||||||
- `mand` opens _man_ pages in [_Dash.app_][2].
|
- `manb` opens _man_ pages in [_Bwana.app_][2].
|
||||||
- `manp` opens _man_ pages in _Preview.app_.
|
- `manp` opens _man_ pages in _Preview.app_.
|
||||||
- `pfd` prints the current _Finder_ directory.
|
- `pfd` prints the current _Finder_ directory.
|
||||||
- `pfs` prints the current _Finder_ selection.
|
- `pfs` prints the current _Finder_ selection.
|
||||||
- `tab` creates a new tab (works in both _Terminal_ and [_iTerm_][3]).
|
- `tab` creates a new tab (works in both _Terminal_ and [_iTerm_][3]).
|
||||||
- `ql` previews files in Quick Look.
|
- `trash` moves files and folders to _Trash_.
|
||||||
- `osx-rm-dir-metadata` deletes .DS\_Store, \_\_MACOSX cruft.
|
|
||||||
- `osx-ls-download-history` displays the Mac OS X download history.
|
|
||||||
- `osx-rm-download-history` deletes the Mac OS X download history.
|
|
||||||
|
|
||||||
Authors
|
Authors
|
||||||
-------
|
-------
|
||||||
@ -32,6 +30,7 @@ Authors
|
|||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
[1]: http://www.apple.com/macosx/
|
[1]: http://www.apple.com/macosx/
|
||||||
[2]: http://kapeli.com/dash
|
[2]: http://bruji.com/bwana/
|
||||||
[3]: http://www.iterm2.com/
|
[3]: http://www.iterm2.com/
|
||||||
[4]: https://github.com/sorin-ionescu/prezto/issues
|
[4]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
#compdef mand manp
|
#compdef manb manp
|
||||||
#autoload
|
#autoload
|
||||||
|
|
||||||
#
|
#
|
||||||
# Completes mand and manp.
|
# Completes manb and manp.
|
||||||
#
|
#
|
||||||
# Authors:
|
# Authors:
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
_man
|
_man
|
||||||
|
|
24
modules/osx/functions/manb
Normal file
24
modules/osx/functions/manb
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#
|
||||||
|
# Opens man pages in Bwana.app.
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
function manb {
|
||||||
|
local page
|
||||||
|
if (( $# > 0 )); then
|
||||||
|
for page in "$@"; do
|
||||||
|
open "man:$page" 2>/dev/null
|
||||||
|
if (( $? != 0 )); then
|
||||||
|
print "$0: Bwana is not installed" >&2
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
print 'What manual page do you want?' >&2
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
manb "$@"
|
||||||
|
|
@ -1,20 +0,0 @@
|
|||||||
#
|
|
||||||
# Opens man pages in Dash.app.
|
|
||||||
#
|
|
||||||
# Authors:
|
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
|
||||||
#
|
|
||||||
|
|
||||||
function mand {
|
|
||||||
if (( $# > 0 )); then
|
|
||||||
open "dash://manpages:$1" 2>/dev/null
|
|
||||||
if (( $? != 0 )); then
|
|
||||||
print "$0: Dash is not installed" >&2
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
print 'What manual page do you want?' >&2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
mand "$@"
|
|
@ -17,3 +17,4 @@ function manp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
manp "$@"
|
manp "$@"
|
||||||
|
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
#
|
|
||||||
# Displays the Mac OS X download history.
|
|
||||||
#
|
|
||||||
# Authors:
|
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
|
||||||
#
|
|
||||||
|
|
||||||
local db
|
|
||||||
for db in ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV*; do
|
|
||||||
if grep -q 'LSQuarantineEvent' < <(sqlite3 "$db" .tables); then
|
|
||||||
sqlite3 "$db" 'SELECT LSQuarantineDataURLString FROM LSQuarantineEvent'
|
|
||||||
fi
|
|
||||||
done
|
|
@ -1,11 +0,0 @@
|
|||||||
#
|
|
||||||
# Deletes .DS_Store and __MACOSX directories.
|
|
||||||
#
|
|
||||||
# Authors:
|
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
|
||||||
#
|
|
||||||
|
|
||||||
find "${@:-$PWD}" \( \
|
|
||||||
-type f -name '.DS_Store' -o \
|
|
||||||
-type d -name '__MACOSX' \
|
|
||||||
\) -print0 | xargs -0 rm -rf
|
|
@ -1,13 +0,0 @@
|
|||||||
#
|
|
||||||
# Deletes the Mac OS X download history.
|
|
||||||
#
|
|
||||||
# Authors:
|
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
|
||||||
#
|
|
||||||
|
|
||||||
local db
|
|
||||||
for db in ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV*; do
|
|
||||||
if grep -q 'LSQuarantineEvent' < <(sqlite3 "$db" .tables); then
|
|
||||||
sqlite3 "$db" 'DELETE FROM LSQuarantineEvent; VACUUM'
|
|
||||||
fi
|
|
||||||
done
|
|
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
osascript 2>/dev/null <<EOF
|
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 window 1 as alias)
|
||||||
end tell
|
end tell
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
@ -5,11 +5,14 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
osascript 2>&1 <<EOF
|
osascript 2>/dev/null <<EOF
|
||||||
|
set output to ""
|
||||||
tell application "Finder" to set the_selection to selection
|
tell application "Finder" to set the_selection to selection
|
||||||
if the_selection is not {}
|
set item_count to count the_selection
|
||||||
repeat with an_item in the_selection
|
repeat with item_index from 1 to count the_selection
|
||||||
log POSIX path of (an_item as text)
|
if item_index is less than item_count then set the_delimiter to "\n"
|
||||||
end repeat
|
if item_index is item_count then set the_delimiter to ""
|
||||||
end if
|
set output to output & ((item item_index of the_selection as alias)'s POSIX path) & the_delimiter
|
||||||
|
end repeat
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
@ -1,10 +0,0 @@
|
|||||||
#
|
|
||||||
# Previews files in Quick Look.
|
|
||||||
#
|
|
||||||
# Authors:
|
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
|
||||||
#
|
|
||||||
|
|
||||||
if (( $# > 0 )); then
|
|
||||||
qlmanage -p "$@" &> /dev/null
|
|
||||||
fi
|
|
@ -39,3 +39,4 @@ EOF
|
|||||||
end tell
|
end tell
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
|
27
modules/osx/functions/trash
Normal file
27
modules/osx/functions/trash
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#
|
||||||
|
# Moves directories and files to Trash.
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
print -N "${@:a}" | xargs -0 osascript -e '
|
||||||
|
on run theFilePaths
|
||||||
|
tell application "Finder"
|
||||||
|
set thePOSIXFiles to {}
|
||||||
|
repeat with aFilePath in theFilePaths
|
||||||
|
set aPOSIXFile to aFilePath as POSIX file
|
||||||
|
if exists aPOSIXFile
|
||||||
|
set end of thePOSIXFiles to aPOSIXFile
|
||||||
|
end if
|
||||||
|
end repeat
|
||||||
|
move every item of thePOSIXFiles to trash
|
||||||
|
end tell
|
||||||
|
end run
|
||||||
|
' &>/dev/null
|
||||||
|
|
||||||
|
if (( $? != 0)); then
|
||||||
|
print "$0: failed to move one or more items" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
@ -14,8 +14,26 @@ fi
|
|||||||
# Aliases
|
# Aliases
|
||||||
#
|
#
|
||||||
|
|
||||||
# Changes directory to the current Finder directory.
|
# Change directory to the current Finder directory.
|
||||||
alias cdf='cd "$(pfd)"'
|
alias cdf='cd "$(pfd)"'
|
||||||
|
|
||||||
# Pushes directory to the current Finder directory.
|
# Push directory to the current Finder directory.
|
||||||
alias pushdf='pushd "$(pfd)"'
|
alias pushdf='pushd "$(pfd)"'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Functions
|
||||||
|
#
|
||||||
|
|
||||||
|
# Open files in Quick Look.
|
||||||
|
function ql {
|
||||||
|
(( $# > 0 )) && qlmanage -p "$@" &> /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
# Delete .DS_Store and __MACOSX directories.
|
||||||
|
function rm-osx-cruft {
|
||||||
|
find "${@:-$PWD}" \( \
|
||||||
|
-type f -name '.DS_Store' -o \
|
||||||
|
-type d -name '__MACOSX' \
|
||||||
|
\) -print0 | xargs -0 rm -rf
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -63,3 +63,4 @@ Authors
|
|||||||
[1]: http://www.archlinux.org/pacman/
|
[1]: http://www.archlinux.org/pacman/
|
||||||
[2]: http://archlinux.fr/yaourt-en
|
[2]: http://archlinux.fr/yaourt-en
|
||||||
[3]: https://github.com/sorin-ionescu/prezto/issues
|
[3]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
|
||||||
|
@ -20,3 +20,4 @@ find /bin /etc /lib /sbin /usr \
|
|||||||
\( -type d -printf '%p/\n' -o -print \) | sort > "$fs"
|
\( -type d -printf '%p/\n' -o -print \) | sort > "$fs"
|
||||||
|
|
||||||
comm -23 "$fs" "$db"
|
comm -23 "$fs" "$db"
|
||||||
|
|
||||||
|
@ -18,3 +18,4 @@ pacman --query --explicit --info \
|
|||||||
print $2
|
print $2
|
||||||
}
|
}
|
||||||
'
|
'
|
||||||
|
|
||||||
|
@ -27,9 +27,6 @@ if (( $+commands[$_pacman_frontend] )); then
|
|||||||
if [[ -s "${0:h}/${_pacman_frontend}.zsh" ]]; then
|
if [[ -s "${0:h}/${_pacman_frontend}.zsh" ]]; then
|
||||||
source "${0:h}/${_pacman_frontend}.zsh"
|
source "${0:h}/${_pacman_frontend}.zsh"
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
_pacman_frontend='pacman'
|
|
||||||
_pacman_sudo='sudo '
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -37,48 +34,49 @@ fi
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Pacman.
|
# Pacman.
|
||||||
alias pac="${_pacman_frontend}"
|
alias pac='pacman'
|
||||||
|
|
||||||
# Installs packages from repositories.
|
# Installs packages from repositories.
|
||||||
alias paci="${_pacman_sudo}${_pacman_frontend} --sync"
|
alias paci='sudo pacman --sync'
|
||||||
|
|
||||||
# Installs packages from files.
|
# Installs packages from files.
|
||||||
alias pacI="${_pacman_sudo}${_pacman_frontend} --upgrade"
|
alias pacI='sudo pacman --upgrade'
|
||||||
|
|
||||||
# Removes packages and unneeded dependencies.
|
# Removes packages and unneeded dependencies.
|
||||||
alias pacx="${_pacman_sudo}${_pacman_frontend} --remove"
|
alias pacx='sudo pacman --remove'
|
||||||
|
|
||||||
# Removes packages, their configuration, and unneeded dependencies.
|
# Removes packages, their configuration, and unneeded dependencies.
|
||||||
alias pacX="${_pacman_sudo}${_pacman_frontend} --remove --nosave --recursive"
|
alias pacX='sudo pacman --remove --nosave --recursive'
|
||||||
|
|
||||||
# Displays information about a package from the repositories.
|
# Displays information about a package from the repositories.
|
||||||
alias pacq="${_pacman_frontend} --sync --info"
|
alias pacq='pacman --sync --info'
|
||||||
|
|
||||||
# Displays information about a package from the local database.
|
# Displays information about a package from the local database.
|
||||||
alias pacQ="${_pacman_frontend} --query --info"
|
alias pacQ='pacman --query --info'
|
||||||
|
|
||||||
# Searches for packages in the repositories.
|
# Searches for packages in the repositories.
|
||||||
alias pacs="${_pacman_frontend} --sync --search"
|
alias pacs='pacman --sync --recursive'
|
||||||
|
|
||||||
# Searches for packages in the local database.
|
# Searches for packages in the local database.
|
||||||
alias pacS="${_pacman_frontend} --query --search"
|
alias pacS='pacman --query --recursive'
|
||||||
|
|
||||||
# Lists orphan packages.
|
# Lists orphan packages.
|
||||||
alias pacman-list-orphans="${_pacman_sudo}${_pacman_frontend} --query --deps --unrequired"
|
alias pacman-list-orphans='sudo pacman --query --deps --unrequired'
|
||||||
|
|
||||||
# Removes orphan packages.
|
# Removes orphan packages.
|
||||||
alias pacman-remove-orphans="${_pacman_sudo}${_pacman_frontend} --remove --recursive \$(${_pacman_frontend} --quiet --query --deps --unrequired)"
|
alias pacman-remove-orphans='sudo pacman --remove --recursive $(pacman --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.
|
||||||
if (( $+commands[abs] )); then
|
if (( $+commands[abs] )); then
|
||||||
alias pacu="${_pacman_sudo}${_pacman_frontend} --sync --refresh && sudo abs"
|
alias pacu='sudo pacman --sync --refresh && sudo abs'
|
||||||
else
|
else
|
||||||
alias pacu="${_pacman_sudo}${_pacman_frontend} --sync --refresh"
|
alias pacu='sudo pacman --sync --refresh'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Synchronizes the local package database against the repositories then
|
# Synchronizes the local package database against the repositories then
|
||||||
# upgrades outdated packages.
|
# upgrades outdated packages.
|
||||||
alias pacU="${_pacman_sudo}${_pacman_frontend} --sync --refresh --sysupgrade"
|
alias pacU='sudo pacman --sync --refresh --sysupgrade'
|
||||||
|
|
||||||
|
unset _pacman_frontend
|
||||||
|
|
||||||
unset _pacman_{frontend,sudo}
|
|
||||||
|
@ -11,8 +11,9 @@
|
|||||||
|
|
||||||
# Disable color.
|
# Disable color.
|
||||||
if ! zstyle -t ':prezto:module:pacman:yaourt' color; then
|
if ! zstyle -t ':prezto:module:pacman:yaourt' color; then
|
||||||
alias pacman='yaourt --nocolor'
|
alias pacman='pacman --nocolor'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Manages .pac* files.
|
# Manages .pac* files.
|
||||||
alias pacc='yaourt -C'
|
alias pacc='pacman -C'
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Perl
|
Perl
|
||||||
====
|
====
|
||||||
|
|
||||||
Enables local [Perl][1] module installation on Mac OS X and defines aliases.
|
Enables local [Perl][1] module installation on Mac OS X and defines alises.
|
||||||
|
|
||||||
Local Module Installation
|
Local Module Installation
|
||||||
-------------------------
|
-------------------------
|
||||||
@ -61,3 +61,4 @@ Authors
|
|||||||
[1]: http://www.perl.org
|
[1]: http://www.perl.org
|
||||||
[2]: http://perlbrew.pl
|
[2]: http://perlbrew.pl
|
||||||
[3]: https://github.com/sorin-ionescu/prezto/issues
|
[3]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
|
||||||
|
@ -20,6 +20,8 @@ if [[ "$OSTYPE" == darwin* ]]; then
|
|||||||
perl_path="$HOME/Library/Perl/5.12"
|
perl_path="$HOME/Library/Perl/5.12"
|
||||||
|
|
||||||
if [[ -f "$perl_path/lib/perl5/local/lib.pm" ]]; then
|
if [[ -f "$perl_path/lib/perl5/local/lib.pm" ]]; then
|
||||||
|
manpath=("$perl_path/man" $manpath)
|
||||||
|
|
||||||
if [[ ! -s "$cache_file" ]]; then
|
if [[ ! -s "$cache_file" ]]; then
|
||||||
perl -I$perl_path/lib/perl5 -Mlocal::lib=$perl_path >! "$cache_file"
|
perl -I$perl_path/lib/perl5 -Mlocal::lib=$perl_path >! "$cache_file"
|
||||||
fi
|
fi
|
||||||
@ -29,6 +31,12 @@ if [[ "$OSTYPE" == darwin* ]]; then
|
|||||||
|
|
||||||
unset perl_path
|
unset perl_path
|
||||||
unset cache_file
|
unset cache_file
|
||||||
|
|
||||||
|
# Set environment variables for launchd processes.
|
||||||
|
for env_var in PERL_LOCAL_LIB_ROOT PERL_MB_OPT PERL_MM_OPT PERL5LIB; do
|
||||||
|
launchctl setenv "$env_var" "${(P)env_var}" &!
|
||||||
|
done
|
||||||
|
unset env_var
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -50,3 +58,4 @@ alias plbO='perlbrew switch-off'
|
|||||||
alias plbs='perlbrew switch'
|
alias plbs='perlbrew switch'
|
||||||
alias plbu='perlbrew use'
|
alias plbu='perlbrew use'
|
||||||
alias plbx='perlbrew uninstall'
|
alias plbx='perlbrew uninstall'
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ including a function that displays help or a function used to preview it.
|
|||||||
|
|
||||||
**Do not call this function directly.**
|
**Do not call this function directly.**
|
||||||
|
|
||||||
The most basic example of this function can be seen below.
|
The most basic example of this function can be seen bellow.
|
||||||
|
|
||||||
function prompt_name_setup {
|
function prompt_name_setup {
|
||||||
PROMPT='%m%# '
|
PROMPT='%m%# '
|
||||||
@ -109,3 +109,4 @@ Authors
|
|||||||
[1]: http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Prompt-Themes
|
[1]: http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Prompt-Themes
|
||||||
[2]: http://zsh.sourceforge.net/Doc/Release/Functions.html#Hook-Functions
|
[2]: http://zsh.sourceforge.net/Doc/Release/Functions.html#Hook-Functions
|
||||||
[3]: https://github.com/sorin-ionescu/prezto/issues
|
[3]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
|
||||||
|
1
modules/prompt/external/agnoster
vendored
1
modules/prompt/external/agnoster
vendored
Submodule modules/prompt/external/agnoster deleted from 43cb371f36
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user