commit
4e9b0cd077
43 changed files with 903 additions and 98 deletions
9
.gitmodules
vendored
9
.gitmodules
vendored
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 08afea0e230b5a321d584119f55b675990327ef9
|
||||
Subproject commit 68c949470eaa87c5d67080d32fb2b69c8b837eb4
|
|
@ -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
29
modules/dnf/README.md
Normal file
|
@ -0,0 +1,29 @@
|
|||
DNF
|
||||
===
|
||||
|
||||
Defines [dnf][1] aliases.
|
||||
|
||||
Aliases
|
||||
-------
|
||||
|
||||
- `dnfc` removes package(s) and leaves.
|
||||
- `dnfi` installs package(s).
|
||||
- `dnfh` displays history.
|
||||
- `dnfl` lists packages.
|
||||
- `dnfL` lists installed packages.
|
||||
- `dnfq` displays package information.
|
||||
- `dnfr` removes package(s).
|
||||
- `dnfs` searches for a package.
|
||||
- `dnfu` updates packages.
|
||||
- `dnfU` 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
28
modules/dnf/init.zsh
Normal file
|
@ -0,0 +1,28 @@
|
|||
#
|
||||
# Defines dnf aliases.
|
||||
#
|
||||
# Authors:
|
||||
# FireWave <firewave@free.fr>
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
# Return if requirements are not found.
|
||||
if (( ! $+commands[dnf] )); then
|
||||
return 1
|
||||
fi
|
||||
|
||||
#
|
||||
# Aliases
|
||||
#
|
||||
|
||||
alias dnfc='sudo dnf clean all' # Cleans the cache.
|
||||
alias dnfh='dnf history' # Displays history.
|
||||
alias dnfi='sudo dnf install' # Installs package(s).
|
||||
alias dnfl='dnf list' # Lists packages.
|
||||
alias dnfL='dnf list installed' # Lists installed packages.
|
||||
alias dnfq='dnf info' # Displays package information.
|
||||
alias dnfr='sudo dnf remove' # Removes package(s).
|
||||
alias dnfs='dnf search' # Searches for a package.
|
||||
alias dnfu='sudo dnf update' # Updates packages.
|
||||
alias dnfU='sudo dnf upgrade' # Upgrades packages.
|
||||
|
|
@ -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
|
||||
#
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 9f9fc7d550cc547737f4c686591cbbf07e7470b0
|
||||
Subproject commit c4a83561a12b898ff7145856d0e6ae50757e28ba
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
Macports
|
||||
MacPorts
|
||||
========
|
||||
|
||||
Defines MacPorts aliases and adds MacPorts directories to path variables.
|
||||
|
|
|
@ -13,10 +13,9 @@ if [[ -s "$HOME/.nvm/nvm.sh" ]]; then
|
|||
# Load package manager installed NVM into the shell session.
|
||||
elif (( $+commands[brew] )) && [[ -d "$(brew --prefix nvm 2>/dev/null)" ]]; then
|
||||
source $(brew --prefix nvm)/nvm.sh
|
||||
fi
|
||||
|
||||
# Return if requirements are not found.
|
||||
if (( ! $+commands[node] )); then
|
||||
elif (( ! $+commands[node] )); then
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
|
|
@ -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/agnoster
vendored
Submodule
1
modules/prompt/external/agnoster
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 43cb371f361eecf62e9dac7afc73a1c16edf89c7
|
1
modules/prompt/external/powerline
vendored
Submodule
1
modules/prompt/external/powerline
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 8e81152340c4beb2d941340d1feb2dc29bbcc309
|
1
modules/prompt/external/pure
vendored
Submodule
1
modules/prompt/external/pure
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 04212522f39f43998d001b4a94b05856f010a54b
|
1
modules/prompt/functions/async
Symbolic link
1
modules/prompt/functions/async
Symbolic link
|
@ -0,0 +1 @@
|
|||
../external/pure/async.zsh
|
1
modules/prompt/functions/prompt_agnoster_setup
Symbolic link
1
modules/prompt/functions/prompt_agnoster_setup
Symbolic link
|
@ -0,0 +1 @@
|
|||
../external/agnoster/agnoster.zsh-theme
|
121
modules/prompt/functions/prompt_cloud_setup
Normal file
121
modules/prompt/functions/prompt_cloud_setup
Normal 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 "$@"
|
76
modules/prompt/functions/prompt_damoekri_setup
Normal file
76
modules/prompt/functions/prompt_damoekri_setup
Normal 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 "$@"
|
76
modules/prompt/functions/prompt_giddie_setup
Normal file
76
modules/prompt/functions/prompt_giddie_setup
Normal 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 "$@"
|
65
modules/prompt/functions/prompt_kylewest_setup
Normal file
65
modules/prompt/functions/prompt_kylewest_setup
Normal 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 "$@"
|
|
@ -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_} » '
|
||||
|
|
154
modules/prompt/functions/prompt_paradox_setup
Normal file
154
modules/prompt/functions/prompt_paradox_setup
Normal 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 "$@"
|
|
@ -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]}'
|
||||
|
||||
}
|
||||
|
||||
|
|
1
modules/prompt/functions/prompt_powerline_setup
Symbolic link
1
modules/prompt/functions/prompt_powerline_setup
Symbolic link
|
@ -0,0 +1 @@
|
|||
../external/powerline/prompt_powerline_setup
|
1
modules/prompt/functions/prompt_pure_setup
Symbolic link
1
modules/prompt/functions/prompt_pure_setup
Symbolic link
|
@ -0,0 +1 @@
|
|||
../external/pure/pure.zsh
|
75
modules/prompt/functions/prompt_skwp_setup
Normal file
75
modules/prompt/functions/prompt_skwp_setup
Normal 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 "$@"
|
65
modules/prompt/functions/prompt_smiley_setup
Normal file
65
modules/prompt/functions/prompt_smiley_setup
Normal 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 "$@"
|
|
@ -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 "$@"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
--------
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#
|
||||
|
||||
# Return if requirements are not found.
|
||||
if [[ "$TERM" == (dumb|linux|*bsd*) ]]; then
|
||||
if [[ "$TERM" == (dumb|linux|*bsd*|eterm*) ]]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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]}"
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -152,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'
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue