1
0
mirror of https://github.com/dcarrillo/prezto.git synced 2025-07-01 11:39:26 +00:00

Compare commits

..

76 Commits

Author SHA1 Message Date
f2a826e963 Add preview function to sorin theme 2015-05-31 16:51:29 -04:00
bdec6c4e20 Redraw only when called from subprocess 2015-05-31 16:50:03 -04:00
ef634f38a4 Replace signal TERM with KILL 2015-05-31 16:47:16 -04:00
b761261b11 Replace signal USR1 with WINCH 2015-05-31 16:46:42 -04:00
02c5f776fc [Fix #892] Symlink prompt pure async dependency 2015-05-28 20:24:58 -04:00
a275db55d6 Fix MacPorts typo 2015-05-26 22:12:55 -04:00
b6efdc1ea4 Add DNF module
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2015-05-26 22:12:55 -04:00
904c94469e Consolidate brew update and upgrade aliases 2015-05-26 22:12:55 -04:00
159418835f Add Linux as as requirement 2015-05-25 22:01:57 -04:00
f7ea78078f Update pure theme 2015-05-25 21:58:43 -04:00
fe64f91f52 Update sorin screenshot 2015-05-19 18:25:40 -04:00
b46769149b Remove Emacs indicator
The user always knows that he is inside Emacs making the indicator
unnecessary.
2015-05-19 18:25:40 -04:00
999f0d1a74 Use numerical colors 2015-05-19 18:25:40 -04:00
f6a2c73423 Remove 'git:' prefix 2015-05-19 18:25:40 -04:00
a1dea6ae43 Get Git status asynchronously 2015-05-19 18:25:39 -04:00
cd5067668c Substitute command when alias is undefined 2015-05-19 18:24:04 -04:00
6a812ed36b Correct typos in completion module 2015-05-19 17:50:40 -04:00
ca03fd670a Skip setting terminal title inside Emacs 2015-05-19 17:49:46 -04:00
08676a273e Update pure theme 2015-05-03 13:44:41 -04:00
20766138cb Update external history-substring-search 2015-05-03 13:44:41 -04:00
e9f86bf4db Update the link to iTerm2 and tmux integration
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2015-05-03 13:44:40 -04:00
c98da90662 Update external history-substring-search 2015-04-07 19:24:44 -04:00
ac8bc74ef0 Update pure theme 2015-04-01 16:32:38 -04:00
ccca57f2ac Update external history-substring-search 2015-04-01 16:32:38 -04:00
4016f0c7c1 Update external completions 2015-04-01 16:32:37 -04:00
c34098af20 Update copyright 2015-03-08 23:38:06 -04:00
ee0b02464c [Fix #819] Check for node as a last resort 2015-02-24 15:29:25 -05:00
e144abb285 Fix node-module
The change recently introduced for #777 was actually breaking the module
completely, as it was only loaded if neither `node` nor `nvm`
were available.
2015-02-23 12:11:21 -05:00
b41f485528 Add missing parenthesis
The bug was introduced in 933c61b.
2015-02-22 23:52:41 -05:00
ab45ade380 [Fix #801] Make $TMPPREFIX a file path 2015-02-22 21:56:12 -05:00
1292587f95 [Fix #777] Check for nvm or node 2015-02-22 21:53:40 -05:00
933c61b8f1 [Fix #776] Support GNU top 2015-02-22 21:42:11 -05:00
88aee30ae8 [Fix #762] Use $LOGNAME instead of $USER
$USER is deprecated.
2015-02-13 00:00:27 -05:00
4411c95a83 Update pure theme 2015-02-12 19:17:38 -05:00
62d87cae32 Update external completions 2015-02-12 19:15:47 -05:00
d43bcb9720 Revert "Remove extra git-dir call in git-info and use git_dir variable instead"
This reverts commit 3012c0984b.
2014-12-08 18:21:00 -05:00
ba351df9fb [Fix #748] Set grep color for BSD and GNU 2014-12-08 18:13:25 -05:00
925b94b6e2 Fix Powerline unicode characters
Branch & separator characters are updated to display properly.
2014-12-08 18:02:22 -05:00
c171621747 Fix issue with several themes where errors occur
if the git module is not loaded.
2014-12-08 17:58:15 -05:00
0148ee6a4d Check for S.gpg-agent to see if gpg-agent is running
From GnuPG changelog:

>  Removed the GPG_AGENT_INFO related code.  GnuPG does now
>  always use a fixed socket name in its home directory.

Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-12-08 17:54:41 -05:00
fc3f8025ea Add a preexec hook to set the GPG-Agent TTY
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-12-08 16:38:20 -05:00
9539341e1e [Fix #732] Replace $GREP_OPTIONS with an alias 2014-11-24 13:05:34 -05:00
13d1ed160e Use $GNUPGHOME if it exists 2014-11-22 14:51:06 -05:00
2a33581e80 [Fix #724] Unquote variable
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-11-15 14:16:00 -05:00
3dd4cbc3c0 Fix typo
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-11-14 17:24:07 -05:00
7a92046c86 Create a new tmux session if none exists 2014-11-13 19:40:41 -05:00
3012c0984b Remove extra git-dir call in git-info and use git_dir variable instead 2014-11-12 19:19:19 -05:00
00a5639e65 Enable iTerm2 tmux integration
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-11-12 18:19:58 -05:00
3cb1f7c4c9 Inform how to add SSH identities to Keychain
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-11-11 22:52:40 -05:00
90eae2b491 If a default Ruby is set, switch to it
Set PATH variables to allow gems such as Bundler to be found and for the
`ruby-info` function to properly work.

A default Ruby must be set in ~/.ruby-version; for more information, see
https://github.com/postmodern/chruby#default-ruby.

Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-11-11 22:52:40 -05:00
d349c1cec7 Convert the PeepCode theme to git-info 2014-11-11 20:51:47 -05:00
a7a4912940 Add paradox theme 2014-11-11 20:51:46 -05:00
82710c29fc Fix theme function declaration style 2014-11-11 20:51:46 -05:00
9f82926f6e Add pure theme 2014-11-11 20:51:46 -05:00
61e91b8fb0 Add agnoster theme 2014-11-11 20:51:46 -05:00
967c91a351 Add powerline theme 2014-11-11 20:51:46 -05:00
087fce8548 Update sorin theme screenshot 2014-11-11 20:51:45 -05:00
2ae905a625 Indicate inside Emacs 2014-11-11 20:51:45 -05:00
19fc31c342 Indicate SSH connections 2014-11-11 20:51:45 -05:00
e76df6022d Add cloud theme
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-11-11 20:51:44 -05:00
c2d62c3b47 Add ruby-info to smiley theme 2014-11-11 20:51:44 -05:00
03336db523 Add smiley theme
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-11-11 20:51:44 -05:00
1bc4235a5e Escape '%' in path 2014-11-11 20:51:44 -05:00
c078c47c9d Add damoekri theme
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-11-11 20:51:44 -05:00
0bede677e6 Add kylewest theme 2014-11-11 20:51:44 -05:00
ad09f29fd5 Add skwp theme 2014-11-11 20:51:42 -05:00
567506f7e7 Update giddie theme
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-11-05 22:52:38 -05:00
13ed3a1bf7 Add giddie theme 2014-11-05 22:52:38 -05:00
6f9c1666e1 Use short apothegms only in fortune 2014-11-05 17:43:43 -05:00
ab7f697734 [Fix #713] Set prompt theme off in unsupported terminal 2014-11-05 17:41:36 -05:00
d020d34e59 Fix node-info to show right node version
Currently, node-info shows nothing if $version is different than 'none'.
2014-10-19 17:21:54 +07:00
17a6124b43 Fix git log pretty format argument 2014-10-18 16:32:49 +02:00
3c47c57c87 [Fix #698] Describe module in README the same as in code 2014-10-15 18:54:24 -04:00
ff0cdd3ed7 Fix typo in Perl module readme 2014-10-15 18:49:47 -04:00
b948e3630b Load Homebrew installed NVM 2014-10-13 11:57:20 -04:00
55e4db9429 Enable 'acls', 'xattrs' support in rsync whenever available
rsync has support for these available in most cases and isn't
specific to Mac OS X any more.

Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-10-12 19:20:55 -04:00
49 changed files with 942 additions and 147 deletions

9
.gitmodules vendored
View File

@ -7,3 +7,12 @@
[submodule "modules/completion/external"]
path = modules/completion/external
url = https://github.com/zsh-users/zsh-completions.git
[submodule "modules/prompt/external/powerline"]
path = modules/prompt/external/powerline
url = https://github.com/davidjrice/prezto_powerline.git
[submodule "modules/prompt/external/agnoster"]
path = modules/prompt/external/agnoster
url = https://gist.github.com/3712874.git
[submodule "modules/prompt/functions/pure"]
path = modules/prompt/external/pure
url = https://github.com/sindresorhus/pure.git

View File

@ -86,7 +86,8 @@ License
(The MIT License)
Copyright (c) 2009-2011 Robby Russell and contributors.
Copyright (c) 2011-2014 Sorin Ionescu and contributors.
Copyright (c) 2011-2015 Sorin Ionescu and contributors.
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
@ -107,7 +108,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
[1]: http://www.zsh.org
[2]: http://i.imgur.com/nBEEZ.png "sorin theme"
[2]: http://i.imgur.com/nrGV6pg.png "sorin theme"
[3]: http://git-scm.com
[4]: https://github.com
[5]: http://gitimmersion.com

View File

@ -26,6 +26,11 @@ Directory
Sets directory options and defines directory aliases.
DNF
---
Defines dnf aliases.
Dpkg
----
@ -92,7 +97,7 @@ Homebrew
Defines Homebrew aliases.
Macports
MacPorts
--------
Defines MacPorts aliases and adds MacPorts directories to path variables.

View File

@ -24,7 +24,7 @@ autoload -Uz compinit && compinit -i
setopt COMPLETE_IN_WORD # Complete from both ends of a word.
setopt ALWAYS_TO_END # Move cursor to the end of a completed word.
setopt PATH_DIRS # Perform path search even on command names with slashes.
setopt AUTO_MENU # Show completion menu on a succesive tab press.
setopt AUTO_MENU # Show completion menu on a successive tab press.
setopt AUTO_LIST # Automatically list choices on ambiguous completion.
setopt AUTO_PARAM_SLASH # If completed parameter is a directory, add a trailing slash.
unsetopt MENU_COMPLETE # Do not autoselect the first completion entry.
@ -34,7 +34,7 @@ unsetopt FLOW_CONTROL # Disable start/stop characters in shell editor.
# Styles
#
# Use caching to make completion for cammands such as dpkg and apt usable.
# Use caching to make completion for commands such as dpkg and apt usable.
zstyle ':completion::complete:*' use-cache on
zstyle ':completion::complete:*' cache-path "${ZDOTDIR:-$HOME}/.zcompcache"
@ -116,7 +116,7 @@ zstyle ':completion:*:(rm|kill|diff):*' ignore-line other
zstyle ':completion:*:rm:*' file-patterns '*:all-files'
# Kill
zstyle ':completion:*:*:*:*:processes' command 'ps -u $USER -o pid,user,command -w'
zstyle ':completion:*:*:*:*:processes' command 'ps -u $LOGNAME -o pid,user,command -w'
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;36=0=01'
zstyle ':completion:*:*:kill:*' menu yes select
zstyle ':completion:*:*:kill:*' force-list always

29
modules/dnf/README.md Normal file
View File

@ -0,0 +1,29 @@
DNF
===
Defines [dnf][1] aliases.
Aliases
-------
- `dnfc` removes package(s) and leaves.
- `dnfi` installs package(s).
- `dnfh` displays history.
- `dnfl` lists packages.
- `dnfL` lists installed packages.
- `dnfq` displays package information.
- `dnfr` removes package(s).
- `dnfs` searches for a package.
- `dnfu` updates packages.
- `dnfU` upgrates packages.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][2].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://fedoraproject.org/wiki/Features/DNF
[2]: https://github.com/sorin-ionescu/prezto/issues

28
modules/dnf/init.zsh Normal file
View File

@ -0,0 +1,28 @@
#
# Defines dnf aliases.
#
# Authors:
# FireWave <firewave@free.fr>
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
# Return if requirements are not found.
if (( ! $+commands[dnf] )); then
return 1
fi
#
# Aliases
#
alias dnfc='sudo dnf clean all' # Cleans the cache.
alias dnfh='dnf history' # Displays history.
alias dnfi='sudo dnf install' # Installs package(s).
alias dnfl='dnf list' # Lists packages.
alias dnfL='dnf list installed' # Lists installed packages.
alias dnfq='dnf info' # Displays package information.
alias dnfr='sudo dnf remove' # Removes package(s).
alias dnfs='dnf search' # Searches for a package.
alias dnfu='sudo dnf update' # Updates packages.
alias dnfU='sudo dnf upgrade' # Upgrades packages.

View File

@ -33,15 +33,6 @@ unsetopt BG_NICE # Don't run all background jobs at a lower priority.
unsetopt HUP # Don't kill jobs on shell exit.
unsetopt CHECK_JOBS # Don't report on jobs when shell exit.
#
# Grep
#
if zstyle -t ':prezto:environment:grep' color; then
export GREP_COLOR='37;45'
export GREP_OPTIONS='--color=auto'
fi
#
# Termcap
#

View File

@ -100,12 +100,12 @@ alias gix='git rm -r --cached'
alias giX='git rm -rf --cached'
# Log (l)
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 gld='git log --topo-order --stat --patch --full-diff --pretty=format:${_git_log_medium_format}'
alias glo='git log --topo-order --pretty=format:${_git_log_oneline_format}'
alias glg='git log --topo-order --all --graph --pretty=format:${_git_log_oneline_format}'
alias glb='git log --topo-order --pretty=format:${_git_log_brief_format}'
alias 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 gld='git log --topo-order --stat --patch --full-diff --pretty=format:"${_git_log_medium_format}"'
alias glo='git log --topo-order --pretty=format:"${_git_log_oneline_format}"'
alias glg='git log --topo-order --all --graph --pretty=format:"${_git_log_oneline_format}"'
alias glb='git log --topo-order --pretty=format:"${_git_log_brief_format}"'
alias glc='git shortlog --summary --numbered'
# Merge (m)

View File

@ -1,7 +1,7 @@
GNU Utility
===========
Provides for the interactive use of GNU utilities on non-GNU systems.
Provides for the interactive use of GNU utilities on BSD systems.
Installing GNU utilities on non-GNU systems in `$PATH` without a prefix, i.e.
`ls` instead of `gls`, is not recommended since scripts that target other

View File

@ -11,16 +11,16 @@ if (( ! $+commands[gpg-agent] )); then
fi
# Set the default paths to gpg-agent files.
_gpg_agent_conf="$HOME/.gnupg/gpg-agent.conf"
_gpg_agent_conf="${GNUPGHOME:-$HOME/.gnupg}/gpg-agent.conf"
_gpg_agent_env="${TMPDIR:-/tmp}/gpg-agent.env"
# Start gpg-agent if not started.
if [[ -z "$GPG_AGENT_INFO" ]]; then
if [[ -z "$GPG_AGENT_INFO" && ! -S "${GNUPGHOME:-$HOME/.gnupg}/S.gpg-agent" ]]; then
# Export environment variables.
source "$_gpg_agent_env" 2> /dev/null
# Start gpg-agent if not started.
if ! ps -U "$USER" -o pid,ucomm | grep -q -- "${${${(s.:.)GPG_AGENT_INFO}[2]}:--1} gpg-agent"; then
if ! ps -U "$LOGNAME" -o pid,ucomm | grep -q -- "${${${(s.:.)GPG_AGENT_INFO}[2]}:--1} gpg-agent"; then
eval "$(gpg-agent --daemon | tee "$_gpg_agent_env")"
fi
fi
@ -35,6 +35,12 @@ if grep 'enable-ssh-support' "$_gpg_agent_conf" &> /dev/null; then
# Load the SSH module for additional processing.
pmodload 'ssh'
# Updates the GPG-Agent TTY before every command since SSH does not set it.
function _gpg-agent-update-tty {
gpg-connect-agent UPDATESTARTUPTTY /bye >/dev/null
}
add-zsh-hook preexec _gpg-agent-update-tty
fi
# Clean up.

View File

@ -13,8 +13,7 @@ Aliases
- `brewi` installs a formula.
- `brewl` lists installed formulae.
- `brews` searches for a formula.
- `brewU` upgrades Homebrew and outdated brews.
- `brewu` upgrades Homebrew.
- `brewu` updates Homebrew and formulae.
- `brewx` uninstalls a formula.
### Homebrew Cask

View File

@ -6,7 +6,7 @@
#
# Return if requirements are not found.
if [[ "$OSTYPE" != darwin* ]]; then
if [[ "$OSTYPE" != (darwin|linux)* ]]; then
return 1
fi
@ -20,8 +20,7 @@ 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 brewu='brew update && brew upgrade --all'
alias brewx='brew remove'
# Homebrew Cask

View File

@ -1,4 +1,4 @@
Macports
MacPorts
========
Defines MacPorts aliases and adds MacPorts directories to path variables.

View File

@ -17,7 +17,7 @@ if (( $+functions[nvm_version] )); then
version="${$(nvm_version)#v}"
fi
if [[ "$version" == (none|) ]]; then
if [[ "$version" != (none|) ]]; then
zstyle -s ':prezto:module:node:info:version' format 'version_format'
zformat -f version_formatted "$version_format" "v:$version"
node_info[version]="$version_formatted"

View File

@ -6,13 +6,16 @@
# Zeh Rizzatti <zehrizzatti@gmail.com>
#
# Load NVM into the shell session.
# Load manually installed NVM into the shell session.
if [[ -s "$HOME/.nvm/nvm.sh" ]]; then
source "$HOME/.nvm/nvm.sh"
fi
# Load package manager installed NVM into the shell session.
elif (( $+commands[brew] )) && [[ -d "$(brew --prefix nvm 2>/dev/null)" ]]; then
source $(brew --prefix nvm)/nvm.sh
# Return if requirements are not found.
if (( ! $+commands[node] )); then
elif (( ! $+commands[node] )); then
return 1
fi

View File

@ -1,7 +1,7 @@
Perl
====
Enables local [Perl][1] module installation on Mac OS X and defines alises.
Enables local [Perl][1] module installation on Mac OS X and defines aliases.
Local Module Installation
-------------------------

View File

@ -46,7 +46,7 @@ The most basic example of this function can be seen below.
If the `prompt_name_setup` function is customizable via parameters, a help
function **should** be defined. The user will access it via `prompt -h name`.
The most basic example of this function can be seen bellow.
The most basic example of this function can be seen below.
function prompt_name_help {
cat <<EOH
@ -63,7 +63,7 @@ The most basic example of this function can be seen bellow.
If the `prompt_name_setup` function is customizable via parameters, a preview
function **should** be defined. The user will access it via `prompt -p name`.
The most basic example of this function can be seen bellow.
The most basic example of this function can be seen below.
function prompt_name_preview {
if (( $# > 0 )); then
@ -91,7 +91,7 @@ a function before you calling it.
**Do not register hook functions. They will be registered by the `prompt` function.**
The most basic example of this function can be seen bellow.
The most basic example of this function can be seen below.
function prompt_name_precmd {
if (( $+functions[git-info] )); then

1
modules/prompt/external/pure vendored Submodule

View File

@ -0,0 +1 @@
../external/pure/async.zsh

View File

@ -0,0 +1 @@
../external/agnoster/agnoster.zsh-theme

View File

@ -0,0 +1,121 @@
#
# A minimal two-color theme.
#
# Authors:
# Kevin Laude <nerfyoda@gmail.com>
#
# Features:
# - One line, left aligned.
# - The prompt is prefixed by a character sequence of your choice.
# - Only displays the current directory instead of the full path.
# - Displays the current branch when in a git project (this requires loading
# the git module before prompt in ~/.zpreztorc).
# - Displays a character at the end of the prompt when in a git project with
# "dirty" files.
#
# Usage:
# This prompt's prefix symbol and colors are customizable:
# prompt cloud [<symbol>] [<color1>] [<color2>]
#
# In ~/.zpreztorc:
# zstyle ':prezto:module:prompt' theme 'cloud' \
# ['<symbol>'] \
# ['<color1>'] \
# ['<color2>']
#
# If these options are not provided, the symbol defaults to "☁" with colors
# cyan and green.
#
# Screenshots:
# http://i.imgur.com/mJCZ8rE.png
#
# Note:
# This is a port of the oh-my-zsh cloud theme, originally written by Phillip
# Ridlen <p@rdln.net> and Mark Drago <markdrago@gmail.com>
#
# Load dependencies.
pmodload 'helper'
function prompt_cloud_precmd {
setopt LOCAL_OPTIONS
unsetopt XTRACE KSH_ARRAYS
# Get Git repository information.
if (( $+functions[git-info] )); then
git-info
fi
}
function prompt_cloud_help {
cat <<EOT
This prompt's prefix symbol and colors are customizable:
prompt cloud [<symbol>] [<color1>] [<color2>]
In ~/.zpreztorc:
zstyle ':prezto:module:prompt' theme 'cloud' ['<symbol>'] ['<color1>'] ['<color2>']
If these options are not provided, the symbol defaults to ☁ with colors cyan
and green.
EOT
}
function prompt_cloud_preview {
if (( $# > 0 )); then
prompt_preview_theme 'cloud' "$@"
else
prompt_preview_theme 'cloud'
print
prompt_preview_theme 'cloud' "✯"
print
prompt_preview_theme 'cloud' ">" "yellow" "red"
fi
}
function prompt_cloud_setup {
setopt LOCAL_OPTIONS
unsetopt XTRACE KSH_ARRAYS
prompt_opts=(cr percent subst)
# Set the theme prefix to a cloud or to the user's given characters.
if [[ -n "$1" ]]; then
prefix="$1"
else
prefix='☁'
fi
# Assign colors.
if [[ -n "$2" ]]; then
primary_color="$2"
else
primary_color='cyan'
fi
if [[ -n "$3" ]]; then
secondary_color="$3"
else
secondary_color='green'
fi
# Load required functions.
autoload -Uz add-zsh-hook
# Add hook for calling git-info before each command.
add-zsh-hook precmd prompt_cloud_precmd
# Set git-info parameters.
zstyle ':prezto:module:git:info' verbose 'yes'
zstyle ':prezto:module:git:info:dirty' format "%%B%F{$secondary_color}]%f%%b %F{yellow}⚡%f"
zstyle ':prezto:module:git:info:clean' format "%B%F{$secondary_color}]%f%b"
zstyle ':prezto:module:git:info:branch' format "%%B%F{$secondary_color}[%f%%b%%B%F{$primary_color}%b%f%%b"
zstyle ':prezto:module:git:info:keys' format \
'prompt' '%b%C%D' \
'rprompt' ''
# Define prompts.
PROMPT='%B%F{$primary_color}${prefix}%f%b %B%F{$secondary_color}%c%f%b ${git_info:+${(e)git_info[prompt]}} '
RPROMPT=''
}
prompt_cloud_setup "$@"

View File

@ -0,0 +1,76 @@
#
# A simple theme inspired by the Sorin and PeepCode themes.
#
# Authors:
# Daniel Møller Kristensen <damoekri@icloud.com>
#
# Screenshots:
# http://i.imgur.com/AX9HnPF.png
#
# Load dependencies.
pmodload 'helper'
function prompt_damoekri_pwd {
local pwd="${PWD/#$HOME/~}"
if [[ "$pwd" == (#m)[/~] ]]; then
_prompt_damoekri_pwd="$MATCH"
unset MATCH
else
_prompt_damoekri_pwd="${${${${(@j:/:M)${(@s:/:)pwd}##.#?}:h}%/}//\%/%%}/${${pwd:t}//\%/%%}"
fi
}
function prompt_damoekri_precmd {
setopt LOCAL_OPTIONS
unsetopt XTRACE KSH_ARRAYS
# Format PWD.
prompt_damoekri_pwd
# Get Git repository information.
if (( $+functions[git-info] )); then
git-info
fi
# Get Ruby version information.
if (( $+functions[ruby-info] )); then
ruby-info
fi
}
function prompt_damoekri_setup {
setopt LOCAL_OPTIONS
unsetopt XTRACE KSH_ARRAYS
prompt_opts=(cr percent subst)
# Load required functions.
autoload -Uz add-zsh-hook
# Add hook for calling git-info and ruby-info before each command.
add-zsh-hook precmd prompt_damoekri_precmd
# Set editor-info parameters.
zstyle ':prezto:module:editor:info:keymap:primary' format ' %F{green}»%f'
# Set git-info parameters.
zstyle ':prezto:module:git:info' verbose 'yes'
zstyle ':prezto:module:git:info:action' format ':%F{magenta}%s%f'
zstyle ':prezto:module:git:info:branch' format '%F{blue}%b%f'
zstyle ':prezto:module:git:info:clean' format ' %F{green}✔%f'
zstyle ':prezto:module:git:info:dirty' format ' %F{red}✗%f'
zstyle ':prezto:module:git:info:commit' format '%F{blue}%.7c%f'
zstyle ':prezto:module:git:info:position' format '%F{blue}%p%f'
zstyle ':prezto:module:git:info:keys' format \
'rprompt' ' $(coalesce "%b" "%p" "%c")%s%C%D'
# Set ruby-info parameters.
zstyle ':prezto:module:ruby:info:version' format ' %F{yellow}%v%f'
# Define prompts.
PROMPT='%F{cyan}${_prompt_damoekri_pwd}%f${editor_info[keymap]} '
RPROMPT='${git_info:+${(e)git_info[rprompt]}}${ruby_info:+${ruby_info[version]}}'
}
prompt_damoekri_setup "$@"

View File

@ -0,0 +1,76 @@
#
# A colorful, friendly, multiline theme with some handy features.
#
# Authors:
# Paul Gideon Dann <pdgiddie@gmail.com>
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
# Features:
# - Simple VCS branch, staged, and unstaged indication.
# - Prompt character is different in a VCS repository.
# - Last command exit status is displayed when non-zero.
#
# Screenshots:
# http://i.imgur.com/rCo3S.png
#
function +vi-set_novcs_prompt_symbol {
_prompt_giddie_symbol=')'
}
function +vi-set_vcs_prompt_symbol {
_prompt_giddie_symbol='±'
}
function +vi-git_precmd {
# Check for untracked files, since vcs_info does not.
if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then
hook_com[unstaged]+='%F{green}?%f'
fi
}
function prompt_giddie_precmd {
# Replace '/home/<user>' with '~'.
_prompt_giddie_pwd="${PWD/#$HOME/~}"
vcs_info
}
function prompt_giddie_setup {
setopt LOCAL_OPTIONS
unsetopt XTRACE KSH_ARRAYS
prompt_opts=(cr percent subst)
# Load required functions.
autoload -Uz vcs_info
autoload -Uz add-zsh-hook
# Add hook to set up prompt parameters before each command.
add-zsh-hook precmd prompt_giddie_precmd
# Set editor-info parameters.
zstyle ':prezto:module:editor:info:completing' format '%F{green}...%f'
zstyle ':prezto:module:editor:info:keymap:alternate' format '%F{yellow}--- COMMAND ---%f'
# Set vcs_info parameters.
zstyle ':vcs_info:*' check-for-changes true
zstyle ':vcs_info:*' formats ' on %F{magenta}%b%f%c%u'
zstyle ':vcs_info:*' actionformats ' on %F{magenta}%b%f%c%u %F{yellow}(%a)%f'
zstyle ':vcs_info:*' stagedstr '%F{green}+%f'
zstyle ':vcs_info:*' unstagedstr '%F{green}!%f'
# Set vcs_info hooks.
# NOTE: Prior to Zsh v4.3.12, there are no static hooks, no vcs_info_hookadd
# function, and no 'no-vcs' hook.
zstyle ':vcs_info:*+start-up:*' hooks set_novcs_prompt_symbol
zstyle ':vcs_info:git*+set-message:*' hooks set_vcs_prompt_symbol git_precmd
zstyle ':vcs_info:*+set-message:*' hooks set_vcs_prompt_symbol
# Define prompts.
PROMPT='%(?..%F{red}%B-> [%?]%b%f
)%F{magenta}%n%f@%F{yellow}%m%f|%F{green}${_prompt_giddie_pwd}%f${vcs_info_msg_0_}
%F{blue}${_prompt_giddie_symbol}%f '
RPROMPT='${editor_info[keymap]}'
SPROMPT='zsh: correct %F{magenta}%R%f to %F{green}%r%f [nyae]? '
}
prompt_giddie_setup "$@"

View File

@ -0,0 +1,65 @@
#
# A single line theme with Git information on the left and Ruby on the right.
#
# Authors:
# Kyle West <kswest@gmail.com>
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
# Features:
# - Indicates dirty Git repository.
# - Indicates the Ruby version.
# - Indicates vi modes.
#
# Screenshots:
# http://i.imgur.com/dCwhynn.png
#
function prompt_kylewest_precmd {
setopt LOCAL_OPTIONS
unsetopt XTRACE KSH_ARRAYS
# Get Git repository information.
if (( $+functions[git-info] )); then
git-info
fi
# Get Ruby information.
if (( $+functions[ruby-info] )); then
ruby-info
fi
}
function prompt_kylewest_setup {
setopt LOCAL_OPTIONS
unsetopt XTRACE KSH_ARRAYS
prompt_opts=(cr percent subst)
# Load required functions.
autoload -Uz add-zsh-hook
# Add hook for calling git-info before each command.
add-zsh-hook precmd prompt_kylewest_precmd
# Set editor-info parameters.
zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b'
zstyle ':prezto:module:editor:info:keymap:primary' format "%B%F{green}%f%b"
zstyle ':prezto:module:editor:info:keymap:alternate' format "%B%F{magenta}%f%b"
# Set git-info parameters.
zstyle ':prezto:module:git:info' verbose 'no'
zstyle ':prezto:module:git:info:branch' format '%F{yellow}%b%f'
zstyle ':prezto:module:git:info:dirty' format '%B%F{red}!%f%b'
zstyle ':prezto:module:git:info:indexed' format ' '
zstyle ':prezto:module:git:info:unindexed' format ' '
zstyle ':prezto:module:git:info:untracked' format ' '
zstyle ':prezto:module:git:info:keys' format 'prompt' '- %b%D '
# Set ruby-info parameters.
zstyle ':prezto:module:ruby:info:version' format '%F{blue}[%v]%f'
# Define prompts.
PROMPT='%F{cyan}%c%f ${git_info:+${(e)git_info[prompt]}}${editor_info[keymap]} '
RPROMPT='${ruby_info[version]}'
}
prompt_kylewest_setup "$@"

View File

@ -9,7 +9,7 @@
# http://i.imgur.com/zLZNK.png
#
function +vi-git-status() {
function +vi-git_status {
# Check for untracked files or updated submodules since vcs_info does not.
if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then
hook_com[unstaged]='%F{red}●%f'
@ -40,7 +40,7 @@ function prompt_minimal_setup {
zstyle ':vcs_info:*' formats ' - [%b%c%u]'
zstyle ':vcs_info:*' actionformats " - [%b%c%u|%F{cyan}%a%f]"
zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b|%F{cyan}%r%f'
zstyle ':vcs_info:git*+set-message:*' hooks git-status
zstyle ':vcs_info:git*+set-message:*' hooks git_status
# Define prompts.
PROMPT='%2~${vcs_info_msg_0_} » '

View File

@ -0,0 +1,154 @@
#
# A two-line, Powerline-inspired theme that displays contextual information.
#
# This theme requires a patched Powerline font, get them from
# https://github.com/Lokaltog/powerline-fonts.
#
# Authors:
# Isaac Wolkerstorfer <i@agnoster.net>
# Jeff Sandberg <paradox460@gmail.com>
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
# Screenshots:
# http://i.imgur.com/0XIWX.png
#
# Load dependencies.
pmodload 'helper'
# Define variables.
_prompt_paradox_current_bg='NONE'
_prompt_paradox_segment_separator=''
_prompt_paradox_start_time=$SECONDS
function prompt_paradox_start_segment {
local bg fg
[[ -n "$1" ]] && bg="%K{$1}" || bg="%k"
[[ -n "$2" ]] && fg="%F{$2}" || fg="%f"
if [[ "$_prompt_paradox_current_bg" != 'NONE' && "$1" != "$_prompt_paradox_current_bg" ]]; then
print -n " $bg%F{$_prompt_paradox_current_bg}$_prompt_paradox_segment_separator$fg "
else
print -n "$bg$fg "
fi
_prompt_paradox_current_bg="$1"
[[ -n "$3" ]] && print -n "$3"
}
function prompt_paradox_end_segment {
if [[ -n "$_prompt_paradox_current_bg" ]]; then
print -n " %k%F{$_prompt_paradox_current_bg}$_prompt_paradox_segment_separator"
else
print -n "%k"
fi
print -n "%f"
_prompt_paradox_current_bg=''
}
function prompt_paradox_build_prompt {
prompt_paradox_start_segment black default '%(?::%F{red}✘ )%(!:%F{yellow}⚡ :)%(1j:%F{cyan}⚙ :)%F{blue}%n%F{red}@%F{green}%m%f'
prompt_paradox_start_segment blue black '$_prompt_paradox_pwd'
if [[ -n "$git_info" ]]; then
prompt_paradox_start_segment green black '${(e)git_info[ref]}${(e)git_info[status]}'
fi
prompt_paradox_end_segment
}
function prompt_paradox_pwd {
local pwd="${PWD/#$HOME/~}"
if [[ "$pwd" == (#m)[/~] ]]; then
_prompt_paradox_pwd="$MATCH"
unset MATCH
else
_prompt_paradox_pwd="${${${${(@j:/:M)${(@s:/:)pwd}##.#?}:h}%/}//\%/%%}/${${pwd:t}//\%/%%}"
fi
}
function prompt_paradox_print_elapsed_time {
local end_time=$(( SECONDS - _prompt_paradox_start_time ))
local hours minutes seconds remainder
if (( end_time >= 3600 )); then
hours=$(( end_time / 3600 ))
remainder=$(( end_time % 3600 ))
minutes=$(( remainder / 60 ))
seconds=$(( remainder % 60 ))
print -P "%B%F{red}>>> elapsed time ${hours}h${minutes}m${seconds}s%b"
elif (( end_time >= 60 )); then
minutes=$(( end_time / 60 ))
seconds=$(( end_time % 60 ))
print -P "%B%F{yellow}>>> elapsed time ${minutes}m${seconds}s%b"
elif (( end_time > 10 )); then
print -P "%B%F{green}>>> elapsed time ${end_time}s%b"
fi
}
function prompt_paradox_precmd {
setopt LOCAL_OPTIONS
unsetopt XTRACE KSH_ARRAYS
# Format PWD.
prompt_paradox_pwd
# Get Git repository information.
if (( $+functions[git-info] )); then
git-info
fi
# Calculate and print the elapsed time.
prompt_paradox_print_elapsed_time
}
function prompt_paradox_preexec {
_prompt_paradox_start_time="$SECONDS"
}
function prompt_paradox_setup {
setopt LOCAL_OPTIONS
unsetopt XTRACE KSH_ARRAYS
prompt_opts=(cr percent subst)
# Load required functions.
autoload -Uz add-zsh-hook
# Add hook for calling git-info before each command.
add-zsh-hook preexec prompt_paradox_preexec
add-zsh-hook precmd prompt_paradox_precmd
# Set editor-info parameters.
zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b'
zstyle ':prezto:module:editor:info:keymap:primary' format '%B%F{blue}%f%b'
zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format '%F{red}♺%f'
zstyle ':prezto:module:editor:info:keymap:alternate' format '%B%F{red}%f%b'
# Set git-info parameters.
zstyle ':prezto:module:git:info' verbose 'yes'
zstyle ':prezto:module:git:info:action' format ' ⁝ %s'
zstyle ':prezto:module:git:info:added' format ' ✚'
zstyle ':prezto:module:git:info:ahead' format ' ⬆'
zstyle ':prezto:module:git:info:behind' format ' ⬇'
zstyle ':prezto:module:git:info:branch' format ' %b'
zstyle ':prezto:module:git:info:commit' format '➦ %.7c'
zstyle ':prezto:module:git:info:deleted' format ' ✖'
zstyle ':prezto:module:git:info:dirty' format ' ⁝'
zstyle ':prezto:module:git:info:modified' format ' ✱'
zstyle ':prezto:module:git:info:position' format '%p'
zstyle ':prezto:module:git:info:renamed' format ' ➙'
zstyle ':prezto:module:git:info:stashed' format ' S'
zstyle ':prezto:module:git:info:unmerged' format ' ═'
zstyle ':prezto:module:git:info:untracked' format ' ?'
zstyle ':prezto:module:git:info:keys' format \
'ref' '$(coalesce "%b" "%p" "%c")' \
'status' '%s%D%A%B%S%a%d%m%r%U%u'
# Define prompts.
PROMPT='
${(e)$(prompt_paradox_build_prompt)}
${editor_info[keymap]} '
RPROMPT='%F{blue}[%F{green}%D{%H:%M:%S}%F{blue}]%f'
SPROMPT='zsh: correct %F{red}%R%f to %F{green}%r%f [nyae]? '
}
prompt_paradox_setup "$@"

View File

@ -10,16 +10,13 @@
# http://i.imgur.com/LhgmW.png
#
function +vi-git-status() {
# Check for untracked files or updated submodules since vcs_info does not.
if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then
hook_com[unstaged]=' %F{8}✗%f'
fi
}
function prompt_peepcode_precmd {
vcs_info
# Get Git repository information.
if (( $+functions[git-info] )); then
git-info
fi
# Get Ruby information.
if (( $+functions[ruby-info] )); then
ruby-info
fi
@ -34,18 +31,19 @@ function prompt_peepcode_setup {
autoload -Uz add-zsh-hook
autoload -Uz vcs_info
# Add hook for calling vcs_info before each command.
# Add a hook for calling info functions before each command.
add-zsh-hook precmd prompt_peepcode_precmd
# Set vcs_info parameters.
zstyle ':vcs_info:*' enable git
zstyle ':vcs_info:*' check-for-changes true
zstyle ':vcs_info:*' get-revision true
zstyle ':vcs_info:*' use-simple true
zstyle ':vcs_info:*' unstagedstr ' %F{8}✗%f'
zstyle ':vcs_info:*' formats ' %F{8}%b%f %F{white}%.7i%f%u'
zstyle ':vcs_info:*' actionformats ' %F{8}%b%f %F{white}%.7i%f +%a%u'
zstyle ':vcs_info:git*+set-message:*' hooks git-status
# Set git-info parameters.
zstyle ':prezto:module:git:info' verbose 'no'
zstyle ':prezto:module:git:info:action' format ' +%s'
zstyle ':prezto:module:git:info:branch' format ' %F{8}%b%f'
zstyle ':prezto:module:git:info:commit' format ' %F{white}%.7c%f'
zstyle ':prezto:module:git:info:indexed' format ' '
zstyle ':prezto:module:git:info:unindexed' format ' '
zstyle ':prezto:module:git:info:untracked' format ' '
zstyle ':prezto:module:git:info:dirty' format ' %F{8}✗%f'
zstyle ':prezto:module:git:info:keys' format 'rprompt' '%b%c%s%D'
# Set ruby-info parameters.
zstyle ':prezto:module:ruby:info:version' format ' %F{white}%v%f'
@ -54,7 +52,7 @@ function prompt_peepcode_setup {
PROMPT="
%~
%(?.%F{green}${1:-☻ }%f.%F{red}${1:-☻ }%f) "
RPROMPT='${ruby_info[version]}${vcs_info_msg_0_}'
RPROMPT='${ruby_info[version]}${git_info[rprompt]}'
}

View File

@ -0,0 +1 @@
../external/powerline/prompt_powerline_setup

View File

@ -0,0 +1 @@
../external/pure/pure.zsh

View File

@ -0,0 +1,75 @@
#
# A single line theme with Git information on the left and Ruby on the right.
#
# Authors:
# Steve Losh <steve@stevelosh.com>
# Bart Trojanowski <bart@jukie.net>
# Brian Carper <brian@carper.ca>
# steeef <steeef@gmail.com>
# Sorin Ionescu <sorin.ionescu@gmail.com>
# Yan Pritzker <yan@pritzker.ws>
#
# Screenshots:
# http://i.imgur.com/gLgVp6Y.png
#
function prompt_skwp_precmd {
# Get Git repository information.
if (( $+functions[git-info] )); then
git-info
fi
# Get Ruby information.
if (( $+functions[ruby-info] )); then
ruby-info
fi
}
function prompt_skwp_setup {
setopt LOCAL_OPTIONS
unsetopt XTRACE KSH_ARRAYS
prompt_opts=(cr percent subst)
# Load required functions.
autoload -Uz add-zsh-hook
# Add hook to set up prompt parameters before each command.
add-zsh-hook precmd prompt_skwp_precmd
# Use extended color pallete if available.
if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then
_prompt_skwp_colors=(
"%F{81}" # Turquoise
"%F{166}" # Orange
"%F{135}" # Purple
"%F{161}" # Hotpink
"%F{118}" # Limegreen
)
else
_prompt_skwp_colors=(
"%F{cyan}"
"%F{yellow}"
"%F{magenta}"
"%F{red}"
"%F{green}"
)
fi
# Set git-info parameters.
zstyle ':prezto:module:git:info' verbose 'yes'
zstyle ':prezto:module:git:info:branch' format "${_prompt_skwp_colors[1]}%b%f"
zstyle ':prezto:module:git:info:added' format "${_prompt_skwp_colors[5]}●%f"
zstyle ':prezto:module:git:info:deleted' format "${_prompt_skwp_colors[2]}●%f"
zstyle ':prezto:module:git:info:modified' format "${_prompt_skwp_colors[4]}●%f"
zstyle ':prezto:module:git:info:untracked' format "${_prompt_skwp_colors[3]}●%f"
zstyle ':prezto:module:git:info:keys' format 'prompt' '(%b%d%a%m%u)'
# Set ruby-info parameters.
zstyle ':prezto:module:ruby:info:version' format '[%v]'
# Define prompts.
PROMPT="${_prompt_skwp_colors[3]}%n%f@${_prompt_skwp_colors[2]}%m%f ${_prompt_skwp_colors[5]}%~%f "'${git_info:+${(e)git_info[prompt]}}'"$ "
RPROMPT='%F{blue}${ruby_info[version]}'
}
prompt_skwp_setup "$@"

View File

@ -0,0 +1,65 @@
#
# A simple theme that displays:
# - Python virtual environment.
# - Git branch.
# - Git state.
# - Last command exit state (smiley/X).
#
# Authors:
# Nadav Shatz <nadavshatz@gmail.com>
#
# Screenshots:
# http://i.imgur.com/ijycV6n.png
#
# Load dependencies.
pmodload 'helper'
function prompt_smiley_precmd {
unsetopt XTRACE KSH_ARRAYS
# Get Git repository information.
if (( $+functions[git-info] )); then
git-info
fi
# Get Python environment information.
if (( $+functions[python-info] )); then
python-info
fi
# Get Ruby version information.
if (( $+functions[ruby-info] )); then
ruby-info
fi
}
function prompt_smiley_setup {
unsetopt XTRACE KSH_ARRAYS
prompt_opts=(percent subst)
# Add hook for calling git-info before each command.
add-zsh-hook precmd prompt_smiley_precmd
# Set editor-info parameters.
zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b'
# Set python-info parameters.
zstyle ':prezto:module:python:info:virtualenv' format '%F{yellow}[%v]%f '
# Set ruby-info parameters.
zstyle ':prezto:module:ruby:info:version' format '%F{yellow}[%v]%f '
# Set git-info parameters.
zstyle ':prezto:module:git:info' verbose 'yes'
zstyle ':prezto:module:git:info:branch' format '%F{blue}%b%f'
zstyle ':prezto:module:git:info:dirty' format '%%B%F{red} ±%f%%b'
zstyle ':prezto:module:git:info:keys' format 'prompt' '(%b%D)'
# Define prompts.
PROMPT='$python_info[virtualenv]$ruby_info[version]${git_info:+${(e)git_info[prompt]}} %B%c%b %(?:%F{green}ツ%f:%F{red}✖%f) '
RPROMPT='${editor_info[overwrite]}${VIM:+" %B%F{green}V%f%b"}'
SPROMPT='zsh: correct %F{red}%R%f to %F{green}%r%f [nyae]? '
}
prompt_smiley_setup "$@"

View File

@ -5,7 +5,28 @@
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
# Screenshots:
# http://i.imgur.com/nBEEZ.png
# http://i.imgur.com/nrGV6pg.png
#
#
# 16 Terminal Colors
# -- ---------------
# 0 black
# 1 red
# 2 green
# 3 yellow
# 4 blue
# 5 magenta
# 6 cyan
# 7 white
# 8 bright black
# 9 bright red
# 10 bright green
# 11 bright yellow
# 12 bright blue
# 13 bright magenta
# 14 bright cyan
# 15 bright white
#
# Load dependencies.
@ -22,6 +43,35 @@ function prompt_sorin_pwd {
fi
}
function prompt_sorin_git_info {
if (( _prompt_sorin_precmd_async_pid > 0 )); then
# Append Git status.
if [[ -s "$_prompt_sorin_precmd_async_data" ]]; then
alias typeset='typeset -g'
source "$_prompt_sorin_precmd_async_data"
RPROMPT+='${git_info:+${(e)git_info[status]}}'
unalias typeset
fi
# Reset PID.
_prompt_sorin_precmd_async_pid=0
# Redisplay prompt.
zle && zle reset-prompt
fi
}
function prompt_sorin_precmd_async {
# Get Git repository information.
if (( $+functions[git-info] )); then
git-info
typeset -p git_info >! "$_prompt_sorin_precmd_async_data"
fi
# Signal completion to parent process.
kill -WINCH $$
}
function prompt_sorin_precmd {
setopt LOCAL_OPTIONS
unsetopt XTRACE KSH_ARRAYS
@ -29,16 +79,26 @@ function prompt_sorin_precmd {
# Format PWD.
prompt_sorin_pwd
# Get Git repository information.
if (( $+functions[git-info] )); then
git-info
# Define prompts.
RPROMPT='${editor_info[overwrite]}%(?:: %F{1}⏎%f)${VIM:+" %B%F{6}V%f%b"}'
# Kill the old process of slow commands if it is still running.
if (( _prompt_sorin_precmd_async_pid > 0 )); then
kill -KILL "$_prompt_sorin_precmd_async_pid" &>/dev/null
fi
# Compute slow commands in the background.
trap prompt_sorin_git_info WINCH
prompt_sorin_precmd_async &!
_prompt_sorin_precmd_async_pid=$!
}
function prompt_sorin_setup {
setopt LOCAL_OPTIONS
unsetopt XTRACE KSH_ARRAYS
prompt_opts=(cr percent subst)
_prompt_sorin_precmd_async_pid=0
_prompt_sorin_precmd_async_data="${TMPPREFIX}-prompt_sorin_data"
# Load required functions.
autoload -Uz add-zsh-hook
@ -47,34 +107,42 @@ function prompt_sorin_setup {
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: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:alternate' format ' %B%F{green}%F{yellow}%F{red}%f%b'
zstyle ':prezto:module:editor:info:completing' format '%B%F{7}...%f%b'
zstyle ':prezto:module:editor:info:keymap:primary' format ' %B%F{1}%F{3}%F{2}%f%b'
zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format ' %F{3}♺%f'
zstyle ':prezto:module:editor:info:keymap:alternate' format ' %B%F{2}%F{3}%F{1}%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:added' format ' %%B%F{green}✚%f%%b'
zstyle ':prezto:module:git:info:ahead' format ' %%B%F{yellow}⬆%f%%b'
zstyle ':prezto:module:git:info:behind' format ' %%B%F{yellow}⬇%f%%b'
zstyle ':prezto:module:git:info:branch' format ':%F{green}%b%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:modified' format ' %%B%F{blue}✱%f%%b'
zstyle ':prezto:module:git:info:position' format ':%F{red}%p%f'
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:unmerged' format ' %%B%F{yellow}═%f%%b'
zstyle ':prezto:module:git:info:untracked' format ' %%B%F{white}◼%f%%b'
zstyle ':prezto:module:git:info:action' format '%F{7}:%f%%B%F{9}%s%f%%b'
zstyle ':prezto:module:git:info:added' format ' %%B%F{2}✚%f%%b'
zstyle ':prezto:module:git:info:ahead' format ' %%B%F{13}⬆%f%%b'
zstyle ':prezto:module:git:info:behind' format ' %%B%F{13}⬇%f%%b'
zstyle ':prezto:module:git:info:branch' format ' %%B%F{2}%b%f%%b'
zstyle ':prezto:module:git:info:commit' format ' %%B%F{3}%.7c%f%%b'
zstyle ':prezto:module:git:info:deleted' format ' %%B%F{1}✖%f%%b'
zstyle ':prezto:module:git:info:modified' format ' %%B%F{4}✱%f%%b'
zstyle ':prezto:module:git:info:position' format ' %%B%F{13}%p%f%%b'
zstyle ':prezto:module:git:info:renamed' format ' %%B%F{5}➜%f%%b'
zstyle ':prezto:module:git:info:stashed' format ' %%B%F{6}✭%f%%b'
zstyle ':prezto:module:git:info:unmerged' format ' %%B%F{3}═%f%%b'
zstyle ':prezto:module:git:info:untracked' format ' %%B%F{7}◼%f%%b'
zstyle ':prezto:module:git:info:keys' format \
'prompt' ' %F{blue}git%f$(coalesce "%b" "%p" "%c")%s' \
'rprompt' '%A%B%S%a%d%m%r%U%u'
'status' '$(coalesce "%b" "%p" "%c")%s%A%B%S%a%d%m%r%U%u'
# Define prompts.
PROMPT='%F{cyan}${_prompt_sorin_pwd}%f${git_info:+${(e)git_info[prompt]}}%(!. %B%F{red}#%f%b.)${editor_info[keymap]} '
RPROMPT='${editor_info[overwrite]}%(?:: %F{red}⏎%f)${VIM:+" %B%F{green}V%f%b"}${git_info[rprompt]}'
SPROMPT='zsh: correct %F{red}%R%f to %F{green}%r%f [nyae]? '
PROMPT='${SSH_TTY:+"%F{9}%n%f%F{7}@%f%F{3}%m%f "}%F{4}${_prompt_sorin_pwd}%(!. %B%F{1}#%f%b.)${editor_info[keymap]} '
RPROMPT=''
SPROMPT='zsh: correct %F{1}%R%f to %F{2}%r%f [nyae]? '
}
function prompt_sorin_preview {
local +h PROMPT=''
local +h RPROMPT=''
local +h SPROMPT=''
editor-info 2>/dev/null
prompt_preview_theme 'sorin'
}
prompt_sorin_setup "$@"

View File

@ -10,9 +10,9 @@ autoload -Uz promptinit && promptinit
# Load the prompt theme.
zstyle -a ':prezto:module:prompt' theme 'prompt_argv'
if (( $#prompt_argv > 0 )); then
prompt "$prompt_argv[@]"
else
if [[ "$TERM" == (dumb|linux|*bsd*) ]] || (( $#prompt_argv < 1 )); then
prompt 'off'
else
prompt "$prompt_argv[@]"
fi
unset prompt_argv

View File

@ -16,10 +16,14 @@ fi
_rsync_cmd='rsync --verbose --progress --human-readable --compress --archive --hard-links --one-file-system'
if grep -q 'xattrs' <(rsync --help 2>&1); then
_rsync_cmd="${_rsync_cmd} --acls --xattrs"
fi
# Mac OS X and HFS+ Enhancements
# http://help.bombich.com/kb/overview/credits#opensource
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 --fileflags --protect-decmpfs --force-change"
fi
alias rsync-copy="${_rsync_cmd}"

View File

@ -28,6 +28,9 @@ elif (( $+commands[chruby-exec] )); then
source "${commands[chruby-exec]:h:h}/share/chruby/chruby.sh"
if zstyle -t ':prezto:module:ruby:chruby' auto-switch; then
source "${commands[chruby-exec]:h:h}/share/chruby/auto.sh"
# If a default Ruby is set, switch to it.
chruby_auto
fi
# Prepend local gems bin directories to PATH.

View File

@ -4,7 +4,8 @@ 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.
unnecessary. Use `ssh-add -K` to store identities in Keychain; they will be
added to `ssh-agent` automatically and persist between reboots.
Settings
--------

View File

@ -25,7 +25,7 @@ if [[ ! -S "$SSH_AUTH_SOCK" ]]; then
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:--1} ssh-agent"; then
if ! ps -U "$LOGNAME" -o pid,ucomm | grep -q -- "${SSH_AGENT_PID:--1} ssh-agent"; then
eval "$(ssh-agent | sed '/^echo /d' | tee "$_ssh_agent_env")"
fi
fi

View File

@ -13,19 +13,14 @@ directory, add the following to *zpreztorc*:
zstyle ':prezto:module:terminal' auto-title 'yes'
Auto titling is disabled inside terminal multiplexers (except inside dvtm)
since it interferes with window names defined in configuration files and
profile managers. This can be overridden by setting it to `always`.
zstyle ':prezto:module:terminal' auto-title 'always'
### Title formats
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'
zstyle ':prezto:module:terminal:multiplexer-title' format '%s'
`%s` will be replaced with the current working directory path or the currently
executing program name.
@ -36,8 +31,7 @@ Functions
---------
- `set-tab-title` sets the terminal tab title.
- `set-window-title` sets the terminal window title.
- `set-multiplexer-title` sets the terminal multiplexer title.
- `set-window-title` sets the terminal or terminal multiplexer window title.
Authors
-------
@ -45,7 +39,6 @@ Authors
*The authors of this module should be contacted via the [issue tracker][2].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
- [Olaf Conradi](https://github.com/oohlaf)
[1]: http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html#Expansion-of-Prompt-Sequences
[2]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -3,20 +3,26 @@
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
# Olaf Conradi <olaf@conradi.org>
#
# Return if requirements are not found.
if [[ "$TERM" == (dumb|linux|*bsd*) ]]; then
if [[ "$TERM" == (dumb|linux|*bsd*|eterm*) ]]; then
return 1
fi
# Sets the terminal window title.
# Sets the terminal or terminal multiplexer window title.
function set-window-title {
local title_format{,ted}
zstyle -s ':prezto:module:terminal:window-title' format 'title_format' || title_format="%s"
zformat -f title_formatted "$title_format" "s:$argv"
printf '\e]2;%s\a' "${(V%)title_formatted}"
if [[ "$TERM" == screen* ]]; then
title_format="\ek%s\e\\"
else
title_format="\e]2;%s\a"
fi
printf "$title_format" "${(V%)title_formatted}"
}
# Sets the terminal tab title.
@ -24,15 +30,8 @@ function set-tab-title {
local title_format{,ted}
zstyle -s ':prezto:module:terminal:tab-title' format 'title_format' || title_format="%s"
zformat -f title_formatted "$title_format" "s:$argv"
printf '\e]1;%s\a' "${(V%)title_formatted}"
}
# Sets the terminal multiplexer tab title.
function set-multiplexer-title {
local title_format{,ted}
zstyle -s ':prezto:module:terminal:multiplexer-title' format 'title_format' || title_format="%s"
zformat -f title_formatted "$title_format" "s:$argv"
printf '\ek%s\e\\' "${(V%)title_formatted}"
printf "\e]1;%s\a" ${(V%)title_formatted}
}
# Sets the tab and window titles with a given command.
@ -60,11 +59,8 @@ function _terminal-set-titles-with-command {
local truncated_cmd="${cmd/(#m)?(#c15,)/${MATCH[1,12]}...}"
unset MATCH
if [[ "$TERM" == screen* ]]; then
set-multiplexer-title "$truncated_cmd"
fi
set-tab-title "$truncated_cmd"
set-window-title "$cmd"
set-tab-title "$truncated_cmd"
fi
}
@ -78,11 +74,8 @@ function _terminal-set-titles-with-path {
local truncated_path="${abbreviated_path/(#m)?(#c15,)/...${MATCH[-12,-1]}}"
unset MATCH
if [[ "$TERM" == screen* ]]; then
set-multiplexer-title "$truncated_path"
fi
set-tab-title "$truncated_path"
set-window-title "$abbreviated_path"
set-tab-title "$truncated_path"
}
# Do not override precmd/preexec; append to the hook array.
@ -117,13 +110,12 @@ then
fi
# Set up non-Apple terminals.
if zstyle -t ':prezto:module:terminal' auto-title 'always' \
|| (zstyle -t ':prezto:module:terminal' auto-title \
&& ( ! [[ -n "$STY" || -n "$TMUX" ]] ))
if zstyle -t ':prezto:module:terminal' auto-title \
&& ( ! [[ -n "$STY" || -n "$TMUX" ]] )
then
# Sets titles before the prompt is displayed.
# Sets the tab and window titles before the prompt is displayed.
add-zsh-hook precmd _terminal-set-titles-with-path
# Sets titles before command execution.
# Sets the tab and window titles before command execution.
add-zsh-hook preexec _terminal-set-titles-with-command
fi

View File

@ -30,6 +30,15 @@ in *tmux.conf*:
set-option -g destroy-unattached [on | off]
#### iTerm2 Integration
[iTerm2][6] offers significant integration with tmux. This can be enabled by
adding the following line to *zpreztorc*:
zstyle ':prezto:module:tmux:iterm' integrate 'yes'
Read [iTerm2 and tmux Integration][7] for more information.
Aliases
-------
@ -64,3 +73,5 @@ Authors
[3]: https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard
[4]: https://github.com/mxcl/homebrew
[5]: https://github.com/sorin-ionescu/prezto/issues
[6]: http://iterm2.com
[7]: https://gitlab.com/gnachman/iterm2/wikis/TmuxIntegration

View File

@ -17,6 +17,12 @@ fi
# Auto Start
#
if ([[ "$TERM_PROGRAM" = 'iTerm.app' ]] && \
zstyle -t ':prezto:module:tmux:iterm' integrate \
); then
_tmux_iterm_integration='-CC'
fi
if [[ -z "$TMUX" && -z "$EMACS" && -z "$VIM" ]] && ( \
( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' remote ) ||
( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' local ) \
@ -32,12 +38,12 @@ if [[ -z "$TMUX" && -z "$EMACS" && -z "$VIM" ]] && ( \
fi
# Attach to the 'prezto' session or to the last session used.
exec tmux attach-session
exec tmux $_tmux_iterm_integration attach-session
fi
#
# Aliases
#
alias tmuxa='tmux attach-session'
alias tmuxa="tmux $_tmux_iterm_integration new-session -A"
alias tmuxl='tmux list-sessions'

View File

@ -71,9 +71,9 @@ if is-callable 'dircolors'; then
eval "$(dircolors --sh)"
fi
alias ls="$aliases[ls] --color=auto"
alias ls="${aliases[ls]:-ls} --color=auto"
else
alias ls="$aliases[ls] -F"
alias ls="${aliases[ls]:-ls} -F"
fi
else
# BSD Core Utilities
@ -84,9 +84,9 @@ else
# Define colors for the completion system.
export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=36;01:cd=33;01:su=31;40;07:sg=36;40;07:tw=32;40;07:ow=33;40;07:'
alias ls='ls -G'
alias ls="${aliases[ls]:-ls} -G"
else
alias ls='ls -F'
alias ls="${aliases[ls]:-ls} -F"
fi
fi
@ -102,6 +102,14 @@ alias lc='lt -c' # Lists sorted by date, most recent last, shows change
alias lu='lt -u' # Lists sorted by date, most recent last, shows access time.
alias sl='ls' # I often screw this up.
# Grep
if zstyle -t ':prezto:module:utility:grep' color; then
export GREP_COLOR='37;45' # BSD.
export GREP_COLORS="mt=$GREP_COLOR" # GNU.
alias grep="${aliases[grep]:-grep} --color=auto"
fi
# Mac OS X Everywhere
if [[ "$OSTYPE" == darwin* ]]; then
alias o='open'
@ -138,8 +146,13 @@ alias du='du -kh'
if (( $+commands[htop] )); then
alias top=htop
else
alias topc='top -o cpu'
alias topm='top -o vsize'
if [[ "$OSTYPE" == (darwin*|*bsd*) ]]; then
alias topc='top -o cpu'
alias topm='top -o vsize'
else
alias topc='top -o %CPU'
alias topm='top -o %MEM'
fi
fi
# Miscellaneous
@ -183,5 +196,5 @@ function find-exec {
# Displays user owned processes status.
function psu {
ps -U "${1:-$USER}" -o 'pid,%cpu,%mem,command' "${(@)argv[2,-1]}"
ps -U "${1:-$LOGNAME}" -o 'pid,%cpu,%mem,command' "${(@)argv[2,-1]}"
}

View File

@ -17,7 +17,7 @@
# Print a random, hopefully interesting, adage.
if (( $+commands[fortune] )); then
if [[ -t 0 || -t 1 ]]; then
fortune -a
fortune -s
print
fi
fi

View File

@ -143,9 +143,6 @@ zstyle ':prezto:module:prompt' theme 'sorin'
# Set the tab title format.
# zstyle ':prezto:module:terminal:tab-title' format '%m: %s'
# Set the terminal multiplexer title format.
# zstyle ':prezto:module:terminal:multiplexer-title' format '%s'
#
# Tmux
#
@ -155,3 +152,6 @@ zstyle ':prezto:module:prompt' theme 'sorin'
# Auto start a session when Zsh is launched in a SSH connection.
# zstyle ':prezto:module:tmux:auto-start' remote 'yes'
# Integrate with iTerm2.
# zstyle ':prezto:module:tmux:iterm' integrate 'yes'

View File

@ -67,11 +67,8 @@ fi
#
if [[ ! -d "$TMPDIR" ]]; then
export TMPDIR="/tmp/$USER"
export TMPDIR="/tmp/$LOGNAME"
mkdir -p -m 700 "$TMPDIR"
fi
TMPPREFIX="${TMPDIR%/}/zsh"
if [[ ! -d "$TMPPREFIX" ]]; then
mkdir -p "$TMPPREFIX"
fi