1
0
mirror of https://github.com/dcarrillo/prezto.git synced 2025-07-02 00:29: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
22 changed files with 64 additions and 65 deletions

View File

@ -8,8 +8,8 @@ and prompt themes.
Installation Installation
------------ ------------
Prezto will work with any recent release of Zsh, but the minimum required Prezto will work with any recent release of Zsh, but the minimum recommended
version is 4.3.17. version is 4.3.11.
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.17' min_zsh_version='4.3.11'
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 x -ad "$1" \ && unrar e -ad "$1" \
|| rar x -ad "$1" ;; || rar e -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,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:*: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,7 +49,8 @@ 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`. *overwrite*, to `$PROMPT` or `$RPROMPT` and call `editor-info` in the
`prompt_name_preexec` hook function.
Authors Authors
------- -------

View File

@ -57,22 +57,11 @@ key_info=(
'BackTab' "$terminfo[kcbt]" 'BackTab' "$terminfo[kcbt]"
) )
# Escape sequences from Debian's inputrc.
key_info+=(
'ControlLeft' '\e[1;5D \e[5D \e\e[D \eOd'
'ControlRight' '\e[1;5C \e[5C \e\e[C \eOc'
)
# if [[ "$TERM" == rxvt* ]]; then
# key_info[ControlLeft]+=' \eOd'
# key_info[ControlRight]+=' \eOc'
# fi
# Set empty $key_info values to an invalid UTF-8 sequence to induce silent # Set empty $key_info values to an invalid UTF-8 sequence to induce silent
# 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
@ -217,10 +206,10 @@ bindkey -d
# Emacs Key Bindings # Emacs Key Bindings
# #
for key in "$key_info[Escape]"{B,b} "${(s: :)key_info[ControlLeft]}" for key ("$key_info[Escape]"{B,b}) bindkey -M emacs "$key" emacs-backward-word
bindkey -M emacs "$key" emacs-backward-word for key ("$key_info[Escape]"{F,f}) bindkey -M emacs "$key" emacs-forward-word
for key in "$key_info[Escape]"{F,f} "${(s: :)key_info[ControlRight]}" bindkey -M emacs "$key_info[Escape]$key_info[Left]" emacs-backward-word
bindkey -M emacs "$key" emacs-forward-word bindkey -M emacs "$key_info[Escape]$key_info[Right]" emacs-forward-word
# Kill to the beginning of the line. # Kill to the beginning of the line.
for key in "$key_info[Escape]"{K,k} for key in "$key_info[Escape]"{K,k}

View File

@ -15,14 +15,11 @@ _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 [[ -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. # 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,11 +5,6 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # 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. # 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}" version="${$(nvm_version)#v}"
fi fi
if [[ "$version" == (none|) ]]; then if [[ -n "$version" ]]; 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

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

@ -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 [A Guide to 256 Color Codes][1]. To learn more about text formatting, read [That 256 Color Thing][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/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 [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:--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")" 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
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*: 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' zstyle ':prezto:module:tmux:auto-start' remote 'yes'
In both cases, it will create a background session named _prezto_ if the tmux In both cases the tmux server will be started and a background session
server is not started. 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 By default every shell shares a set of windows but has an independent
managed. The `destroy-unattached` option of tmux controls if the unattached view. Detaching from one of these sessions removes the view but the
sessions must be kept alive, making sessions available for later use, configured open windows persist. This is accomplished by setting the
in *tmux.conf*: `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 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. # Create a 'prezto' session if no session has been defined in tmux.conf.
if ! tmux has-session 2> /dev/null; then if ! tmux has-session 2> /dev/null; then
tmux_session='prezto'
tmux \ tmux \
new-session -d -s "$tmux_session" \; \ new-session -d -s prezto \; \
set-option -t "$tmux_session" destroy-unattached off &> /dev/null set-option -t prezto destroy-unattached off &> /dev/null
else
tmux_session
fi fi
# Attach to the 'prezto' session or to the last session used. if zstyle -t ':prezto:module:tmux:auto-start' mode shared; then
exec tmux attach-session # 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 fi
# #

View File

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