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

Compare commits

..

1 Commits

Author SHA1 Message Date
5e6adf89b9 make tmux module have optional attach behavior
This commit reverts the tmux module back to the original behavior but
doesn't set `destroy-unattached` to on `on` globally and provides an
option for attaching to the background or last-used session.
2014-04-19 01:24:45 -04:00
41 changed files with 115 additions and 121 deletions

View File

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

View File

@ -10,7 +10,7 @@
#
# Check for the minimum supported version.
min_zsh_version='4.3.17'
min_zsh_version='4.3.11'
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

View File

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

View File

@ -54,8 +54,8 @@ while (( $# > 0 )); do
(*.Z) uncompress "$1" ;;
(*.zip) unzip "$1" -d $extract_dir ;;
(*.rar) unrar &> /dev/null \
&& unrar x -ad "$1" \
|| rar x -ad "$1" ;;
&& unrar e -ad "$1" \
|| rar e -ad "$1" ;;
(*.7z) 7za x "$1" ;;
(*.deb)
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'
# Kill
zstyle ':completion:*:*:*:*:processes' command 'ps -u $USER -o pid,user,command -w'
zstyle ':completion:*:*:*:*:processes' command 'ps -u $USER -o pid,user,comm -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

View File

@ -49,7 +49,8 @@ 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`.
*overwrite*, to `$PROMPT` or `$RPROMPT` and call `editor-info` in the
`prompt_name_preexec` hook function.
Authors
-------

View File

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

View File

@ -8,7 +8,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
if ! is-true "$(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=($(command git config --get-regexp 'remote.*.url' | cut -d. -f2))
remotes=($(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=($(
command git ls-remote --heads --tags "$remote" 2>/dev/null | cut -f2
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 command git ls-files -z --exclude-standard 2>/dev/null)"})
files=(${(0)"$(_call_program files git ls-files -z --exclude-standard 2>/dev/null)"})
_wanted file expl 'file' _multi_parts - / files && ret=0
;;
esac

View File

@ -8,7 +8,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
return 1
fi

View File

@ -8,7 +8,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
if ! is-true "$(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 < <(
command git config --file "$(git-root)/.gitmodules" --list \
git config --file "$(git-root)/.gitmodules" --list \
| grep '.path=' \
| cut -d= -f2-
)

View File

@ -8,7 +8,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
if ! is-true "$(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 < <(
command git config --file "$(git-root)/.gitmodules" --list \
git config --file "$(git-root)/.gitmodules" --list \
| grep '.path=' \
| cut -d= -f2-
)

View File

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

View File

@ -5,15 +5,15 @@
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
print "$0: not a repository work tree: $PWD" >&2
return 1
fi
command git fsck 2> /dev/null \
git fsck 2> /dev/null \
| grep "^dangling commit" \
| awk '{print $3}' \
| command git log \
| git log \
--date-order \
--no-walk \
--stdin \

View File

@ -5,7 +5,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
local git_dir="${$(command git rev-parse --git-dir):A}"
local git_dir="${$(git rev-parse --git-dir):A}"
if [[ -n "$git_dir" ]]; then
print "$git_dir"

View File

@ -5,7 +5,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
if ! is-true "$(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=($(command git config --get-regexp 'remote.*.url' | cut -d. -f2))
remotes=($(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=$(
command git config --get "remote.${remote}.url" \
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
${$(command git ls-remote --heads --tags "$remote" | awk '{print $2}')##refs/(heads|tags)/}
${$(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="$(command git rev-parse HEAD 2>/dev/null)"
reference="$(git rev-parse HEAD 2>/dev/null)"
fi
file="$3"

View File

@ -164,15 +164,15 @@ function git-info {
typeset -gA git_info
# Return if not inside a Git repository work tree.
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
return 1
fi
if (( $# > 0 )); then
if [[ "$1" == [Oo][Nn] ]]; then
command git config --bool prompt.showinfo true
git config --bool prompt.showinfo true
elif [[ "$1" == [Oo][Ff][Ff] ]]; then
command git config --bool prompt.showinfo false
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 "${$(command git config --bool prompt.showinfo):-true}"; then
if ! is-true "${$(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="$(command git rev-parse HEAD 2> /dev/null)"
commit="$(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="$(command git stash list 2> /dev/null | wc -l | awk '{print $1}')"
stashed="$(git stash list 2> /dev/null | wc -l | awk '{print $1}')"
if [[ -n "$stashed" ]]; then
zformat -f stashed_formatted "$stashed_format" "S:$stashed"
fi
@ -215,7 +215,7 @@ function git-info {
fi
# Get the branch.
branch="${$(command git symbolic-ref HEAD 2> /dev/null)#refs/heads/}"
branch="${$(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="$(command git describe --contains --all HEAD 2> /dev/null)"
position="$(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='command git rev-parse --symbolic-full-name --verify HEAD@{upstream}'
remote_cmd='git rev-parse --symbolic-full-name --verify HEAD@{upstream}'
remote="${$(${(z)remote_cmd} 2> /dev/null)##refs/remotes/}"
if [[ -n "$remote" ]]; then
zformat -f remote_formatted "$remote_format" "R:$remote"
@ -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='command git rev-list --count --left-right HEAD...@{upstream}'
ahead_and_behind_cmd='git rev-list --count --left-right HEAD...@{upstream}'
# Get ahead and behind counts.
ahead_and_behind="$(${(z)ahead_and_behind_cmd} 2> /dev/null)"
@ -276,7 +276,7 @@ function git-info {
if [[ -n "$indexed_format" ]]; then
((
indexed+=$(
command git diff-index \
git diff-index \
--no-ext-diff \
--name-only \
--cached \
@ -296,7 +296,7 @@ function git-info {
if [[ -n "$unindexed_format" ]]; then
((
unindexed+=$(
command git diff-files \
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+=$(
command git ls-files \
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="command git status --porcelain --ignore-submodules=${ignore_submodules:-none}"
status_cmd="git status --porcelain --ignore-submodules=${ignore_submodules:-none}"
# Get current status.
while IFS=$'\n' read line; do

View File

@ -5,7 +5,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
local root="$(command git rev-parse --show-toplevel 2> /dev/null)"
local root="$(git rev-parse --show-toplevel 2> /dev/null)"
if [[ -n "$root" ]]; then
print "$root"

View File

@ -5,7 +5,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
if ! is-true "$(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="$(command git stash list 2> /dev/null | wc -l | awk '{print $1}')"
stashed="$(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
command git stash clear
git stash clear
fi
fi
fi

View File

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

View File

@ -5,7 +5,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
if ! is-true "$(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
command git update-ref \
-m "$(command git log -1 --pretty="format:%s" "$commit")" refs/stash "$commit"
git update-ref \
-m "$(git log -1 --pretty="format:%s" "$commit")" refs/stash "$commit"
done

View File

@ -5,7 +5,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
if ! is-true "$(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="$(command git config --file "$(git-root)/.gitmodules" --get "submodule.${src}.url")"
url="$(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"
command git submodule add "$url" "$dst"
git submodule add "$url" "$dst"
return 0

View File

@ -5,22 +5,22 @@
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
if ! is-true "$(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 ! command git config --file .gitmodules --get "submodule.${1}.path" &>/dev/null; then
elif ! git config --file .gitmodules --get "submodule.${1}.path" &>/dev/null; then
print "$0: submodule not found: $1" >&2
return 1
fi
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 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 rm --cached -rf "${1}"
git rm --cached -rf "${1}"
rm -rf "${1}"
rm -rf "$(git-dir)/modules/${1}"

View File

@ -1,15 +0,0 @@
#
# 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,5 +15,4 @@ pmodload 'helper'
# Source module files.
source "${0:h}/alias.zsh"
source "${0:h}/hub.zsh"

View File

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

View File

@ -5,11 +5,6 @@
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
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}"
open "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}"
fi
if [[ "$version" == (none|) ]]; then
if [[ -n "$version" ]]; then
zstyle -s ':prezto:module:node:info:version' format 'version_format'
zformat -f version_formatted "$version_format" "v:$version"
node_info[version]="$version_formatted"

View File

@ -1,15 +1,15 @@
OCaml
Ocaml
=====
Initializes [OCaml][1] package management.
Initializes [Ocaml][1] package management.
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
relevant path and OCaml variables.
relevant path and Ocaml variables.
### Usage

View File

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

View File

@ -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
}

View File

@ -3,7 +3,7 @@ Spectrum
Provides for easier use of 256 colors and effects.
To learn more about text formatting, read [A Guide to 256 Color Codes][1].
To learn more about text formatting, read [That 256 Color Thing][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/writing/archives/a-guide-to-256-color-codes/
[1]: http://lucentbeing.com/blog/that-256-color-thing/
[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
# Start ssh-agent if not started.
if ! ps -U "$USER" -o pid,ucomm | grep -q -- "${SSH_AGENT_PID:--1} ssh-agent"; then
if ! ps -U "$USER" -o pid,ucomm | grep -q "${SSH_AGENT_PID} ssh-agent"; then
eval "$(ssh-agent | sed '/^echo /d' | tee "$_ssh_agent_env")"
fi
fi

View File

@ -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
only enables the *main* highlighter by default.
enables the *main*, *brackets*, and *cursor* highlighters by default.
To enable all highlighters, add the following to *zpreztorc*:

View File

@ -20,15 +20,25 @@ following line to *zpreztorc*:
zstyle ':prezto:module:tmux:auto-start' remote 'yes'
In both cases, it will create a background session named _prezto_ if the tmux
server is not started.
In both cases the tmux server will be started and a background session
named _prezto_ will be created if a session doesn't already exist.
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*:
By default every shell shares a set of windows but has an independent
view. Detaching from one of these sessions removes the view but the
open windows persist. This is accomplished by setting the
`destroy-unattached` option to `on` for each session.
Some users prefer that all new shells share the same session so that
the view for each shell is in sync. This useful for advanced users
that create multiple sessions and want to manually navigate between
them. To accomplish this behavior set the `mode` option to `shared` in
*zpreztorc*,
zstyle ':prezto:module:tmux:auto-start' mode shared
You can customize the background session by creating a new session in
your `.tmux.conf` file.
set-option -g destroy-unattached [on | off]
Aliases
-------

View File

@ -25,14 +25,21 @@ if [[ -z "$TMUX" && -z "$EMACS" && -z "$VIM" ]] && ( \
# 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
new-session -d -s prezto \; \
set-option -t prezto destroy-unattached off &> /dev/null
else
tmux_session
fi
# Attach to the 'prezto' session or to the last session used.
exec tmux attach-session
if zstyle -t ':prezto:module:tmux:auto-start' mode shared; then
# Attach to the 'prezto' session or to the last session used.
exec tmux attach
else
# Find a session to share windows with.
tmux_session=`tmux list-sessions -F '#S' | head -n 1`
exec tmux new-session -t "$tmux_session"\; set-option destroy-unattached on
fi
fi
#

View File

@ -10,7 +10,7 @@ function diff {
if (( $+commands[colordiff] )); then
command diff --unified "$@" | colordiff --difftype diffu
elif (( $+commands[git] )); then
command git --no-pager diff --color=auto --no-ext-diff --no-index "$@"
git --no-pager diff --color=auto --no-ext-diff --no-index "$@"
else
command diff --unified "$@"
fi

View File

@ -17,7 +17,7 @@ function wdiff {
"$@" \
| sed 's/^\(@@\( [+-][[:digit:]]*,[[:digit:]]*\)\{2\} @@\)$/;5;6m\10m/g'
elif (( $+commands[git] )); then
command git --no-pager diff --color=auto --no-ext-diff --no-index --color-words "$@"
git --no-pager diff --color=auto --no-ext-diff --no-index --color-words "$@"
else
command wdiff "$@"
fi

View File

@ -66,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 --sh "$HOME/.dir_colors")"
eval "$(dircolors "$HOME/.dir_colors")"
else
eval "$(dircolors --sh)"
eval "$(dircolors)"
fi
alias ls="$aliases[ls] --color=auto"