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

Compare commits

..

3 Commits

Author SHA1 Message Date
9852150123 except SunOS only 2014-03-02 00:11:26 +01:00
a8c872671c Replace RE with glob expressions 2014-03-01 21:13:31 +01:00
0ff0ece5e2 completion:**:users ignored-patterns more robust
Calculates ignored users at runtime by extracting them from
passwd database and considering all users with UID < 100
(on Solaris systems) or UID < 500 (everywhere else).

By my timings, this doesn't make it any noticably slower.
2014-03-01 02:32:23 +01:00
31 changed files with 69 additions and 259 deletions

3
.gitmodules vendored
View File

@ -7,6 +7,3 @@
[submodule "modules/completion/external"]
path = modules/completion/external
url = https://github.com/zsh-users/zsh-completions.git
[submodule "modules/zaw/external"]
path = modules/zaw/external
url = git://github.com/zsh-users/zaw.git

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
---
@ -193,8 +193,3 @@ Yum
Defines yum aliases.
Zaw
---
Integrates zaw into Prezto.

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

@ -99,14 +99,13 @@ zstyle -e ':completion:*:hosts' hosts 'reply=(
)'
# Don't complete uninteresting users...
zstyle ':completion:*:*:*:users' ignored-patterns \
adm amanda apache avahi beaglidx bin cacti canna clamav daemon \
dbus distcache dovecot fax ftp games gdm gkrellmd gopher \
hacluster haldaemon halt hsqldb ident junkbust ldap lp mail \
mailman mailnull mldonkey mysql nagios \
named netdump news nfsnobody nobody nscd ntp nut nx openvpn \
operator pcap postfix postgres privoxy pulse pvm quagga radvd \
rpc rpcuser rpm shutdown squid sshd sync uucp vcsa xfs '_*'
zstyle ':completion:*:*:*:users' ignored-patterns nobody nobody4 noaccess '_*' \
$([[ "$OSTYPE" = SunOS ]] && uid_min=100 || uid_min=500
IFS=:
while read -r user pass uid remainder; do
[[ "$user" != (\#*|root) ]] && ((uid < uid_min)) && echo $user
done </etc/passwd
)
# ... unless we really want to.
zstyle '*' single-ignored show
@ -116,7 +115,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

@ -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"
zformat -f added_formatted "$added_format" "a:$added_format"
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"
zformat -f deleted_formatted "$deleted_format" "d:$deleted_format"
fi
# Format modified.

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

@ -72,7 +72,7 @@ alias pacman-remove-orphans="${_pacman_sudo}${_pacman_frontend} --remove --recur
# Synchronizes the local package and Arch Build System databases against the
# repositories.
if (( $+commands[abs] )); then
alias pacu="${_pacman_sudo}${_pacman_frontend} --sync --refresh && sudo abs"
alias pacu="${_pacman_sudo}${_pacman_frontend} --sync --refresh && ${_pacman_sudo}abs"
else
alias pacu="${_pacman_sudo}${_pacman_frontend} --sync --refresh"
fi

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

@ -16,12 +16,9 @@ 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. The
# path can be overridden using PYTHONUSERBASE.
# ~/Library/Python on Mac OS X and ~/.local elsewhere, to PATH.
else
if [[ -n "$PYTHONUSERBASE" ]]; then
path=($PYTHONUSERBASE/bin $path)
elif [[ "$OSTYPE" == darwin* ]]; then
if [[ "$OSTYPE" == darwin* ]]; then
path=($HOME/Library/Python/*/bin(N) $path)
else
# This is subject to change.

View File

@ -15,7 +15,7 @@ fi
# Auto Start
#
if [[ -z "$STY" && -z "$EMACS" && -z "$VIM" ]] && ( \
if [[ -z "$STY" && ( -z "$INSIDE_EMACS" || -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

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,12 @@ 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, it will create a background session named _#Prezto_ and attach
every new shell to it.
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]
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).
Aliases
-------
@ -44,7 +41,7 @@ connected** to be displayed, which can be fixed by installing
[reattach-to-user-namespace][3], available in [Homebrew][4], and adding the
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
about this and Prezto has already been [opened][2].
@ -57,7 +54,6 @@ 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

View File

@ -5,7 +5,6 @@
# 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.
@ -17,22 +16,31 @@ fi
# Auto Start
#
if [[ -z "$TMUX" && -z "$EMACS" && -z "$VIM" ]] && ( \
if [[ -z "$TMUX" && ( -z "$INSIDE_EMACS" || -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 start-server
tmux_session='prezto'
# 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
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
fi
# Attach to the 'prezto' session or to the last session used.
exec tmux attach-session
exec tmux new-session -t "$tmux_session"
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"

View File

@ -1,77 +0,0 @@
Zaw
===
Loads and configures Zaw from the [zaw][1] project.
Contributors
------------
New features and bug fixes should be submitted to the [zaw][1] project according
to its rules and regulations. This module will be synchronized against it.
Settings
--------
### Case Sensitivity
To enable case-sensitivity for this module only, add the following line to
*zpreztorc*:
zstyle ':prezto:module:zaw' case-sensitive 'yes'
### Highlighting
If colors are enabled, *zaw* will automatically highlight positive results.
To enable highlighting for this module only, add the following line to
*zpreztorc*:
zstyle ':prezto:module:zaw' color 'yes'
To change the error color, add the following line to *zpreztorc*:
zstyle ':prezto:module:zaw:color' error 'bg=red,fg=white'
To change the marked item color, add the following line to *zpreztorc*:
zstyle ':prezto:module:zaw:color' marked 'bg=blue,fg=white'
To change the matched item color, add the following line to *zpreztorc*:
zstyle ':prezto:module:zaw:color' matched 'bg=magenta,fg=white'
To change the selected item color, add the following line to *zpreztorc*:
zstyle ':prezto:module:zaw:color' selected 'standout'
To change the list title color, add the following line to *zpreztorc*:
zstyle ':prezto:module:zaw:color' title 'fg=yellow'
# Search
To set the maximum number of items, add the following line to *zpreztorc*:
zstyle ':prezto:module:zaw' max-lines 15
To rotate to the other side of the list when the cursor reaches the top or the
bottom, add the following line to *zpreztorc*:
zstyle ':filter-select' rotate-list 'yes'
To use extended search operators, add the following line to *zpreztorc*:
zstyle ':prezto:module:zaw' extended-search 'yes'
More details can be found in the [zaw][1] project's README.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][2].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://github.com/zsh-users/zaw
[2]: https://github.com/sorin-ionescu/prezto/issues

View File

@ -1,69 +0,0 @@
#
# Integrates zaw into Prezto.
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
# Load dependencies.
pmodload 'editor'
# Source module files.
source "${0:h}/external/zaw.zsh" || return 1
#
# Highlighting
#
zstyle -s ':prezto:module:zaw:color' error 'REPLY' || REPLY='bg=red,fg=white'
zstyle ':filter-select:highlight' error "$REPLY"
zstyle -s ':prezto:module:zaw:color' marked 'REPLY' || REPLY='bg=blue,fg=white'
zstyle ':filter-select:highlight' marked "$REPLY"
zstyle -s ':prezto:module:zaw:color' matched 'REPLY' || REPLY='bg=magenta,fg=white'
zstyle ':filter-select:highlight' matched "$REPLY"
zstyle -s ':prezto:module:zaw:color' selected 'REPLY' || REPLY='standout'
zstyle ':filter-select:highlight' selected "$REPLY"
zstyle -s ':prezto:module:zaw:color' title 'REPLY' || REPLY='fg=yellow'
zstyle ':filter-select:highlight' title "$REPLY"
if ! zstyle -t ':prezto:module:zaw' color; then
for style in error marked matched selected title; do
zstyle -d ':filter-select:highlight' "$style"
done
fi
#
# Search
#
zstyle -s ':prezto:module:zaw' max-lines 'REPLY' || REPLY=0
zstyle ':filter-select' max-lines "$REPLY"
zstyle -b ':filter-select' rotate-list 'REPLY' || REPLY='no'
zstyle ':filter-select' rotate-list "$REPLY"
zstyle -b ':prezto:module:zaw' extended-search 'REPLY' || REPLY='no'
zstyle ':filter-select' extended-search "$REPLY"
if ! zstyle -t ':prezto:module:zaw' case-sensitive; then
zstyle ':filter-select' case-insensitive 'yes'
fi
#
# Key Bindings
#
if [[ -n "$key_info" ]]; then
# Emacs
bindkey -M emacs "$key_info[Control]R" zaw-history
bindkey -M emacs "$key_info[Control]S" zaw-history
# Vi
bindkey -M vicmd "/" zaw-history
bindkey -M vicmd "?" zaw-history
fi

View File

@ -153,31 +153,3 @@ zstyle ':prezto:module:prompt' theme 'sorin'
# Auto start a session when Zsh is launched in a SSH connection.
# zstyle ':prezto:module:tmux:auto-start' remote 'yes'
#
# Zaw
#
# Set the error color.
# zstyle ':prezto:module:zaw:color' error 'bg=red,fg=white'
# Set the marked item color.
# zstyle ':prezto:module:zaw:color' marked 'bg=blue,fg=white'
# Set the matched item color.
# zstyle ':prezto:module:zaw:color' matched 'bg=magenta,fg=white'
# Set the selected item color.
# zstyle ':prezto:module:zaw:color' selected 'standout'
# Set the list title color.
# zstyle ':prezto:module:zaw:color' title 'fg=yellow'
# Set the maximum number of items.
# zstyle ':prezto:module:zaw' max-lines 15
# Set list cursor rotation.
# zstyle ':filter-select' rotate-list 'yes'
# Enable extended search operators.
# zstyle ':prezto:module:zaw' extended-search 'yes'