mirror of
https://github.com/dcarrillo/prezto.git
synced 2025-07-01 18:39:26 +00:00
Compare commits
3 Commits
revision/z
...
issue/306-
Author | SHA1 | Date | |
---|---|---|---|
113f6763c2 | |||
59f448d6ed | |||
3456166ab0 |
58
README.md
58
README.md
@ -9,35 +9,48 @@ Installation
|
|||||||
------------
|
------------
|
||||||
|
|
||||||
Prezto will work with any recent release of Zsh, but the minimum recommended
|
Prezto will work with any recent release of Zsh, but the minimum recommended
|
||||||
version is 4.3.11. Unfortunately, [Cygwin][9] is not supported due to
|
version is 4.3.10.
|
||||||
non-standard core utilities.
|
|
||||||
|
|
||||||
1. Launch Zsh:
|
1. Launch Zsh:
|
||||||
|
|
||||||
zsh
|
zsh
|
||||||
|
|
||||||
2. Set the path to the Prezto installation directory:
|
2. Clone the repository:
|
||||||
|
|
||||||
ZDOTDIR="${ZDOTDIR:-$HOME}"
|
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
|
||||||
PREZTO="$ZDOTDIR/.zprezto"
|
|
||||||
|
|
||||||
3. Clone the repository:
|
3. Create a new Zsh configuration by copying the Zsh configuration files
|
||||||
|
|
||||||
git clone --recursive https://github.com/sorin-ionescu/prezto.git "$PREZTO"
|
|
||||||
|
|
||||||
4. Create a new Zsh configuration by copying the Zsh configuration files
|
|
||||||
provided:
|
provided:
|
||||||
|
|
||||||
setopt EXTENDED_GLOB
|
setopt EXTENDED_GLOB
|
||||||
for rcfile in "$PREZTO/runcoms/^README.md(.N); do
|
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
|
||||||
ln -s "$rcfile" "${ZDOTDIR}/.${rcfile:t}"
|
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
|
||||||
done
|
done
|
||||||
|
|
||||||
5. Set Zsh as your default shell:
|
4. Set Zsh as your default shell:
|
||||||
|
|
||||||
chsh -s /bin/zsh
|
chsh -s /bin/zsh
|
||||||
|
|
||||||
6. 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
|
||||||
|
|
||||||
@ -45,13 +58,6 @@ If you are not able to find certain commands after switching to *Prezto*,
|
|||||||
modify the `PATH` variable in *~/.zshenv* then open a new Zsh terminal
|
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
|
||||||
-----
|
-----
|
||||||
|
|
||||||
@ -76,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
|
||||||
---------
|
---------
|
||||||
@ -91,7 +96,7 @@ License
|
|||||||
|
|
||||||
(The MIT License)
|
(The MIT License)
|
||||||
|
|
||||||
Copyright (c) 2009-2014 Sorin Ionescu and contributors.
|
Copyright (c) 2009-2012 Robby Russell, 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
|
||||||
@ -119,5 +124,4 @@ SOFTWARE.
|
|||||||
[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
|
||||||
[9]: http://www.cygwin.com
|
|
||||||
|
|
||||||
|
20
init.zsh
20
init.zsh
@ -10,7 +10,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Check for the minimum supported version.
|
# Check for the minimum supported version.
|
||||||
min_zsh_version='4.3.11'
|
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
|
||||||
@ -31,7 +31,7 @@ function pmodload {
|
|||||||
pmodules=("$argv[@]")
|
pmodules=("$argv[@]")
|
||||||
|
|
||||||
# Add functions to $fpath.
|
# Add functions to $fpath.
|
||||||
fpath=(${pmodules:+$PREZTO/modules/${^pmodules}/functions(/FN)} $fpath)
|
fpath=(${pmodules:+${ZDOTDIR:-$HOME}/.zprezto/modules/${^pmodules}/functions(/FN)} $fpath)
|
||||||
|
|
||||||
function {
|
function {
|
||||||
local pfunction
|
local pfunction
|
||||||
@ -40,7 +40,7 @@ function pmodload {
|
|||||||
setopt LOCAL_OPTIONS EXTENDED_GLOB
|
setopt LOCAL_OPTIONS EXTENDED_GLOB
|
||||||
|
|
||||||
# Load Prezto functions.
|
# Load Prezto functions.
|
||||||
for pfunction in $PREZTO/modules/${^pmodules}/functions/$~pfunction_glob; do
|
for pfunction in ${ZDOTDIR:-$HOME}/.zprezto/modules/${^pmodules}/functions/$~pfunction_glob; do
|
||||||
autoload -Uz "$pfunction"
|
autoload -Uz "$pfunction"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
@ -49,19 +49,19 @@ function pmodload {
|
|||||||
for pmodule in "$pmodules[@]"; do
|
for pmodule in "$pmodules[@]"; do
|
||||||
if zstyle -t ":prezto:module:$pmodule" loaded 'yes' 'no'; then
|
if zstyle -t ":prezto:module:$pmodule" loaded 'yes' 'no'; then
|
||||||
continue
|
continue
|
||||||
elif [[ ! -d "$PREZTO/modules/$pmodule" ]]; then
|
elif [[ ! -d "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule" ]]; then
|
||||||
print "$0: no such module: $pmodule" >&2
|
print "$0: no such module: $pmodule" >&2
|
||||||
continue
|
continue
|
||||||
else
|
else
|
||||||
if [[ -s "$PREZTO/modules/$pmodule/init.zsh" ]]; then
|
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule/init.zsh" ]]; then
|
||||||
source "$PREZTO/modules/$pmodule/init.zsh"
|
source "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule/init.zsh"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if (( $? == 0 )); then
|
if (( $? == 0 )); then
|
||||||
zstyle ":prezto:module:$pmodule" loaded 'yes'
|
zstyle ":prezto:module:$pmodule" loaded 'yes'
|
||||||
else
|
else
|
||||||
# Remove the $fpath entry.
|
# Remove the $fpath entry.
|
||||||
fpath[(r)$PREZTO/modules/${pmodule}/functions]=()
|
fpath[(r)${ZDOTDIR:-$HOME}/.zprezto/modules/${pmodule}/functions]=()
|
||||||
|
|
||||||
function {
|
function {
|
||||||
local pfunction
|
local pfunction
|
||||||
@ -71,7 +71,7 @@ function pmodload {
|
|||||||
setopt LOCAL_OPTIONS EXTENDED_GLOB
|
setopt LOCAL_OPTIONS EXTENDED_GLOB
|
||||||
|
|
||||||
# Unload Prezto functions.
|
# Unload Prezto functions.
|
||||||
for pfunction in $PREZTO/modules/$pmodule/functions/$~pfunction_glob; do
|
for pfunction in ${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule/functions/$~pfunction_glob; do
|
||||||
unfunction "$pfunction"
|
unfunction "$pfunction"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
@ -87,8 +87,8 @@ function pmodload {
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Source the Prezto configuration file.
|
# Source the Prezto configuration file.
|
||||||
if [[ -s "$ZDOTDIR/.zpreztorc" ]]; then
|
if [[ -s "${ZDOTDIR:-$HOME}/.zpreztorc" ]]; then
|
||||||
source "$ZDOTDIR/.zpreztorc"
|
source "${ZDOTDIR:-$HOME}/.zpreztorc"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Disable color and theme in dumb terminals.
|
# Disable color and theme in dumb terminals.
|
||||||
|
@ -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
|
||||||
-------------------
|
-------------------
|
||||||
@ -193,3 +162,9 @@ 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`.
|
||||||
|
|
||||||
|
@ -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>
|
@ -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>
|
@ -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>
|
||||||
@ -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 e -ad "$1" \
|
|
||||||
|| rar e -ad "$1" ;;
|
|
||||||
(*.7z) 7za x "$1" ;;
|
(*.7z) 7za x "$1" ;;
|
||||||
(*.deb)
|
(*.deb)
|
||||||
mkdir -p "$extract_dir/control"
|
mkdir -p "$extract_dir/control"
|
@ -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>
|
||||||
@ -41,9 +41,7 @@ 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
|
@ -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
|
||||||
-------
|
-------
|
||||||
|
@ -5,14 +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'
|
||||||
|
|
||||||
|
Submodule modules/completion/external updated: 1d6a2aa024...9ef8d2f088
@ -30,13 +30,16 @@ 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
|
||||||
#
|
#
|
||||||
|
|
||||||
# Use caching to make completion for cammands such as dpkg and apt usable.
|
# Use caching to make completion for cammands such as dpkg and apt usable.
|
||||||
zstyle ':completion::complete:*' use-cache on
|
zstyle ':completion::complete:*' use-cache on
|
||||||
zstyle ':completion::complete:*' cache-path "$ZDOTDIR/.zcompcache"
|
zstyle ':completion::complete:*' cache-path "${ZDOTDIR:-$HOME}/.zcompcache"
|
||||||
|
|
||||||
# Case-insensitive (all), partial-word, and then substring completion.
|
# Case-insensitive (all), partial-word, and then substring completion.
|
||||||
if zstyle -t ':prezto:module:completion:*' case-sensitive; then
|
if zstyle -t ':prezto:module:completion:*' case-sensitive; then
|
||||||
@ -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 }:#*\**}:#*\?*}}
|
||||||
)'
|
)'
|
||||||
@ -141,8 +144,8 @@ 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::*'
|
||||||
|
@ -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.
|
||||||
|
|
||||||
|
@ -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,7 +50,7 @@ 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.
|
||||||
|
@ -1,63 +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` and call `editor-info` in the
|
|
||||||
`prompt_name_preexec` hook function.
|
|
||||||
|
|
||||||
Authors
|
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][1].*
|
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
|
||||||
|
|
||||||
[1]: https://github.com/sorin-ionescu/oh-my-zsh/issues
|
|
||||||
|
|
@ -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,9 +57,6 @@ 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
|
||||||
@ -57,11 +90,12 @@ key_info=(
|
|||||||
'BackTab' "$terminfo[kcbt]"
|
'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
|
||||||
|
|
||||||
@ -107,25 +141,8 @@ function editor-info {
|
|||||||
}
|
}
|
||||||
zle -N editor-info
|
zle -N editor-info
|
||||||
|
|
||||||
# Ensures that $terminfo values are valid and updates editor information when
|
# Updates editor information when the keymap changes.
|
||||||
# the keymap changes.
|
|
||||||
function zle-keymap-select zle-line-init zle-line-finish {
|
function zle-keymap-select zle-line-init zle-line-finish {
|
||||||
# The terminal must be in application mode when ZLE is active for $terminfo
|
|
||||||
# values to be valid.
|
|
||||||
if (( $+terminfo[smkx] && $+terminfo[rmkx] )); then
|
|
||||||
case "$0" in
|
|
||||||
(zle-line-init)
|
|
||||||
# Enable terminal application mode.
|
|
||||||
echoti smkx
|
|
||||||
;;
|
|
||||||
(zle-line-finish)
|
|
||||||
# Disable terminal application mode.
|
|
||||||
echoti rmkx
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Update editor information.
|
|
||||||
zle editor-info
|
zle editor-info
|
||||||
}
|
}
|
||||||
zle -N zle-keymap-select
|
zle -N zle-keymap-select
|
||||||
@ -236,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
|
||||||
@ -306,14 +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'
|
|
@ -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.
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
|
||||||
|
@ -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,10 +85,19 @@ 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}'
|
||||||
@ -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'
|
||||||
|
@ -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_format"
|
|
||||||
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_format"
|
|
||||||
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,28 +342,27 @@ 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
|
||||||
}
|
}
|
||||||
|
@ -7,8 +7,8 @@ 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.
|
||||||
|
|
||||||
|
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,27 +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,44 +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/gpg-agent.env"
|
|
||||||
|
|
||||||
# Start gpg-agent if not started.
|
|
||||||
if ! ps -U "$USER" -o ucomm | grep -q gpg-agent; then
|
|
||||||
eval "$(gpg-agent --daemon | tee "$_gpg_agent_env")"
|
|
||||||
else
|
|
||||||
# Export environment variables.
|
|
||||||
source "$_gpg_agent_env" 2> /dev/null
|
|
||||||
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
|
|
||||||
|
|
@ -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
|
||||||
-------
|
-------
|
||||||
|
@ -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
|
||||||
|
@ -30,3 +30,7 @@ function coalesce {
|
|||||||
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
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
Submodule modules/history-substring-search/external updated: 1e76804052...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
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
# Variables
|
# Variables
|
||||||
#
|
#
|
||||||
|
|
||||||
HISTFILE="$ZDOTDIR/.zhistory" # The path to the history file.
|
HISTFILE="${ZDOTDIR:-$HOME}/.zhistory" # The path to the history file.
|
||||||
HISTSIZE=10000 # The maximum number of events to save in the internal history.
|
HISTSIZE=10000 # The maximum number of events to save in the internal history.
|
||||||
SAVEHIST=10000 # The maximum number of events to save in the history file.
|
SAVEHIST=10000 # The maximum number of events to save in the history file.
|
||||||
|
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
Homebrew
|
|
||||||
========
|
|
||||||
|
|
||||||
Defines Homebrew aliases.
|
|
||||||
|
|
||||||
Aliases
|
|
||||||
-------
|
|
||||||
|
|
||||||
- `brewc` cleans outdated brews and their cached archives.
|
|
||||||
- `brewC` cleans outdated brews, including keg-only, and their cached archives.
|
|
||||||
- `brewi` installs a formula.
|
|
||||||
- `brewl` lists installed formulae.
|
|
||||||
- `brews` searches for a formula.
|
|
||||||
- `brewU` upgrades Homebrew and outdated brews.
|
|
||||||
- `brewu` upgrades Homebrew.
|
|
||||||
- `brewx` uninstalls a formula.
|
|
||||||
|
|
||||||
Authors
|
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][1].*
|
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
|
||||||
|
|
||||||
[1]: https://github.com/sorin-ionescu/prezto/issues
|
|
||||||
|
|
@ -1,25 +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
|
|
||||||
#
|
|
||||||
|
|
||||||
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'
|
|
||||||
|
|
@ -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}
|
||||||
|
@ -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,11 +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
|
|
||||||
|
|
||||||
|
@ -1,25 +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 [[ -n "$version" ]]; 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,16 +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 NVM into the shell session.
|
|
||||||
if [[ -s "$HOME/.nvm/nvm.sh" ]]; then
|
|
||||||
source "$HOME/.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
|
||||||
|
@ -1,28 +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,15 +0,0 @@
|
|||||||
#
|
|
||||||
# Initializes Ocaml package management.
|
|
||||||
#
|
|
||||||
# Authors:
|
|
||||||
# Sebastian Wiesner <lunaryorn@gmail.com>
|
|
||||||
#
|
|
||||||
|
|
||||||
# Return if requirements are not found.
|
|
||||||
if (( ! $+commands[opam] )); then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Initialize OPAM.
|
|
||||||
eval "$(opam config env)"
|
|
||||||
|
|
@ -20,6 +20,7 @@ Functions
|
|||||||
- `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]).
|
||||||
|
- `trash` moves files and folders to _Trash_.
|
||||||
|
|
||||||
Authors
|
Authors
|
||||||
-------
|
-------
|
||||||
|
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
|
||||||
|
|
@ -6,7 +6,7 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
local tmp="$TMPDIR/pacman-disowned-$UID-$$"
|
local tmp="${TMPDIR:-/tmp}/pacman-disowned-$UID-$$"
|
||||||
local db="$tmp/db"
|
local db="$tmp/db"
|
||||||
local fs="$tmp/fs"
|
local fs="$tmp/fs"
|
||||||
|
|
||||||
|
@ -55,10 +55,10 @@ alias pacq='pacman --sync --info'
|
|||||||
alias pacQ='pacman --query --info'
|
alias pacQ='pacman --query --info'
|
||||||
|
|
||||||
# Searches for packages in the repositories.
|
# Searches for packages in the repositories.
|
||||||
alias pacs='pacman --sync --search'
|
alias pacs='pacman --sync --recursive'
|
||||||
|
|
||||||
# Searches for packages in the local database.
|
# Searches for packages in the local database.
|
||||||
alias pacS='pacman --query --search'
|
alias pacS='pacman --query --recursive'
|
||||||
|
|
||||||
# Lists orphan packages.
|
# Lists orphan packages.
|
||||||
alias pacman-list-orphans='sudo pacman --query --deps --unrequired'
|
alias pacman-list-orphans='sudo pacman --query --deps --unrequired'
|
||||||
|
@ -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
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -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%# '
|
||||||
|
223
modules/prompt/functions/prompt_borra_setup
Normal file
223
modules/prompt/functions/prompt_borra_setup
Normal file
@ -0,0 +1,223 @@
|
|||||||
|
#
|
||||||
|
# A two line customizable theme (colored in blue and white by default).
|
||||||
|
#
|
||||||
|
# Author:
|
||||||
|
# shura <shura1991@gmail.com>
|
||||||
|
#
|
||||||
|
# Features:
|
||||||
|
# - Two lines.
|
||||||
|
# - VCS integration.
|
||||||
|
# - Customizable.
|
||||||
|
#
|
||||||
|
# Settings (:prezto:module:prompt:theme:borra):
|
||||||
|
# - plugins: list of plugins (array)
|
||||||
|
# - prefix: right-side of plugin wrapper (string)
|
||||||
|
# - separator: plugin separator (string)
|
||||||
|
# - suffix: left-side of plugin wrapper (string)
|
||||||
|
# - top: beginning of first line (string)
|
||||||
|
# - bottom: beginning of second line (string)
|
||||||
|
# - prompt: right-side of second line (string)
|
||||||
|
# - rprompt: right prompt enable or disable (bool)
|
||||||
|
#
|
||||||
|
# Plugins settings (:prezto:module:prompt:theme:borra:plugin:$plugin):
|
||||||
|
# Version Control Systems:
|
||||||
|
# - enable: vcs enable backends (array)
|
||||||
|
# - format: vcs backends format (string):
|
||||||
|
# * %b: backend name (to write a bold-end, escape it using %%b)
|
||||||
|
# * %i: formatted text according to zstyle ':vcs_info:*' formats (or actionformats)
|
||||||
|
# User and Host:
|
||||||
|
# - format: username and hostname format (string):
|
||||||
|
# * %u: username
|
||||||
|
# * %h: hostname
|
||||||
|
# Example:
|
||||||
|
# zstyle ':prezto:module:prompt:theme:borra' separator ' '
|
||||||
|
#
|
||||||
|
# Screenshots:
|
||||||
|
# http://i.imgur.com/rEgWv.png
|
||||||
|
# http://ascii.io/a/1310
|
||||||
|
#
|
||||||
|
|
||||||
|
function +borra-pts {
|
||||||
|
print -n '/dev/%y'
|
||||||
|
}
|
||||||
|
|
||||||
|
function +borra-rvm-info {
|
||||||
|
if (( ! $+functions[rvm] )); then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local rb="$(rvm-prompt s)"
|
||||||
|
if [[ -z "${rb}" ]]; then
|
||||||
|
print "$(rvm-prompt i v p r)" || print "${rb}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function +borra-userhost {
|
||||||
|
local format
|
||||||
|
local res
|
||||||
|
zstyle -s ':prezto:module:prompt:theme:borra:plugin:userhost' format 'format'
|
||||||
|
zformat -f res "$format" u:'%(!.%SROOT%s.%n)' h:'%m'
|
||||||
|
print -n "$res"
|
||||||
|
}
|
||||||
|
|
||||||
|
function +borra-vcs-info {
|
||||||
|
local res=""
|
||||||
|
local sep="$1"
|
||||||
|
local backend
|
||||||
|
local enabled
|
||||||
|
local format
|
||||||
|
local s
|
||||||
|
|
||||||
|
vcs_info # need VCS_INFO_backends
|
||||||
|
zstyle -a ':prezto:module:prompt:theme:borra:plugin:vcs' enable 'enabled'
|
||||||
|
zstyle -s ':prezto:module:prompt:theme:borra:plugin:vcs' format 'format'
|
||||||
|
|
||||||
|
for backend in ${VCS_INFO_backends[@]}; do
|
||||||
|
if (( $+enabled[$backend] )); then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
zstyle ':vcs_info:*' enable "$backend"
|
||||||
|
vcs_info || continue
|
||||||
|
|
||||||
|
if [[ -z "${vcs_info_msg_0_}" ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
zformat -f s "$format" "b:$backend" "i:$vcs_info_msg_0_"
|
||||||
|
|
||||||
|
res+="$(prompt_borra_wrap_plugin "$s" "$sep")"
|
||||||
|
|
||||||
|
if [[ -z "$sep" && ! -z "$res" ]]; then
|
||||||
|
zstyle -s ':prezto:module:prompt:theme:borra' separator 'sep'
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
print -n -- "$res"
|
||||||
|
return 23
|
||||||
|
}
|
||||||
|
|
||||||
|
function +vi-git-status-untracked {
|
||||||
|
if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then
|
||||||
|
hook_com[unstaged]=' %F{red}⚑%f'
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function prompt_borra_set_zstyle_if_not_set {
|
||||||
|
zstyle -T "$1" "$2" && zstyle "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
function prompt_borra_wrap_plugin {
|
||||||
|
local prefix
|
||||||
|
local suffix
|
||||||
|
|
||||||
|
zstyle -s ':prezto:module:prompt:theme:borra' prefix 'prefix'
|
||||||
|
zstyle -s ':prezto:module:prompt:theme:borra' suffix 'suffix'
|
||||||
|
|
||||||
|
print -n -- "${2}${prefix}${1}${suffix}"
|
||||||
|
}
|
||||||
|
|
||||||
|
function prompt_borra_render_item {
|
||||||
|
local res
|
||||||
|
|
||||||
|
res="$($1 "$2" 2>/dev/null)"
|
||||||
|
case "$?" in
|
||||||
|
(0)
|
||||||
|
prompt_borra_wrap_plugin "$res" "$2"
|
||||||
|
;;
|
||||||
|
(23)
|
||||||
|
print -n "$res"
|
||||||
|
;;
|
||||||
|
(*)
|
||||||
|
return 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
function prompt_borra_render_plugins {
|
||||||
|
local res=""
|
||||||
|
local plugin
|
||||||
|
local -a plugins
|
||||||
|
local sep
|
||||||
|
|
||||||
|
zstyle -a ':prezto:module:prompt:theme:borra' plugins 'plugins'
|
||||||
|
|
||||||
|
for plugin in "$plugins[@]"; do
|
||||||
|
res+="$(prompt_borra_render_item "+borra-$plugin" "$sep")"
|
||||||
|
if [[ -z "$sep" && ! -z "$res" ]]; then
|
||||||
|
zstyle -s ':prezto:module:prompt:theme:borra' separator 'sep'
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
print -n "$res"
|
||||||
|
}
|
||||||
|
|
||||||
|
function prompt_borra_create_prompt {
|
||||||
|
local plugins="$(prompt_borra_render_plugins)"
|
||||||
|
local res=""
|
||||||
|
local top
|
||||||
|
local bottom
|
||||||
|
local prompt
|
||||||
|
|
||||||
|
if [[ ! -z "$plugins" ]]; then
|
||||||
|
zstyle -s ':prezto:module:prompt:theme:borra' top 'top'
|
||||||
|
zstyle -s ':prezto:module:prompt:theme:borra' bottom 'bottom'
|
||||||
|
|
||||||
|
res="
|
||||||
|
${top}${plugins}
|
||||||
|
${bottom}"
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
zstyle -s ':prezto:module:prompt:theme:borra' prompt 'prompt'
|
||||||
|
print -n "${res}${prompt}"
|
||||||
|
}
|
||||||
|
|
||||||
|
function prompt_borra_precmd {
|
||||||
|
local rprompt
|
||||||
|
PROMPT="$(prompt_borra_create_prompt)"
|
||||||
|
zstyle -b ':prezto:module:prompt:theme:borra' rprompt 'rprompt'
|
||||||
|
if [[ "$rprompt" = yes ]]; then
|
||||||
|
RPROMPT='%(?..%F{red}%? ↵%f)'
|
||||||
|
else
|
||||||
|
RPROMPT=''
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function prompt_borra_setup {
|
||||||
|
setopt LOCAL_OPTIONS
|
||||||
|
unsetopt XTRACE KSH_ARRAYS
|
||||||
|
prompt_opts=(cr percent subst)
|
||||||
|
|
||||||
|
# Load required functions.
|
||||||
|
autoload -Uz add-zsh-hook
|
||||||
|
autoload -Uz vcs_info
|
||||||
|
|
||||||
|
# Add hook for calling git-info before each command.
|
||||||
|
add-zsh-hook precmd prompt_borra_precmd
|
||||||
|
|
||||||
|
# Call vcs_info to populate $VCS_INFO_backends.
|
||||||
|
vcs_info
|
||||||
|
|
||||||
|
prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra' plugins 'userhost' 'pts' 'rvm-info' 'vcs-info'
|
||||||
|
prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra' prefix '%F{blue}(%f'
|
||||||
|
prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra' separator '%F{blue}-%f'
|
||||||
|
prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra' suffix '%F{blue}%)%f'
|
||||||
|
prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra' top '%F{blue}╭-%f'
|
||||||
|
prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra' bottom '%F{blue}╰─%f'
|
||||||
|
prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra' prompt '%F{blue}(%f%B%$((COLUMNS / 2))<...<%~%<<%b%F{blue})%F{yellow}>%f '
|
||||||
|
prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra' rprompt 'yes'
|
||||||
|
prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra:plugin:vcs' enable "$VCS_INFO_backends[@]"
|
||||||
|
prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra:plugin:vcs' format '%b: %i'
|
||||||
|
prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra:plugin:userhost' format '%u%F{blue}@%f%h'
|
||||||
|
|
||||||
|
# Set vcs_info parameters.
|
||||||
|
zstyle ':vcs_info:*' check-for-changes 'true'
|
||||||
|
zstyle ':vcs_info:*' unstagedstr ' %F{yellow}⚑%f'
|
||||||
|
zstyle ':vcs_info:*' stagedstr ' %F{green}⚑%f'
|
||||||
|
zstyle ':vcs_info:*' actionformats '%b%u%c [%a]'
|
||||||
|
zstyle ':vcs_info:*' formats '%b%u%c'
|
||||||
|
zstyle ':vcs_info:*+set-message:*' hooks 'git-status-untracked'
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt_borra_setup "$@"
|
@ -46,14 +46,10 @@ function prompt_sorin_setup {
|
|||||||
# Add hook for calling git-info before each command.
|
# Add hook for calling git-info before each command.
|
||||||
add-zsh-hook precmd prompt_sorin_precmd
|
add-zsh-hook precmd prompt_sorin_precmd
|
||||||
|
|
||||||
# Set editor-info parameters.
|
|
||||||
zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b'
|
zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b'
|
||||||
zstyle ':prezto:module:editor:info:keymap:primary' format ' %B%F{red}❯%F{yellow}❯%F{green}❯%f%b'
|
zstyle ':prezto:module:editor:info:keymap:primary' format ' %B%F{red}❯%F{yellow}❯%F{green}❯%f%b'
|
||||||
zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format ' %F{red}♺%f'
|
zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format ' %F{red}♺%f'
|
||||||
zstyle ':prezto:module:editor:info:keymap:alternate' format ' %B%F{green}❮%F{yellow}❮%F{red}❮%f%b'
|
zstyle ':prezto:module:editor:info:keymap:alternate' format ' %B%F{green}❮%F{yellow}❮%F{red}❮%f%b'
|
||||||
|
|
||||||
# Set git-info parameters.
|
|
||||||
zstyle ':prezto:module:git:info' verbose 'yes'
|
|
||||||
zstyle ':prezto:module:git:info:action' format ':%%B%F{yellow}%s%f%%b'
|
zstyle ':prezto:module:git:info:action' format ':%%B%F{yellow}%s%f%%b'
|
||||||
zstyle ':prezto:module:git:info:added' format ' %%B%F{green}✚%f%%b'
|
zstyle ':prezto:module:git:info:added' format ' %%B%F{green}✚%f%%b'
|
||||||
zstyle ':prezto:module:git:info:ahead' format ' %%B%F{yellow}⬆%f%%b'
|
zstyle ':prezto:module:git:info:ahead' format ' %%B%F{yellow}⬆%f%%b'
|
||||||
@ -62,7 +58,7 @@ function prompt_sorin_setup {
|
|||||||
zstyle ':prezto:module:git:info:commit' format ':%F{green}%.7c%f'
|
zstyle ':prezto:module:git:info:commit' format ':%F{green}%.7c%f'
|
||||||
zstyle ':prezto:module:git:info:deleted' format ' %%B%F{red}✖%f%%b'
|
zstyle ':prezto:module:git:info:deleted' format ' %%B%F{red}✖%f%%b'
|
||||||
zstyle ':prezto:module:git:info:modified' format ' %%B%F{blue}✱%f%%b'
|
zstyle ':prezto:module:git:info:modified' format ' %%B%F{blue}✱%f%%b'
|
||||||
zstyle ':prezto:module:git:info:position' format ':%F{red}%p%f'
|
zstyle ':prezto:module:git:info:position' format ':%F{green}%p%f'
|
||||||
zstyle ':prezto:module:git:info:renamed' format ' %%B%F{magenta}➜%f%%b'
|
zstyle ':prezto:module:git:info:renamed' format ' %%B%F{magenta}➜%f%%b'
|
||||||
zstyle ':prezto:module:git:info:stashed' format ' %%B%F{cyan}✭%f%%b'
|
zstyle ':prezto:module:git:info:stashed' format ' %%B%F{cyan}✭%f%%b'
|
||||||
zstyle ':prezto:module:git:info:unmerged' format ' %%B%F{yellow}═%f%%b'
|
zstyle ':prezto:module:git:info:unmerged' format ' %%B%F{yellow}═%f%%b'
|
||||||
|
@ -6,15 +6,15 @@ Enables local Python and local Python package installation.
|
|||||||
Local Python Installation
|
Local Python Installation
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
[pyenv][4] builds and installs multiple Python versions locally in the home
|
[pythonz][4] builds and installs multiple Python versions locally in the home
|
||||||
directory.
|
directory.
|
||||||
|
|
||||||
This module prepends the pyenv directory to the path variable to enable the
|
This module prepends the pythonz directory to the path variable to enable the
|
||||||
execution of `pyenv`.
|
execution of `pythonz`.
|
||||||
|
|
||||||
### Usage
|
### Usage
|
||||||
|
|
||||||
Install Python versions with `pyenv install` into *~/.pyenv/versions*.
|
Install Python versions with `pythonz install` into *~/.pythonz/pythons*.
|
||||||
|
|
||||||
Local Package Installation
|
Local Package Installation
|
||||||
--------------------------
|
--------------------------
|
||||||
@ -66,6 +66,16 @@ Aliases
|
|||||||
|
|
||||||
- `py` is short for `python`.
|
- `py` is short for `python`.
|
||||||
|
|
||||||
|
### Pythonz
|
||||||
|
|
||||||
|
- `pyz` is short for `pythonz`.
|
||||||
|
- `pyzc` removes stale source folders and archives.
|
||||||
|
- `pyzi` installs Python versions.
|
||||||
|
- `pyzl` lists installed Python versions.
|
||||||
|
- `pyzL` lists available Python versions.
|
||||||
|
- `pyzu` updates itself to the latest version.
|
||||||
|
- `pyzx` uninstalls Python versions.
|
||||||
|
|
||||||
Functions
|
Functions
|
||||||
---------
|
---------
|
||||||
|
|
||||||
@ -95,6 +105,6 @@ Authors
|
|||||||
[1]: http://www.python.org/dev/peps/pep-0370/
|
[1]: http://www.python.org/dev/peps/pep-0370/
|
||||||
[2]: http://www.doughellmann.com/projects/virtualenvwrapper/
|
[2]: http://www.doughellmann.com/projects/virtualenvwrapper/
|
||||||
[3]: http://pypi.python.org/pypi/virtualenv
|
[3]: http://pypi.python.org/pypi/virtualenv
|
||||||
[4]: https://github.com/yyuu/pyenv
|
[4]: http://saghul.github.com/pythonz/
|
||||||
[5]: https://github.com/sorin-ionescu/prezto/issues
|
[5]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
|
||||||
|
@ -6,35 +6,31 @@
|
|||||||
# Sebastian Wiesner <lunaryorn@googlemail.com>
|
# Sebastian Wiesner <lunaryorn@googlemail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
# Load manually installed pyenv into the shell session.
|
# Load pythonz into the shell session.
|
||||||
if [[ -s "$HOME/.pyenv/bin/pyenv" ]]; then
|
if [[ -s $HOME/.pythonz/bin/pythonz ]]; then
|
||||||
path=("$HOME/.pyenv/bin" $path)
|
path=($HOME/.pythonz/bin $path)
|
||||||
eval "$(pyenv init -)"
|
|
||||||
|
|
||||||
# Load package manager installed pyenv into the shell session.
|
|
||||||
elif (( $+commands[pyenv] )); then
|
|
||||||
eval "$(pyenv init -)"
|
|
||||||
|
|
||||||
# Prepend PEP 370 per user site packages directory, which defaults to
|
|
||||||
# ~/Library/Python on Mac OS X and ~/.local elsewhere, to PATH.
|
|
||||||
else
|
|
||||||
if [[ "$OSTYPE" == darwin* ]]; then
|
|
||||||
path=($HOME/Library/Python/*/bin(N) $path)
|
|
||||||
else
|
|
||||||
# This is subject to change.
|
|
||||||
path=($HOME/.local/bin $path)
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
if (( ! $+commands[python] && ! $+commands[pyenv] )); then
|
if (( ! $+commands[python] && ! $+commands[pythonz] )); then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Prepend PEP 370 per user site packages directory, which defaults to
|
||||||
|
# ~/Library/Python on Mac OS X and ~/.local elsewhere, to PATH/MANPATH.
|
||||||
|
if [[ "$OSTYPE" == darwin* ]]; then
|
||||||
|
path=($HOME/Library/Python/*/bin(N) $path)
|
||||||
|
manpath=($HOME/Library/Python/*/{,share/}man(N) $manpath)
|
||||||
|
else
|
||||||
|
# This is subject to change.
|
||||||
|
path=($HOME/.local/bin $path)
|
||||||
|
manpath=($HOME/.local/{,share/}man(N) $manpath)
|
||||||
|
fi
|
||||||
|
|
||||||
# Load virtualenvwrapper into the shell session.
|
# Load virtualenvwrapper into the shell session.
|
||||||
if (( $+commands[virtualenvwrapper_lazy.sh] )); then
|
if (( $+commands[virtualenvwrapper_lazy.sh] )); then
|
||||||
# Set the directory where virtual environments are stored.
|
# Set the directory where virtual environments are stored.
|
||||||
export WORKON_HOME="$HOME/.virtualenvs"
|
export WORKON_HOME=$HOME/.virtualenvs
|
||||||
|
|
||||||
# Disable the virtualenv prompt.
|
# Disable the virtualenv prompt.
|
||||||
VIRTUAL_ENV_DISABLE_PROMPT=1
|
VIRTUAL_ENV_DISABLE_PROMPT=1
|
||||||
@ -48,3 +44,14 @@ fi
|
|||||||
|
|
||||||
alias py='python'
|
alias py='python'
|
||||||
|
|
||||||
|
# pythonz
|
||||||
|
if (( $+commands[pythonz] )); then
|
||||||
|
alias pyz='pythonz'
|
||||||
|
alias pyzc='pythonz cleanup'
|
||||||
|
alias pyzi='pythonz install'
|
||||||
|
alias pyzl='pythonz list'
|
||||||
|
alias pyzL='pythonz list -a'
|
||||||
|
alias pyzu='pythonz update'
|
||||||
|
alias pyzx='pythonz uninstall'
|
||||||
|
fi
|
||||||
|
|
||||||
|
@ -7,30 +7,39 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
# Load dependencies.
|
|
||||||
pmodload 'ruby'
|
|
||||||
|
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
if (( ! $+commands[bundle] )); then
|
if (( ! $+commands[rails] )); then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
# Aliases
|
# Aliases (Compatible with Rails 2)
|
||||||
#
|
#
|
||||||
|
|
||||||
alias ror='bundle exec rails'
|
alias ror='rails'
|
||||||
alias rorc='bundle exec rails console'
|
alias rorc='_rails-command console'
|
||||||
alias rordc='bundle exec rails dbconsole'
|
alias rordc='_rails-command dbconsole'
|
||||||
alias rordm='bundle exec rake db:migrate'
|
alias rordm='rake db:migrate'
|
||||||
alias rordM='bundle exec rake db:migrate db:test:clone'
|
alias rordM='rake db:migrate db:test:clone'
|
||||||
alias rordr='bundle exec rake db:rollback'
|
alias rordr='rake db:rollback'
|
||||||
alias rorg='bundle exec rails generate'
|
alias rorg='_rails-command generate'
|
||||||
alias rorl='tail -f "$(ruby-app-root)/log/development.log"'
|
alias rorl='tail -f log/development.log'
|
||||||
alias rorlc='bundle exec rake log:clear'
|
alias rorlc='rake log:clear'
|
||||||
alias rorp='bundle exec rails plugin'
|
alias rorp='_rails-command plugin'
|
||||||
alias rorr='bundle exec rails runner'
|
alias rorr='_rails-command runner'
|
||||||
alias rors='bundle exec rails server'
|
alias rors='_rails-command server'
|
||||||
alias rorsd='bundle exec rails server --debugger'
|
alias rorsd='_rails-command server --debugger'
|
||||||
alias rorx='bundle exec rails destroy'
|
alias rorx='_rails-command destroy'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Functions
|
||||||
|
#
|
||||||
|
|
||||||
|
function _rails-command {
|
||||||
|
if [[ -e "script/server" ]]; then
|
||||||
|
ruby script/"$@"
|
||||||
|
else
|
||||||
|
ruby script/rails "$@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -23,6 +23,6 @@ Authors
|
|||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
[1]: http://rsync.samba.org
|
[1]: http://rsync.samba.org
|
||||||
[2]: http://help.bombich.com/kb/overview/credits#opensource
|
[2]: http://www.bombich.com/rsync.html
|
||||||
[3]: https://github.com/sorin-ionescu/prezto/issues
|
[3]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ fi
|
|||||||
_rsync_cmd='rsync --verbose --progress --human-readable --compress --archive --hard-links --one-file-system'
|
_rsync_cmd='rsync --verbose --progress --human-readable --compress --archive --hard-links --one-file-system'
|
||||||
|
|
||||||
# Mac OS X and HFS+ Enhancements
|
# Mac OS X and HFS+ Enhancements
|
||||||
# http://help.bombich.com/kb/overview/credits#opensource
|
# http://www.bombich.com/rsync.html
|
||||||
if [[ "$OSTYPE" == darwin* ]] && grep -q 'file-flags' <(rsync --help 2>&1); then
|
if [[ "$OSTYPE" == darwin* ]] && grep -q 'file-flags' <(rsync --help 2>&1); then
|
||||||
_rsync_cmd="${_rsync_cmd} --crtimes --acls --xattrs --fileflags --protect-decmpfs --force-change"
|
_rsync_cmd="${_rsync_cmd} --crtimes --acls --xattrs --fileflags --protect-decmpfs --force-change"
|
||||||
fi
|
fi
|
||||||
|
@ -59,7 +59,6 @@ Aliases
|
|||||||
Functions
|
Functions
|
||||||
---------
|
---------
|
||||||
|
|
||||||
- `ruby-app-root` displays the path to the Ruby application root directory.
|
|
||||||
- `ruby-info` exposes information about the Ruby environment via the
|
- `ruby-info` exposes information about the Ruby environment via the
|
||||||
`$ruby_info` associative array.
|
`$ruby_info` associative array.
|
||||||
|
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
#
|
|
||||||
# Displays the path to the Ruby application root directory.
|
|
||||||
#
|
|
||||||
# Authors:
|
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
|
||||||
#
|
|
||||||
|
|
||||||
local root_dir="$PWD"
|
|
||||||
|
|
||||||
while [[ "$root_dir" != '/' ]]; do
|
|
||||||
if [[ -f "$root_dir/Gemfile" ]]; then
|
|
||||||
print "$root_dir"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
root_dir="$root_dir:h"
|
|
||||||
done
|
|
||||||
|
|
||||||
return 1
|
|
||||||
|
|
@ -17,15 +17,18 @@ if [[ -s "$HOME/.rvm/scripts/rvm" ]]; then
|
|||||||
# Load manually installed rbenv into the shell session.
|
# Load manually installed rbenv into the shell session.
|
||||||
elif [[ -s "$HOME/.rbenv/bin/rbenv" ]]; then
|
elif [[ -s "$HOME/.rbenv/bin/rbenv" ]]; then
|
||||||
path=("$HOME/.rbenv/bin" $path)
|
path=("$HOME/.rbenv/bin" $path)
|
||||||
eval "$(rbenv init - --no-rehash zsh)"
|
eval "$(rbenv init - zsh)"
|
||||||
|
|
||||||
# Load package manager installed rbenv into the shell session.
|
# Load package manager installed rbenv into the shell session.
|
||||||
elif (( $+commands[rbenv] )); then
|
elif (( $+commands[rbenv] )); then
|
||||||
eval "$(rbenv init - --no-rehash zsh)"
|
eval "$(rbenv init - zsh)"
|
||||||
|
|
||||||
# Prepend local gems bin directories to PATH.
|
# Install local gems according to operating system conventions.
|
||||||
else
|
else
|
||||||
path=($HOME/.gem/ruby/*/bin(N) $path)
|
if [[ "$OSTYPE" == darwin* ]]; then
|
||||||
|
export GEM_HOME="$HOME/Library/Ruby/Gems/1.8"
|
||||||
|
path=("$GEM_HOME/bin" $path)
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
@ -44,7 +47,7 @@ alias rb='ruby'
|
|||||||
if (( $+commands[bundle] )); then
|
if (( $+commands[bundle] )); then
|
||||||
alias rbb='bundle'
|
alias rbb='bundle'
|
||||||
alias rbbe='rbb exec'
|
alias rbbe='rbb exec'
|
||||||
alias rbbi='rbb install'
|
alias rbbi='rbb install --path vendor/bundle'
|
||||||
alias rbbl='rbb list'
|
alias rbbl='rbb list'
|
||||||
alias rbbo='rbb open'
|
alias rbbo='rbb open'
|
||||||
alias rbbp='rbb package'
|
alias rbbp='rbb package'
|
||||||
@ -52,7 +55,6 @@ if (( $+commands[bundle] )); then
|
|||||||
alias rbbI='rbbi \
|
alias rbbI='rbbi \
|
||||||
&& rbb package \
|
&& rbb package \
|
||||||
&& print .bundle >>! .gitignore \
|
&& print .bundle >>! .gitignore \
|
||||||
&& print vendor/assets >>! .gitignore \
|
|
||||||
&& print vendor/bundle >>! .gitignore \
|
&& print vendor/bundle >>! .gitignore \
|
||||||
&& print vendor/cache >>! .gitignore'
|
&& print vendor/cache >>! .gitignore'
|
||||||
fi
|
fi
|
||||||
|
@ -10,15 +10,9 @@ Settings
|
|||||||
|
|
||||||
Starts a GNU Screen session automatically when Zsh is launched.
|
Starts a GNU Screen session automatically when Zsh is launched.
|
||||||
|
|
||||||
To enable this feature when launching Zsh in a local terminal, add the
|
To enable this feature, add the following line to *zpreztorc*:
|
||||||
following line to *zpreztorc*:
|
|
||||||
|
|
||||||
zstyle ':prezto:module:screen:auto-start' local 'yes'
|
zstyle ':prezto:module:screen' auto-start 'yes'
|
||||||
|
|
||||||
To enable this feature when launching Zsh in a SSH connection, add the
|
|
||||||
following line to *zpreztorc*:
|
|
||||||
|
|
||||||
zstyle ':prezto:module:screen:auto-start' remote 'yes'
|
|
||||||
|
|
||||||
Aliases
|
Aliases
|
||||||
-------
|
-------
|
||||||
@ -34,7 +28,6 @@ Authors
|
|||||||
*The authors of this module should be contacted via the [issue tracker][2].*
|
*The authors of this module should be contacted via the [issue tracker][2].*
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
- [Georges Discry](https://github.com/gdiscry)
|
|
||||||
|
|
||||||
[1]: http://www.gnu.org/software/screen/
|
[1]: http://www.gnu.org/software/screen/
|
||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
|
[2]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
#
|
#
|
||||||
# Authors:
|
# Authors:
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
# Georges Discry <georges@discry.be>
|
|
||||||
#
|
#
|
||||||
|
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
@ -15,10 +14,7 @@ fi
|
|||||||
# Auto Start
|
# Auto Start
|
||||||
#
|
#
|
||||||
|
|
||||||
if [[ -z "$STY" ]] && ( \
|
if [[ -z "$STY" ]] && zstyle -t ':prezto:module:screen' auto-start; then
|
||||||
( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' remote ) ||
|
|
||||||
( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' local ) \
|
|
||||||
); then
|
|
||||||
session="$(
|
session="$(
|
||||||
screen -list 2> /dev/null \
|
screen -list 2> /dev/null \
|
||||||
| sed '1d;$d' \
|
| sed '1d;$d' \
|
||||||
|
36
modules/ssh-agent/README.md
Normal file
36
modules/ssh-agent/README.md
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
SSH-Agent
|
||||||
|
=========
|
||||||
|
|
||||||
|
Provides for an easier use of [ssh-agent][1].
|
||||||
|
|
||||||
|
Settings
|
||||||
|
--------
|
||||||
|
|
||||||
|
### Agent Forwarding
|
||||||
|
|
||||||
|
To enable SSH-Agent forwarding, add the following line to *zpreztorc*:
|
||||||
|
|
||||||
|
zstyle ':prezto:module:ssh-agent' forwarding 'yes'
|
||||||
|
|
||||||
|
### Identities
|
||||||
|
|
||||||
|
To load multiple identities, add the following line to *zpreztorc*:
|
||||||
|
|
||||||
|
zstyle ':prezto:module:ssh-agent' identities 'id_rsa' 'id_rsa2' 'id_github'
|
||||||
|
|
||||||
|
Authors
|
||||||
|
-------
|
||||||
|
|
||||||
|
*The authors of this module should be contacted via the [issue tracker][2].*
|
||||||
|
|
||||||
|
- [Robby Russell](https://github.com/robbyrussell)
|
||||||
|
- [Theodore Robert Campbell Jr](https://github.com/trcjr)
|
||||||
|
- [Joseph M. Reagle Jr.](https://github.com/reagle)
|
||||||
|
- [Florent Thoumie](https://github.com/flz)
|
||||||
|
- [Jonas Pfenniger](https://github.com/zimbatm)
|
||||||
|
- [Gareth Owen](https://github.com/gwjo)
|
||||||
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
|
[1]: http://www.openbsd.org/cgi-bin/man.cgi?query=ssh-agent&sektion=1
|
||||||
|
[2]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
|
62
modules/ssh-agent/init.zsh
Normal file
62
modules/ssh-agent/init.zsh
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
#
|
||||||
|
# Provides for an easier use of ssh-agent.
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# Robby Russell <robby@planetargon.com>
|
||||||
|
# Theodore Robert Campbell Jr <trcjr@stupidfoot.com>
|
||||||
|
# Joseph M. Reagle Jr. <reagle@mit.edu>
|
||||||
|
# Florent Thoumie <flz@xbsd.org>
|
||||||
|
# Jonas Pfenniger <jonas@pfenniger.name>
|
||||||
|
# gwjo <gowen72@gmail.com>
|
||||||
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
# Return if requirements are not found.
|
||||||
|
if (( ! $+commands[ssh-agent] )); then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Load dependencies.
|
||||||
|
pmodload 'helper'
|
||||||
|
|
||||||
|
_ssh_agent_env="${HOME}/.ssh/environment-${HOST}"
|
||||||
|
_ssh_agent_forwarding=
|
||||||
|
|
||||||
|
function _ssh-agent-start {
|
||||||
|
local -a identities
|
||||||
|
|
||||||
|
# Start ssh-agent and setup the environment.
|
||||||
|
rm -f "${_ssh_agent_env}"
|
||||||
|
ssh-agent > "${_ssh_agent_env}"
|
||||||
|
chmod 600 "${_ssh_agent_env}"
|
||||||
|
source "${_ssh_agent_env}" > /dev/null
|
||||||
|
|
||||||
|
# Load identities.
|
||||||
|
zstyle -a ':prezto:module:ssh-agent' identities 'identities'
|
||||||
|
|
||||||
|
if (( ${#identities} > 0 )); then
|
||||||
|
ssh-add "${HOME}/.ssh/${^identities[@]}"
|
||||||
|
else
|
||||||
|
ssh-add
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Test if agent-forwarding is enabled.
|
||||||
|
zstyle -b ':prezto:module:ssh-agent' forwarding '_ssh_agent_forwarding'
|
||||||
|
if is-true "${_ssh_agent_forwarding}" && [[ -n "$SSH_AUTH_SOCK" ]]; then
|
||||||
|
# Add a nifty symlink for screen/tmux if agent forwarding.
|
||||||
|
[[ -L "$SSH_AUTH_SOCK" ]] || ln -sf "$SSH_AUTH_SOCK" /tmp/ssh-agent-$USER-screen
|
||||||
|
elif [[ -s "${_ssh_agent_env}" ]]; then
|
||||||
|
# Source SSH settings, if applicable.
|
||||||
|
source "${_ssh_agent_env}" > /dev/null
|
||||||
|
ps -ef | grep "${SSH_AGENT_PID}" | grep -q 'ssh-agent$' || {
|
||||||
|
_ssh-agent-start;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
_ssh-agent-start;
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Tidy up after ourselves.
|
||||||
|
unfunction _ssh-agent-start
|
||||||
|
unset _ssh_agent_{env,forwarding}
|
||||||
|
|
@ -1,28 +0,0 @@
|
|||||||
SSH
|
|
||||||
===
|
|
||||||
|
|
||||||
Provides for an easier use of [SSH][1] by setting up [ssh-agent][2].
|
|
||||||
|
|
||||||
This module is disabled on Mac OS X due to custom Apple SSH support rendering it
|
|
||||||
unnecessary.
|
|
||||||
|
|
||||||
Settings
|
|
||||||
--------
|
|
||||||
|
|
||||||
### Identities
|
|
||||||
|
|
||||||
To load multiple identities, add the following line to *zpreztorc*:
|
|
||||||
|
|
||||||
zstyle ':prezto:module:ssh:load' identities 'id_rsa' 'id_dsa' 'id_github'
|
|
||||||
|
|
||||||
Authors
|
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][3].*
|
|
||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
|
||||||
|
|
||||||
[1]: http://www.openssh.com
|
|
||||||
[2]: http://www.openbsd.org/cgi-bin/man.cgi?query=ssh-agent&sektion=1
|
|
||||||
[3]: https://github.com/sorin-ionescu/prezto/issues
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
|||||||
#
|
|
||||||
# Provides for an easier use of SSH by setting up ssh-agent.
|
|
||||||
#
|
|
||||||
# Authors:
|
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
|
||||||
#
|
|
||||||
|
|
||||||
# Return if requirements are not found.
|
|
||||||
if [[ "$OSTYPE" == darwin* ]] || (( ! $+commands[ssh-agent] )); then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set the path to the SSH directory.
|
|
||||||
_ssh_dir="$HOME/.ssh"
|
|
||||||
|
|
||||||
# Set the path to the environment file if not set by another module.
|
|
||||||
_ssh_agent_env="${_ssh_agent_env:-$TMPDIR/ssh-agent.env}"
|
|
||||||
|
|
||||||
# Set the path to the persistent authentication socket.
|
|
||||||
_ssh_agent_sock="$TMPDIR/ssh-agent.sock"
|
|
||||||
|
|
||||||
# Start ssh-agent if not started.
|
|
||||||
if [[ ! -S "$SSH_AUTH_SOCK" ]]; then
|
|
||||||
# Export environment variables.
|
|
||||||
source "$_ssh_agent_env" 2> /dev/null
|
|
||||||
|
|
||||||
# Start ssh-agent if not started.
|
|
||||||
if ! ps -U "$USER" -o pid,ucomm | grep -q "${SSH_AGENT_PID} ssh-agent"; then
|
|
||||||
eval "$(ssh-agent | sed '/^echo /d' | tee "$_ssh_agent_env")"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Create a persistent SSH authentication socket.
|
|
||||||
if [[ -S "$SSH_AUTH_SOCK" && "$SSH_AUTH_SOCK" != "$_ssh_agent_sock" ]]; then
|
|
||||||
ln -sf "$SSH_AUTH_SOCK" "$_ssh_agent_sock"
|
|
||||||
export SSH_AUTH_SOCK="$_ssh_agent_sock"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Load identities.
|
|
||||||
if ssh-add -l 2>&1 | grep -q 'The agent has no identities'; then
|
|
||||||
zstyle -a ':prezto:module:ssh:load' identities '_ssh_identities'
|
|
||||||
if (( ${#_ssh_identities} > 0 )); then
|
|
||||||
ssh-add "$_ssh_dir/${^_ssh_identities[@]}" 2> /dev/null
|
|
||||||
else
|
|
||||||
ssh-add 2> /dev/null
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Clean up.
|
|
||||||
unset _ssh_{dir,identities} _ssh_agent_{env,sock}
|
|
||||||
|
|
@ -38,18 +38,6 @@ To enable all highlighters, add the following to *zpreztorc*:
|
|||||||
'cursor' \
|
'cursor' \
|
||||||
'root'
|
'root'
|
||||||
|
|
||||||
### Highlighting Styles
|
|
||||||
|
|
||||||
Each syntax highlighter defines styles used to highlight tokens.
|
|
||||||
|
|
||||||
To highlight, for example, builtins, commands, and functions in blue instead of
|
|
||||||
green, add the following to *zpreztorc*:
|
|
||||||
|
|
||||||
zstyle ':prezto:module:syntax-highlighting' styles \
|
|
||||||
'builtin' 'bg=blue' \
|
|
||||||
'command' 'bg=blue' \
|
|
||||||
'function' 'bg=blue'
|
|
||||||
|
|
||||||
Authors
|
Authors
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
Submodule modules/syntax-highlighting/external updated: f289a9f8e7...45194671af
@ -11,19 +11,11 @@ if ! zstyle -t ':prezto:module:syntax-highlighting' color; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Source module files.
|
# Source module files.
|
||||||
source "${0:h}/external/zsh-syntax-highlighting.zsh" || return 1
|
source "${0:h}/external/zsh-syntax-highlighting.zsh"
|
||||||
|
|
||||||
# Set highlighters.
|
# Set the highlighters.
|
||||||
zstyle -a ':prezto:module:syntax-highlighting' highlighters 'ZSH_HIGHLIGHT_HIGHLIGHTERS'
|
zstyle -a ':prezto:module:syntax-highlighting' highlighters 'ZSH_HIGHLIGHT_HIGHLIGHTERS'
|
||||||
if (( ${#ZSH_HIGHLIGHT_HIGHLIGHTERS[@]} == 0 )); then
|
if (( ${#ZSH_HIGHLIGHT_HIGHLIGHTERS[@]} == 0 )); then
|
||||||
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main)
|
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets cursor)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set highlighting styles.
|
|
||||||
typeset -A syntax_highlighting_styles
|
|
||||||
zstyle -a ':prezto:module:syntax-highlighting' styles 'syntax_highlighting_styles'
|
|
||||||
for syntax_highlighting_style in "${(k)syntax_highlighting_styles[@]}"; do
|
|
||||||
ZSH_HIGHLIGHT_STYLES[$syntax_highlighting_style]="$syntax_highlighting_styles[$syntax_highlighting_style]"
|
|
||||||
done
|
|
||||||
unset syntax_highlighting_style{s,}
|
|
||||||
|
|
||||||
|
@ -13,33 +13,23 @@ directory, add the following to *zpreztorc*:
|
|||||||
|
|
||||||
zstyle ':prezto:module:terminal' auto-title 'yes'
|
zstyle ':prezto:module:terminal' auto-title 'yes'
|
||||||
|
|
||||||
Auto titling is disabled inside terminal multiplexers, except inside dvtm, since
|
|
||||||
it interferes with window names defined in configuration files and profile
|
|
||||||
managers.
|
|
||||||
|
|
||||||
To format terminal window and tab titles, add the following to *zpreztorc*:
|
|
||||||
|
|
||||||
zstyle ':prezto:module:terminal:window-title' format '%n@%m: %s'
|
|
||||||
zstyle ':prezto:module:terminal:tab-title' format '%m: %s'
|
|
||||||
|
|
||||||
`%s` will be replaced with the current working directory path or the currently
|
|
||||||
executing program name.
|
|
||||||
|
|
||||||
For a list of sequences, see [Expansion of Prompt Sequences][1].
|
|
||||||
|
|
||||||
Functions
|
Functions
|
||||||
---------
|
---------
|
||||||
|
|
||||||
- `set-tab-title` sets the terminal tab title.
|
- `set-screen-window-title` sets the screen title.
|
||||||
- `set-window-title` sets the terminal or terminal multiplexer window title.
|
- `set-terminal-tab-title` sets the terminal tab title.
|
||||||
|
- `set-terminal-window-title` sets the terminal window title.
|
||||||
|
- `set-titles-with-command` sets the screen and terminal titles with
|
||||||
|
a given command.
|
||||||
|
- `set-titles-with-path` sets the screen and terminal titles with a given path.
|
||||||
|
|
||||||
Authors
|
Authors
|
||||||
-------
|
-------
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][2].*
|
*The authors of this module should be contacted via the [issue tracker][1].*
|
||||||
|
|
||||||
|
- [James Cox](https://github.com/imajes)
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
[1]: http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html#Expansion-of-Prompt-Sequences
|
[1]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
|
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
# Sets terminal window and tab titles.
|
# Sets terminal window and tab titles.
|
||||||
#
|
#
|
||||||
# Authors:
|
# Authors:
|
||||||
|
# James Cox <james@imaj.es>
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -10,115 +11,113 @@ if [[ "$TERM" == 'dumb' ]]; then
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Sets the terminal or terminal multiplexer window title.
|
# Set the GNU Screen window number.
|
||||||
function set-window-title {
|
if [[ -n "$WINDOW" ]]; then
|
||||||
local title_format{,ted}
|
export SCREEN_NO="%B${WINDOW}%b "
|
||||||
zstyle -s ':prezto:module:terminal:window-title' format 'title_format' || title_format="%s"
|
else
|
||||||
zformat -f title_formatted "$title_format" "s:$argv"
|
export SCREEN_NO=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Sets the GNU Screen title.
|
||||||
|
function set-screen-window-title {
|
||||||
if [[ "$TERM" == screen* ]]; then
|
if [[ "$TERM" == screen* ]]; then
|
||||||
title_format="\ek%s\e\\"
|
printf "\ek%s\e\\" ${(V)argv}
|
||||||
else
|
|
||||||
title_format="\e]2;%s\a"
|
|
||||||
fi
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
printf "$title_format" "${(V%)title_formatted}"
|
# Sets the terminal window title.
|
||||||
|
function set-terminal-window-title {
|
||||||
|
if [[ "$TERM" == ((x|a|ml|dt|E)term*|(u|)rxvt*) ]]; then
|
||||||
|
printf "\e]2;%s\a" ${(V)argv}
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Sets the terminal tab title.
|
# Sets the terminal tab title.
|
||||||
function set-tab-title {
|
function set-terminal-tab-title {
|
||||||
local title_format{,ted}
|
if [[ "$TERM" == ((x|a|ml|dt|E)term*|(u|)rxvt*) ]]; then
|
||||||
zstyle -s ':prezto:module:terminal:tab-title' format 'title_format' || title_format="%s"
|
printf "\e]1;%s\a" ${(V)argv}
|
||||||
zformat -f title_formatted "$title_format" "s:$argv"
|
fi
|
||||||
|
|
||||||
printf "\e]1;%s\a" ${(V%)title_formatted}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Sets the tab and window titles with a given command.
|
# Sets the tab and window titles with a given command.
|
||||||
function _terminal-set-titles-with-command {
|
function set-titles-with-command {
|
||||||
|
# Do not set the window and tab titles in Terminal.app because they are not
|
||||||
|
# reset upon command termination.
|
||||||
|
if [[ "$TERM_PROGRAM" == 'Apple_Terminal' ]]; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
emulate -L zsh
|
emulate -L zsh
|
||||||
setopt EXTENDED_GLOB
|
setopt EXTENDED_GLOB
|
||||||
|
|
||||||
# Get the command name that is under job control.
|
# Get the command name that is under job control.
|
||||||
if [[ "${2[(w)1]}" == (fg|%*)(\;|) ]]; then
|
if [[ "${1[(w)1]}" == (fg|%*)(\;|) ]]; then
|
||||||
# Get the job name, and, if missing, set it to the default %+.
|
# Get the job name, and, if missing, set it to the default %+.
|
||||||
local job_name="${${2[(wr)%*(\;|)]}:-%+}"
|
local job_name="${${1[(wr)%*(\;|)]}:-%+}"
|
||||||
|
|
||||||
# Make a local copy for use in the subshell.
|
# Make a local copy for use in the subshell.
|
||||||
local -A jobtexts_from_parent_shell
|
local -A jobtexts_from_parent_shell
|
||||||
jobtexts_from_parent_shell=(${(kv)jobtexts})
|
jobtexts_from_parent_shell=(${(kv)jobtexts})
|
||||||
|
|
||||||
jobs "$job_name" 2>/dev/null > >(
|
jobs $job_name 2>/dev/null > >(
|
||||||
read index discarded
|
read index discarded
|
||||||
# The index is already surrounded by brackets: [1].
|
# The index is already surrounded by brackets: [1].
|
||||||
_terminal-set-titles-with-command "${(e):-\$jobtexts_from_parent_shell$index}"
|
set-titles-with-command "${(e):-\$jobtexts_from_parent_shell$index}"
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
# Set the command name, or in the case of sudo or ssh, the next command.
|
# Set the command name, or in the case of sudo or ssh, the next command.
|
||||||
local cmd="${${2[(wr)^(*=*|sudo|ssh|-*)]}:t}"
|
local cmd=${${1[(wr)^(*=*|sudo|ssh|-*)]}:t}
|
||||||
local truncated_cmd="${cmd/(#m)?(#c15,)/${MATCH[1,12]}...}"
|
local truncated_cmd="${cmd/(#m)?(#c15,)/${MATCH[1,12]}...}"
|
||||||
unset MATCH
|
unset MATCH
|
||||||
|
|
||||||
set-window-title "$cmd"
|
if [[ "$TERM" == screen* ]]; then
|
||||||
set-tab-title "$truncated_cmd"
|
set-screen-window-title "$truncated_cmd"
|
||||||
|
else
|
||||||
|
set-terminal-window-title "$cmd"
|
||||||
|
set-terminal-tab-title "$truncated_cmd"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Sets the tab and window titles with a given path.
|
# Sets the tab and window titles with a given path.
|
||||||
function _terminal-set-titles-with-path {
|
function set-titles-with-path {
|
||||||
emulate -L zsh
|
emulate -L zsh
|
||||||
setopt EXTENDED_GLOB
|
setopt EXTENDED_GLOB
|
||||||
|
|
||||||
local absolute_path="${${1:a}:-$PWD}"
|
local absolute_path="${${1:a}:-$PWD}"
|
||||||
local abbreviated_path="${absolute_path/#$HOME/~}"
|
|
||||||
local truncated_path="${abbreviated_path/(#m)?(#c15,)/...${MATCH[-12,-1]}}"
|
|
||||||
unset MATCH
|
|
||||||
|
|
||||||
set-window-title "$abbreviated_path"
|
if [[ "$TERM_PROGRAM" == 'Apple_Terminal' ]]; then
|
||||||
set-tab-title "$truncated_path"
|
printf '\e]7;%s\a' "file://$HOST${absolute_path// /%20}"
|
||||||
|
else
|
||||||
|
local abbreviated_path="${absolute_path/#$HOME/~}"
|
||||||
|
local truncated_path="${abbreviated_path/(#m)?(#c15,)/...${MATCH[-12,-1]}}"
|
||||||
|
unset MATCH
|
||||||
|
|
||||||
|
if [[ "$TERM" == screen* ]]; then
|
||||||
|
set-screen-window-title "$truncated_path"
|
||||||
|
else
|
||||||
|
set-terminal-window-title "$abbreviated_path"
|
||||||
|
set-terminal-tab-title "$truncated_path"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Sets the Terminal.app proxy icon.
|
# Don't override precmd/preexec; append to hook array.
|
||||||
function _terminal-set-terminal-app-proxy-icon {
|
|
||||||
printf '\e]7;%s\a' "file://$HOST${${1:-$PWD}// /%20}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Do not override precmd/preexec; append to the hook array.
|
|
||||||
autoload -Uz add-zsh-hook
|
autoload -Uz add-zsh-hook
|
||||||
|
|
||||||
# Set up the Apple Terminal.
|
# Sets the tab and window titles before the prompt is displayed.
|
||||||
if [[ "$TERM_PROGRAM" == 'Apple_Terminal' ]] \
|
function set-titles-precmd {
|
||||||
&& ( ! [[ -n "$STY" || -n "$TMUX" || -n "$DVTM" ]] )
|
if zstyle -t ':prezto:module:terminal' auto-title; then
|
||||||
then
|
set-titles-with-path
|
||||||
# Sets the Terminal.app current working directory before the prompt is
|
fi
|
||||||
# displayed.
|
}
|
||||||
add-zsh-hook precmd _terminal-set-terminal-app-proxy-icon
|
add-zsh-hook precmd set-titles-precmd
|
||||||
|
|
||||||
# Unsets the Terminal.app current working directory when a terminal
|
# Sets the tab and window titles before command execution.
|
||||||
# multiplexer or remote connection is started since it can no longer be
|
function set-titles-preexec {
|
||||||
# updated, and it becomes confusing when the directory displayed in the title
|
if zstyle -t ':prezto:module:terminal' auto-title; then
|
||||||
# bar is no longer synchronized with real current working directory.
|
set-titles-with-command "$2"
|
||||||
function _terminal-unset-terminal-app-proxy-icon {
|
fi
|
||||||
if [[ "${2[(w)1]:t}" == (screen|tmux|dvtm|ssh|mosh) ]]; then
|
}
|
||||||
_terminal-set-terminal-app-proxy-icon ' '
|
add-zsh-hook preexec set-titles-preexec
|
||||||
fi
|
|
||||||
}
|
|
||||||
add-zsh-hook preexec _terminal-unset-terminal-app-proxy-icon
|
|
||||||
|
|
||||||
# Do not set the tab and window titles in Terminal.app since it sets the tab
|
|
||||||
# title to the currently running process by default and the current working
|
|
||||||
# directory is set separately.
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set up non-Apple terminals.
|
|
||||||
if zstyle -t ':prezto:module:terminal' auto-title \
|
|
||||||
&& ( ! [[ -n "$STY" || -n "$TMUX" ]] )
|
|
||||||
then
|
|
||||||
# Sets the tab and window titles before the prompt is displayed.
|
|
||||||
add-zsh-hook precmd _terminal-set-titles-with-path
|
|
||||||
|
|
||||||
# Sets the tab and window titles before command execution.
|
|
||||||
add-zsh-hook preexec _terminal-set-titles-with-command
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
@ -10,18 +10,12 @@ Settings
|
|||||||
|
|
||||||
Starts a tmux session automatically when Zsh is launched.
|
Starts a tmux session automatically when Zsh is launched.
|
||||||
|
|
||||||
To enable this feature when launching Zsh in a local terminal, add the
|
To enable this feature, add the following line to *zpreztorc*:
|
||||||
following line to *zpreztorc*:
|
|
||||||
|
|
||||||
zstyle ':prezto:module:tmux:auto-start' local 'yes'
|
zstyle ':prezto:module:tmux' auto-start 'yes'
|
||||||
|
|
||||||
To enable this feature when launching Zsh in a SSH connection, add the
|
It will create a background session named _#Prezto_ and attach every new shell
|
||||||
following line to *zpreztorc*:
|
to it.
|
||||||
|
|
||||||
zstyle ':prezto:module:tmux:auto-start' remote 'yes'
|
|
||||||
|
|
||||||
In both cases, it will create a background session named _#Prezto_ and attach
|
|
||||||
every new shell to it.
|
|
||||||
|
|
||||||
To avoid keeping open sessions, this module sets `destroy-unattached off` on
|
To avoid keeping open sessions, this module sets `destroy-unattached off` on
|
||||||
the background session and `destroy-unattached on` on every other session
|
the background session and `destroy-unattached on` on every other session
|
||||||
@ -53,7 +47,6 @@ Authors
|
|||||||
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
- [Colin Hebert](https://github.com/ColinHebert)
|
- [Colin Hebert](https://github.com/ColinHebert)
|
||||||
- [Georges Discry](https://github.com/gdiscry)
|
|
||||||
|
|
||||||
[1]: http://tmux.sourceforge.net
|
[1]: http://tmux.sourceforge.net
|
||||||
[2]: https://github.com/sorin-ionescu/prezto/issues/62
|
[2]: https://github.com/sorin-ionescu/prezto/issues/62
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
# Authors:
|
# Authors:
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
# Colin Hebert <hebert.colin@gmail.com>
|
# Colin Hebert <hebert.colin@gmail.com>
|
||||||
# Georges Discry <georges@discry.be>
|
|
||||||
#
|
#
|
||||||
|
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
@ -16,16 +15,10 @@ fi
|
|||||||
# Auto Start
|
# Auto Start
|
||||||
#
|
#
|
||||||
|
|
||||||
if [[ -z "$TMUX" ]] && ( \
|
if [[ -z "$TMUX" ]] && zstyle -t ':prezto:module:tmux' auto-start; then
|
||||||
( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' remote ) ||
|
|
||||||
( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' local ) \
|
|
||||||
); then
|
|
||||||
tmux_session='#Prezto'
|
tmux_session='#Prezto'
|
||||||
|
|
||||||
if ! tmux has-session -t "$tmux_session" 2> /dev/null; then
|
if ! tmux has-session -t "$tmux_session" 2> /dev/null; then
|
||||||
# Ensure that tmux server is started.
|
|
||||||
tmux start-server
|
|
||||||
|
|
||||||
# Disable the destruction of unattached sessions globally.
|
# Disable the destruction of unattached sessions globally.
|
||||||
tmux set-option -g destroy-unattached off &> /dev/null
|
tmux set-option -g destroy-unattached off &> /dev/null
|
||||||
|
|
||||||
|
@ -104,13 +104,17 @@ alias sl='ls' # I often screw this up.
|
|||||||
# Mac OS X Everywhere
|
# Mac OS X Everywhere
|
||||||
if [[ "$OSTYPE" == darwin* ]]; then
|
if [[ "$OSTYPE" == darwin* ]]; then
|
||||||
alias o='open'
|
alias o='open'
|
||||||
|
alias get='curl --continue-at - --location --progress-bar --remote-name --remote-time'
|
||||||
else
|
else
|
||||||
alias o='xdg-open'
|
alias o='xdg-open'
|
||||||
|
alias get='wget --continue --progress=bar --timestamping'
|
||||||
|
|
||||||
if (( $+commands[xclip] )); then
|
if (( $+commands[xclip] )); then
|
||||||
alias pbcopy='xclip -selection clipboard -in'
|
alias pbcopy='xclip -selection clipboard -in'
|
||||||
alias pbpaste='xclip -selection clipboard -out'
|
alias pbpaste='xclip -selection clipboard -out'
|
||||||
elif (( $+commands[xsel] )); then
|
fi
|
||||||
|
|
||||||
|
if (( $+commands[xsel] )); then
|
||||||
alias pbcopy='xsel --clipboard --input'
|
alias pbcopy='xsel --clipboard --input'
|
||||||
alias pbpaste='xsel --clipboard --output'
|
alias pbpaste='xsel --clipboard --output'
|
||||||
fi
|
fi
|
||||||
@ -119,13 +123,6 @@ fi
|
|||||||
alias pbc='pbcopy'
|
alias pbc='pbcopy'
|
||||||
alias pbp='pbpaste'
|
alias pbp='pbpaste'
|
||||||
|
|
||||||
# File Download
|
|
||||||
if (( $+commands[curl] )); then
|
|
||||||
alias get='curl --continue-at - --location --progress-bar --remote-name --remote-time'
|
|
||||||
elif (( $+commands[wget] )); then
|
|
||||||
alias get='wget --continue --progress=bar --timestamping'
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Resource Usage
|
# Resource Usage
|
||||||
alias df='df -kh'
|
alias df='df -kh'
|
||||||
alias du='du -kh'
|
alias du='du -kh'
|
||||||
|
@ -38,7 +38,7 @@ small as possible and should only define environment variables.
|
|||||||
### zprofile
|
### zprofile
|
||||||
|
|
||||||
This file is similar to zlogin, but it is sourced before zshrc. It was added
|
This file is similar to zlogin, but it is sourced before zshrc. It was added
|
||||||
for [KornShell][1] fans. See the description of zlogin below for what it may
|
for [KornShell][1] fans. See the description of zlogin bellow for what it may
|
||||||
contain.
|
contain.
|
||||||
|
|
||||||
zprofile and zlogin are not meant to be used concurrently but can be done so.
|
zprofile and zlogin are not meant to be used concurrently but can be done so.
|
||||||
@ -48,7 +48,7 @@ zprofile and zlogin are not meant to be used concurrently but can be done so.
|
|||||||
This file is sourced by interactive shells. It should define aliases,
|
This file is sourced by interactive shells. It should define aliases,
|
||||||
functions, shell options, and key bindings.
|
functions, shell options, and key bindings.
|
||||||
|
|
||||||
### zpreztorc
|
## zpreztorc
|
||||||
|
|
||||||
This file configures Prezto.
|
This file configures Prezto.
|
||||||
|
|
||||||
|
@ -8,10 +8,17 @@
|
|||||||
# Execute code that does not affect the current session in the background.
|
# Execute code that does not affect the current session in the background.
|
||||||
{
|
{
|
||||||
# Compile the completion dump to increase startup speed.
|
# Compile the completion dump to increase startup speed.
|
||||||
zcompdump="$ZDOTDIR/.zcompdump"
|
zcompdump="${ZDOTDIR:-$HOME}/.zcompdump"
|
||||||
if [[ -s "$zcompdump" && (! -s "${zcompdump}.zwc" || "$zcompdump" -nt "${zcompdump}.zwc") ]]; then
|
if [[ "$zcompdump" -nt "${zcompdump}.zwc" || ! -s "${zcompdump}.zwc" ]]; then
|
||||||
zcompile "$zcompdump"
|
zcompile "$zcompdump"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Set environment variables for launchd processes.
|
||||||
|
if [[ "$OSTYPE" == darwin* ]]; then
|
||||||
|
for env_var in PATH MANPATH; do
|
||||||
|
launchctl setenv "$env_var" "${(P)env_var}"
|
||||||
|
done
|
||||||
|
fi
|
||||||
} &!
|
} &!
|
||||||
|
|
||||||
# Print a random, hopefully interesting, adage.
|
# Print a random, hopefully interesting, adage.
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Set case-sensitivity for completion, history lookup, etc.
|
# Set case-sensitivity for completion, history lookup, etc.
|
||||||
# zstyle ':prezto:*:*' case-sensitive 'yes'
|
zstyle ':prezto:*:*' case-sensitive 'no'
|
||||||
|
|
||||||
# Color output (auto set to 'no' on dumb terminals).
|
# Color output (auto set to 'no' on dumb terminals).
|
||||||
zstyle ':prezto:*:*' color 'yes'
|
zstyle ':prezto:*:*' color 'yes'
|
||||||
@ -39,7 +39,7 @@ zstyle ':prezto:load' pmodule \
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Set the key mapping style to 'emacs' or 'vi'.
|
# Set the key mapping style to 'emacs' or 'vi'.
|
||||||
zstyle ':prezto:module:editor' key-bindings 'emacs'
|
zstyle ':prezto:module:editor' keymap 'emacs'
|
||||||
|
|
||||||
# Auto convert .... to ../..
|
# Auto convert .... to ../..
|
||||||
# zstyle ':prezto:module:editor' dot-expansion 'yes'
|
# zstyle ':prezto:module:editor' dot-expansion 'yes'
|
||||||
@ -58,19 +58,6 @@ zstyle ':prezto:module:editor' key-bindings 'emacs'
|
|||||||
# Set the command prefix on non-GNU systems.
|
# Set the command prefix on non-GNU systems.
|
||||||
# zstyle ':prezto:module:gnu-utility' prefix 'g'
|
# zstyle ':prezto:module:gnu-utility' prefix 'g'
|
||||||
|
|
||||||
#
|
|
||||||
# History Substring Search
|
|
||||||
#
|
|
||||||
|
|
||||||
# Set the query found color.
|
|
||||||
# zstyle ':prezto:module:history-substring-search:color' found ''
|
|
||||||
|
|
||||||
# Set the query not found color.
|
|
||||||
# zstyle ':prezto:module:history-substring-search:color' not-found ''
|
|
||||||
|
|
||||||
# Set the search globbing flags.
|
|
||||||
# zstyle ':prezto:module:history-substring-search' globbing-flags ''
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Pacman
|
# Pacman
|
||||||
#
|
#
|
||||||
@ -91,58 +78,50 @@ zstyle ':prezto:module:prompt' theme 'sorin'
|
|||||||
# Screen
|
# Screen
|
||||||
#
|
#
|
||||||
|
|
||||||
# Auto start a session when Zsh is launched in a local terminal.
|
# Auto start a session when Zsh is launched.
|
||||||
# zstyle ':prezto:module:screen:auto-start' local 'yes'
|
# zstyle ':prezto:module:screen' auto-start 'yes'
|
||||||
|
|
||||||
# Auto start a session when Zsh is launched in a SSH connection.
|
|
||||||
# zstyle ':prezto:module:screen:auto-start' remote 'yes'
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# SSH
|
# GPG-Agent
|
||||||
#
|
#
|
||||||
|
|
||||||
# Set the SSH identities to load into the agent.
|
# Enable SSH-Agent protocol emulation.
|
||||||
# zstyle ':prezto:module:ssh:load' identities 'id_rsa' 'id_rsa2' 'id_github'
|
# zstyle ':prezto:module:gpg-agent' ssh-support 'yes'
|
||||||
|
|
||||||
|
#
|
||||||
|
# SSH-Agent
|
||||||
|
#
|
||||||
|
|
||||||
|
# Enable ssh-agent forwarding.
|
||||||
|
# zstyle ':prezto:module:ssh-agent' forwarding 'yes'
|
||||||
|
|
||||||
|
# Set ssh-agent identities to load.
|
||||||
|
# zstyle ':prezto:module:ssh-agent' identities 'id_rsa' 'id_rsa2' 'id_github'
|
||||||
|
|
||||||
#
|
#
|
||||||
# Syntax Highlighting
|
# Syntax Highlighting
|
||||||
#
|
#
|
||||||
|
|
||||||
# Set syntax highlighters.
|
# Set syntax highlighters.
|
||||||
# By default, only the main highlighter is enabled.
|
# By default main, brackets, and cursor are enabled.
|
||||||
# zstyle ':prezto:module:syntax-highlighting' highlighters \
|
# zstyle ':prezto:module:syntax-highlighting' highlighters \
|
||||||
# 'main' \
|
# 'main' \
|
||||||
# 'brackets' \
|
# 'brackets' \
|
||||||
# 'pattern' \
|
# 'pattern' \
|
||||||
# 'cursor' \
|
# 'cursor' \
|
||||||
# 'root'
|
# 'root'
|
||||||
#
|
|
||||||
# Set syntax highlighting styles.
|
|
||||||
# zstyle ':prezto:module:syntax-highlighting' styles \
|
|
||||||
# 'builtin' 'bg=blue' \
|
|
||||||
# 'command' 'bg=blue' \
|
|
||||||
# 'function' 'bg=blue'
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Terminal
|
# Terminal
|
||||||
#
|
#
|
||||||
|
|
||||||
# Auto set the tab and window titles.
|
# Auto set the tab and window titles.
|
||||||
# zstyle ':prezto:module:terminal' auto-title 'yes'
|
zstyle ':prezto:module:terminal' auto-title 'yes'
|
||||||
|
|
||||||
# Set the window title format.
|
|
||||||
# zstyle ':prezto:module:terminal:window-title' format '%n@%m: %s'
|
|
||||||
|
|
||||||
# Set the tab title format.
|
|
||||||
# zstyle ':prezto:module:terminal:tab-title' format '%m: %s'
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Tmux
|
# Tmux
|
||||||
#
|
#
|
||||||
|
|
||||||
# Auto start a session when Zsh is launched in a local terminal.
|
# Auto start a session when Zsh is launched.
|
||||||
# zstyle ':prezto:module:tmux:auto-start' local 'yes'
|
# zstyle ':prezto:module:tmux' auto-start 'yes'
|
||||||
|
|
||||||
# Auto start a session when Zsh is launched in a SSH connection.
|
|
||||||
# zstyle ':prezto:module:tmux:auto-start' remote 'yes'
|
|
||||||
|
|
||||||
|
@ -5,73 +5,3 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
#
|
|
||||||
# Browser
|
|
||||||
#
|
|
||||||
|
|
||||||
if [[ "$OSTYPE" == darwin* ]]; then
|
|
||||||
export BROWSER='open'
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# Editors
|
|
||||||
#
|
|
||||||
|
|
||||||
export EDITOR='nano'
|
|
||||||
export VISUAL='nano'
|
|
||||||
export PAGER='less'
|
|
||||||
|
|
||||||
#
|
|
||||||
# Language
|
|
||||||
#
|
|
||||||
|
|
||||||
if [[ -z "$LANG" ]]; then
|
|
||||||
export LANG='en_US.UTF-8'
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# Paths
|
|
||||||
#
|
|
||||||
|
|
||||||
# Ensure path arrays do not contain duplicates.
|
|
||||||
typeset -gU cdpath fpath mailpath path
|
|
||||||
|
|
||||||
# Set the the list of directories that cd searches.
|
|
||||||
# cdpath=(
|
|
||||||
# $cdpath
|
|
||||||
# )
|
|
||||||
|
|
||||||
# Set the list of directories that Zsh searches for programs.
|
|
||||||
path=(
|
|
||||||
/usr/local/{bin,sbin}
|
|
||||||
$path
|
|
||||||
)
|
|
||||||
|
|
||||||
#
|
|
||||||
# Less
|
|
||||||
#
|
|
||||||
|
|
||||||
# Set the default Less options.
|
|
||||||
# Mouse-wheel scrolling has been disabled by -X (disable screen clearing).
|
|
||||||
# Remove -X and -F (exit if the content fits on one screen) to enable it.
|
|
||||||
export LESS='-F -g -i -M -R -S -w -X -z-4'
|
|
||||||
|
|
||||||
# Set the Less input preprocessor.
|
|
||||||
if (( $+commands[lesspipe.sh] )); then
|
|
||||||
export LESSOPEN='| /usr/bin/env lesspipe.sh %s 2>&-'
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# Temporary Files
|
|
||||||
#
|
|
||||||
|
|
||||||
if [[ ! -d "$TMPDIR" ]]; then
|
|
||||||
export TMPDIR="/tmp/$USER"
|
|
||||||
mkdir -p -m 700 "$TMPDIR"
|
|
||||||
fi
|
|
||||||
|
|
||||||
TMPPREFIX="${TMPDIR%/}/zsh"
|
|
||||||
if [[ ! -d "$TMPPREFIX" ]]; then
|
|
||||||
mkdir -p "$TMPPREFIX"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
@ -5,15 +5,96 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
# Ensure that a non-login, non-interactive shell has a defined environment.
|
#
|
||||||
if [[ "$SHLVL" -eq 1 && ! -o LOGIN ]]; then
|
# Browser
|
||||||
source "${ZDOTDIR:-$HOME}/.zprofile"
|
#
|
||||||
|
|
||||||
|
if [[ "$OSTYPE" == darwin* ]]; then
|
||||||
|
export BROWSER='open'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
# Zsh
|
# Editors
|
||||||
#
|
#
|
||||||
|
|
||||||
ZDOTDIR="${ZDOTDIR:-$HOME}"
|
export EDITOR='nano'
|
||||||
PREZTO="$ZDOTDIR/.zprezto"
|
export VISUAL='nano'
|
||||||
|
export PAGER='less'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Language
|
||||||
|
#
|
||||||
|
|
||||||
|
if [[ -z "$LANG" ]]; then
|
||||||
|
eval "$(locale)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# Less
|
||||||
|
#
|
||||||
|
|
||||||
|
# Set the default Less options.
|
||||||
|
# Mouse-wheel scrolling has been disabled by -X (disable screen clearing).
|
||||||
|
# Remove -X and -F (exit if the content fits on one screen) to enable it.
|
||||||
|
export LESS='-F -g -i -M -R -S -w -X -z-4'
|
||||||
|
|
||||||
|
# Set the Less input preprocessor.
|
||||||
|
if (( $+commands[lesspipe.sh] )); then
|
||||||
|
export LESSOPEN='| /usr/bin/env lesspipe.sh %s 2>&-'
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# Paths
|
||||||
|
#
|
||||||
|
|
||||||
|
typeset -gU cdpath fpath mailpath manpath path
|
||||||
|
typeset -gUT INFOPATH infopath
|
||||||
|
|
||||||
|
# Set the the list of directories that cd searches.
|
||||||
|
# cdpath=(
|
||||||
|
# $cdpath
|
||||||
|
# )
|
||||||
|
|
||||||
|
# Set the list of directories that info searches for manuals.
|
||||||
|
infopath=(
|
||||||
|
/usr/local/share/info
|
||||||
|
/usr/share/info
|
||||||
|
$infopath
|
||||||
|
)
|
||||||
|
|
||||||
|
# Set the list of directories that man searches for manuals.
|
||||||
|
manpath=(
|
||||||
|
/usr/local/share/man
|
||||||
|
/usr/share/man
|
||||||
|
$manpath
|
||||||
|
)
|
||||||
|
|
||||||
|
for path_file in /etc/manpaths.d/*(.N); do
|
||||||
|
manpath+=($(<$path_file))
|
||||||
|
done
|
||||||
|
unset path_file
|
||||||
|
|
||||||
|
# Set the list of directories that Zsh searches for programs.
|
||||||
|
path=(
|
||||||
|
/usr/local/{bin,sbin}
|
||||||
|
/usr/{bin,sbin}
|
||||||
|
/{bin,sbin}
|
||||||
|
$path
|
||||||
|
)
|
||||||
|
|
||||||
|
for path_file in /etc/paths.d/*(.N); do
|
||||||
|
path+=($(<$path_file))
|
||||||
|
done
|
||||||
|
unset path_file
|
||||||
|
|
||||||
|
#
|
||||||
|
# Temporary Files
|
||||||
|
#
|
||||||
|
|
||||||
|
if [[ -d "$TMPDIR" ]]; then
|
||||||
|
export TMPPREFIX="${TMPDIR%/}/zsh"
|
||||||
|
if [[ ! -d "$TMPPREFIX" ]]; then
|
||||||
|
mkdir -p "$TMPPREFIX"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Source Prezto.
|
# Source Prezto.
|
||||||
if [[ -s "$PREZTO/init.zsh" ]]; then
|
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then
|
||||||
source "$PREZTO/init.zsh"
|
source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Customize to your needs...
|
# Customize to your needs...
|
||||||
|
Reference in New Issue
Block a user