mirror of
https://github.com/dcarrillo/prezto.git
synced 2025-07-01 15:09:25 +00:00
Compare commits
89 Commits
revision/p
...
pull/638-e
Author | SHA1 | Date | |
---|---|---|---|
729fd07ab0 | |||
9d97ee57a3 | |||
8de68a9bda | |||
8f711d64b5 | |||
c4b50ec1a0 | |||
62198b0326 | |||
b4884d4d45 | |||
abfc4ab6e5 | |||
657e8a16f4 | |||
ea25ccf62c | |||
3e88b8bcdc | |||
e892d7f3c7 | |||
4e4a6fcc63 | |||
3e8349ddde | |||
fdb406f917 | |||
493bf302f6 | |||
a217af99f3 | |||
06cc5088aa | |||
5088ca4839 | |||
0f696fc206 | |||
96bcf813b7 | |||
fe8f9a9b5b | |||
bf9dbfd5b9 | |||
ff0dfa424d | |||
fedad8e9cf | |||
478653fab2 | |||
10cf701864 | |||
7722dd4400 | |||
240eecaddf | |||
415e4bff3d | |||
e5a0e33f1c | |||
8189577772 | |||
c74cf4b5e0 | |||
72782528aa | |||
02717cb4c1 | |||
bccfca8c10 | |||
b8bb51d7b5 | |||
00e12b7a98 | |||
232313e2a0 | |||
e48dac79f3 | |||
dbeb6d4e1a | |||
af003d83c5 | |||
839f4a7b83 | |||
c091f71283 | |||
e1974ad58d | |||
391bc405d0 | |||
80ded5e33d | |||
fa6723a5ee | |||
57b283facd | |||
aefdce3fc3 | |||
e4e4f89c9f | |||
817dd3aa3a | |||
347928193f | |||
da1a837cd4 | |||
2ebdbdcff5 | |||
eea1eea7dc | |||
4e9553e896 | |||
a57d545639 | |||
cdc4f36f25 | |||
50edc45132 | |||
b1abe7a845 | |||
d368d0536b | |||
254b7c36d9 | |||
d19c349f3f | |||
9f60ddb96b | |||
5b4dcea595 | |||
b98c7469e5 | |||
f6bd76a90b | |||
d877617734 | |||
76fc07ba9f | |||
52ea7152ad | |||
b159ddb02b | |||
5cfe250e52 | |||
cc4a58bee3 | |||
3a5fff9c6d | |||
8993a8dfad | |||
28e956691c | |||
1c6a016644 | |||
e18f18af92 | |||
a4bacb8bb9 | |||
aacff80984 | |||
eb1a20552a | |||
a914a87aa9 | |||
e1e2c85392 | |||
8ee6634c93 | |||
959887013d | |||
b769505857 | |||
622e7b117b | |||
459238b2bb |
35
README.md
35
README.md
@ -8,42 +8,44 @@ and prompt themes.
|
||||
Installation
|
||||
------------
|
||||
|
||||
Prezto will work with any recent release of Zsh, but the minimum recommended
|
||||
version is 4.3.10.
|
||||
Prezto will work with any recent release of Zsh, but the minimum required
|
||||
version is 4.3.17.
|
||||
|
||||
1. Launch Zsh:
|
||||
|
||||
zsh
|
||||
|
||||
2. Set the path to the Prezto installation directory:
|
||||
2. Clone the repository:
|
||||
|
||||
ZDOTDIR="${ZDOTDIR:-$HOME}"
|
||||
PREZTO="$ZDOTDIR/.zprezto"
|
||||
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
|
||||
|
||||
3. Clone the repository:
|
||||
|
||||
git clone --recursive https://github.com/sorin-ionescu/prezto.git "$PREZTO"
|
||||
|
||||
4. Create a new Zsh configuration by copying the Zsh configuration files
|
||||
3. Create a new Zsh configuration by copying the Zsh configuration files
|
||||
provided:
|
||||
|
||||
setopt EXTENDED_GLOB
|
||||
for rcfile in "$PREZTO/runcoms/^README.md(.N); do
|
||||
ln -s "$rcfile" "${ZDOTDIR}/.${rcfile:t}"
|
||||
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
|
||||
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
|
||||
done
|
||||
|
||||
5. Set Zsh as your default shell:
|
||||
4. Set Zsh as your default shell:
|
||||
|
||||
chsh -s /bin/zsh
|
||||
|
||||
6. Open a new Zsh terminal window or tab.
|
||||
5. Open a new Zsh terminal window or tab.
|
||||
|
||||
### Troubleshooting
|
||||
|
||||
If you are not able to find certain commands after switching to *Prezto*,
|
||||
modify the `PATH` variable in *~/.zshenv* then open a new Zsh terminal
|
||||
modify the `PATH` variable in *~/.zprofile* then open a new Zsh terminal
|
||||
window or tab.
|
||||
|
||||
Updating
|
||||
--------
|
||||
|
||||
Pull the latest changes and update submodules.
|
||||
|
||||
git pull && git submodule update --init --recursive
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
@ -83,7 +85,8 @@ License
|
||||
|
||||
(The MIT License)
|
||||
|
||||
Copyright (c) 2009-2012 Robby Russell, Sorin Ionescu, and contributors.
|
||||
Copyright (c) 2009-2011 Robby Russell and contributors.
|
||||
Copyright (c) 2011-2014 Sorin Ionescu and contributors.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
22
init.zsh
22
init.zsh
@ -10,7 +10,7 @@
|
||||
#
|
||||
|
||||
# Check for the minimum supported version.
|
||||
min_zsh_version='4.3.10'
|
||||
min_zsh_version='4.3.17'
|
||||
if ! autoload -Uz is-at-least || ! is-at-least "$min_zsh_version"; then
|
||||
print "prezto: old shell detected, minimum required: $min_zsh_version" >&2
|
||||
return 1
|
||||
@ -25,13 +25,13 @@ unset min_zsh_version
|
||||
function pmodload {
|
||||
local -a pmodules
|
||||
local pmodule
|
||||
local pfunction_glob='^([_.]*|prompt_*_setup|README*)(.N:t)'
|
||||
local pfunction_glob='^([_.]*|prompt_*_setup|README*)(-.N:t)'
|
||||
|
||||
# $argv is overridden in the anonymous function.
|
||||
pmodules=("$argv[@]")
|
||||
|
||||
# Add functions to $fpath.
|
||||
fpath=(${pmodules:+$PREZTO/modules/${^pmodules}/functions(/FN)} $fpath)
|
||||
fpath=(${pmodules:+${ZDOTDIR:-$HOME}/.zprezto/modules/${^pmodules}/functions(/FN)} $fpath)
|
||||
|
||||
function {
|
||||
local pfunction
|
||||
@ -40,7 +40,7 @@ function pmodload {
|
||||
setopt LOCAL_OPTIONS EXTENDED_GLOB
|
||||
|
||||
# Load Prezto functions.
|
||||
for pfunction in $PREZTO/modules/${^pmodules}/functions/$~pfunction_glob; do
|
||||
for pfunction in ${ZDOTDIR:-$HOME}/.zprezto/modules/${^pmodules}/functions/$~pfunction_glob; do
|
||||
autoload -Uz "$pfunction"
|
||||
done
|
||||
}
|
||||
@ -49,19 +49,19 @@ function pmodload {
|
||||
for pmodule in "$pmodules[@]"; do
|
||||
if zstyle -t ":prezto:module:$pmodule" loaded 'yes' 'no'; then
|
||||
continue
|
||||
elif [[ ! -d "$PREZTO/modules/$pmodule" ]]; then
|
||||
elif [[ ! -d "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule" ]]; then
|
||||
print "$0: no such module: $pmodule" >&2
|
||||
continue
|
||||
else
|
||||
if [[ -s "$PREZTO/modules/$pmodule/init.zsh" ]]; then
|
||||
source "$PREZTO/modules/$pmodule/init.zsh"
|
||||
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule/init.zsh" ]]; then
|
||||
source "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule/init.zsh"
|
||||
fi
|
||||
|
||||
if (( $? == 0 )); then
|
||||
zstyle ":prezto:module:$pmodule" loaded 'yes'
|
||||
else
|
||||
# Remove the $fpath entry.
|
||||
fpath[(r)$PREZTO/modules/${pmodule}/functions]=()
|
||||
fpath[(r)${ZDOTDIR:-$HOME}/.zprezto/modules/${pmodule}/functions]=()
|
||||
|
||||
function {
|
||||
local pfunction
|
||||
@ -71,7 +71,7 @@ function pmodload {
|
||||
setopt LOCAL_OPTIONS EXTENDED_GLOB
|
||||
|
||||
# Unload Prezto functions.
|
||||
for pfunction in $PREZTO/modules/$pmodule/functions/$~pfunction_glob; do
|
||||
for pfunction in ${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule/functions/$~pfunction_glob; do
|
||||
unfunction "$pfunction"
|
||||
done
|
||||
}
|
||||
@ -87,8 +87,8 @@ function pmodload {
|
||||
#
|
||||
|
||||
# Source the Prezto configuration file.
|
||||
if [[ -s "$ZDOTDIR/.zpreztorc" ]]; then
|
||||
source "$ZDOTDIR/.zpreztorc"
|
||||
if [[ -s "${ZDOTDIR:-$HOME}/.zpreztorc" ]]; then
|
||||
source "${ZDOTDIR:-$HOME}/.zpreztorc"
|
||||
fi
|
||||
|
||||
# Disable color and theme in dumb terminals.
|
||||
|
@ -31,6 +31,16 @@ Dpkg
|
||||
|
||||
Defines dpkg aliases and functions.
|
||||
|
||||
Editor
|
||||
------
|
||||
|
||||
Sets key bindings.
|
||||
|
||||
Emacs
|
||||
-----
|
||||
|
||||
Enables Emacs dependency management.
|
||||
|
||||
Environment
|
||||
-----------
|
||||
|
||||
@ -41,13 +51,19 @@ Fasd
|
||||
|
||||
Maintains a frequently used file and directory list for fast access.
|
||||
|
||||
Git
|
||||
---
|
||||
|
||||
Enhances the Git distributed version control system by providing aliases,
|
||||
functions and by exposing repository status information to prompts.
|
||||
|
||||
GNU Utility
|
||||
-----------
|
||||
|
||||
Provides for the interactive use of GNU utilities on non-GNU systems.
|
||||
|
||||
GPG
|
||||
---------
|
||||
---
|
||||
|
||||
Provides for an easier use of GPG by setting up gpg-agent.
|
||||
|
||||
@ -61,16 +77,16 @@ Helper
|
||||
|
||||
Provides helper functions for developing modules.
|
||||
|
||||
History Substring Search
|
||||
------------------------
|
||||
|
||||
Integrates zsh-history-substring-search into Prezto.
|
||||
|
||||
History
|
||||
-------
|
||||
|
||||
Sets history options and defines history aliases.
|
||||
|
||||
History Substring Search
|
||||
------------------------
|
||||
|
||||
Integrates zsh-history-substring-search into Prezto.
|
||||
|
||||
Homebrew
|
||||
--------
|
||||
|
||||
@ -86,6 +102,11 @@ Node.js
|
||||
|
||||
Provides utility functions for Node.js and loads npm completion.
|
||||
|
||||
OCaml
|
||||
-----
|
||||
|
||||
Initializes OCaml package management.
|
||||
|
||||
OSX
|
||||
---
|
||||
|
||||
@ -137,10 +158,10 @@ Spectrum
|
||||
|
||||
Provides for easier use of 256 colors and effects.
|
||||
|
||||
SSH-Agent
|
||||
---------
|
||||
SSH
|
||||
---
|
||||
|
||||
Provides for an easier use of ssh-agent.
|
||||
Provides for an easier use of SSH by setting up ssh-agent.
|
||||
|
||||
Syntax Highlighting
|
||||
-------------------
|
||||
|
@ -54,8 +54,8 @@ while (( $# > 0 )); do
|
||||
(*.Z) uncompress "$1" ;;
|
||||
(*.zip) unzip "$1" -d $extract_dir ;;
|
||||
(*.rar) unrar &> /dev/null \
|
||||
&& unrar e -ad "$1" \
|
||||
|| rar e -ad "$1" ;;
|
||||
&& unrar x -ad "$1" \
|
||||
|| rar x -ad "$1" ;;
|
||||
(*.7z) 7za x "$1" ;;
|
||||
(*.deb)
|
||||
mkdir -p "$extract_dir/control"
|
||||
|
@ -1,7 +1,8 @@
|
||||
Command-Not-Found
|
||||
=================
|
||||
|
||||
Loads the [command-not-found][1] tool on Debian-based distributions.
|
||||
Displays installation information for not found commands by loading the
|
||||
[command-not-found][1] tool on Debian-based and Arch Linux-based distributions.
|
||||
|
||||
Authors
|
||||
-------
|
||||
|
@ -5,10 +5,14 @@
|
||||
# Joseph Jon Booker <joe@neoturbine.net>
|
||||
#
|
||||
|
||||
# Load command-not-found on Debian-based distributions.
|
||||
if [[ -s '/etc/zsh_command_not_found' ]]; then
|
||||
source '/etc/zsh_command_not_found'
|
||||
# Load command-not-found on Arch Linux-based distributions.
|
||||
elif [[ -s '/usr/share/doc/pkgfile/command-not-found.zsh' ]]; then
|
||||
source '/usr/share/doc/pkgfile/command-not-found.zsh'
|
||||
# Return if requirements are not found.
|
||||
if [[ ! -s '/etc/zsh_command_not_found' ]]; then
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
|
||||
source '/etc/zsh_command_not_found'
|
||||
|
||||
|
Submodule modules/completion/external updated: 662229f6f0...08afea0e23
@ -36,7 +36,7 @@ unsetopt FLOW_CONTROL # Disable start/stop characters in shell editor.
|
||||
|
||||
# Use caching to make completion for cammands such as dpkg and apt usable.
|
||||
zstyle ':completion::complete:*' use-cache on
|
||||
zstyle ':completion::complete:*' cache-path "$ZDOTDIR/.zcompcache"
|
||||
zstyle ':completion::complete:*' cache-path "${ZDOTDIR:-$HOME}/.zcompcache"
|
||||
|
||||
# Case-insensitive (all), partial-word, and then substring completion.
|
||||
if zstyle -t ':prezto:module:completion:*' case-sensitive; then
|
||||
@ -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,comm -w'
|
||||
zstyle ':completion:*:*:*:*:processes' command 'ps -u $USER -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
|
||||
|
@ -49,8 +49,7 @@ To indicate when the editor is completing, add the following to your
|
||||
zstyle ':prezto:module:editor:info:completing' format '...'
|
||||
|
||||
Then add `$editor_info[context]`, where context is *keymap*, *insert*, or
|
||||
*overwrite*, to `$PROMPT` or `$RPROMPT` and call `editor-info` in the
|
||||
`prompt_name_preexec` hook function.
|
||||
*overwrite*, to `$PROMPT` or `$RPROMPT`.
|
||||
|
||||
Authors
|
||||
-------
|
||||
|
@ -61,7 +61,7 @@ key_info=(
|
||||
# bindkey failure.
|
||||
for key in "${(k)key_info[@]}"; do
|
||||
if [[ -z "$key_info[$key]" ]]; then
|
||||
key_info["$key"]='<27>'
|
||||
key_info[$key]='<27>'
|
||||
fi
|
||||
done
|
||||
|
||||
@ -107,31 +107,40 @@ function editor-info {
|
||||
}
|
||||
zle -N editor-info
|
||||
|
||||
# Ensures that $terminfo values are valid and updates editor information when
|
||||
# the keymap changes.
|
||||
function zle-keymap-select zle-line-init zle-line-finish {
|
||||
# Updates editor information when the keymap changes.
|
||||
function zle-keymap-select {
|
||||
zle editor-info
|
||||
}
|
||||
zle -N zle-keymap-select
|
||||
|
||||
# Enables terminal application mode and updates editor information.
|
||||
function zle-line-init {
|
||||
# The terminal must be in application mode when ZLE is active for $terminfo
|
||||
# values to be valid.
|
||||
if (( $+terminfo[smkx] && $+terminfo[rmkx] )); then
|
||||
case "$0" in
|
||||
(zle-line-init)
|
||||
if (( $+terminfo[smkx] )); then
|
||||
# Enable terminal application mode.
|
||||
echoti smkx
|
||||
;;
|
||||
(zle-line-finish)
|
||||
# Disable terminal application mode.
|
||||
echoti rmkx
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Update editor information.
|
||||
zle editor-info
|
||||
}
|
||||
zle -N zle-keymap-select
|
||||
zle -N zle-line-finish
|
||||
zle -N zle-line-init
|
||||
|
||||
# Disables terminal application mode and updates editor information.
|
||||
function zle-line-finish {
|
||||
# The terminal must be in application mode when ZLE is active for $terminfo
|
||||
# values to be valid.
|
||||
if (( $+terminfo[rmkx] )); then
|
||||
# Disable terminal application mode.
|
||||
echoti rmkx
|
||||
fi
|
||||
|
||||
# Update editor information.
|
||||
zle editor-info
|
||||
}
|
||||
zle -N zle-line-finish
|
||||
|
||||
# Toggles emacs overwrite mode and updates editor information.
|
||||
function overwrite-mode {
|
||||
zle .overwrite-mode
|
||||
|
@ -8,7 +8,7 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
@ -21,7 +21,7 @@ _arguments -C -s -S \
|
||||
|
||||
case "$state" in
|
||||
(remote)
|
||||
remotes=($(git config --get-regexp 'remote.*.url' | cut -d. -f2))
|
||||
remotes=($(command git config --get-regexp 'remote.*.url' | cut -d. -f2))
|
||||
|
||||
_describe -t branch 'remotes' remotes && ret=0
|
||||
;;
|
||||
@ -29,7 +29,7 @@ case "$state" in
|
||||
remote="$words[(($CURRENT - 1))]"
|
||||
|
||||
branches_or_tags=($(
|
||||
git ls-remote --heads --tags "$remote" 2>/dev/null | cut -f2
|
||||
command git ls-remote --heads --tags "$remote" 2>/dev/null | cut -f2
|
||||
))
|
||||
|
||||
branches=(HEAD ${${(M)branches_or_tags[@]##refs/heads/?##}##refs/heads/})
|
||||
@ -39,7 +39,7 @@ case "$state" in
|
||||
_describe -t tag 'tags' tags && ret=0
|
||||
;;
|
||||
(file)
|
||||
files=(${(0)"$(_call_program files git ls-files -z --exclude-standard 2>/dev/null)"})
|
||||
files=(${(0)"$(_call_program files command git ls-files -z --exclude-standard 2>/dev/null)"})
|
||||
_wanted file expl 'file' _multi_parts - / files && ret=0
|
||||
;;
|
||||
esac
|
||||
|
@ -8,7 +8,7 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
@ -25,7 +25,7 @@ case "$state" in
|
||||
while IFS=$'\n' read submodule; do
|
||||
submodules+=("$submodule")
|
||||
done < <(
|
||||
git config --file "$(git-root)/.gitmodules" --list \
|
||||
command git config --file "$(git-root)/.gitmodules" --list \
|
||||
| grep '.path=' \
|
||||
| cut -d= -f2-
|
||||
)
|
||||
|
@ -8,7 +8,7 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
@ -18,7 +18,7 @@ local submodule
|
||||
while IFS=$'\n' read submodule; do
|
||||
submodules+=("$submodule")
|
||||
done < <(
|
||||
git config --file "$(git-root)/.gitmodules" --list \
|
||||
command git config --file "$(git-root)/.gitmodules" --list \
|
||||
| grep '.path=' \
|
||||
| cut -d= -f2-
|
||||
)
|
||||
|
@ -5,12 +5,12 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
if ! git rev-parse 2> /dev/null; then
|
||||
if ! command git rev-parse 2> /dev/null; then
|
||||
print "$0: not a repository: $PWD" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
local ref="$(git symbolic-ref HEAD 2> /dev/null)"
|
||||
local ref="$(command git symbolic-ref HEAD 2> /dev/null)"
|
||||
|
||||
if [[ -n "$ref" ]]; then
|
||||
print "${ref#refs/heads/}"
|
||||
|
@ -5,15 +5,15 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
print "$0: not a repository work tree: $PWD" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
git fsck 2> /dev/null \
|
||||
command git fsck 2> /dev/null \
|
||||
| grep "^dangling commit" \
|
||||
| awk '{print $3}' \
|
||||
| git log \
|
||||
| command git log \
|
||||
--date-order \
|
||||
--no-walk \
|
||||
--stdin \
|
||||
|
@ -5,7 +5,7 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
local git_dir="${$(git rev-parse --git-dir):A}"
|
||||
local git_dir="${$(command git rev-parse --git-dir):A}"
|
||||
|
||||
if [[ -n "$git_dir" ]]; then
|
||||
print "$git_dir"
|
||||
|
@ -5,7 +5,7 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
print "$0: not a repository work tree: $PWD" >&2
|
||||
return 1
|
||||
fi
|
||||
@ -13,7 +13,7 @@ fi
|
||||
local remotes remote references reference file url
|
||||
|
||||
remote="${1:-origin}"
|
||||
remotes=($(git config --get-regexp 'remote.*.url' | cut -d. -f2))
|
||||
remotes=($(command git config --get-regexp 'remote.*.url' | cut -d. -f2))
|
||||
|
||||
if (( $remotes[(i)$remote] == $#remotes + 1 )); then
|
||||
print "$0: remote not found: $remote" >&2
|
||||
@ -21,14 +21,14 @@ if (( $remotes[(i)$remote] == $#remotes + 1 )); then
|
||||
fi
|
||||
|
||||
url=$(
|
||||
git config --get "remote.${remote}.url" \
|
||||
command git config --get "remote.${remote}.url" \
|
||||
| sed -En "s/(git|https?)(@|:\/\/)github.com(:|\/)(.+)\/(.+).git/https:\/\/github.com\/\4\/\5/p"
|
||||
)
|
||||
|
||||
reference="${${2:-$(git-branch-current)}:-HEAD}"
|
||||
references=(
|
||||
HEAD
|
||||
${$(git ls-remote --heads --tags "$remote" | awk '{print $2}')##refs/(heads|tags)/}
|
||||
${$(command git ls-remote --heads --tags "$remote" | awk '{print $2}')##refs/(heads|tags)/}
|
||||
)
|
||||
|
||||
if (( $references[(i)$reference] == $#references + 1 )); then
|
||||
@ -37,7 +37,7 @@ if (( $references[(i)$reference] == $#references + 1 )); then
|
||||
fi
|
||||
|
||||
if [[ "$reference" == 'HEAD' ]]; then
|
||||
reference="$(git rev-parse HEAD 2>/dev/null)"
|
||||
reference="$(command git rev-parse HEAD 2>/dev/null)"
|
||||
fi
|
||||
|
||||
file="$3"
|
||||
|
@ -164,15 +164,15 @@ function git-info {
|
||||
typeset -gA git_info
|
||||
|
||||
# Return if not inside a Git repository work tree.
|
||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
if (( $# > 0 )); then
|
||||
if [[ "$1" == [Oo][Nn] ]]; then
|
||||
git config --bool prompt.showinfo true
|
||||
command git config --bool prompt.showinfo true
|
||||
elif [[ "$1" == [Oo][Ff][Ff] ]]; then
|
||||
git config --bool prompt.showinfo false
|
||||
command git config --bool prompt.showinfo false
|
||||
else
|
||||
print "usage: $0 [ on | off ]" >&2
|
||||
fi
|
||||
@ -180,7 +180,7 @@ function git-info {
|
||||
fi
|
||||
|
||||
# Return if git-info is disabled.
|
||||
if ! is-true "${$(git config --bool prompt.showinfo):-true}"; then
|
||||
if ! is-true "${$(command git config --bool prompt.showinfo):-true}"; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
@ -190,7 +190,7 @@ function git-info {
|
||||
# Format commit.
|
||||
zstyle -s ':prezto:module:git:info:commit' format 'commit_format'
|
||||
if [[ -n "$commit_format" ]]; then
|
||||
commit="$(git rev-parse HEAD 2> /dev/null)"
|
||||
commit="$(command git rev-parse HEAD 2> /dev/null)"
|
||||
if [[ -n "$commit" ]]; then
|
||||
zformat -f commit_formatted "$commit_format" "c:$commit"
|
||||
fi
|
||||
@ -199,7 +199,7 @@ function git-info {
|
||||
# Format stashed.
|
||||
zstyle -s ':prezto:module:git:info:stashed' format 'stashed_format'
|
||||
if [[ -n "$stashed_format" && -f "$(git-dir)/refs/stash" ]]; then
|
||||
stashed="$(git stash list 2> /dev/null | wc -l | awk '{print $1}')"
|
||||
stashed="$(command git stash list 2> /dev/null | wc -l | awk '{print $1}')"
|
||||
if [[ -n "$stashed" ]]; then
|
||||
zformat -f stashed_formatted "$stashed_format" "S:$stashed"
|
||||
fi
|
||||
@ -215,7 +215,7 @@ function git-info {
|
||||
fi
|
||||
|
||||
# Get the branch.
|
||||
branch="${$(git symbolic-ref HEAD 2> /dev/null)#refs/heads/}"
|
||||
branch="${$(command git symbolic-ref HEAD 2> /dev/null)#refs/heads/}"
|
||||
|
||||
# Format branch.
|
||||
zstyle -s ':prezto:module:git:info:branch' format 'branch_format'
|
||||
@ -226,7 +226,7 @@ function git-info {
|
||||
# Format position.
|
||||
zstyle -s ':prezto:module:git:info:position' format 'position_format'
|
||||
if [[ -z "$branch" && -n "$position_format" ]]; then
|
||||
position="$(git describe --contains --all HEAD 2> /dev/null)"
|
||||
position="$(command git describe --contains --all HEAD 2> /dev/null)"
|
||||
if [[ -n "$position" ]]; then
|
||||
zformat -f position_formatted "$position_format" "p:$position"
|
||||
fi
|
||||
@ -236,7 +236,7 @@ function git-info {
|
||||
zstyle -s ':prezto:module:git:info:remote' format 'remote_format'
|
||||
if [[ -n "$branch" && -n "$remote_format" ]]; then
|
||||
# Gets the remote name.
|
||||
remote_cmd='git rev-parse --symbolic-full-name --verify HEAD@{upstream}'
|
||||
remote_cmd='command git rev-parse --symbolic-full-name --verify HEAD@{upstream}'
|
||||
remote="${$(${(z)remote_cmd} 2> /dev/null)##refs/remotes/}"
|
||||
if [[ -n "$remote" ]]; then
|
||||
zformat -f remote_formatted "$remote_format" "R:$remote"
|
||||
@ -247,7 +247,7 @@ function git-info {
|
||||
zstyle -s ':prezto:module:git:info:behind' format 'behind_format'
|
||||
if [[ -n "$branch" && ( -n "$ahead_format" || -n "$behind_format" ) ]]; then
|
||||
# Gets the commit difference counts between local and remote.
|
||||
ahead_and_behind_cmd='git rev-list --count --left-right HEAD...@{upstream}'
|
||||
ahead_and_behind_cmd='command git rev-list --count --left-right HEAD...@{upstream}'
|
||||
|
||||
# Get ahead and behind counts.
|
||||
ahead_and_behind="$(${(z)ahead_and_behind_cmd} 2> /dev/null)"
|
||||
@ -276,7 +276,7 @@ function git-info {
|
||||
if [[ -n "$indexed_format" ]]; then
|
||||
((
|
||||
indexed+=$(
|
||||
git diff-index \
|
||||
command git diff-index \
|
||||
--no-ext-diff \
|
||||
--name-only \
|
||||
--cached \
|
||||
@ -296,7 +296,7 @@ function git-info {
|
||||
if [[ -n "$unindexed_format" ]]; then
|
||||
((
|
||||
unindexed+=$(
|
||||
git diff-files \
|
||||
command git diff-files \
|
||||
--no-ext-diff \
|
||||
--name-only \
|
||||
--ignore-submodules=${ignore_submodules:-none} \
|
||||
@ -314,7 +314,7 @@ function git-info {
|
||||
if [[ -n "$untracked_format" ]]; then
|
||||
((
|
||||
untracked+=$(
|
||||
git ls-files \
|
||||
command git ls-files \
|
||||
--other \
|
||||
--exclude-standard \
|
||||
2> /dev/null \
|
||||
@ -329,7 +329,7 @@ function git-info {
|
||||
(( dirty = indexed + unindexed + untracked ))
|
||||
else
|
||||
# Use porcelain status for easy parsing.
|
||||
status_cmd="git status --porcelain --ignore-submodules=${ignore_submodules:-none}"
|
||||
status_cmd="command git status --porcelain --ignore-submodules=${ignore_submodules:-none}"
|
||||
|
||||
# Get current status.
|
||||
while IFS=$'\n' read line; do
|
||||
@ -348,13 +348,13 @@ function git-info {
|
||||
# Format added.
|
||||
if (( added > 0 )); then
|
||||
zstyle -s ':prezto:module:git:info:added' format 'added_format'
|
||||
zformat -f added_formatted "$added_format" "a:$added_format"
|
||||
zformat -f added_formatted "$added_format" "a:$added"
|
||||
fi
|
||||
|
||||
# Format deleted.
|
||||
if (( deleted > 0 )); then
|
||||
zstyle -s ':prezto:module:git:info:deleted' format 'deleted_format'
|
||||
zformat -f deleted_formatted "$deleted_format" "d:$deleted_format"
|
||||
zformat -f deleted_formatted "$deleted_format" "d:$deleted"
|
||||
fi
|
||||
|
||||
# Format modified.
|
||||
|
@ -5,7 +5,7 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
local root="$(git rev-parse --show-toplevel 2> /dev/null)"
|
||||
local root="$(command git rev-parse --show-toplevel 2> /dev/null)"
|
||||
|
||||
if [[ -n "$root" ]]; then
|
||||
print "$root"
|
||||
|
@ -5,7 +5,7 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
print "$0: not a repository work tree: $PWD" >&2
|
||||
return 1
|
||||
fi
|
||||
@ -13,10 +13,10 @@ fi
|
||||
local stashed
|
||||
|
||||
if [[ -f "$(git-dir)/refs/stash" ]]; then
|
||||
stashed="$(git stash list 2> /dev/null | wc -l | awk '{print $1}')"
|
||||
stashed="$(command git stash list 2> /dev/null | wc -l | awk '{print $1}')"
|
||||
if (( $stashed > 0 )); then
|
||||
if read -q "?Clear $stashed stashed state(s) [y/N]? "; then
|
||||
git stash clear
|
||||
command git stash clear
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
@ -5,15 +5,15 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
print "$0: not a repository work tree: $PWD" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
git fsck --unreachable 2> /dev/null \
|
||||
command git fsck --unreachable 2> /dev/null \
|
||||
| grep 'commit' \
|
||||
| awk '{print $3}' \
|
||||
| git log \
|
||||
| command git log \
|
||||
--pretty=format:${_git_log_oneline_format} \
|
||||
--extended-regexp \
|
||||
--grep="${1:-(WIP )?[Oo]n [^:]+:}" \
|
||||
|
@ -5,7 +5,7 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
print "$0: not a repository work tree: $PWD" >&2
|
||||
return 1
|
||||
fi
|
||||
@ -13,7 +13,7 @@ fi
|
||||
local commit
|
||||
|
||||
for commit in "$@"; do
|
||||
git update-ref \
|
||||
-m "$(git log -1 --pretty="format:%s" "$commit")" refs/stash "$commit"
|
||||
command git update-ref \
|
||||
-m "$(command git log -1 --pretty="format:%s" "$commit")" refs/stash "$commit"
|
||||
done
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
print "$0: not a repository work tree: $PWD" >&2
|
||||
return 1
|
||||
elif [[ "$PWD" != "$(git-root)" ]]; then
|
||||
@ -17,7 +17,7 @@ local src="$1"
|
||||
local dst="$2"
|
||||
local url
|
||||
|
||||
url="$(git config --file "$(git-root)/.gitmodules" --get "submodule.${src}.url")"
|
||||
url="$(command git config --file "$(git-root)/.gitmodules" --get "submodule.${src}.url")"
|
||||
|
||||
if [[ -z "$url" ]]; then
|
||||
print "$0: submodule not found: $src" >&2
|
||||
@ -27,7 +27,7 @@ fi
|
||||
mkdir -p "${dst:h}"
|
||||
|
||||
git-submodule-remove "$src"
|
||||
git submodule add "$url" "$dst"
|
||||
command git submodule add "$url" "$dst"
|
||||
|
||||
return 0
|
||||
|
||||
|
@ -5,22 +5,22 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
print "$0: not a repository work tree: $PWD" >&2
|
||||
return 1
|
||||
elif [[ "$PWD" != "$(git-root)" ]]; then
|
||||
print "$0: must be run from the root of the work tree" >&2
|
||||
return 1
|
||||
elif ! git config --file .gitmodules --get "submodule.${1}.path" &>/dev/null; then
|
||||
elif ! command git config --file .gitmodules --get "submodule.${1}.path" &>/dev/null; then
|
||||
print "$0: submodule not found: $1" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
git config --file "$(git-dir)/config" --remove-section "submodule.${1}" &>/dev/null
|
||||
git config --file "$(git-root)/.gitmodules" --remove-section "submodule.${1}" &>/dev/null
|
||||
git add .gitmodules
|
||||
command git config --file "$(git-dir)/config" --remove-section "submodule.${1}" &>/dev/null
|
||||
command git config --file "$(git-root)/.gitmodules" --remove-section "submodule.${1}" &>/dev/null
|
||||
command git add .gitmodules
|
||||
|
||||
git rm --cached -rf "${1}"
|
||||
command git rm --cached -rf "${1}"
|
||||
rm -rf "${1}"
|
||||
rm -rf "$(git-dir)/modules/${1}"
|
||||
|
||||
|
15
modules/git/hub.zsh
Normal file
15
modules/git/hub.zsh
Normal file
@ -0,0 +1,15 @@
|
||||
#
|
||||
# Adds GitHub knowledge to the Git command.
|
||||
# https://hub.github.com
|
||||
#
|
||||
# Authors:
|
||||
# Chris Wanstrath <chris@wanstrath.com>
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
if (( $+commands[hub] )); then
|
||||
function git {
|
||||
hub "$@"
|
||||
}
|
||||
fi
|
||||
|
@ -15,4 +15,5 @@ pmodload 'helper'
|
||||
|
||||
# Source module files.
|
||||
source "${0:h}/alias.zsh"
|
||||
source "${0:h}/hub.zsh"
|
||||
|
||||
|
@ -12,14 +12,17 @@ fi
|
||||
|
||||
# Set the default paths to gpg-agent files.
|
||||
_gpg_agent_conf="$HOME/.gnupg/gpg-agent.conf"
|
||||
_gpg_agent_env="$TMPDIR/gpg-agent.env"
|
||||
_gpg_agent_env="${TMPDIR:-/tmp}/gpg-agent.env"
|
||||
|
||||
# Start gpg-agent if not started.
|
||||
if ! ps -U "$USER" -o ucomm | grep -q gpg-agent; then
|
||||
eval "$(gpg-agent --daemon | tee "$_gpg_agent_env")"
|
||||
else
|
||||
if [[ -z "$GPG_AGENT_INFO" ]]; then
|
||||
# Export environment variables.
|
||||
source "$_gpg_agent_env" 2> /dev/null
|
||||
|
||||
# Start gpg-agent if not started.
|
||||
if ! ps -U "$USER" -o pid,ucomm | grep -q -- "${${${(s.:.)GPG_AGENT_INFO}[2]}:--1} gpg-agent"; then
|
||||
eval "$(gpg-agent --daemon | tee "$_gpg_agent_env")"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Inform gpg-agent of the current TTY for user prompts.
|
||||
|
Submodule modules/history-substring-search/external updated: d9b28ed7f9...9f9fc7d550
@ -10,7 +10,7 @@
|
||||
pmodload 'editor'
|
||||
|
||||
# Source module files.
|
||||
source "${0:h}/external/zsh-history-substring-search.zsh"
|
||||
source "${0:h}/external/zsh-history-substring-search.zsh" || return 1
|
||||
|
||||
#
|
||||
# Search
|
||||
|
@ -10,7 +10,7 @@
|
||||
# Variables
|
||||
#
|
||||
|
||||
HISTFILE="$ZDOTDIR/.zhistory" # The path to the history file.
|
||||
HISTFILE="${ZDOTDIR:-$HOME}/.zhistory" # The path to the history file.
|
||||
HISTSIZE=10000 # The maximum number of events to save in the internal history.
|
||||
SAVEHIST=10000 # The maximum number of events to save in the history file.
|
||||
|
||||
|
@ -5,6 +5,11 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
# TODO: Make the sections easier to use.
|
||||
open "http://nodejs.org/docs/$(node --version | sed 's/-.*//')/api/all.html#${1}"
|
||||
if [[ -z "$BROWSER" ]]; then
|
||||
print "$0: no web browser defined" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
# TODO: Make the sections easier to use.
|
||||
"$BROWSER" "http://nodejs.org/docs/$(node --version | sed 's/-.*//')/api/all.html#${1}"
|
||||
|
||||
|
@ -17,7 +17,7 @@ if (( $+functions[nvm_version] )); then
|
||||
version="${$(nvm_version)#v}"
|
||||
fi
|
||||
|
||||
if [[ -n "$version" ]]; 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"
|
||||
|
28
modules/ocaml/README.md
Normal file
28
modules/ocaml/README.md
Normal file
@ -0,0 +1,28 @@
|
||||
OCaml
|
||||
=====
|
||||
|
||||
Initializes [OCaml][1] package management.
|
||||
|
||||
OPAM
|
||||
----
|
||||
|
||||
[OPAM][2] is a package manager for OCaml.
|
||||
|
||||
This module enables local package installation with OPAM by extending the
|
||||
relevant path and OCaml variables.
|
||||
|
||||
### Usage
|
||||
|
||||
Install packages to your local package directory with `opam install`.
|
||||
|
||||
Authors
|
||||
-------
|
||||
|
||||
*The authors of this module should be contacted via the [issue tracker][3].*
|
||||
|
||||
- [Sebastian Wiesner](https://github.com/lunaryorn)
|
||||
|
||||
[1]: http://ocaml.org/
|
||||
[2]: http://opam.ocamlpro.com/
|
||||
[3]: https://github.com/sorin-ionescu/prezto/issues
|
||||
|
15
modules/ocaml/init.zsh
Normal file
15
modules/ocaml/init.zsh
Normal file
@ -0,0 +1,15 @@
|
||||
#
|
||||
# Initializes OCaml package management.
|
||||
#
|
||||
# Authors:
|
||||
# Sebastian Wiesner <lunaryorn@gmail.com>
|
||||
#
|
||||
|
||||
# Return if requirements are not found.
|
||||
if (( ! $+commands[opam] )); then
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Initialize OPAM.
|
||||
eval "$(opam config env)"
|
||||
|
@ -9,17 +9,20 @@ Aliases
|
||||
- `cdf` changes the current working director to the current _Finder_
|
||||
directory.
|
||||
- `pushdf` pushes the current working directory onto the directory queue and
|
||||
- `ql` quick looks at files.
|
||||
- `rm-osx-cruft` deletes .DS\_Store, \_\_MACOSX cruft.
|
||||
changes the current working director to the current _Finder_ directory.
|
||||
|
||||
Functions
|
||||
---------
|
||||
|
||||
- `manb` opens _man_ pages in [_Bwana.app_][2].
|
||||
- `mand` opens _man_ pages in [_Dash.app_][2].
|
||||
- `manp` opens _man_ pages in _Preview.app_.
|
||||
- `pfd` prints the current _Finder_ directory.
|
||||
- `pfs` prints the current _Finder_ selection.
|
||||
- `tab` creates a new tab (works in both _Terminal_ and [_iTerm_][3]).
|
||||
- `ql` previews files in Quick Look.
|
||||
- `osx-rm-dir-metadata` deletes .DS\_Store, \_\_MACOSX cruft.
|
||||
- `osx-ls-download-history` displays the Mac OS X download history.
|
||||
- `osx-rm-download-history` deletes the Mac OS X download history.
|
||||
|
||||
Authors
|
||||
-------
|
||||
@ -29,7 +32,6 @@ Authors
|
||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||
|
||||
[1]: http://www.apple.com/macosx/
|
||||
[2]: http://bruji.com/bwana/
|
||||
[2]: http://kapeli.com/dash
|
||||
[3]: http://www.iterm2.com/
|
||||
[4]: https://github.com/sorin-ionescu/prezto/issues
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
#compdef manb manp
|
||||
#compdef mand manp
|
||||
#autoload
|
||||
|
||||
#
|
||||
# Completes manb and manp.
|
||||
# Completes mand and manp.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
@ -1,24 +0,0 @@
|
||||
#
|
||||
# Opens man pages in Bwana.app.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
function manb {
|
||||
local page
|
||||
if (( $# > 0 )); then
|
||||
for page in "$@"; do
|
||||
open "man:$page" 2>/dev/null
|
||||
if (( $? != 0 )); then
|
||||
print "$0: Bwana is not installed" >&2
|
||||
break
|
||||
fi
|
||||
done
|
||||
else
|
||||
print 'What manual page do you want?' >&2
|
||||
fi
|
||||
}
|
||||
|
||||
manb "$@"
|
||||
|
21
modules/osx/functions/mand
Normal file
21
modules/osx/functions/mand
Normal file
@ -0,0 +1,21 @@
|
||||
#
|
||||
# Opens man pages in Dash.app.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
function mand {
|
||||
if (( $# > 0 )); then
|
||||
open "dash://manpages:$1" 2>/dev/null
|
||||
if (( $? != 0 )); then
|
||||
print "$0: Dash is not installed" >&2
|
||||
break
|
||||
fi
|
||||
else
|
||||
print 'What manual page do you want?' >&2
|
||||
fi
|
||||
}
|
||||
|
||||
mand "$@"
|
||||
|
13
modules/osx/functions/osx-ls-download-history
Normal file
13
modules/osx/functions/osx-ls-download-history
Normal file
@ -0,0 +1,13 @@
|
||||
#
|
||||
# Displays the Mac OS X download history.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
local db
|
||||
for db in ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV*; do
|
||||
if grep -q 'LSQuarantineEvent' < <(sqlite3 "$db" .tables); then
|
||||
sqlite3 "$db" 'SELECT LSQuarantineDataURLString FROM LSQuarantineEvent'
|
||||
fi
|
||||
done
|
11
modules/osx/functions/osx-rm-dir-metadata
Normal file
11
modules/osx/functions/osx-rm-dir-metadata
Normal file
@ -0,0 +1,11 @@
|
||||
#
|
||||
# Deletes .DS_Store and __MACOSX directories.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
find "${@:-$PWD}" \( \
|
||||
-type f -name '.DS_Store' -o \
|
||||
-type d -name '__MACOSX' \
|
||||
\) -print0 | xargs -0 rm -rf
|
13
modules/osx/functions/osx-rm-download-history
Normal file
13
modules/osx/functions/osx-rm-download-history
Normal file
@ -0,0 +1,13 @@
|
||||
#
|
||||
# Deletes the Mac OS X download history.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
local db
|
||||
for db in ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV*; do
|
||||
if grep -q 'LSQuarantineEvent' < <(sqlite3 "$db" .tables); then
|
||||
sqlite3 "$db" 'DELETE FROM LSQuarantineEvent; VACUUM'
|
||||
fi
|
||||
done
|
@ -7,7 +7,6 @@
|
||||
|
||||
osascript 2>/dev/null <<EOF
|
||||
tell application "Finder"
|
||||
return POSIX path of (target of window 1 as alias)
|
||||
return POSIX path of (target of first window as text)
|
||||
end tell
|
||||
EOF
|
||||
|
||||
|
@ -5,14 +5,11 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
osascript 2>/dev/null <<EOF
|
||||
set output to ""
|
||||
osascript 2>&1 <<EOF
|
||||
tell application "Finder" to set the_selection to selection
|
||||
set item_count to count the_selection
|
||||
repeat with item_index from 1 to count the_selection
|
||||
if item_index is less than item_count then set the_delimiter to "\n"
|
||||
if item_index is item_count then set the_delimiter to ""
|
||||
set output to output & ((item item_index of the_selection as alias)'s POSIX path) & the_delimiter
|
||||
if the_selection is not {}
|
||||
repeat with an_item in the_selection
|
||||
log POSIX path of (an_item as text)
|
||||
end repeat
|
||||
end if
|
||||
EOF
|
||||
|
||||
|
10
modules/osx/functions/ql
Normal file
10
modules/osx/functions/ql
Normal file
@ -0,0 +1,10 @@
|
||||
#
|
||||
# Previews files in Quick Look.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
if (( $# > 0 )); then
|
||||
qlmanage -p "$@" &> /dev/null
|
||||
fi
|
@ -14,26 +14,8 @@ fi
|
||||
# Aliases
|
||||
#
|
||||
|
||||
# Change directory to the current Finder directory.
|
||||
# Changes directory to the current Finder directory.
|
||||
alias cdf='cd "$(pfd)"'
|
||||
|
||||
# Push directory to the current Finder directory.
|
||||
# Pushes directory to the current Finder directory.
|
||||
alias pushdf='pushd "$(pfd)"'
|
||||
|
||||
#
|
||||
# Functions
|
||||
#
|
||||
|
||||
# Open files in Quick Look.
|
||||
function ql {
|
||||
(( $# > 0 )) && qlmanage -p "$@" &> /dev/null
|
||||
}
|
||||
|
||||
# Delete .DS_Store and __MACOSX directories.
|
||||
function rm-osx-cruft {
|
||||
find "${@:-$PWD}" \( \
|
||||
-type f -name '.DS_Store' -o \
|
||||
-type d -name '__MACOSX' \
|
||||
\) -print0 | xargs -0 rm -rf
|
||||
}
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
local tmp="$TMPDIR/pacman-disowned-$UID-$$"
|
||||
local tmp="${TMPDIR:-/tmp}/pacman-disowned-$UID-$$"
|
||||
local db="$tmp/db"
|
||||
local fs="$tmp/fs"
|
||||
|
||||
|
@ -27,6 +27,9 @@ if (( $+commands[$_pacman_frontend] )); then
|
||||
if [[ -s "${0:h}/${_pacman_frontend}.zsh" ]]; then
|
||||
source "${0:h}/${_pacman_frontend}.zsh"
|
||||
fi
|
||||
else
|
||||
_pacman_frontend='pacman'
|
||||
_pacman_sudo='sudo '
|
||||
fi
|
||||
|
||||
#
|
||||
@ -34,49 +37,49 @@ fi
|
||||
#
|
||||
|
||||
# Pacman.
|
||||
alias pac='pacman'
|
||||
alias pac="${_pacman_frontend}"
|
||||
|
||||
# Installs packages from repositories.
|
||||
alias paci='sudo pacman --sync'
|
||||
alias paci="${_pacman_sudo}${_pacman_frontend} --sync"
|
||||
|
||||
# Installs packages from files.
|
||||
alias pacI='sudo pacman --upgrade'
|
||||
alias pacI="${_pacman_sudo}${_pacman_frontend} --upgrade"
|
||||
|
||||
# Removes packages and unneeded dependencies.
|
||||
alias pacx='sudo pacman --remove'
|
||||
alias pacx="${_pacman_sudo}${_pacman_frontend} --remove"
|
||||
|
||||
# Removes packages, their configuration, and unneeded dependencies.
|
||||
alias pacX='sudo pacman --remove --nosave --recursive'
|
||||
alias pacX="${_pacman_sudo}${_pacman_frontend} --remove --nosave --recursive"
|
||||
|
||||
# Displays information about a package from the repositories.
|
||||
alias pacq='pacman --sync --info'
|
||||
alias pacq="${_pacman_frontend} --sync --info"
|
||||
|
||||
# Displays information about a package from the local database.
|
||||
alias pacQ='pacman --query --info'
|
||||
alias pacQ="${_pacman_frontend} --query --info"
|
||||
|
||||
# Searches for packages in the repositories.
|
||||
alias pacs='pacman --sync --recursive'
|
||||
alias pacs="${_pacman_frontend} --sync --search"
|
||||
|
||||
# Searches for packages in the local database.
|
||||
alias pacS='pacman --query --recursive'
|
||||
alias pacS="${_pacman_frontend} --query --search"
|
||||
|
||||
# Lists orphan packages.
|
||||
alias pacman-list-orphans='sudo pacman --query --deps --unrequired'
|
||||
alias pacman-list-orphans="${_pacman_sudo}${_pacman_frontend} --query --deps --unrequired"
|
||||
|
||||
# Removes orphan packages.
|
||||
alias pacman-remove-orphans='sudo pacman --remove --recursive $(pacman --quiet --query --deps --unrequired)'
|
||||
alias pacman-remove-orphans="${_pacman_sudo}${_pacman_frontend} --remove --recursive \$(${_pacman_frontend} --quiet --query --deps --unrequired)"
|
||||
|
||||
# Synchronizes the local package and Arch Build System databases against the
|
||||
# repositories.
|
||||
if (( $+commands[abs] )); then
|
||||
alias pacu='sudo pacman --sync --refresh && sudo abs'
|
||||
alias pacu="${_pacman_sudo}${_pacman_frontend} --sync --refresh && ${_pacman_sudo}abs"
|
||||
else
|
||||
alias pacu='sudo pacman --sync --refresh'
|
||||
alias pacu="${_pacman_sudo}${_pacman_frontend} --sync --refresh"
|
||||
fi
|
||||
|
||||
# Synchronizes the local package database against the repositories then
|
||||
# upgrades outdated packages.
|
||||
alias pacU='sudo pacman --sync --refresh --sysupgrade'
|
||||
alias pacU="${_pacman_sudo}${_pacman_frontend} --sync --refresh --sysupgrade"
|
||||
|
||||
unset _pacman_frontend
|
||||
unset _pacman_{frontend,sudo}
|
||||
|
||||
|
@ -11,9 +11,9 @@
|
||||
|
||||
# Disable color.
|
||||
if ! zstyle -t ':prezto:module:pacman:yaourt' color; then
|
||||
alias pacman='pacman --nocolor'
|
||||
alias pacman='yaourt --nocolor'
|
||||
fi
|
||||
|
||||
# Manages .pac* files.
|
||||
alias pacc='pacman -C'
|
||||
alias pacc='yaourt -C'
|
||||
|
||||
|
@ -18,7 +18,7 @@ function prompt_sorin_pwd {
|
||||
_prompt_sorin_pwd="$MATCH"
|
||||
unset MATCH
|
||||
else
|
||||
_prompt_sorin_pwd="${${${(@j:/:M)${(@s:/:)pwd}##.#?}:h}%/}/${pwd:t}"
|
||||
_prompt_sorin_pwd="${${${${(@j:/:M)${(@s:/:)pwd}##.#?}:h}%/}//\%/%%}/${${pwd:t}//\%/%%}"
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -6,15 +6,15 @@ Enables local Python and local Python package installation.
|
||||
Local Python Installation
|
||||
-------------------------
|
||||
|
||||
[pythonz][4] builds and installs multiple Python versions locally in the home
|
||||
[pyenv][4] builds and installs multiple Python versions locally in the home
|
||||
directory.
|
||||
|
||||
This module prepends the pythonz directory to the path variable to enable the
|
||||
execution of `pythonz`.
|
||||
This module prepends the pyenv directory to the path variable to enable the
|
||||
execution of `pyenv`.
|
||||
|
||||
### Usage
|
||||
|
||||
Install Python versions with `pythonz install` into *~/.pythonz/pythons*.
|
||||
Install Python versions with `pyenv install` into *~/.pyenv/versions*.
|
||||
|
||||
Local Package Installation
|
||||
--------------------------
|
||||
@ -66,16 +66,6 @@ Aliases
|
||||
|
||||
- `py` is short for `python`.
|
||||
|
||||
### Pythonz
|
||||
|
||||
- `pyz` is short for `pythonz`.
|
||||
- `pyzc` removes stale source folders and archives.
|
||||
- `pyzi` installs Python versions.
|
||||
- `pyzl` lists installed Python versions.
|
||||
- `pyzL` lists available Python versions.
|
||||
- `pyzu` updates itself to the latest version.
|
||||
- `pyzx` uninstalls Python versions.
|
||||
|
||||
Functions
|
||||
---------
|
||||
|
||||
@ -105,6 +95,6 @@ Authors
|
||||
[1]: http://www.python.org/dev/peps/pep-0370/
|
||||
[2]: http://www.doughellmann.com/projects/virtualenvwrapper/
|
||||
[3]: http://pypi.python.org/pypi/virtualenv
|
||||
[4]: http://saghul.github.com/pythonz/
|
||||
[4]: https://github.com/yyuu/pyenv
|
||||
[5]: https://github.com/sorin-ionescu/prezto/issues
|
||||
|
||||
|
@ -6,29 +6,38 @@
|
||||
# Sebastian Wiesner <lunaryorn@googlemail.com>
|
||||
#
|
||||
|
||||
# Load pythonz into the shell session.
|
||||
if [[ -s $HOME/.pythonz/bin/pythonz ]]; then
|
||||
path=($HOME/.pythonz/bin $path)
|
||||
fi
|
||||
# Load manually installed pyenv into the shell session.
|
||||
if [[ -s "$HOME/.pyenv/bin/pyenv" ]]; then
|
||||
path=("$HOME/.pyenv/bin" $path)
|
||||
eval "$(pyenv init -)"
|
||||
|
||||
# Return if requirements are not found.
|
||||
if (( ! $+commands[python] && ! $+commands[pythonz] )); then
|
||||
return 1
|
||||
fi
|
||||
# Load package manager installed pyenv into the shell session.
|
||||
elif (( $+commands[pyenv] )); then
|
||||
eval "$(pyenv init -)"
|
||||
|
||||
# Prepend PEP 370 per user site packages directory, which defaults to
|
||||
# ~/Library/Python on Mac OS X and ~/.local elsewhere, to PATH.
|
||||
if [[ "$OSTYPE" == darwin* ]]; then
|
||||
# ~/Library/Python on Mac OS X and ~/.local elsewhere, to PATH. The
|
||||
# path can be overridden using PYTHONUSERBASE.
|
||||
else
|
||||
if [[ -n "$PYTHONUSERBASE" ]]; then
|
||||
path=($PYTHONUSERBASE/bin $path)
|
||||
elif [[ "$OSTYPE" == darwin* ]]; then
|
||||
path=($HOME/Library/Python/*/bin(N) $path)
|
||||
else
|
||||
# This is subject to change.
|
||||
path=($HOME/.local/bin $path)
|
||||
fi
|
||||
fi
|
||||
|
||||
# Return if requirements are not found.
|
||||
if (( ! $+commands[python] && ! $+commands[pyenv] )); then
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Load virtualenvwrapper into the shell session.
|
||||
if (( $+commands[virtualenvwrapper_lazy.sh] )); then
|
||||
# Set the directory where virtual environments are stored.
|
||||
export WORKON_HOME=$HOME/.virtualenvs
|
||||
export WORKON_HOME="$HOME/.virtualenvs"
|
||||
|
||||
# Disable the virtualenv prompt.
|
||||
VIRTUAL_ENV_DISABLE_PROMPT=1
|
||||
@ -42,14 +51,3 @@ fi
|
||||
|
||||
alias py='python'
|
||||
|
||||
# pythonz
|
||||
if (( $+commands[pythonz] )); then
|
||||
alias pyz='pythonz'
|
||||
alias pyzc='pythonz cleanup'
|
||||
alias pyzi='pythonz install'
|
||||
alias pyzl='pythonz list'
|
||||
alias pyzL='pythonz list -a'
|
||||
alias pyzu='pythonz update'
|
||||
alias pyzx='pythonz uninstall'
|
||||
fi
|
||||
|
||||
|
@ -7,39 +7,30 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
# Load dependencies.
|
||||
pmodload 'ruby'
|
||||
|
||||
# Return if requirements are not found.
|
||||
if (( ! $+commands[rails] )); then
|
||||
if (( ! $+commands[bundle] )); then
|
||||
return 1
|
||||
fi
|
||||
|
||||
#
|
||||
# Aliases (Compatible with Rails 2)
|
||||
# Aliases
|
||||
#
|
||||
|
||||
alias ror='rails'
|
||||
alias rorc='_rails-command console'
|
||||
alias rordc='_rails-command dbconsole'
|
||||
alias rordm='rake db:migrate'
|
||||
alias rordM='rake db:migrate db:test:clone'
|
||||
alias rordr='rake db:rollback'
|
||||
alias rorg='_rails-command generate'
|
||||
alias rorl='tail -f log/development.log'
|
||||
alias rorlc='rake log:clear'
|
||||
alias rorp='_rails-command plugin'
|
||||
alias rorr='_rails-command runner'
|
||||
alias rors='_rails-command server'
|
||||
alias rorsd='_rails-command server --debugger'
|
||||
alias rorx='_rails-command destroy'
|
||||
|
||||
#
|
||||
# Functions
|
||||
#
|
||||
|
||||
function _rails-command {
|
||||
if [[ -e "script/server" ]]; then
|
||||
ruby script/"$@"
|
||||
else
|
||||
ruby script/rails "$@"
|
||||
fi
|
||||
}
|
||||
alias ror='bundle exec rails'
|
||||
alias rorc='bundle exec rails console'
|
||||
alias rordc='bundle exec rails dbconsole'
|
||||
alias rordm='bundle exec rake db:migrate'
|
||||
alias rordM='bundle exec rake db:migrate db:test:clone'
|
||||
alias rordr='bundle exec rake db:rollback'
|
||||
alias rorg='bundle exec rails generate'
|
||||
alias rorl='tail -f "$(ruby-app-root)/log/development.log"'
|
||||
alias rorlc='bundle exec rake log:clear'
|
||||
alias rorp='bundle exec rails plugin'
|
||||
alias rorr='bundle exec rails runner'
|
||||
alias rors='bundle exec rails server'
|
||||
alias rorsd='bundle exec rails server --debugger'
|
||||
alias rorx='bundle exec rails destroy'
|
||||
|
||||
|
@ -8,7 +8,7 @@ Local Gem Installation
|
||||
----------------------
|
||||
|
||||
When a Ruby version manager is not detected, local gems are installed in
|
||||
*~/Library/Ruby/Gems/1.8* on Mac OS X.
|
||||
*~/.gems*; otherwise, they are installed according to the manager.
|
||||
|
||||
RVM
|
||||
---
|
||||
@ -20,15 +20,33 @@ home directory.
|
||||
Since RVM is loaded into the shell and is known to override shell commands, it
|
||||
may conflict with shell scripts.
|
||||
|
||||
Load this module as late as possible when using RVM since RVM will complain if
|
||||
it is not first in `$PATH`.
|
||||
|
||||
rbenv
|
||||
-----
|
||||
|
||||
An alternative RVM is to use [rbenv][3], which allows for switching between multiple,
|
||||
isolated Ruby installations in the home directory.
|
||||
An alternative RVM is to use [rbenv][3], which allows for switching between
|
||||
multiple, isolated Ruby installations in the home directory.
|
||||
|
||||
While it is not as feature rich as RVM, it is not loaded into the shell and is
|
||||
not known to cause conflicts with shell scripts.
|
||||
|
||||
chruby
|
||||
------
|
||||
|
||||
Yet another alternative is [chruby][6], which is simpler than both RVM and
|
||||
rbenv.
|
||||
|
||||
### Settings
|
||||
|
||||
#### Auto-Switch
|
||||
|
||||
To enable auto switching the Ruby version on directory change based on the
|
||||
.ruby-version file, add the following line to *zpreztorc*:
|
||||
|
||||
zstyle ':prezto:module:ruby:chruby' auto-switch 'yes'
|
||||
|
||||
Bundler
|
||||
-------
|
||||
|
||||
@ -59,6 +77,7 @@ Aliases
|
||||
Functions
|
||||
---------
|
||||
|
||||
- `ruby-app-root` displays the path to the Ruby application root directory.
|
||||
- `ruby-info` exposes information about the Ruby environment via the
|
||||
`$ruby_info` associative array.
|
||||
|
||||
@ -86,4 +105,4 @@ Authors
|
||||
[3]: https://github.com/sstephenson/rbenv
|
||||
[4]: http://gembundler.com
|
||||
[5]: https://github.com/sorin-ionescu/prezto/issues
|
||||
|
||||
[6]: https://github.com/postmodern/chruby
|
||||
|
19
modules/ruby/functions/ruby-app-root
Normal file
19
modules/ruby/functions/ruby-app-root
Normal file
@ -0,0 +1,19 @@
|
||||
#
|
||||
# Displays the path to the Ruby application root directory.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
local root_dir="$PWD"
|
||||
|
||||
while [[ "$root_dir" != '/' ]]; do
|
||||
if [[ -f "$root_dir/Gemfile" ]]; then
|
||||
print "$root_dir"
|
||||
break
|
||||
fi
|
||||
root_dir="$root_dir:h"
|
||||
done
|
||||
|
||||
return 1
|
||||
|
@ -18,6 +18,8 @@ if (( $+commands[rvm-prompt] )); then
|
||||
version="$(rvm-prompt)"
|
||||
elif (( $+commands[rbenv] )); then
|
||||
version="$(rbenv version-name)"
|
||||
elif (( $+commands[ruby] )); then
|
||||
version="${${$(ruby --version)[(w)1,(w)2]}/ /-}"
|
||||
fi
|
||||
|
||||
# Format version.
|
||||
|
@ -23,15 +23,17 @@ elif [[ -s "$HOME/.rbenv/bin/rbenv" ]]; then
|
||||
elif (( $+commands[rbenv] )); then
|
||||
eval "$(rbenv init - --no-rehash zsh)"
|
||||
|
||||
# Install local gems according to operating system conventions.
|
||||
else
|
||||
if [[ "$OSTYPE" == darwin* ]]; then
|
||||
export GEM_HOME="$HOME/Library/Ruby/Gems/1.8"
|
||||
path=("$GEM_HOME/bin" $path)
|
||||
# Load package manager installed chruby into the shell session.
|
||||
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"
|
||||
fi
|
||||
|
||||
# Prepend local gems bin directories to PATH.
|
||||
else
|
||||
path=($HOME/.gem/ruby/*/bin(N) $path)
|
||||
fi
|
||||
fi
|
||||
|
||||
# Return if requirements are not found.
|
||||
if (( ! $+commands[ruby] && ! ( $+commands[rvm] || $+commands[rbenv] ) )); then
|
||||
@ -48,15 +50,17 @@ alias rb='ruby'
|
||||
# Bundler
|
||||
if (( $+commands[bundle] )); then
|
||||
alias rbb='bundle'
|
||||
alias rbbe='rbb exec'
|
||||
alias rbbi='rbb install --path vendor/bundle'
|
||||
alias rbbl='rbb list'
|
||||
alias rbbo='rbb open'
|
||||
alias rbbp='rbb package'
|
||||
alias rbbu='rbb update'
|
||||
alias rbbe='bundle exec'
|
||||
alias rbbi='bundle install --path vendor/bundle'
|
||||
alias rbbl='bundle list'
|
||||
alias rbbo='bundle open'
|
||||
alias rbbp='bundle package'
|
||||
alias rbbu='bundle update'
|
||||
alias rbbI='rbbi \
|
||||
&& rbb package \
|
||||
&& bundle package \
|
||||
&& print .bundle >>! .gitignore \
|
||||
&& print vendor/assets >>! .gitignore \
|
||||
&& print vendor/bundle >>! .gitignore \
|
||||
&& print vendor/cache >>! .gitignore'
|
||||
fi
|
||||
|
||||
|
@ -15,7 +15,7 @@ fi
|
||||
# Auto Start
|
||||
#
|
||||
|
||||
if [[ -z "$STY" ]] && ( \
|
||||
if [[ -z "$STY" && -z "$EMACS" && -z "$VIM" ]] && ( \
|
||||
( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' remote ) ||
|
||||
( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' local ) \
|
||||
); then
|
||||
|
@ -3,7 +3,7 @@ Spectrum
|
||||
|
||||
Provides for easier use of 256 colors and effects.
|
||||
|
||||
To learn more about text formatting, read [That 256 Color Thing][1].
|
||||
To learn more about text formatting, read [A Guide to 256 Color Codes][1].
|
||||
|
||||
Variables
|
||||
---------
|
||||
@ -87,6 +87,6 @@ Authors
|
||||
- [P.C. Shyamshankar](https://github.com/sykora)
|
||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||
|
||||
[1]: http://lucentbeing.com/blog/that-256-color-thing/
|
||||
[1]: http://lucentbeing.com/writing/archives/a-guide-to-256-color-codes/
|
||||
[2]: https://github.com/sorin-ionescu/prezto/issues
|
||||
|
||||
|
@ -14,17 +14,20 @@ fi
|
||||
_ssh_dir="$HOME/.ssh"
|
||||
|
||||
# Set the path to the environment file if not set by another module.
|
||||
_ssh_agent_env="${_ssh_agent_env:-$TMPDIR/ssh-agent.env}"
|
||||
_ssh_agent_env="${_ssh_agent_env:-${TMPDIR:-/tmp}/ssh-agent.env}"
|
||||
|
||||
# Set the path to the persistent authentication socket.
|
||||
_ssh_agent_sock="$TMPDIR/ssh-agent.sock"
|
||||
_ssh_agent_sock="${TMPDIR:-/tmp}/ssh-agent.sock"
|
||||
|
||||
# Start ssh-agent if not started.
|
||||
if [[ ! -S "$SSH_AUTH_SOCK" ]]; then
|
||||
eval "$(ssh-agent | sed '/^echo /d' | tee "$_ssh_agent_env")"
|
||||
else
|
||||
# Export environment variables.
|
||||
source "$_ssh_agent_env" 2> /dev/null
|
||||
|
||||
# Start ssh-agent if not started.
|
||||
if ! ps -U "$USER" -o pid,ucomm | grep -q -- "${SSH_AGENT_PID:--1} ssh-agent"; then
|
||||
eval "$(ssh-agent | sed '/^echo /d' | tee "$_ssh_agent_env")"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Create a persistent SSH authentication socket.
|
||||
|
@ -27,7 +27,7 @@ To enable highlighting for this module only, add the following line to
|
||||
### Highlighters
|
||||
|
||||
Syntax highlighting is accomplished by pluggable [highlighters][2]. This module
|
||||
enables the *main*, *brackets*, and *cursor* highlighters by default.
|
||||
only enables the *main* highlighter by default.
|
||||
|
||||
To enable all highlighters, add the following to *zpreztorc*:
|
||||
|
||||
|
Submodule modules/syntax-highlighting/external updated: dbd27cb30a...3dc5741900
@ -11,7 +11,7 @@ if ! zstyle -t ':prezto:module:syntax-highlighting' color; then
|
||||
fi
|
||||
|
||||
# Source module files.
|
||||
source "${0:h}/external/zsh-syntax-highlighting.zsh"
|
||||
source "${0:h}/external/zsh-syntax-highlighting.zsh" || return 1
|
||||
|
||||
# Set highlighters.
|
||||
zstyle -a ':prezto:module:syntax-highlighting' highlighters 'ZSH_HIGHLIGHT_HIGHLIGHTERS'
|
||||
|
@ -13,23 +13,33 @@ 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.
|
||||
|
||||
To format terminal window and tab titles, add the following to *zpreztorc*:
|
||||
|
||||
zstyle ':prezto:module:terminal:window-title' format '%n@%m: %s'
|
||||
zstyle ':prezto:module:terminal:tab-title' format '%m: %s'
|
||||
|
||||
`%s` will be replaced with the current working directory path or the currently
|
||||
executing program name.
|
||||
|
||||
For a list of sequences, see [Expansion of Prompt Sequences][1].
|
||||
|
||||
Functions
|
||||
---------
|
||||
|
||||
- `set-screen-window-title` sets the screen title.
|
||||
- `set-terminal-tab-title` sets the terminal tab title.
|
||||
- `set-terminal-window-title` sets the terminal window title.
|
||||
- `set-titles-with-command` sets the screen and terminal titles with
|
||||
a given command.
|
||||
- `set-titles-with-path` sets the screen and terminal titles with a given path.
|
||||
- `set-tab-title` sets the terminal tab title.
|
||||
- `set-window-title` sets the terminal or terminal multiplexer window title.
|
||||
|
||||
Authors
|
||||
-------
|
||||
|
||||
*The authors of this module should be contacted via the [issue tracker][1].*
|
||||
*The authors of this module should be contacted via the [issue tracker][2].*
|
||||
|
||||
- [James Cox](https://github.com/imajes)
|
||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||
|
||||
[1]: https://github.com/sorin-ionescu/prezto/issues
|
||||
[1]: http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html#Expansion-of-Prompt-Sequences
|
||||
[2]: https://github.com/sorin-ionescu/prezto/issues
|
||||
|
||||
|
@ -2,122 +2,123 @@
|
||||
# Sets terminal window and tab titles.
|
||||
#
|
||||
# Authors:
|
||||
# James Cox <james@imaj.es>
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
# Return if requirements are not found.
|
||||
if [[ "$TERM" == 'dumb' ]]; then
|
||||
if [[ "$TERM" == (dumb|linux|*bsd*) ]]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Set the GNU Screen window number.
|
||||
if [[ -n "$WINDOW" ]]; then
|
||||
export SCREEN_NO="%B${WINDOW}%b "
|
||||
else
|
||||
export SCREEN_NO=""
|
||||
fi
|
||||
# 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"
|
||||
|
||||
# Sets the GNU Screen title.
|
||||
function set-screen-window-title {
|
||||
if [[ "$TERM" == screen* ]]; then
|
||||
printf "\ek%s\e\\" ${(V)argv}
|
||||
title_format="\ek%s\e\\"
|
||||
else
|
||||
title_format="\e]2;%s\a"
|
||||
fi
|
||||
}
|
||||
|
||||
# Sets the terminal window title.
|
||||
function set-terminal-window-title {
|
||||
if [[ "$TERM" == ((x|a|ml|dt|E)term*|(u|)rxvt*) ]]; then
|
||||
printf "\e]2;%s\a" ${(V)argv}
|
||||
fi
|
||||
printf "$title_format" "${(V%)title_formatted}"
|
||||
}
|
||||
|
||||
# Sets the terminal tab title.
|
||||
function set-terminal-tab-title {
|
||||
if [[ "$TERM" == ((x|a|ml|dt|E)term*|(u|)rxvt*) ]]; then
|
||||
printf "\e]1;%s\a" ${(V)argv}
|
||||
fi
|
||||
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 tab and window titles with a given command.
|
||||
function set-titles-with-command {
|
||||
# Do not set the window and tab titles in Terminal.app because they are not
|
||||
# reset upon command termination.
|
||||
if [[ "$TERM_PROGRAM" == 'Apple_Terminal' ]]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
function _terminal-set-titles-with-command {
|
||||
emulate -L zsh
|
||||
setopt EXTENDED_GLOB
|
||||
|
||||
# Get the command name that is under job control.
|
||||
if [[ "${1[(w)1]}" == (fg|%*)(\;|) ]]; then
|
||||
if [[ "${2[(w)1]}" == (fg|%*)(\;|) ]]; then
|
||||
# Get the job name, and, if missing, set it to the default %+.
|
||||
local job_name="${${1[(wr)%*(\;|)]}:-%+}"
|
||||
local job_name="${${2[(wr)%*(\;|)]}:-%+}"
|
||||
|
||||
# Make a local copy for use in the subshell.
|
||||
local -A jobtexts_from_parent_shell
|
||||
jobtexts_from_parent_shell=(${(kv)jobtexts})
|
||||
|
||||
jobs $job_name 2>/dev/null > >(
|
||||
jobs "$job_name" 2>/dev/null > >(
|
||||
read index discarded
|
||||
# The index is already surrounded by brackets: [1].
|
||||
set-titles-with-command "${(e):-\$jobtexts_from_parent_shell$index}"
|
||||
_terminal-set-titles-with-command "${(e):-\$jobtexts_from_parent_shell$index}"
|
||||
)
|
||||
else
|
||||
# Set the command name, or in the case of sudo or ssh, the next command.
|
||||
local cmd=${${1[(wr)^(*=*|sudo|ssh|-*)]}:t}
|
||||
local cmd="${${2[(wr)^(*=*|sudo|ssh|-*)]}:t}"
|
||||
local truncated_cmd="${cmd/(#m)?(#c15,)/${MATCH[1,12]}...}"
|
||||
unset MATCH
|
||||
|
||||
if [[ "$TERM" == screen* ]]; then
|
||||
set-screen-window-title "$truncated_cmd"
|
||||
else
|
||||
set-terminal-window-title "$cmd"
|
||||
set-terminal-tab-title "$truncated_cmd"
|
||||
fi
|
||||
set-window-title "$cmd"
|
||||
set-tab-title "$truncated_cmd"
|
||||
fi
|
||||
}
|
||||
|
||||
# Sets the tab and window titles with a given path.
|
||||
function set-titles-with-path {
|
||||
function _terminal-set-titles-with-path {
|
||||
emulate -L zsh
|
||||
setopt EXTENDED_GLOB
|
||||
|
||||
local absolute_path="${${1:a}:-$PWD}"
|
||||
|
||||
if [[ "$TERM_PROGRAM" == 'Apple_Terminal' ]]; then
|
||||
printf '\e]7;%s\a' "file://$HOST${absolute_path// /%20}"
|
||||
else
|
||||
local abbreviated_path="${absolute_path/#$HOME/~}"
|
||||
local truncated_path="${abbreviated_path/(#m)?(#c15,)/...${MATCH[-12,-1]}}"
|
||||
unset MATCH
|
||||
|
||||
if [[ "$TERM" == screen* ]]; then
|
||||
set-screen-window-title "$truncated_path"
|
||||
else
|
||||
set-terminal-window-title "$abbreviated_path"
|
||||
set-terminal-tab-title "$truncated_path"
|
||||
fi
|
||||
fi
|
||||
set-window-title "$abbreviated_path"
|
||||
set-tab-title "$truncated_path"
|
||||
}
|
||||
|
||||
# Don't override precmd/preexec; append to hook array.
|
||||
# Sets the Terminal.app proxy icon.
|
||||
function _terminal-set-terminal-app-proxy-icon {
|
||||
printf '\e]7;%s\a' "file://$HOST${${1:-$PWD}// /%20}"
|
||||
}
|
||||
|
||||
# Do not override precmd/preexec; append to the hook array.
|
||||
autoload -Uz add-zsh-hook
|
||||
|
||||
# Sets the tab and window titles before the prompt is displayed.
|
||||
function set-titles-precmd {
|
||||
if zstyle -t ':prezto:module:terminal' auto-title; then
|
||||
set-titles-with-path
|
||||
# Set up the Apple Terminal.
|
||||
if [[ "$TERM_PROGRAM" == 'Apple_Terminal' ]] \
|
||||
&& ( ! [[ -n "$STY" || -n "$TMUX" || -n "$DVTM" ]] )
|
||||
then
|
||||
# Sets the Terminal.app current working directory before the prompt is
|
||||
# displayed.
|
||||
add-zsh-hook precmd _terminal-set-terminal-app-proxy-icon
|
||||
|
||||
# Unsets the Terminal.app current working directory when a terminal
|
||||
# multiplexer or remote connection is started since it can no longer be
|
||||
# updated, and it becomes confusing when the directory displayed in the title
|
||||
# bar is no longer synchronized with real current working directory.
|
||||
function _terminal-unset-terminal-app-proxy-icon {
|
||||
if [[ "${2[(w)1]:t}" == (screen|tmux|dvtm|ssh|mosh) ]]; then
|
||||
_terminal-set-terminal-app-proxy-icon ' '
|
||||
fi
|
||||
}
|
||||
add-zsh-hook precmd set-titles-precmd
|
||||
add-zsh-hook preexec _terminal-unset-terminal-app-proxy-icon
|
||||
|
||||
# Do not set the tab and window titles in Terminal.app since it sets the tab
|
||||
# title to the currently running process by default and the current working
|
||||
# directory is set separately.
|
||||
return
|
||||
fi
|
||||
|
||||
# Set up non-Apple terminals.
|
||||
if zstyle -t ':prezto:module:terminal' auto-title \
|
||||
&& ( ! [[ -n "$STY" || -n "$TMUX" ]] )
|
||||
then
|
||||
# Sets the tab and window titles before the prompt is displayed.
|
||||
add-zsh-hook precmd _terminal-set-titles-with-path
|
||||
|
||||
# Sets the tab and window titles before command execution.
|
||||
function set-titles-preexec {
|
||||
if zstyle -t ':prezto:module:terminal' auto-title; then
|
||||
set-titles-with-command "$2"
|
||||
add-zsh-hook preexec _terminal-set-titles-with-command
|
||||
fi
|
||||
}
|
||||
add-zsh-hook preexec set-titles-preexec
|
||||
|
||||
|
@ -20,12 +20,15 @@ following line to *zpreztorc*:
|
||||
|
||||
zstyle ':prezto:module:tmux:auto-start' remote 'yes'
|
||||
|
||||
In both cases, it will create a background session named _#Prezto_ and attach
|
||||
every new shell to it.
|
||||
In both cases, it will create a background session named _prezto_ if the tmux
|
||||
server is not started.
|
||||
|
||||
To avoid keeping open sessions, this module sets `destroy-unattached off` on
|
||||
the background session and `destroy-unattached on` on every other session
|
||||
(global setting).
|
||||
With `auto-start` enabled, you may want to control how multiple sessions are
|
||||
managed. The `destroy-unattached` option of tmux controls if the unattached
|
||||
sessions must be kept alive, making sessions available for later use, configured
|
||||
in *tmux.conf*:
|
||||
|
||||
set-option -g destroy-unattached [on | off]
|
||||
|
||||
Aliases
|
||||
-------
|
||||
@ -54,6 +57,7 @@ Authors
|
||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||
- [Colin Hebert](https://github.com/ColinHebert)
|
||||
- [Georges Discry](https://github.com/gdiscry)
|
||||
- [Xavier Cambar](https://github.com/xcambar)
|
||||
|
||||
[1]: http://tmux.sourceforge.net
|
||||
[2]: https://github.com/sorin-ionescu/prezto/issues/62
|
||||
|
@ -5,6 +5,7 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
# Colin Hebert <hebert.colin@gmail.com>
|
||||
# Georges Discry <georges@discry.be>
|
||||
# Xavier Cambar <xcambar@gmail.com>
|
||||
#
|
||||
|
||||
# Return if requirements are not found.
|
||||
@ -16,31 +17,22 @@ fi
|
||||
# Auto Start
|
||||
#
|
||||
|
||||
if [[ -z "$TMUX" ]] && ( \
|
||||
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 ) \
|
||||
); then
|
||||
tmux_session='#Prezto'
|
||||
|
||||
if ! tmux has-session -t "$tmux_session" 2> /dev/null; then
|
||||
# Ensure that tmux server is started.
|
||||
tmux start-server
|
||||
|
||||
# Disable the destruction of unattached sessions globally.
|
||||
tmux set-option -g destroy-unattached off &> /dev/null
|
||||
|
||||
# Create a new session.
|
||||
tmux new-session -d -s "$tmux_session"
|
||||
|
||||
# Disable the destruction of the new, unattached session.
|
||||
tmux set-option -t "$tmux_session" destroy-unattached off &> /dev/null
|
||||
|
||||
# Enable the destruction of unattached sessions globally to prevent
|
||||
# an abundance of open, detached sessions.
|
||||
tmux set-option -g destroy-unattached on &> /dev/null
|
||||
# Create a 'prezto' session if no session has been defined in tmux.conf.
|
||||
if ! tmux has-session 2> /dev/null; then
|
||||
tmux_session='prezto'
|
||||
tmux \
|
||||
new-session -d -s "$tmux_session" \; \
|
||||
set-option -t "$tmux_session" destroy-unattached off &> /dev/null
|
||||
fi
|
||||
|
||||
exec tmux new-session -t "$tmux_session"
|
||||
# Attach to the 'prezto' session or to the last session used.
|
||||
exec tmux attach-session
|
||||
fi
|
||||
|
||||
#
|
||||
|
@ -50,6 +50,7 @@ Aliases
|
||||
|
||||
### Disabled File Globbing
|
||||
|
||||
- `bower`
|
||||
- `fc`
|
||||
- `find`
|
||||
- `ftp`
|
||||
|
@ -10,7 +10,7 @@ function diff {
|
||||
if (( $+commands[colordiff] )); then
|
||||
command diff --unified "$@" | colordiff --difftype diffu
|
||||
elif (( $+commands[git] )); then
|
||||
git --no-pager diff --color=auto --no-ext-diff --no-index "$@"
|
||||
command git --no-pager diff --color=auto --no-ext-diff --no-index "$@"
|
||||
else
|
||||
command diff --unified "$@"
|
||||
fi
|
||||
|
@ -17,7 +17,7 @@ function wdiff {
|
||||
"$@" \
|
||||
| sed 's/^\(@@\( [+-][[:digit:]]*,[[:digit:]]*\)\{2\} @@\)$/;5;6m\10m/g'
|
||||
elif (( $+commands[git] )); then
|
||||
git --no-pager diff --color=auto --no-ext-diff --no-index --color-words "$@"
|
||||
command git --no-pager diff --color=auto --no-ext-diff --no-index --color-words "$@"
|
||||
else
|
||||
command wdiff "$@"
|
||||
fi
|
||||
|
@ -34,6 +34,7 @@ alias mysql='nocorrect mysql'
|
||||
alias rm='nocorrect rm'
|
||||
|
||||
# Disable globbing.
|
||||
alias bower='noglob bower'
|
||||
alias fc='noglob fc'
|
||||
alias find='noglob find'
|
||||
alias ftp='noglob ftp'
|
||||
@ -65,9 +66,9 @@ if is-callable 'dircolors'; then
|
||||
|
||||
if zstyle -t ':prezto:module:utility:ls' color; then
|
||||
if [[ -s "$HOME/.dir_colors" ]]; then
|
||||
eval "$(dircolors "$HOME/.dir_colors")"
|
||||
eval "$(dircolors --sh "$HOME/.dir_colors")"
|
||||
else
|
||||
eval "$(dircolors)"
|
||||
eval "$(dircolors --sh)"
|
||||
fi
|
||||
|
||||
alias ls="$aliases[ls] --color=auto"
|
||||
@ -104,17 +105,17 @@ alias sl='ls' # I often screw this up.
|
||||
# Mac OS X Everywhere
|
||||
if [[ "$OSTYPE" == darwin* ]]; then
|
||||
alias o='open'
|
||||
alias get='curl --continue-at - --location --progress-bar --remote-name --remote-time'
|
||||
elif [[ "$OSTYPE" == cygwin* ]]; then
|
||||
alias o='cygstart'
|
||||
alias pbcopy='tee > /dev/clipboard'
|
||||
alias pbpaste='cat /dev/clipboard'
|
||||
else
|
||||
alias o='xdg-open'
|
||||
alias get='wget --continue --progress=bar --timestamping'
|
||||
|
||||
if (( $+commands[xclip] )); then
|
||||
alias pbcopy='xclip -selection clipboard -in'
|
||||
alias pbpaste='xclip -selection clipboard -out'
|
||||
fi
|
||||
|
||||
if (( $+commands[xsel] )); then
|
||||
elif (( $+commands[xsel] )); then
|
||||
alias pbcopy='xsel --clipboard --input'
|
||||
alias pbpaste='xsel --clipboard --output'
|
||||
fi
|
||||
@ -123,6 +124,13 @@ fi
|
||||
alias pbc='pbcopy'
|
||||
alias pbp='pbpaste'
|
||||
|
||||
# File Download
|
||||
if (( $+commands[curl] )); then
|
||||
alias get='curl --continue-at - --location --progress-bar --remote-name --remote-time'
|
||||
elif (( $+commands[wget] )); then
|
||||
alias get='wget --continue --progress=bar --timestamping'
|
||||
fi
|
||||
|
||||
# Resource Usage
|
||||
alias df='df -kh'
|
||||
alias du='du -kh'
|
||||
|
@ -48,7 +48,7 @@ zprofile and zlogin are not meant to be used concurrently but can be done so.
|
||||
This file is sourced by interactive shells. It should define aliases,
|
||||
functions, shell options, and key bindings.
|
||||
|
||||
## zpreztorc
|
||||
### zpreztorc
|
||||
|
||||
This file configures Prezto.
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
# Execute code that does not affect the current session in the background.
|
||||
{
|
||||
# Compile the completion dump to increase startup speed.
|
||||
zcompdump="$ZDOTDIR/.zcompdump"
|
||||
zcompdump="${ZDOTDIR:-$HOME}/.zcompdump"
|
||||
if [[ -s "$zcompdump" && (! -s "${zcompdump}.zwc" || "$zcompdump" -nt "${zcompdump}.zwc") ]]; then
|
||||
zcompile "$zcompdump"
|
||||
fi
|
||||
|
@ -10,7 +10,7 @@
|
||||
#
|
||||
|
||||
# Set case-sensitivity for completion, history lookup, etc.
|
||||
zstyle ':prezto:*:*' case-sensitive 'no'
|
||||
# zstyle ':prezto:*:*' case-sensitive 'yes'
|
||||
|
||||
# Color output (auto set to 'no' on dumb terminals).
|
||||
zstyle ':prezto:*:*' color 'yes'
|
||||
@ -87,6 +87,13 @@ zstyle ':prezto:module:editor' key-bindings 'emacs'
|
||||
# Auto set to 'off' on dumb terminals.
|
||||
zstyle ':prezto:module:prompt' theme 'sorin'
|
||||
|
||||
#
|
||||
# Ruby
|
||||
#
|
||||
|
||||
# Auto switch the Ruby version on directory change.
|
||||
# zstyle ':prezto:module:ruby:chruby' auto-switch 'yes'
|
||||
|
||||
#
|
||||
# Screen
|
||||
#
|
||||
@ -122,14 +129,19 @@ zstyle ':prezto:module:prompt' theme 'sorin'
|
||||
# 'builtin' 'bg=blue' \
|
||||
# 'command' 'bg=blue' \
|
||||
# 'function' 'bg=blue'
|
||||
#
|
||||
|
||||
#
|
||||
# Terminal
|
||||
#
|
||||
|
||||
# Auto set the tab and window titles.
|
||||
zstyle ':prezto:module:terminal' auto-title 'yes'
|
||||
# zstyle ':prezto:module:terminal' auto-title 'yes'
|
||||
|
||||
# Set the window title format.
|
||||
# zstyle ':prezto:module:terminal:window-title' format '%n@%m: %s'
|
||||
|
||||
# Set the tab title format.
|
||||
# zstyle ':prezto:module:terminal:tab-title' format '%m: %s'
|
||||
|
||||
#
|
||||
# Tmux
|
||||
@ -140,4 +152,3 @@ zstyle ':prezto:module:terminal' auto-title 'yes'
|
||||
|
||||
# Auto start a session when Zsh is launched in a SSH connection.
|
||||
# zstyle ':prezto:module:tmux:auto-start' remote 'yes'
|
||||
|
||||
|
@ -5,3 +5,73 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
#
|
||||
# Browser
|
||||
#
|
||||
|
||||
if [[ "$OSTYPE" == darwin* ]]; then
|
||||
export BROWSER='open'
|
||||
fi
|
||||
|
||||
#
|
||||
# Editors
|
||||
#
|
||||
|
||||
export EDITOR='nano'
|
||||
export VISUAL='nano'
|
||||
export PAGER='less'
|
||||
|
||||
#
|
||||
# Language
|
||||
#
|
||||
|
||||
if [[ -z "$LANG" ]]; then
|
||||
export LANG='en_US.UTF-8'
|
||||
fi
|
||||
|
||||
#
|
||||
# Paths
|
||||
#
|
||||
|
||||
# Ensure path arrays do not contain duplicates.
|
||||
typeset -gU cdpath fpath mailpath path
|
||||
|
||||
# Set the the list of directories that cd searches.
|
||||
# cdpath=(
|
||||
# $cdpath
|
||||
# )
|
||||
|
||||
# Set the list of directories that Zsh searches for programs.
|
||||
path=(
|
||||
/usr/local/{bin,sbin}
|
||||
$path
|
||||
)
|
||||
|
||||
#
|
||||
# Less
|
||||
#
|
||||
|
||||
# Set the default Less options.
|
||||
# Mouse-wheel scrolling has been disabled by -X (disable screen clearing).
|
||||
# Remove -X and -F (exit if the content fits on one screen) to enable it.
|
||||
export LESS='-F -g -i -M -R -S -w -X -z-4'
|
||||
|
||||
# Set the Less input preprocessor.
|
||||
if (( $+commands[lesspipe.sh] )); then
|
||||
export LESSOPEN='| /usr/bin/env lesspipe.sh %s 2>&-'
|
||||
fi
|
||||
|
||||
#
|
||||
# Temporary Files
|
||||
#
|
||||
|
||||
if [[ ! -d "$TMPDIR" ]]; then
|
||||
export TMPDIR="/tmp/$USER"
|
||||
mkdir -p -m 700 "$TMPDIR"
|
||||
fi
|
||||
|
||||
TMPPREFIX="${TMPDIR%/}/zsh"
|
||||
if [[ ! -d "$TMPPREFIX" ]]; then
|
||||
mkdir -p "$TMPPREFIX"
|
||||
fi
|
||||
|
||||
|
@ -5,79 +5,8 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
#
|
||||
# Browser
|
||||
#
|
||||
|
||||
if [[ "$OSTYPE" == darwin* ]]; then
|
||||
export BROWSER='open'
|
||||
# Ensure that a non-login, non-interactive shell has a defined environment.
|
||||
if [[ "$SHLVL" -eq 1 && ! -o LOGIN && -s "${ZDOTDIR:-$HOME}/.zprofile" ]]; then
|
||||
source "${ZDOTDIR:-$HOME}/.zprofile"
|
||||
fi
|
||||
|
||||
#
|
||||
# Editors
|
||||
#
|
||||
|
||||
export EDITOR='nano'
|
||||
export VISUAL='nano'
|
||||
export PAGER='less'
|
||||
|
||||
#
|
||||
# Language
|
||||
#
|
||||
|
||||
if [[ -z "$LANG" ]]; then
|
||||
export LANG='en_US.UTF-8'
|
||||
fi
|
||||
|
||||
#
|
||||
# Paths
|
||||
#
|
||||
|
||||
typeset -gU cdpath fpath mailpath path
|
||||
|
||||
# Set the the list of directories that cd searches.
|
||||
# cdpath=(
|
||||
# $cdpath
|
||||
# )
|
||||
|
||||
# Set the list of directories that Zsh searches for programs.
|
||||
path=(
|
||||
/usr/local/{bin,sbin}
|
||||
$path
|
||||
)
|
||||
|
||||
#
|
||||
# Less
|
||||
#
|
||||
|
||||
# Set the default Less options.
|
||||
# Mouse-wheel scrolling has been disabled by -X (disable screen clearing).
|
||||
# Remove -X and -F (exit if the content fits on one screen) to enable it.
|
||||
export LESS='-F -g -i -M -R -S -w -X -z-4'
|
||||
|
||||
# Set the Less input preprocessor.
|
||||
if (( $+commands[lesspipe.sh] )); then
|
||||
export LESSOPEN='| /usr/bin/env lesspipe.sh %s 2>&-'
|
||||
fi
|
||||
|
||||
#
|
||||
# Temporary Files
|
||||
#
|
||||
|
||||
if [[ ! -d "$TMPDIR" ]]; then
|
||||
export TMPDIR="/tmp/$USER"
|
||||
mkdir -p -m 700 "$TMPDIR"
|
||||
fi
|
||||
|
||||
TMPPREFIX="${TMPDIR%/}/zsh"
|
||||
if [[ ! -d "$TMPPREFIX" ]]; then
|
||||
mkdir -p "$TMPPREFIX"
|
||||
fi
|
||||
|
||||
#
|
||||
# Zsh
|
||||
#
|
||||
|
||||
ZDOTDIR="${ZDOTDIR:-$HOME}"
|
||||
PREZTO="$ZDOTDIR/.zprezto"
|
||||
|
||||
|
@ -6,8 +6,8 @@
|
||||
#
|
||||
|
||||
# Source Prezto.
|
||||
if [[ -s "$PREZTO/init.zsh" ]]; then
|
||||
source "$PREZTO/init.zsh"
|
||||
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then
|
||||
source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"
|
||||
fi
|
||||
|
||||
# Customize to your needs...
|
||||
|
Reference in New Issue
Block a user