mirror of
https://github.com/dcarrillo/prezto.git
synced 2025-07-01 10:29:25 +00:00
Compare commits
1 Commits
pull/552-g
...
issue/231-
Author | SHA1 | Date | |
---|---|---|---|
d541eef923 |
@ -9,7 +9,8 @@ Installation
|
||||
------------
|
||||
|
||||
Prezto will work with any recent release of Zsh, but the minimum recommended
|
||||
version is 4.3.11.
|
||||
version is 4.3.11. Unfortunately, [Cygwin][9] is not supported due to
|
||||
non-standard core utilities.
|
||||
|
||||
1. Launch Zsh:
|
||||
|
||||
@ -36,7 +37,7 @@ version is 4.3.11.
|
||||
### Troubleshooting
|
||||
|
||||
If you are not able to find certain commands after switching to *Prezto*,
|
||||
modify the `PATH` variable in *~/.zprofile* then open a new Zsh terminal
|
||||
modify the `PATH` variable in *~/.zshenv* then open a new Zsh terminal
|
||||
window or tab.
|
||||
|
||||
Updating
|
||||
@ -85,8 +86,7 @@ License
|
||||
|
||||
(The MIT License)
|
||||
|
||||
Copyright (c) 2009-2011 Robby Russell and contributors.
|
||||
Copyright (c) 2011-2014 Sorin Ionescu and contributors.
|
||||
Copyright (c) 2009-2014 Sorin Ionescu and contributors.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
@ -114,4 +114,5 @@ SOFTWARE.
|
||||
[6]: http://gitref.org
|
||||
[7]: http://www.bash2zsh.com/zsh_refcard/refcard.pdf
|
||||
[8]: http://grml.org/zsh/zsh-lovers.html
|
||||
[9]: http://www.cygwin.com
|
||||
|
||||
|
2
init.zsh
2
init.zsh
@ -25,7 +25,7 @@ unset min_zsh_version
|
||||
function pmodload {
|
||||
local -a pmodules
|
||||
local pmodule
|
||||
local pfunction_glob='^([_.]*|prompt_*_setup|README*)(-.N:t)'
|
||||
local pfunction_glob='^([_.]*|prompt_*_setup|README*)(.N:t)'
|
||||
|
||||
# $argv is overridden in the anonymous function.
|
||||
pmodules=("$argv[@]")
|
||||
|
@ -107,39 +107,30 @@ function editor-info {
|
||||
}
|
||||
zle -N editor-info
|
||||
|
||||
# Updates editor information when the keymap changes.
|
||||
function zle-keymap-select {
|
||||
# Ensures that $terminfo values are valid and updates editor information when
|
||||
# the keymap changes.
|
||||
function zle-keymap-select zle-line-init zle-line-finish {
|
||||
# The terminal must be in application mode when ZLE is active for $terminfo
|
||||
# values to be valid.
|
||||
if (( $+terminfo[smkx] && $+terminfo[rmkx] )); then
|
||||
case "$0" in
|
||||
(zle-line-init)
|
||||
# Enable terminal application mode.
|
||||
echoti smkx
|
||||
;;
|
||||
(zle-line-finish)
|
||||
# Disable terminal application mode.
|
||||
echoti rmkx
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Update editor information.
|
||||
zle editor-info
|
||||
}
|
||||
zle -N zle-keymap-select
|
||||
|
||||
# Enables terminal application mode and updates editor information.
|
||||
function zle-line-init {
|
||||
# The terminal must be in application mode when ZLE is active for $terminfo
|
||||
# values to be valid.
|
||||
if (( $+terminfo[smkx] )); then
|
||||
# Enable terminal application mode.
|
||||
echoti smkx
|
||||
fi
|
||||
|
||||
# Update editor information.
|
||||
zle editor-info
|
||||
}
|
||||
zle -N zle-line-init
|
||||
|
||||
# Disables terminal application mode and updates editor information.
|
||||
function zle-line-finish {
|
||||
# The terminal must be in application mode when ZLE is active for $terminfo
|
||||
# values to be valid.
|
||||
if (( $+terminfo[rmkx] )); then
|
||||
# Disable terminal application mode.
|
||||
echoti rmkx
|
||||
fi
|
||||
|
||||
# Update editor information.
|
||||
zle editor-info
|
||||
}
|
||||
zle -N zle-line-finish
|
||||
zle -N zle-line-init
|
||||
|
||||
# Toggles emacs overwrite mode and updates editor information.
|
||||
function overwrite-mode {
|
||||
|
@ -5,11 +5,8 @@
|
||||
# Completes git-hub-shorten-url.
|
||||
#
|
||||
# Authors:
|
||||
# Joel Kuzmarski <leoj3n@gmail.com>
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
_arguments \
|
||||
'1:url:' \
|
||||
'2:slug:' && return 0
|
||||
_arguments '1:url:' && return 0
|
||||
|
||||
|
@ -2,29 +2,21 @@
|
||||
# Shortens GitHub URLs.
|
||||
#
|
||||
# Authors:
|
||||
# Joel Kuzmarski <leoj3n@gmail.com>
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
local url="$1"
|
||||
|
||||
if [[ -z "$url" ]]; then
|
||||
print "usage: $0 [ url | - ] [slug]" >&2
|
||||
return 1
|
||||
elif [[ "$url" == '-' ]]; then
|
||||
if [[ "$url" == '-' ]]; then
|
||||
read url <&0
|
||||
elif [[ "$url" != *github.com* ]]; then
|
||||
url="https://github.com/$url"
|
||||
fi
|
||||
|
||||
if [[ -z "$url" ]]; then
|
||||
print "usage: $0 [ url | - ]" >&2
|
||||
fi
|
||||
|
||||
if (( $+commands[curl] )); then
|
||||
local result="$(curl -s -i 'http://git.io' -F "url=$url" -F "code=$2")"
|
||||
|
||||
if [[ $result == *Unprocessable* ]]; then
|
||||
print "$0: the slug '$2' is already taken!" >&2
|
||||
else
|
||||
print $result | grep 'Location:' | sed 's/Location: //'
|
||||
fi
|
||||
curl -s -i 'http://git.io' -F "url=$url" | grep 'Location:' | sed 's/Location: //'
|
||||
else
|
||||
print "$0: command not found: curl" >&2
|
||||
fi
|
||||
|
@ -12,7 +12,7 @@ fi
|
||||
|
||||
# Set the default paths to gpg-agent files.
|
||||
_gpg_agent_conf="$HOME/.gnupg/gpg-agent.conf"
|
||||
_gpg_agent_env="${TMPDIR:-/tmp}/gpg-agent.env"
|
||||
_gpg_agent_env="$TMPDIR/gpg-agent.env"
|
||||
|
||||
# Start gpg-agent if not started.
|
||||
if ! ps -U "$USER" -o ucomm | grep -q gpg-agent; then
|
||||
|
@ -6,7 +6,7 @@
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
local tmp="${TMPDIR:-/tmp}/pacman-disowned-$UID-$$"
|
||||
local tmp="$TMPDIR/pacman-disowned-$UID-$$"
|
||||
local db="$tmp/db"
|
||||
local fs="$tmp/fs"
|
||||
|
||||
|
@ -27,9 +27,6 @@ if (( $+commands[$_pacman_frontend] )); then
|
||||
if [[ -s "${0:h}/${_pacman_frontend}.zsh" ]]; then
|
||||
source "${0:h}/${_pacman_frontend}.zsh"
|
||||
fi
|
||||
else
|
||||
_pacman_frontend='pacman'
|
||||
_pacman_sudo='sudo '
|
||||
fi
|
||||
|
||||
#
|
||||
@ -37,49 +34,49 @@ fi
|
||||
#
|
||||
|
||||
# Pacman.
|
||||
alias pac="${_pacman_frontend}"
|
||||
alias pac='pacman'
|
||||
|
||||
# Installs packages from repositories.
|
||||
alias paci="${_pacman_sudo}${_pacman_frontend} --sync"
|
||||
alias paci='sudo pacman --sync'
|
||||
|
||||
# Installs packages from files.
|
||||
alias pacI="${_pacman_sudo}${_pacman_frontend} --upgrade"
|
||||
alias pacI='sudo pacman --upgrade'
|
||||
|
||||
# Removes packages and unneeded dependencies.
|
||||
alias pacx="${_pacman_sudo}${_pacman_frontend} --remove"
|
||||
alias pacx='sudo pacman --remove'
|
||||
|
||||
# Removes packages, their configuration, and unneeded dependencies.
|
||||
alias pacX="${_pacman_sudo}${_pacman_frontend} --remove --nosave --recursive"
|
||||
alias pacX='sudo pacman --remove --nosave --recursive'
|
||||
|
||||
# Displays information about a package from the repositories.
|
||||
alias pacq="${_pacman_frontend} --sync --info"
|
||||
alias pacq='pacman --sync --info'
|
||||
|
||||
# Displays information about a package from the local database.
|
||||
alias pacQ="${_pacman_frontend} --query --info"
|
||||
alias pacQ='pacman --query --info'
|
||||
|
||||
# Searches for packages in the repositories.
|
||||
alias pacs="${_pacman_frontend} --sync --search"
|
||||
alias pacs='pacman --sync --search'
|
||||
|
||||
# Searches for packages in the local database.
|
||||
alias pacS="${_pacman_frontend} --query --search"
|
||||
alias pacS='pacman --query --search'
|
||||
|
||||
# Lists orphan packages.
|
||||
alias pacman-list-orphans="${_pacman_sudo}${_pacman_frontend} --query --deps --unrequired"
|
||||
alias pacman-list-orphans='sudo pacman --query --deps --unrequired'
|
||||
|
||||
# Removes orphan packages.
|
||||
alias pacman-remove-orphans="${_pacman_sudo}${_pacman_frontend} --remove --recursive \$(${_pacman_frontend} --quiet --query --deps --unrequired)"
|
||||
alias pacman-remove-orphans='sudo pacman --remove --recursive $(pacman --quiet --query --deps --unrequired)'
|
||||
|
||||
# Synchronizes the local package and Arch Build System databases against the
|
||||
# repositories.
|
||||
if (( $+commands[abs] )); then
|
||||
alias pacu="${_pacman_sudo}${_pacman_frontend} --sync --refresh && ${_pacman_sudo}abs"
|
||||
alias pacu='sudo pacman --sync --refresh && sudo abs'
|
||||
else
|
||||
alias pacu="${_pacman_sudo}${_pacman_frontend} --sync --refresh"
|
||||
alias pacu='sudo pacman --sync --refresh'
|
||||
fi
|
||||
|
||||
# Synchronizes the local package database against the repositories then
|
||||
# upgrades outdated packages.
|
||||
alias pacU="${_pacman_sudo}${_pacman_frontend} --sync --refresh --sysupgrade"
|
||||
alias pacU='sudo pacman --sync --refresh --sysupgrade'
|
||||
|
||||
unset _pacman_{frontend,sudo}
|
||||
unset _pacman_frontend
|
||||
|
||||
|
@ -11,9 +11,9 @@
|
||||
|
||||
# Disable color.
|
||||
if ! zstyle -t ':prezto:module:pacman:yaourt' color; then
|
||||
alias pacman='yaourt --nocolor'
|
||||
alias pacman='pacman --nocolor'
|
||||
fi
|
||||
|
||||
# Manages .pac* files.
|
||||
alias pacc='yaourt -C'
|
||||
alias pacc='pacman -C'
|
||||
|
||||
|
@ -43,14 +43,14 @@ alias rb='ruby'
|
||||
# Bundler
|
||||
if (( $+commands[bundle] )); then
|
||||
alias rbb='bundle'
|
||||
alias rbbe='bundle exec'
|
||||
alias rbbi='bundle install --path vendor/bundle'
|
||||
alias rbbl='bundle list'
|
||||
alias rbbo='bundle open'
|
||||
alias rbbp='bundle package'
|
||||
alias rbbu='bundle update'
|
||||
alias rbbe='rbb exec'
|
||||
alias rbbi='rbb install'
|
||||
alias rbbl='rbb list'
|
||||
alias rbbo='rbb open'
|
||||
alias rbbp='rbb package'
|
||||
alias rbbu='rbb update'
|
||||
alias rbbI='rbbi \
|
||||
&& bundle package \
|
||||
&& rbb package \
|
||||
&& print .bundle >>! .gitignore \
|
||||
&& print vendor/assets >>! .gitignore \
|
||||
&& print vendor/bundle >>! .gitignore \
|
||||
|
@ -14,10 +14,10 @@ fi
|
||||
_ssh_dir="$HOME/.ssh"
|
||||
|
||||
# Set the path to the environment file if not set by another module.
|
||||
_ssh_agent_env="${_ssh_agent_env:-${TMPDIR:-/tmp}/ssh-agent.env}"
|
||||
_ssh_agent_env="${_ssh_agent_env:-$TMPDIR/ssh-agent.env}"
|
||||
|
||||
# Set the path to the persistent authentication socket.
|
||||
_ssh_agent_sock="${TMPDIR:-/tmp}/ssh-agent.sock"
|
||||
_ssh_agent_sock="$TMPDIR/ssh-agent.sock"
|
||||
|
||||
# Start ssh-agent if not started.
|
||||
if [[ ! -S "$SSH_AUTH_SOCK" ]]; then
|
||||
|
@ -6,7 +6,7 @@
|
||||
#
|
||||
|
||||
# Return if requirements are not found.
|
||||
if [[ "$TERM" == (dumb|linux|*bsd*) ]]; then
|
||||
if [[ "$TERM" == 'dumb' ]]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
@ -104,10 +104,6 @@ alias sl='ls' # I often screw this up.
|
||||
# Mac OS X Everywhere
|
||||
if [[ "$OSTYPE" == darwin* ]]; then
|
||||
alias o='open'
|
||||
elif [[ "$OSTYPE" == cygwin* ]]; then
|
||||
alias o='cygstart'
|
||||
alias pbcopy='tee > /dev/clipboard'
|
||||
alias pbpaste='cat /dev/clipboard'
|
||||
else
|
||||
alias o='xdg-open'
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
#
|
||||
|
||||
# Ensure that a non-login, non-interactive shell has a defined environment.
|
||||
if [[ "$SHLVL" -eq 1 && ! -o LOGIN && -s "${ZDOTDIR:-$HOME}/.zprofile" ]]; then
|
||||
if [[ "$SHLVL" -eq 1 && ! -o LOGIN ]]; then
|
||||
source "${ZDOTDIR:-$HOME}/.zprofile"
|
||||
fi
|
||||
|
||||
|
57
tools/go.sh
Normal file
57
tools/go.sh
Normal file
@ -0,0 +1,57 @@
|
||||
#!/bin/sh
|
||||
|
||||
clear
|
||||
echo ""
|
||||
|
||||
hash zsh 2>/dev/null || {
|
||||
echo "\033[0;31mFailed : ZSH is missing\033[0m"
|
||||
echo " ➥ Prezto does not work without ZSH. Install it first."
|
||||
echo ""
|
||||
exit
|
||||
}
|
||||
|
||||
if [ -d ~/.zprezto ]
|
||||
then
|
||||
echo "\033[0;33mYou already have prezto installed.\033[0m Upgrading..."
|
||||
cd ~/.zprezto
|
||||
# git pull && git submodule update --init --recursive
|
||||
/usr/bin/env git add .
|
||||
/usr/bin/env git commit --all --message "Commit changes before upgrade" --quiet
|
||||
/usr/bin/env git pull --recurse-submodules
|
||||
/usr/bin/env git submodule update
|
||||
exit
|
||||
fi
|
||||
|
||||
echo "\033[0;34mCloning prezto...\033[0m"
|
||||
hash git >/dev/null && /usr/bin/env git clone --recursive https://github.com/loranger/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" >/dev/null 2>&1 || {
|
||||
echo "\033[0;31mFailed : Git is not installed\033[0m"
|
||||
os=`uname`
|
||||
if [ "$os" == 'Linux' ]; then
|
||||
url='http://git-scm.com/download/linux'
|
||||
elif [ "$os" == 'Darwin' ]; then
|
||||
url='http://brew.sh/'
|
||||
else
|
||||
url='http://git-scm.com/'
|
||||
fi
|
||||
|
||||
echo " ➥ You should really take a look at $url"
|
||||
exit
|
||||
}
|
||||
|
||||
for file in $HOME/.zprezto/runcoms/z*
|
||||
do
|
||||
rcfile=`basename $file`
|
||||
if [ -f $HOME/.$rcfile ] || [ -h $HOME/.$rcfile ]
|
||||
then
|
||||
echo "\033[0;33mFound ~/.$rcfile file.\033[0m \033[0;32mMoved to ~/.$rcfile.old\033[0m";
|
||||
mv $HOME/.$rcfile $HOME/.$rcfile.old;
|
||||
fi
|
||||
ln -s $file $HOME/.$rcfile
|
||||
done
|
||||
|
||||
echo "\033[0;32mPrezto is ready\033[0m"
|
||||
|
||||
echo "\033[0;34mNow set zsh as your default shell by typing :\033[0m"
|
||||
echo "chsh -s $(which zsh)"
|
||||
echo "\033[0;34mand start a new term.\033[0m"
|
||||
# https://raw2.github.com/loranger/prezto/master/go.sh
|
97
tools/install.zsh
Executable file
97
tools/install.zsh
Executable file
@ -0,0 +1,97 @@
|
||||
#!/bin/zsh
|
||||
|
||||
script_name="${0:t}"
|
||||
script_version='1.0.0'
|
||||
cached_argv="${argv}"
|
||||
backup_dir="$HOME/.prezto-backup/$(date +'%Y-%m-%d-%H-%M-%S')"
|
||||
|
||||
# Writes to standard error.
|
||||
function print-error {
|
||||
print "${script_name}: ${@}" >&2
|
||||
}
|
||||
|
||||
# Writes to standard output.
|
||||
function print-info {
|
||||
print "${@}" >&1
|
||||
}
|
||||
|
||||
# Writes version information to standard errror.
|
||||
function version {
|
||||
print "${script_name} ${script_version}
|
||||
|
||||
Copyright (c) 2013 Sorin Ionescu
|
||||
|
||||
This program is free software. You may modify or distribute it
|
||||
under the terms of the MIT License." >&2
|
||||
}
|
||||
|
||||
# Writes help to standard error.
|
||||
function help {
|
||||
print "Usage: ${script_name} [‐option ...] archive [directory]
|
||||
|
||||
Options:
|
||||
-v, --version Display version and copyright
|
||||
-h, --help Display this help
|
||||
|
||||
Report bugs to <sorin.ionescu@gmail.com>." >&2
|
||||
}
|
||||
|
||||
# Backs up existing files.
|
||||
function backup {
|
||||
local from="$1"
|
||||
local to="$2"
|
||||
|
||||
if [[ ! -e "$from" ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
mkdir -p "$to:h"
|
||||
mv "$from" "$to"
|
||||
}
|
||||
|
||||
# Parse switches.
|
||||
while [[ "${1}" == -* ]]; do
|
||||
case "${1}" in
|
||||
( -v | --version )
|
||||
version
|
||||
exit 0
|
||||
;;
|
||||
( -h | --help )
|
||||
help
|
||||
exit 0
|
||||
;;
|
||||
( -- )
|
||||
shift
|
||||
break
|
||||
;;
|
||||
( -* )
|
||||
print-error "invalid option: ${1}"
|
||||
help
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
|
||||
setopt EXTENDED_GLOB
|
||||
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
|
||||
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
|
||||
done
|
||||
chsh -s /bin/zsh
|
||||
|
||||
is-true "$use_color" && printf "$FG[green]"
|
||||
printf '%s' \
|
||||
'________ _____
|
||||
___ __ \___________________ /______
|
||||
__ /_/ /_ ___/ _ \__ /_ __/ __ \
|
||||
_ ____/_ / / __/_ /_/ /_ / /_/ /
|
||||
/_/ /_/ \___/_____/\__/ \____/
|
||||
'
|
||||
is-true "$use_color" && printf "$FG[cyan]"
|
||||
print
|
||||
print 'Prezto has been updated to the latest version.'
|
||||
print 'Follow me on GitHub at https://github.com/sorin-ionescu/prezto.'
|
||||
|
||||
exec zsh
|
||||
|
||||
|
1
tools/uninstall.zsh
Executable file
1
tools/uninstall.zsh
Executable file
@ -0,0 +1 @@
|
||||
#!/bin/zsh
|
Reference in New Issue
Block a user