1
0
mirror of https://github.com/dcarrillo/prezto.git synced 2025-07-01 18:39:26 +00:00

Compare commits

..

14 Commits

Author SHA1 Message Date
36e24eeb08 git-hub-shorten-url: Slug support 2014-02-20 13:03:18 -06: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
c091f71283 [Fix #522] Do not load the terminal module in non-graphical terminals 2014-01-09 20:07:40 -05:00
e1974ad58d [Fix #516] Define ZLE functions separately 2014-01-09 19:58:14 -05:00
391bc405d0 Revert "Warn that Cygwin is not supported"
This reverts commit b1abe7a845.
2014-01-04 17:30:38 -05:00
80ded5e33d Revert "Remove utility aliases for Cygwin"
This reverts commit d368d0536b.
2014-01-04 17:30:37 -05:00
fa6723a5ee Don't use sudo if implicitly called by Pacman frontend
Don't rely on alias expansion to handle Pacman because aliases
are not expanded in sudo.

Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-01-04 17:30:37 -05:00
57b283facd [Fix #514] Use /tmp when $TMPDIR is undefined 2014-01-03 14:20:32 -05:00
aefdce3fc3 Fix README.md: PATH was moved from .zshenv to .zprofile 2014-01-03 13:41:05 -05:00
e4e4f89c9f [Fix #523] Ensure zprofile exists before sourcing it 2014-01-03 13:37:36 -05:00
817dd3aa3a Allow functions in a module to be symlinks
Add the '-' flag to the function glob which makes the other flag test
against the target of the symlink, and not the symlink itself.

When using rcm (https://github.com/thoughtbot/rcm), the function files
are symlinked by default, but the current glob excludes them by
targeting normal files (with the '.' flag).

Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-01-03 13:30:55 -05:00
347928193f Update copyright 2013-12-08 01:34:27 -05:00
da1a837cd4 Refactor Bundler aliases 2013-11-30 19:25:11 -05:00
17 changed files with 85 additions and 214 deletions

View File

@ -9,8 +9,7 @@ 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 recommended
version is 4.3.11. Unfortunately, [Cygwin][9] is not supported due to version is 4.3.11.
non-standard core utilities.
1. Launch Zsh: 1. Launch Zsh:
@ -37,7 +36,7 @@ non-standard core utilities.
### Troubleshooting ### Troubleshooting
If you are not able to find certain commands after switching to *Prezto*, If you are not able to find certain commands after switching to *Prezto*,
modify the `PATH` variable in *~/.zshenv* then open a new Zsh terminal modify the `PATH` variable in *~/.zprofile* then open a new Zsh terminal
window or tab. window or tab.
Updating Updating
@ -86,7 +85,8 @@ License
(The MIT License) (The MIT License)
Copyright (c) 2009-2014 Sorin Ionescu and contributors. Copyright (c) 2009-2011 Robby Russell and contributors.
Copyright (c) 2011-2014 Sorin Ionescu and contributors.
Permission is hereby granted, free of charge, to any person obtaining a copy of 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 this software and associated documentation files (the "Software"), to deal in
@ -114,5 +114,4 @@ SOFTWARE.
[6]: http://gitref.org [6]: http://gitref.org
[7]: http://www.bash2zsh.com/zsh_refcard/refcard.pdf [7]: http://www.bash2zsh.com/zsh_refcard/refcard.pdf
[8]: http://grml.org/zsh/zsh-lovers.html [8]: http://grml.org/zsh/zsh-lovers.html
[9]: http://www.cygwin.com

View File

@ -25,7 +25,7 @@ unset min_zsh_version
function pmodload { function pmodload {
local -a pmodules local -a pmodules
local pmodule 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. # $argv is overridden in the anonymous function.
pmodules=("$argv[@]") pmodules=("$argv[@]")

View File

@ -107,31 +107,40 @@ function editor-info {
} }
zle -N editor-info zle -N editor-info
# Ensures that $terminfo values are valid and updates editor information when # Updates editor information when the keymap changes.
# the keymap changes. function zle-keymap-select {
function zle-keymap-select zle-line-init zle-line-finish { 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 # The terminal must be in application mode when ZLE is active for $terminfo
# values to be valid. # values to be valid.
if (( $+terminfo[smkx] && $+terminfo[rmkx] )); then if (( $+terminfo[smkx] )); then
case "$0" in # Enable terminal application mode.
(zle-line-init) echoti smkx
# Enable terminal application mode.
echoti smkx
;;
(zle-line-finish)
# Disable terminal application mode.
echoti rmkx
;;
esac
fi fi
# Update editor information. # Update editor information.
zle editor-info zle editor-info
} }
zle -N zle-keymap-select
zle -N zle-line-finish
zle -N zle-line-init 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
# Toggles emacs overwrite mode and updates editor information. # Toggles emacs overwrite mode and updates editor information.
function overwrite-mode { function overwrite-mode {
zle .overwrite-mode zle .overwrite-mode

View File

@ -5,8 +5,11 @@
# Completes git-hub-shorten-url. # Completes git-hub-shorten-url.
# #
# Authors: # Authors:
# Joel Kuzmarski <leoj3n@gmail.com>
# Sorin Ionescu <sorin.ionescu@gmail.com> # Sorin Ionescu <sorin.ionescu@gmail.com>
# #
_arguments '1:url:' && return 0 _arguments \
'1:url:' \
'2:slug:' && return 0

View File

@ -2,21 +2,29 @@
# Shortens GitHub URLs. # Shortens GitHub URLs.
# #
# Authors: # Authors:
# Joel Kuzmarski <leoj3n@gmail.com>
# Sorin Ionescu <sorin.ionescu@gmail.com> # Sorin Ionescu <sorin.ionescu@gmail.com>
# #
local url="$1" local url="$1"
if [[ "$url" == '-' ]]; then
read url <&0
fi
if [[ -z "$url" ]]; then if [[ -z "$url" ]]; then
print "usage: $0 [ url | - ]" >&2 print "usage: $0 [ url | - ] [slug]" >&2
return 1
elif [[ "$url" == '-' ]]; then
read url <&0
elif [[ "$url" != *github.com* ]]; then
url="https://github.com/$url"
fi fi
if (( $+commands[curl] )); then if (( $+commands[curl] )); then
curl -s -i 'http://git.io' -F "url=$url" | grep 'Location:' | sed 's/Location: //' 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
else else
print "$0: command not found: curl" >&2 print "$0: command not found: curl" >&2
fi fi

View File

@ -12,7 +12,7 @@ fi
# Set the default paths to gpg-agent files. # Set the default paths to gpg-agent files.
_gpg_agent_conf="$HOME/.gnupg/gpg-agent.conf" _gpg_agent_conf="$HOME/.gnupg/gpg-agent.conf"
_gpg_agent_env="$TMPDIR/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 ! ps -U "$USER" -o ucomm | grep -q gpg-agent; then

View File

@ -6,7 +6,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # Sorin Ionescu <sorin.ionescu@gmail.com>
# #
local tmp="$TMPDIR/pacman-disowned-$UID-$$" local tmp="${TMPDIR:-/tmp}/pacman-disowned-$UID-$$"
local db="$tmp/db" local db="$tmp/db"
local fs="$tmp/fs" local fs="$tmp/fs"

View File

@ -27,6 +27,9 @@ if (( $+commands[$_pacman_frontend] )); then
if [[ -s "${0:h}/${_pacman_frontend}.zsh" ]]; then if [[ -s "${0:h}/${_pacman_frontend}.zsh" ]]; then
source "${0:h}/${_pacman_frontend}.zsh" source "${0:h}/${_pacman_frontend}.zsh"
fi fi
else
_pacman_frontend='pacman'
_pacman_sudo='sudo '
fi fi
# #
@ -34,49 +37,49 @@ fi
# #
# Pacman. # Pacman.
alias pac='pacman' alias pac="${_pacman_frontend}"
# Installs packages from repositories. # Installs packages from repositories.
alias paci='sudo pacman --sync' alias paci="${_pacman_sudo}${_pacman_frontend} --sync"
# Installs packages from files. # Installs packages from files.
alias pacI='sudo pacman --upgrade' alias pacI="${_pacman_sudo}${_pacman_frontend} --upgrade"
# Removes packages and unneeded dependencies. # Removes packages and unneeded dependencies.
alias pacx='sudo pacman --remove' alias pacx="${_pacman_sudo}${_pacman_frontend} --remove"
# Removes packages, their configuration, and unneeded dependencies. # Removes packages, their configuration, and unneeded dependencies.
alias pacX='sudo pacman --remove --nosave --recursive' alias pacX="${_pacman_sudo}${_pacman_frontend} --remove --nosave --recursive"
# Displays information about a package from the repositories. # Displays information about a package from the repositories.
alias pacq='pacman --sync --info' alias pacq="${_pacman_frontend} --sync --info"
# Displays information about a package from the local database. # Displays information about a package from the local database.
alias pacQ='pacman --query --info' alias pacQ="${_pacman_frontend} --query --info"
# Searches for packages in the repositories. # Searches for packages in the repositories.
alias pacs='pacman --sync --search' alias pacs="${_pacman_frontend} --sync --search"
# Searches for packages in the local database. # Searches for packages in the local database.
alias pacS='pacman --query --search' alias pacS="${_pacman_frontend} --query --search"
# Lists orphan packages. # Lists orphan packages.
alias pacman-list-orphans='sudo pacman --query --deps --unrequired' alias pacman-list-orphans="${_pacman_sudo}${_pacman_frontend} --query --deps --unrequired"
# Removes orphan packages. # Removes orphan packages.
alias pacman-remove-orphans='sudo pacman --remove --recursive $(pacman --quiet --query --deps --unrequired)' alias pacman-remove-orphans="${_pacman_sudo}${_pacman_frontend} --remove --recursive \$(${_pacman_frontend} --quiet --query --deps --unrequired)"
# Synchronizes the local package and Arch Build System databases against the # Synchronizes the local package and Arch Build System databases against the
# repositories. # repositories.
if (( $+commands[abs] )); then if (( $+commands[abs] )); then
alias pacu='sudo pacman --sync --refresh && sudo abs' alias pacu="${_pacman_sudo}${_pacman_frontend} --sync --refresh && ${_pacman_sudo}abs"
else else
alias pacu='sudo pacman --sync --refresh' alias pacu="${_pacman_sudo}${_pacman_frontend} --sync --refresh"
fi fi
# Synchronizes the local package database against the repositories then # Synchronizes the local package database against the repositories then
# upgrades outdated packages. # upgrades outdated packages.
alias pacU='sudo pacman --sync --refresh --sysupgrade' alias pacU="${_pacman_sudo}${_pacman_frontend} --sync --refresh --sysupgrade"
unset _pacman_frontend unset _pacman_{frontend,sudo}

View File

@ -11,9 +11,9 @@
# Disable color. # Disable color.
if ! zstyle -t ':prezto:module:pacman:yaourt' color; then if ! zstyle -t ':prezto:module:pacman:yaourt' color; then
alias pacman='pacman --nocolor' alias pacman='yaourt --nocolor'
fi fi
# Manages .pac* files. # Manages .pac* files.
alias pacc='pacman -C' alias pacc='yaourt -C'

View File

@ -43,14 +43,14 @@ alias rb='ruby'
# Bundler # Bundler
if (( $+commands[bundle] )); then if (( $+commands[bundle] )); then
alias rbb='bundle' alias rbb='bundle'
alias rbbe='rbb exec' alias rbbe='bundle exec'
alias rbbi='rbb install' alias rbbi='bundle install --path vendor/bundle'
alias rbbl='rbb list' alias rbbl='bundle list'
alias rbbo='rbb open' alias rbbo='bundle open'
alias rbbp='rbb package' alias rbbp='bundle package'
alias rbbu='rbb update' alias rbbu='bundle update'
alias rbbI='rbbi \ alias rbbI='rbbi \
&& rbb package \ && bundle package \
&& print .bundle >>! .gitignore \ && print .bundle >>! .gitignore \
&& print vendor/assets >>! .gitignore \ && print vendor/assets >>! .gitignore \
&& print vendor/bundle >>! .gitignore \ && print vendor/bundle >>! .gitignore \

View File

@ -14,10 +14,10 @@ fi
_ssh_dir="$HOME/.ssh" _ssh_dir="$HOME/.ssh"
# Set the path to the environment file if not set by another module. # Set the path to the environment file if not set by another module.
_ssh_agent_env="${_ssh_agent_env:-$TMPDIR/ssh-agent.env}" _ssh_agent_env="${_ssh_agent_env:-${TMPDIR:-/tmp}/ssh-agent.env}"
# Set the path to the persistent authentication socket. # Set the path to the persistent authentication socket.
_ssh_agent_sock="$TMPDIR/ssh-agent.sock" _ssh_agent_sock="${TMPDIR:-/tmp}/ssh-agent.sock"
# Start ssh-agent if not started. # Start ssh-agent if not started.
if [[ ! -S "$SSH_AUTH_SOCK" ]]; then if [[ ! -S "$SSH_AUTH_SOCK" ]]; then

View File

@ -6,7 +6,7 @@
# #
# Return if requirements are not found. # Return if requirements are not found.
if [[ "$TERM" == 'dumb' ]]; then if [[ "$TERM" == (dumb|linux|*bsd*) ]]; then
return 1 return 1
fi fi

View File

@ -104,6 +104,10 @@ alias sl='ls' # I often screw this up.
# Mac OS X Everywhere # Mac OS X Everywhere
if [[ "$OSTYPE" == darwin* ]]; then if [[ "$OSTYPE" == darwin* ]]; then
alias o='open' alias o='open'
elif [[ "$OSTYPE" == cygwin* ]]; then
alias o='cygstart'
alias pbcopy='tee > /dev/clipboard'
alias pbpaste='cat /dev/clipboard'
else else
alias o='xdg-open' alias o='xdg-open'

View File

@ -6,7 +6,7 @@
# #
# Ensure that a non-login, non-interactive shell has a defined environment. # Ensure that a non-login, non-interactive shell has a defined environment.
if [[ "$SHLVL" -eq 1 && ! -o LOGIN ]]; then if [[ "$SHLVL" -eq 1 && ! -o LOGIN && -s "${ZDOTDIR:-$HOME}/.zprofile" ]]; then
source "${ZDOTDIR:-$HOME}/.zprofile" source "${ZDOTDIR:-$HOME}/.zprofile"
fi fi

View File

@ -1,57 +0,0 @@
#!/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

View File

@ -1,97 +0,0 @@
#!/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

View File

@ -1 +0,0 @@
#!/bin/zsh