1
0
mirror of https://github.com/dcarrillo/prezto.git synced 2025-07-01 15:09:25 +00:00

Compare commits

...

43 Commits

Author SHA1 Message Date
729fd07ab0 Replace 'git' with 'command git'
This prevents performance loss when git is aliased to hub.

Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-10-07 23:43:12 -04:00
9d97ee57a3 Update hub URL 2014-10-07 23:31:31 -04:00
8de68a9bda Revert "[Fix #242] Remove hub"
This reverts commit ccf181379a.
2014-10-07 23:29:47 -04:00
8f711d64b5 [Fix #594] Remove quotes surrounding associative array key 2014-10-06 23:36:33 -04:00
c4b50ec1a0 [Fix #635] Use $BROWSER to open node documentation 2014-10-06 18:02:45 -04:00
62198b0326 Display full command line on suggestion for the kill command
For the zsh suggestion for the 'kill' command, show full command line
(command: usually with arguments) instead of only the executable name (comm).
2014-10-06 17:03:53 -04:00
b4884d4d45 [Fix #626] Escape '%' in path 2014-10-06 16:54:21 -04:00
abfc4ab6e5 [Fix #648] Do not instruct users to call editor-info 2014-10-06 16:50:03 -04:00
657e8a16f4 [Fix #689] Use GPG_AGENT_INFO instead of GPG_AGENT_PID
GPG_AGENT_PID may not be defined. Also, source gpg-agent.env before
checking the PID.
2014-10-06 16:42:22 -04:00
ea25ccf62c Set default GPG_AGENT_PID for grep
If `GPG_AGENT_PID` is unset, grep will succeed if another gpg-agent is
running as it will match the string `gpg-agent` where the PID was an
empty string. Set a default value for grep to a value that will never
match if unset, i.e. -1.
2014-10-05 21:46:58 -04:00
3e88b8bcdc Set default SSH_AGENT_PID for grep
If `SSH_AGENT_PID` is unset, grep will succeed if another ssh-agent is
running as it will match the string `ssh-agent` where the PID was an
empty string. Set a default value for grep to a value that will never
match if unset, i.e. -1.

Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-10-05 21:44:20 -04:00
e892d7f3c7 Fix broken link to 256 color formatting blogpost
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-10-05 21:26:08 -04:00
4e4a6fcc63 Don't set node-info if version is 'none'
This is done to make it easier to not show node-info in themes
when no node version is currently in use. This is consistent with
how the Python module's python-info works.

Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-10-05 21:22:38 -04:00
3e8349ddde Use the x command for unrar and rar to preserve paths
unrar and rar will discard everything up to the file name when extracting
with `e`. This breaks extraction of archives that have files with duplicate
file names and ones where the paths are important. The `x` command
extracts with the full path instead.
2014-10-05 21:14:01 -04:00
fdb406f917 Fix typo 2014-10-05 21:12:54 -04:00
493bf302f6 Ensure dircolors uses sh syntax
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-10-05 21:12:54 -04:00
a217af99f3 Prezto only enables the main syntax highlighter
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-10-05 21:12:53 -04:00
06cc5088aa [Fix #630] Zsh v4.3.17 is the minimum required 2014-10-05 21:12:42 -04:00
5088ca4839 Bump minimum supported Zsh to v4.3.11
zsh-syntax-highlighting requires this version.

Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-10-05 20:25:25 -04:00
0f696fc206 Update external syntax-highlighting 2014-10-05 20:16:26 -04:00
96bcf813b7 Update external history-substring-search 2014-10-05 20:15:43 -04:00
fe8f9a9b5b Update external completions 2014-10-05 20:14:25 -04:00
bf9dbfd5b9 Support $PYTHONUSERBASE per PEP 370
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-04-03 17:55:35 -04:00
ff0dfa424d Create a default tmux session only when none defined in tmux.conf
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-04-03 17:39:46 -04:00
fedad8e9cf Fix git-info added/deleted count formatting typo
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-03-07 15:52:39 -05:00
478653fab2 [Fix #543] Do not set tmux destroy-unattached
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-03-07 15:48:49 -05:00
10cf701864 Simplify multiplexer auto-start tests 2014-02-26 17:19:19 -05:00
7722dd4400 Inform the user to load ruby as late as possible when using RVM 2014-02-17 23:39:22 -05:00
240eecaddf [Fix #551] Rename tmux auto-start session 2014-02-17 23:27:03 -05:00
415e4bff3d Fix a test operator bug introduced in e5a0e33 2014-02-17 23:09:11 -05:00
e5a0e33f1c [Fix #541] Do not auto-load screen/tmux inside of Emacs/Vim
When Emacs and Vim are launched from outside of an interactive shell,
$TMUX and $STY are not set; check for Emacs and Vim environment
variables instead.

Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-02-17 22:43:49 -05:00
8189577772 Disable glob for bower
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-02-16 18:29:01 -05:00
c74cf4b5e0 Prefix rarely used osx functions 2014-02-16 18:00:47 -05:00
72782528aa Add functions to display and delete osx download history 2014-02-02 20:30:27 -05:00
02717cb4c1 Update osx alias descriptions 2014-02-02 20:08:55 -05:00
bccfca8c10 Make osx functions autoloadable 2014-02-02 20:08:21 -05:00
b8bb51d7b5 Cast AppleScript paths to text 2014-02-02 14:44:22 -05:00
00e12b7a98 Add capability to browse man pages in Dash.app 2014-02-01 23:39:11 -05:00
232313e2a0 Remove Bwana.app support
Bwana.app has been stale for years. It no longer works properly.
2014-02-01 23:39:11 -05:00
e48dac79f3 Add double slash after Bwana.app's man protocol
Safari 6's unified location and search bar can no longer tell the
difference between a protocol and a colon search.
2014-02-01 23:39:11 -05:00
dbeb6d4e1a [Fix #361] Load chruby when found 2014-02-01 23:37:29 -05:00
af003d83c5 [Fix #535] Set Pacman frontend to 'pacman' when none set 2014-01-21 22:12:09 -05:00
839f4a7b83 Fix setting the 'pac' alias 2014-01-13 21:35:38 -05:00
60 changed files with 267 additions and 185 deletions

View File

@ -8,8 +8,8 @@ and prompt themes.
Installation Installation
------------ ------------
Prezto will work with any recent release of Zsh, but the minimum recommended Prezto will work with any recent release of Zsh, but the minimum required
version is 4.3.11. version is 4.3.17.
1. Launch Zsh: 1. Launch Zsh:

View File

@ -10,7 +10,7 @@
# #
# Check for the minimum supported version. # Check for the minimum supported version.
min_zsh_version='4.3.11' min_zsh_version='4.3.17'
if ! autoload -Uz is-at-least || ! is-at-least "$min_zsh_version"; then if ! autoload -Uz is-at-least || ! is-at-least "$min_zsh_version"; then
print "prezto: old shell detected, minimum required: $min_zsh_version" >&2 print "prezto: old shell detected, minimum required: $min_zsh_version" >&2
return 1 return 1

View File

@ -102,10 +102,10 @@ Node.js
Provides utility functions for Node.js and loads npm completion. Provides utility functions for Node.js and loads npm completion.
Ocaml OCaml
----- -----
Initializes Ocaml package management. Initializes OCaml package management.
OSX OSX
--- ---

View File

@ -54,8 +54,8 @@ while (( $# > 0 )); do
(*.Z) uncompress "$1" ;; (*.Z) uncompress "$1" ;;
(*.zip) unzip "$1" -d $extract_dir ;; (*.zip) unzip "$1" -d $extract_dir ;;
(*.rar) unrar &> /dev/null \ (*.rar) unrar &> /dev/null \
&& unrar e -ad "$1" \ && unrar x -ad "$1" \
|| rar e -ad "$1" ;; || rar x -ad "$1" ;;
(*.7z) 7za x "$1" ;; (*.7z) 7za x "$1" ;;
(*.deb) (*.deb)
mkdir -p "$extract_dir/control" mkdir -p "$extract_dir/control"

View File

@ -116,7 +116,7 @@ zstyle ':completion:*:(rm|kill|diff):*' ignore-line other
zstyle ':completion:*:rm:*' file-patterns '*:all-files' zstyle ':completion:*:rm:*' file-patterns '*:all-files'
# Kill # Kill
zstyle ':completion:*:*:*:*:processes' command 'ps -u $USER -o pid,user,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:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;36=0=01'
zstyle ':completion:*:*:kill:*' menu yes select zstyle ':completion:*:*:kill:*' menu yes select
zstyle ':completion:*:*:kill:*' force-list always zstyle ':completion:*:*:kill:*' force-list always

View File

@ -49,8 +49,7 @@ To indicate when the editor is completing, add the following to your
zstyle ':prezto:module:editor:info:completing' format '...' zstyle ':prezto:module:editor:info:completing' format '...'
Then add `$editor_info[context]`, where context is *keymap*, *insert*, or Then add `$editor_info[context]`, where context is *keymap*, *insert*, or
*overwrite*, to `$PROMPT` or `$RPROMPT` and call `editor-info` in the *overwrite*, to `$PROMPT` or `$RPROMPT`.
`prompt_name_preexec` hook function.
Authors Authors
------- -------

View File

@ -61,7 +61,7 @@ key_info=(
# bindkey failure. # bindkey failure.
for key in "${(k)key_info[@]}"; do for key in "${(k)key_info[@]}"; do
if [[ -z "$key_info[$key]" ]]; then if [[ -z "$key_info[$key]" ]]; then
key_info["$key"]='<27>' key_info[$key]='<27>'
fi fi
done done

View File

@ -8,7 +8,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # 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 return 1
fi fi
@ -21,7 +21,7 @@ _arguments -C -s -S \
case "$state" in case "$state" in
(remote) (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 _describe -t branch 'remotes' remotes && ret=0
;; ;;
@ -29,7 +29,7 @@ case "$state" in
remote="$words[(($CURRENT - 1))]" remote="$words[(($CURRENT - 1))]"
branches_or_tags=($( 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/}) branches=(HEAD ${${(M)branches_or_tags[@]##refs/heads/?##}##refs/heads/})
@ -39,7 +39,7 @@ case "$state" in
_describe -t tag 'tags' tags && ret=0 _describe -t tag 'tags' tags && ret=0
;; ;;
(file) (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 _wanted file expl 'file' _multi_parts - / files && ret=0
;; ;;
esac esac

View File

@ -8,7 +8,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # 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 return 1
fi fi

View File

@ -8,7 +8,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # 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 return 1
fi fi
@ -25,7 +25,7 @@ case "$state" in
while IFS=$'\n' read submodule; do while IFS=$'\n' read submodule; do
submodules+=("$submodule") submodules+=("$submodule")
done < <( done < <(
git config --file "$(git-root)/.gitmodules" --list \ command git config --file "$(git-root)/.gitmodules" --list \
| grep '.path=' \ | grep '.path=' \
| cut -d= -f2- | cut -d= -f2-
) )

View File

@ -8,7 +8,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # 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 return 1
fi fi
@ -18,7 +18,7 @@ local submodule
while IFS=$'\n' read submodule; do while IFS=$'\n' read submodule; do
submodules+=("$submodule") submodules+=("$submodule")
done < <( done < <(
git config --file "$(git-root)/.gitmodules" --list \ command git config --file "$(git-root)/.gitmodules" --list \
| grep '.path=' \ | grep '.path=' \
| cut -d= -f2- | cut -d= -f2-
) )

View File

@ -5,12 +5,12 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # 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 print "$0: not a repository: $PWD" >&2
return 1 return 1
fi fi
local ref="$(git symbolic-ref HEAD 2> /dev/null)" local ref="$(command git symbolic-ref HEAD 2> /dev/null)"
if [[ -n "$ref" ]]; then if [[ -n "$ref" ]]; then
print "${ref#refs/heads/}" print "${ref#refs/heads/}"

View File

@ -5,15 +5,15 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # 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 print "$0: not a repository work tree: $PWD" >&2
return 1 return 1
fi fi
git fsck 2> /dev/null \ command git fsck 2> /dev/null \
| grep "^dangling commit" \ | grep "^dangling commit" \
| awk '{print $3}' \ | awk '{print $3}' \
| git log \ | command git log \
--date-order \ --date-order \
--no-walk \ --no-walk \
--stdin \ --stdin \

View File

@ -5,7 +5,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # 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 if [[ -n "$git_dir" ]]; then
print "$git_dir" print "$git_dir"

View File

@ -5,7 +5,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # 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 print "$0: not a repository work tree: $PWD" >&2
return 1 return 1
fi fi
@ -13,7 +13,7 @@ fi
local remotes remote references reference file url local remotes remote references reference file url
remote="${1:-origin}" 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 if (( $remotes[(i)$remote] == $#remotes + 1 )); then
print "$0: remote not found: $remote" >&2 print "$0: remote not found: $remote" >&2
@ -21,14 +21,14 @@ if (( $remotes[(i)$remote] == $#remotes + 1 )); then
fi fi
url=$( 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" | sed -En "s/(git|https?)(@|:\/\/)github.com(:|\/)(.+)\/(.+).git/https:\/\/github.com\/\4\/\5/p"
) )
reference="${${2:-$(git-branch-current)}:-HEAD}" reference="${${2:-$(git-branch-current)}:-HEAD}"
references=( references=(
HEAD 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 if (( $references[(i)$reference] == $#references + 1 )); then
@ -37,7 +37,7 @@ if (( $references[(i)$reference] == $#references + 1 )); then
fi fi
if [[ "$reference" == 'HEAD' ]]; then if [[ "$reference" == 'HEAD' ]]; then
reference="$(git rev-parse HEAD 2>/dev/null)" reference="$(command git rev-parse HEAD 2>/dev/null)"
fi fi
file="$3" file="$3"

View File

@ -164,15 +164,15 @@ function git-info {
typeset -gA git_info typeset -gA git_info
# Return if not inside a Git repository work tree. # 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 return 1
fi fi
if (( $# > 0 )); then if (( $# > 0 )); then
if [[ "$1" == [Oo][Nn] ]]; 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 elif [[ "$1" == [Oo][Ff][Ff] ]]; then
git config --bool prompt.showinfo false command git config --bool prompt.showinfo false
else else
print "usage: $0 [ on | off ]" >&2 print "usage: $0 [ on | off ]" >&2
fi fi
@ -180,7 +180,7 @@ function git-info {
fi fi
# Return if git-info is disabled. # 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 return 1
fi fi
@ -190,7 +190,7 @@ function git-info {
# Format commit. # Format commit.
zstyle -s ':prezto:module:git:info:commit' format 'commit_format' zstyle -s ':prezto:module:git:info:commit' format 'commit_format'
if [[ -n "$commit_format" ]]; then 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 if [[ -n "$commit" ]]; then
zformat -f commit_formatted "$commit_format" "c:$commit" zformat -f commit_formatted "$commit_format" "c:$commit"
fi fi
@ -199,7 +199,7 @@ function git-info {
# Format stashed. # Format stashed.
zstyle -s ':prezto:module:git:info:stashed' format 'stashed_format' zstyle -s ':prezto:module:git:info:stashed' format 'stashed_format'
if [[ -n "$stashed_format" && -f "$(git-dir)/refs/stash" ]]; then if [[ -n "$stashed_format" && -f "$(git-dir)/refs/stash" ]]; then
stashed="$(git stash list 2> /dev/null | wc -l | awk '{print $1}')" stashed="$(command git stash list 2> /dev/null | wc -l | awk '{print $1}')"
if [[ -n "$stashed" ]]; then if [[ -n "$stashed" ]]; then
zformat -f stashed_formatted "$stashed_format" "S:$stashed" zformat -f stashed_formatted "$stashed_format" "S:$stashed"
fi fi
@ -215,7 +215,7 @@ function git-info {
fi fi
# Get the branch. # 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. # Format branch.
zstyle -s ':prezto:module:git:info:branch' format 'branch_format' zstyle -s ':prezto:module:git:info:branch' format 'branch_format'
@ -226,7 +226,7 @@ function git-info {
# Format position. # Format position.
zstyle -s ':prezto:module:git:info:position' format 'position_format' zstyle -s ':prezto:module:git:info:position' format 'position_format'
if [[ -z "$branch" && -n "$position_format" ]]; then 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 if [[ -n "$position" ]]; then
zformat -f position_formatted "$position_format" "p:$position" zformat -f position_formatted "$position_format" "p:$position"
fi fi
@ -236,7 +236,7 @@ function git-info {
zstyle -s ':prezto:module:git:info:remote' format 'remote_format' zstyle -s ':prezto:module:git:info:remote' format 'remote_format'
if [[ -n "$branch" && -n "$remote_format" ]]; then if [[ -n "$branch" && -n "$remote_format" ]]; then
# Gets the remote name. # 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/}" remote="${$(${(z)remote_cmd} 2> /dev/null)##refs/remotes/}"
if [[ -n "$remote" ]]; then if [[ -n "$remote" ]]; then
zformat -f remote_formatted "$remote_format" "R:$remote" 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' zstyle -s ':prezto:module:git:info:behind' format 'behind_format'
if [[ -n "$branch" && ( -n "$ahead_format" || -n "$behind_format" ) ]]; then if [[ -n "$branch" && ( -n "$ahead_format" || -n "$behind_format" ) ]]; then
# Gets the commit difference counts between local and remote. # 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. # Get ahead and behind counts.
ahead_and_behind="$(${(z)ahead_and_behind_cmd} 2> /dev/null)" ahead_and_behind="$(${(z)ahead_and_behind_cmd} 2> /dev/null)"
@ -276,7 +276,7 @@ function git-info {
if [[ -n "$indexed_format" ]]; then if [[ -n "$indexed_format" ]]; then
(( ((
indexed+=$( indexed+=$(
git diff-index \ command git diff-index \
--no-ext-diff \ --no-ext-diff \
--name-only \ --name-only \
--cached \ --cached \
@ -296,7 +296,7 @@ function git-info {
if [[ -n "$unindexed_format" ]]; then if [[ -n "$unindexed_format" ]]; then
(( ((
unindexed+=$( unindexed+=$(
git diff-files \ command git diff-files \
--no-ext-diff \ --no-ext-diff \
--name-only \ --name-only \
--ignore-submodules=${ignore_submodules:-none} \ --ignore-submodules=${ignore_submodules:-none} \
@ -314,7 +314,7 @@ function git-info {
if [[ -n "$untracked_format" ]]; then if [[ -n "$untracked_format" ]]; then
(( ((
untracked+=$( untracked+=$(
git ls-files \ command git ls-files \
--other \ --other \
--exclude-standard \ --exclude-standard \
2> /dev/null \ 2> /dev/null \
@ -329,7 +329,7 @@ function git-info {
(( dirty = indexed + unindexed + untracked )) (( dirty = indexed + unindexed + untracked ))
else else
# Use porcelain status for easy parsing. # 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. # Get current status.
while IFS=$'\n' read line; do while IFS=$'\n' read line; do
@ -348,13 +348,13 @@ function git-info {
# Format added. # Format added.
if (( added > 0 )); then if (( added > 0 )); then
zstyle -s ':prezto:module:git:info:added' format 'added_format' 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 fi
# Format deleted. # Format deleted.
if (( deleted > 0 )); then if (( deleted > 0 )); then
zstyle -s ':prezto:module:git:info:deleted' format 'deleted_format' 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 fi
# Format modified. # Format modified.

View File

@ -5,7 +5,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # 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 if [[ -n "$root" ]]; then
print "$root" print "$root"

View File

@ -5,7 +5,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # 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 print "$0: not a repository work tree: $PWD" >&2
return 1 return 1
fi fi
@ -13,10 +13,10 @@ fi
local stashed local stashed
if [[ -f "$(git-dir)/refs/stash" ]]; then 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 (( $stashed > 0 )); then
if read -q "?Clear $stashed stashed state(s) [y/N]? "; then if read -q "?Clear $stashed stashed state(s) [y/N]? "; then
git stash clear command git stash clear
fi fi
fi fi
fi fi

View File

@ -5,15 +5,15 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # 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 print "$0: not a repository work tree: $PWD" >&2
return 1 return 1
fi fi
git fsck --unreachable 2> /dev/null \ command git fsck --unreachable 2> /dev/null \
| grep 'commit' \ | grep 'commit' \
| awk '{print $3}' \ | awk '{print $3}' \
| git log \ | command git log \
--pretty=format:${_git_log_oneline_format} \ --pretty=format:${_git_log_oneline_format} \
--extended-regexp \ --extended-regexp \
--grep="${1:-(WIP )?[Oo]n [^:]+:}" \ --grep="${1:-(WIP )?[Oo]n [^:]+:}" \

View File

@ -5,7 +5,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # 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 print "$0: not a repository work tree: $PWD" >&2
return 1 return 1
fi fi
@ -13,7 +13,7 @@ fi
local commit local commit
for commit in "$@"; do for commit in "$@"; do
git update-ref \ command git update-ref \
-m "$(git log -1 --pretty="format:%s" "$commit")" refs/stash "$commit" -m "$(command git log -1 --pretty="format:%s" "$commit")" refs/stash "$commit"
done done

View File

@ -5,7 +5,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # 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 print "$0: not a repository work tree: $PWD" >&2
return 1 return 1
elif [[ "$PWD" != "$(git-root)" ]]; then elif [[ "$PWD" != "$(git-root)" ]]; then
@ -17,7 +17,7 @@ local src="$1"
local dst="$2" local dst="$2"
local url 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 if [[ -z "$url" ]]; then
print "$0: submodule not found: $src" >&2 print "$0: submodule not found: $src" >&2
@ -27,7 +27,7 @@ fi
mkdir -p "${dst:h}" mkdir -p "${dst:h}"
git-submodule-remove "$src" git-submodule-remove "$src"
git submodule add "$url" "$dst" command git submodule add "$url" "$dst"
return 0 return 0

View File

@ -5,22 +5,22 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # 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 print "$0: not a repository work tree: $PWD" >&2
return 1 return 1
elif [[ "$PWD" != "$(git-root)" ]]; then elif [[ "$PWD" != "$(git-root)" ]]; then
print "$0: must be run from the root of the work tree" >&2 print "$0: must be run from the root of the work tree" >&2
return 1 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 print "$0: submodule not found: $1" >&2
return 1 return 1
fi fi
git config --file "$(git-dir)/config" --remove-section "submodule.${1}" &>/dev/null command git config --file "$(git-dir)/config" --remove-section "submodule.${1}" &>/dev/null
git config --file "$(git-root)/.gitmodules" --remove-section "submodule.${1}" &>/dev/null command git config --file "$(git-root)/.gitmodules" --remove-section "submodule.${1}" &>/dev/null
git add .gitmodules command git add .gitmodules
git rm --cached -rf "${1}" command git rm --cached -rf "${1}"
rm -rf "${1}" rm -rf "${1}"
rm -rf "$(git-dir)/modules/${1}" rm -rf "$(git-dir)/modules/${1}"

15
modules/git/hub.zsh Normal file
View 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

View File

@ -15,4 +15,5 @@ pmodload 'helper'
# Source module files. # Source module files.
source "${0:h}/alias.zsh" source "${0:h}/alias.zsh"
source "${0:h}/hub.zsh"

View File

@ -15,11 +15,14 @@ _gpg_agent_conf="$HOME/.gnupg/gpg-agent.conf"
_gpg_agent_env="${TMPDIR:-/tmp}/gpg-agent.env" _gpg_agent_env="${TMPDIR:-/tmp}/gpg-agent.env"
# Start gpg-agent if not started. # Start gpg-agent if not started.
if ! ps -U "$USER" -o ucomm | grep -q gpg-agent; then if [[ -z "$GPG_AGENT_INFO" ]]; then
eval "$(gpg-agent --daemon | tee "$_gpg_agent_env")"
else
# Export environment variables. # Export environment variables.
source "$_gpg_agent_env" 2> /dev/null 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 fi
# Inform gpg-agent of the current TTY for user prompts. # Inform gpg-agent of the current TTY for user prompts.

View File

@ -5,6 +5,11 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # Sorin Ionescu <sorin.ionescu@gmail.com>
# #
# TODO: Make the sections easier to use. if [[ -z "$BROWSER" ]]; then
open "http://nodejs.org/docs/$(node --version | sed 's/-.*//')/api/all.html#${1}" 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}"

View File

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

View File

@ -1,15 +1,15 @@
Ocaml OCaml
===== =====
Initializes [Ocaml][1] package management. Initializes [OCaml][1] package management.
OPAM OPAM
---- ----
[OPAM][2] is a package manager for Ocaml. [OPAM][2] is a package manager for OCaml.
This module enables local package installation with OPAM by extending the This module enables local package installation with OPAM by extending the
relevant path and Ocaml variables. relevant path and OCaml variables.
### Usage ### Usage

View File

@ -1,5 +1,5 @@
# #
# Initializes Ocaml package management. # Initializes OCaml package management.
# #
# Authors: # Authors:
# Sebastian Wiesner <lunaryorn@gmail.com> # Sebastian Wiesner <lunaryorn@gmail.com>

View File

@ -9,17 +9,20 @@ Aliases
- `cdf` changes the current working director to the current _Finder_ - `cdf` changes the current working director to the current _Finder_
directory. directory.
- `pushdf` pushes the current working directory onto the directory queue and - `pushdf` pushes the current working directory onto the directory queue and
- `ql` quick looks at files. changes the current working director to the current _Finder_ directory.
- `rm-osx-cruft` deletes .DS\_Store, \_\_MACOSX cruft.
Functions Functions
--------- ---------
- `manb` opens _man_ pages in [_Bwana.app_][2]. - `mand` opens _man_ pages in [_Dash.app_][2].
- `manp` opens _man_ pages in _Preview.app_. - `manp` opens _man_ pages in _Preview.app_.
- `pfd` prints the current _Finder_ directory. - `pfd` prints the current _Finder_ directory.
- `pfs` prints the current _Finder_ selection. - `pfs` prints the current _Finder_ selection.
- `tab` creates a new tab (works in both _Terminal_ and [_iTerm_][3]). - `tab` creates a new tab (works in both _Terminal_ and [_iTerm_][3]).
- `ql` previews files in Quick Look.
- `osx-rm-dir-metadata` deletes .DS\_Store, \_\_MACOSX cruft.
- `osx-ls-download-history` displays the Mac OS X download history.
- `osx-rm-download-history` deletes the Mac OS X download history.
Authors Authors
------- -------
@ -29,7 +32,6 @@ Authors
- [Sorin Ionescu](https://github.com/sorin-ionescu) - [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: http://www.apple.com/macosx/ [1]: http://www.apple.com/macosx/
[2]: http://bruji.com/bwana/ [2]: http://kapeli.com/dash
[3]: http://www.iterm2.com/ [3]: http://www.iterm2.com/
[4]: https://github.com/sorin-ionescu/prezto/issues [4]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -1,8 +1,8 @@
#compdef manb manp #compdef mand manp
#autoload #autoload
# #
# Completes manb and manp. # Completes mand and manp.
# #
# Authors: # Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com> # Sorin Ionescu <sorin.ionescu@gmail.com>

View File

@ -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 "$@"

View 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 "$@"

View 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

View 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

View 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

View File

@ -7,7 +7,6 @@
osascript 2>/dev/null <<EOF osascript 2>/dev/null <<EOF
tell application "Finder" 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 end tell
EOF EOF

View File

@ -5,14 +5,11 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # Sorin Ionescu <sorin.ionescu@gmail.com>
# #
osascript 2>/dev/null <<EOF osascript 2>&1 <<EOF
set output to ""
tell application "Finder" to set the_selection to selection tell application "Finder" to set the_selection to selection
set item_count to count the_selection if the_selection is not {}
repeat with item_index from 1 to count the_selection repeat with an_item in the_selection
if item_index is less than item_count then set the_delimiter to "\n" log POSIX path of (an_item as text)
if item_index is item_count then set the_delimiter to "" end repeat
set output to output & ((item item_index of the_selection as alias)'s POSIX path) & the_delimiter end if
end repeat
EOF EOF

10
modules/osx/functions/ql Normal file
View 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

View File

@ -14,26 +14,8 @@ fi
# Aliases # Aliases
# #
# Change directory to the current Finder directory. # Changes directory to the current Finder directory.
alias cdf='cd "$(pfd)"' alias cdf='cd "$(pfd)"'
# Push directory to the current Finder directory. # Pushes directory to the current Finder directory.
alias pushdf='pushd "$(pfd)"' alias pushdf='pushd "$(pfd)"'
#
# Functions
#
# Open files in Quick Look.
function ql {
(( $# > 0 )) && qlmanage -p "$@" &> /dev/null
}
# Delete .DS_Store and __MACOSX directories.
function rm-osx-cruft {
find "${@:-$PWD}" \( \
-type f -name '.DS_Store' -o \
-type d -name '__MACOSX' \
\) -print0 | xargs -0 rm -rf
}

View File

@ -28,6 +28,7 @@ if (( $+commands[$_pacman_frontend] )); then
source "${0:h}/${_pacman_frontend}.zsh" source "${0:h}/${_pacman_frontend}.zsh"
fi fi
else else
_pacman_frontend='pacman'
_pacman_sudo='sudo ' _pacman_sudo='sudo '
fi fi
@ -36,7 +37,7 @@ fi
# #
# Pacman. # Pacman.
alias pac= "${_pacman_frontend}" alias pac="${_pacman_frontend}"
# Installs packages from repositories. # Installs packages from repositories.
alias paci="${_pacman_sudo}${_pacman_frontend} --sync" alias paci="${_pacman_sudo}${_pacman_frontend} --sync"

View File

@ -18,7 +18,7 @@ function prompt_sorin_pwd {
_prompt_sorin_pwd="$MATCH" _prompt_sorin_pwd="$MATCH"
unset MATCH unset MATCH
else else
_prompt_sorin_pwd="${${${(@j:/:M)${(@s:/:)pwd}##.#?}:h}%/}/${pwd:t}" _prompt_sorin_pwd="${${${${(@j:/:M)${(@s:/:)pwd}##.#?}:h}%/}//\%/%%}/${${pwd:t}//\%/%%}"
fi fi
} }

View File

@ -16,9 +16,12 @@ elif (( $+commands[pyenv] )); then
eval "$(pyenv init -)" eval "$(pyenv init -)"
# Prepend PEP 370 per user site packages directory, which defaults to # Prepend PEP 370 per user site packages directory, which defaults to
# ~/Library/Python on Mac OS X and ~/.local elsewhere, to PATH. # ~/Library/Python on Mac OS X and ~/.local elsewhere, to PATH. The
# path can be overridden using PYTHONUSERBASE.
else else
if [[ "$OSTYPE" == darwin* ]]; then if [[ -n "$PYTHONUSERBASE" ]]; then
path=($PYTHONUSERBASE/bin $path)
elif [[ "$OSTYPE" == darwin* ]]; then
path=($HOME/Library/Python/*/bin(N) $path) path=($HOME/Library/Python/*/bin(N) $path)
else else
# This is subject to change. # This is subject to change.

View File

@ -8,7 +8,7 @@ Local Gem Installation
---------------------- ----------------------
When a Ruby version manager is not detected, local gems are installed in 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 RVM
--- ---
@ -20,15 +20,33 @@ home directory.
Since RVM is loaded into the shell and is known to override shell commands, it Since RVM is loaded into the shell and is known to override shell commands, it
may conflict with shell scripts. 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 rbenv
----- -----
An alternative RVM is to use [rbenv][3], which allows for switching between multiple, An alternative RVM is to use [rbenv][3], which allows for switching between
isolated Ruby installations in the home directory. 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 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. 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 Bundler
------- -------
@ -87,4 +105,4 @@ Authors
[3]: https://github.com/sstephenson/rbenv [3]: https://github.com/sstephenson/rbenv
[4]: http://gembundler.com [4]: http://gembundler.com
[5]: https://github.com/sorin-ionescu/prezto/issues [5]: https://github.com/sorin-ionescu/prezto/issues
[6]: https://github.com/postmodern/chruby

View File

@ -18,6 +18,8 @@ if (( $+commands[rvm-prompt] )); then
version="$(rvm-prompt)" version="$(rvm-prompt)"
elif (( $+commands[rbenv] )); then elif (( $+commands[rbenv] )); then
version="$(rbenv version-name)" version="$(rbenv version-name)"
elif (( $+commands[ruby] )); then
version="${${$(ruby --version)[(w)1,(w)2]}/ /-}"
fi fi
# Format version. # Format version.

View File

@ -23,6 +23,13 @@ elif [[ -s "$HOME/.rbenv/bin/rbenv" ]]; then
elif (( $+commands[rbenv] )); then elif (( $+commands[rbenv] )); then
eval "$(rbenv init - --no-rehash zsh)" eval "$(rbenv init - --no-rehash zsh)"
# 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. # Prepend local gems bin directories to PATH.
else else
path=($HOME/.gem/ruby/*/bin(N) $path) path=($HOME/.gem/ruby/*/bin(N) $path)

View File

@ -15,7 +15,7 @@ fi
# Auto Start # Auto Start
# #
if [[ -z "$STY" ]] && ( \ if [[ -z "$STY" && -z "$EMACS" && -z "$VIM" ]] && ( \
( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' remote ) || ( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' remote ) ||
( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' local ) \ ( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' local ) \
); then ); then

View File

@ -3,7 +3,7 @@ Spectrum
Provides for easier use of 256 colors and effects. 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 Variables
--------- ---------
@ -87,6 +87,6 @@ Authors
- [P.C. Shyamshankar](https://github.com/sykora) - [P.C. Shyamshankar](https://github.com/sykora)
- [Sorin Ionescu](https://github.com/sorin-ionescu) - [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 [2]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -25,7 +25,7 @@ if [[ ! -S "$SSH_AUTH_SOCK" ]]; then
source "$_ssh_agent_env" 2> /dev/null source "$_ssh_agent_env" 2> /dev/null
# Start ssh-agent if not started. # Start ssh-agent if not started.
if ! ps -U "$USER" -o pid,ucomm | grep -q "${SSH_AGENT_PID} ssh-agent"; then 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")" eval "$(ssh-agent | sed '/^echo /d' | tee "$_ssh_agent_env")"
fi fi
fi fi

View File

@ -27,7 +27,7 @@ To enable highlighting for this module only, add the following line to
### Highlighters ### Highlighters
Syntax highlighting is accomplished by pluggable [highlighters][2]. This module 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*: To enable all highlighters, add the following to *zpreztorc*:

View File

@ -20,12 +20,15 @@ following line to *zpreztorc*:
zstyle ':prezto:module:tmux:auto-start' remote 'yes' zstyle ':prezto:module:tmux:auto-start' remote 'yes'
In both cases, it will create a background session named _#Prezto_ and attach In both cases, it will create a background session named _prezto_ if the tmux
every new shell to it. server is not started.
To avoid keeping open sessions, this module sets `destroy-unattached off` on With `auto-start` enabled, you may want to control how multiple sessions are
the background session and `destroy-unattached on` on every other session managed. The `destroy-unattached` option of tmux controls if the unattached
(global setting). sessions must be kept alive, making sessions available for later use, configured
in *tmux.conf*:
set-option -g destroy-unattached [on | off]
Aliases Aliases
------- -------
@ -41,7 +44,7 @@ connected** to be displayed, which can be fixed by installing
[reattach-to-user-namespace][3], available in [Homebrew][4], and adding the [reattach-to-user-namespace][3], available in [Homebrew][4], and adding the
following to *tmux.conf*: following to *tmux.conf*:
set-option -g default-command "reattach-to-user-namespace -l $SHELL -l" set-option -g default-command "reattach-to-user-namespace -l $SHELL -l"
Furthermore, tmux is known to cause **kernel panics** on Mac OS X. A discussion Furthermore, tmux is known to cause **kernel panics** on Mac OS X. A discussion
about this and Prezto has already been [opened][2]. about this and Prezto has already been [opened][2].
@ -54,6 +57,7 @@ Authors
- [Sorin Ionescu](https://github.com/sorin-ionescu) - [Sorin Ionescu](https://github.com/sorin-ionescu)
- [Colin Hebert](https://github.com/ColinHebert) - [Colin Hebert](https://github.com/ColinHebert)
- [Georges Discry](https://github.com/gdiscry) - [Georges Discry](https://github.com/gdiscry)
- [Xavier Cambar](https://github.com/xcambar)
[1]: http://tmux.sourceforge.net [1]: http://tmux.sourceforge.net
[2]: https://github.com/sorin-ionescu/prezto/issues/62 [2]: https://github.com/sorin-ionescu/prezto/issues/62

View File

@ -5,6 +5,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # Sorin Ionescu <sorin.ionescu@gmail.com>
# Colin Hebert <hebert.colin@gmail.com> # Colin Hebert <hebert.colin@gmail.com>
# Georges Discry <georges@discry.be> # Georges Discry <georges@discry.be>
# Xavier Cambar <xcambar@gmail.com>
# #
# Return if requirements are not found. # Return if requirements are not found.
@ -16,31 +17,22 @@ fi
# Auto Start # Auto Start
# #
if [[ -z "$TMUX" ]] && ( \ if [[ -z "$TMUX" && -z "$EMACS" && -z "$VIM" ]] && ( \
( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' remote ) || ( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' remote ) ||
( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' local ) \ ( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' local ) \
); then ); then
tmux_session='#Prezto' tmux start-server
if ! tmux has-session -t "$tmux_session" 2> /dev/null; then # Create a 'prezto' session if no session has been defined in tmux.conf.
# Ensure that tmux server is started. if ! tmux has-session 2> /dev/null; then
tmux start-server tmux_session='prezto'
tmux \
# Disable the destruction of unattached sessions globally. new-session -d -s "$tmux_session" \; \
tmux set-option -g destroy-unattached off &> /dev/null set-option -t "$tmux_session" 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
fi fi
exec tmux new-session -t "$tmux_session" # Attach to the 'prezto' session or to the last session used.
exec tmux attach-session
fi fi
# #

View File

@ -50,6 +50,7 @@ Aliases
### Disabled File Globbing ### Disabled File Globbing
- `bower`
- `fc` - `fc`
- `find` - `find`
- `ftp` - `ftp`

View File

@ -10,7 +10,7 @@ function diff {
if (( $+commands[colordiff] )); then if (( $+commands[colordiff] )); then
command diff --unified "$@" | colordiff --difftype diffu command diff --unified "$@" | colordiff --difftype diffu
elif (( $+commands[git] )); then 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 else
command diff --unified "$@" command diff --unified "$@"
fi fi

View File

@ -17,7 +17,7 @@ function wdiff {
"$@" \ "$@" \
| sed 's/^\(@@\( [+-][[:digit:]]*,[[:digit:]]*\)\{2\} @@\)$/;5;6m\10m/g' | sed 's/^\(@@\( [+-][[:digit:]]*,[[:digit:]]*\)\{2\} @@\)$/;5;6m\10m/g'
elif (( $+commands[git] )); then 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 else
command wdiff "$@" command wdiff "$@"
fi fi

View File

@ -34,6 +34,7 @@ alias mysql='nocorrect mysql'
alias rm='nocorrect rm' alias rm='nocorrect rm'
# Disable globbing. # Disable globbing.
alias bower='noglob bower'
alias fc='noglob fc' alias fc='noglob fc'
alias find='noglob find' alias find='noglob find'
alias ftp='noglob ftp' alias ftp='noglob ftp'
@ -65,9 +66,9 @@ if is-callable 'dircolors'; then
if zstyle -t ':prezto:module:utility:ls' color; then if zstyle -t ':prezto:module:utility:ls' color; then
if [[ -s "$HOME/.dir_colors" ]]; then if [[ -s "$HOME/.dir_colors" ]]; then
eval "$(dircolors "$HOME/.dir_colors")" eval "$(dircolors --sh "$HOME/.dir_colors")"
else else
eval "$(dircolors)" eval "$(dircolors --sh)"
fi fi
alias ls="$aliases[ls] --color=auto" alias ls="$aliases[ls] --color=auto"

View File

@ -87,6 +87,13 @@ zstyle ':prezto:module:editor' key-bindings 'emacs'
# Auto set to 'off' on dumb terminals. # Auto set to 'off' on dumb terminals.
zstyle ':prezto:module:prompt' theme 'sorin' zstyle ':prezto:module:prompt' theme 'sorin'
#
# Ruby
#
# Auto switch the Ruby version on directory change.
# zstyle ':prezto:module:ruby:chruby' auto-switch 'yes'
# #
# Screen # Screen
# #
@ -145,4 +152,3 @@ zstyle ':prezto:module:prompt' theme 'sorin'
# Auto start a session when Zsh is launched in a SSH connection. # Auto start a session when Zsh is launched in a SSH connection.
# zstyle ':prezto:module:tmux:auto-start' remote 'yes' # zstyle ':prezto:module:tmux:auto-start' remote 'yes'