forked from sorin-ionescu/prezto
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'upstream/master'
* upstream/master: (22 commits) Update external completions Update external history-substring-search Update external syntax-highlighting Update copyright Fix heading level for "zpreztorc" [Fix sorin-ionescu#503] Prefix rails aliases with 'bundle exec' Warn that Cygwin is not supported Remove utility aliases for Cygwin [Fix sorin-ionescu#324] Add configurable terminal window and tab title formats Unsufix internal functions Prefix internal functions Simplify auto-titling Rewrite terminal auto-title Remove unused GNU Screen window number format [Fix sorin-ionescu#362, Fix sorin-ionescu#384] Set Mac OS X 10.6 terminal window title Comment a typeset Git ignore bundler vendor/assets Do not specify a bundler install path Rewrite _rails-command to work from app subdirectories Add Rails 4 bin path ... Conflicts: modules/completion/external modules/history-substring-search/external modules/syntax-highlighting/external
- Loading branch information
Showing
13 changed files
with
215 additions
and
182 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,39 +7,30 @@ | |
# Sorin Ionescu <[email protected]> | ||
# | ||
|
||
# Load dependencies. | ||
pmodload 'ruby' | ||
|
||
# Return if requirements are not found. | ||
if (( ! $+commands[rails] )); then | ||
if (( ! $+commands[bundle] )); then | ||
return 1 | ||
fi | ||
|
||
# | ||
# Aliases (Compatible with Rails 2) | ||
# | ||
|
||
alias ror='rails' | ||
alias rorc='_rails-command console' | ||
alias rordc='_rails-command dbconsole' | ||
alias rordm='rake db:migrate' | ||
alias rordM='rake db:migrate db:test:clone' | ||
alias rordr='rake db:rollback' | ||
alias rorg='_rails-command generate' | ||
alias rorl='tail -f log/development.log' | ||
alias rorlc='rake log:clear' | ||
alias rorp='_rails-command plugin' | ||
alias rorr='_rails-command runner' | ||
alias rors='_rails-command server' | ||
alias rorsd='_rails-command server --debugger' | ||
alias rorx='_rails-command destroy' | ||
|
||
# | ||
# Functions | ||
# Aliases | ||
# | ||
|
||
function _rails-command { | ||
if [[ -e "script/server" ]]; then | ||
ruby script/"$@" | ||
else | ||
ruby script/rails "$@" | ||
fi | ||
} | ||
alias ror='bundle exec rails' | ||
alias rorc='bundle exec rails console' | ||
alias rordc='bundle exec rails dbconsole' | ||
alias rordm='bundle exec rake db:migrate' | ||
alias rordM='bundle exec rake db:migrate db:test:clone' | ||
alias rordr='bundle exec rake db:rollback' | ||
alias rorg='bundle exec rails generate' | ||
alias rorl='tail -f "$(ruby-app-root)/log/development.log"' | ||
alias rorlc='bundle exec rake log:clear' | ||
alias rorp='bundle exec rails plugin' | ||
alias rorr='bundle exec rails runner' | ||
alias rors='bundle exec rails server' | ||
alias rorsd='bundle exec rails server --debugger' | ||
alias rorx='bundle exec rails destroy' | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# | ||
# Displays the path to the Ruby application root directory. | ||
# | ||
# Authors: | ||
# Sorin Ionescu <[email protected]> | ||
# | ||
|
||
local root_dir="$PWD" | ||
|
||
while [[ "$root_dir" != '/' ]]; do | ||
if [[ -f "$root_dir/Gemfile" ]]; then | ||
print "$root_dir" | ||
break | ||
fi | ||
root_dir="$root_dir:h" | ||
done | ||
|
||
return 1 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,6 @@ | |
# Sets terminal window and tab titles. | ||
# | ||
# Authors: | ||
# James Cox <[email protected]> | ||
# Sorin Ionescu <[email protected]> | ||
# | ||
|
||
|
@@ -11,113 +10,115 @@ if [[ "$TERM" == 'dumb' ]]; then | |
return 1 | ||
fi | ||
|
||
# Set the GNU Screen window number. | ||
if [[ -n "$WINDOW" ]]; then | ||
export SCREEN_NO="%B${WINDOW}%b " | ||
else | ||
export SCREEN_NO="" | ||
fi | ||
# Sets the terminal or terminal multiplexer window title. | ||
function set-window-title { | ||
local title_format{,ted} | ||
zstyle -s ':prezto:module:terminal:window-title' format 'title_format' || title_format="%s" | ||
zformat -f title_formatted "$title_format" "s:$argv" | ||
|
||
# Sets the GNU Screen title. | ||
function set-screen-window-title { | ||
if [[ "$TERM" == screen* ]]; then | ||
printf "\ek%s\e\\" ${(V)argv} | ||
title_format="\ek%s\e\\" | ||
else | ||
title_format="\e]2;%s\a" | ||
fi | ||
} | ||
|
||
# Sets the terminal window title. | ||
function set-terminal-window-title { | ||
if [[ "$TERM" == ((x|a|ml|dt|E)term*|(u|)rxvt*) ]]; then | ||
printf "\e]2;%s\a" ${(V)argv} | ||
fi | ||
printf "$title_format" "${(V%)title_formatted}" | ||
} | ||
|
||
# Sets the terminal tab title. | ||
function set-terminal-tab-title { | ||
if [[ "$TERM" == ((x|a|ml|dt|E)term*|(u|)rxvt*) ]]; then | ||
printf "\e]1;%s\a" ${(V)argv} | ||
fi | ||
function set-tab-title { | ||
local title_format{,ted} | ||
zstyle -s ':prezto:module:terminal:tab-title' format 'title_format' || title_format="%s" | ||
zformat -f title_formatted "$title_format" "s:$argv" | ||
|
||
printf "\e]1;%s\a" ${(V%)title_formatted} | ||
} | ||
|
||
# Sets the tab and window titles with a given command. | ||
function set-titles-with-command { | ||
# Do not set the window and tab titles in Terminal.app because they are not | ||
# reset upon command termination. | ||
if [[ "$TERM_PROGRAM" == 'Apple_Terminal' ]]; then | ||
return 1 | ||
fi | ||
function _terminal-set-titles-with-command { | ||
emulate -L zsh | ||
setopt EXTENDED_GLOB | ||
|
||
# Get the command name that is under job control. | ||
if [[ "${1[(w)1]}" == (fg|%*)(\;|) ]]; then | ||
if [[ "${2[(w)1]}" == (fg|%*)(\;|) ]]; then | ||
# Get the job name, and, if missing, set it to the default %+. | ||
local job_name="${${1[(wr)%*(\;|)]}:-%+}" | ||
local job_name="${${2[(wr)%*(\;|)]}:-%+}" | ||
|
||
# Make a local copy for use in the subshell. | ||
local -A jobtexts_from_parent_shell | ||
jobtexts_from_parent_shell=(${(kv)jobtexts}) | ||
|
||
jobs $job_name 2>/dev/null > >( | ||
jobs "$job_name" 2>/dev/null > >( | ||
read index discarded | ||
# The index is already surrounded by brackets: [1]. | ||
set-titles-with-command "${(e):-\$jobtexts_from_parent_shell$index}" | ||
_terminal-set-titles-with-command "${(e):-\$jobtexts_from_parent_shell$index}" | ||
) | ||
else | ||
# Set the command name, or in the case of sudo or ssh, the next command. | ||
local cmd=${${1[(wr)^(*=*|sudo|ssh|-*)]}:t} | ||
local cmd="${${2[(wr)^(*=*|sudo|ssh|-*)]}:t}" | ||
local truncated_cmd="${cmd/(#m)?(#c15,)/${MATCH[1,12]}...}" | ||
unset MATCH | ||
|
||
if [[ "$TERM" == screen* ]]; then | ||
set-screen-window-title "$truncated_cmd" | ||
else | ||
set-terminal-window-title "$cmd" | ||
set-terminal-tab-title "$truncated_cmd" | ||
fi | ||
set-window-title "$cmd" | ||
set-tab-title "$truncated_cmd" | ||
fi | ||
} | ||
|
||
# Sets the tab and window titles with a given path. | ||
function set-titles-with-path { | ||
function _terminal-set-titles-with-path { | ||
emulate -L zsh | ||
setopt EXTENDED_GLOB | ||
|
||
local absolute_path="${${1:a}:-$PWD}" | ||
local abbreviated_path="${absolute_path/#$HOME/~}" | ||
local truncated_path="${abbreviated_path/(#m)?(#c15,)/...${MATCH[-12,-1]}}" | ||
unset MATCH | ||
|
||
if [[ "$TERM_PROGRAM" == 'Apple_Terminal' ]]; then | ||
printf '\e]7;%s\a' "file://$HOST${absolute_path// /%20}" | ||
else | ||
local abbreviated_path="${absolute_path/#$HOME/~}" | ||
local truncated_path="${abbreviated_path/(#m)?(#c15,)/...${MATCH[-12,-1]}}" | ||
unset MATCH | ||
set-window-title "$abbreviated_path" | ||
set-tab-title "$truncated_path" | ||
} | ||
|
||
if [[ "$TERM" == screen* ]]; then | ||
set-screen-window-title "$truncated_path" | ||
else | ||
set-terminal-window-title "$abbreviated_path" | ||
set-terminal-tab-title "$truncated_path" | ||
fi | ||
fi | ||
# Sets the Terminal.app proxy icon. | ||
function _terminal-set-terminal-app-proxy-icon { | ||
printf '\e]7;%s\a' "file://$HOST${${1:-$PWD}// /%20}" | ||
} | ||
|
||
# Don't override precmd/preexec; append to hook array. | ||
# Do not override precmd/preexec; append to the hook array. | ||
autoload -Uz add-zsh-hook | ||
|
||
# Sets the tab and window titles before the prompt is displayed. | ||
function set-titles-precmd { | ||
if zstyle -t ':prezto:module:terminal' auto-title; then | ||
set-titles-with-path | ||
fi | ||
} | ||
add-zsh-hook precmd set-titles-precmd | ||
# Set up the Apple Terminal. | ||
if [[ "$TERM_PROGRAM" == 'Apple_Terminal' ]] \ | ||
&& ( ! [[ -n "$STY" || -n "$TMUX" || -n "$DVTM" ]] ) | ||
then | ||
# Sets the Terminal.app current working directory before the prompt is | ||
# displayed. | ||
add-zsh-hook precmd _terminal-set-terminal-app-proxy-icon | ||
|
||
# Unsets the Terminal.app current working directory when a terminal | ||
# multiplexer or remote connection is started since it can no longer be | ||
# updated, and it becomes confusing when the directory displayed in the title | ||
# bar is no longer synchronized with real current working directory. | ||
function _terminal-unset-terminal-app-proxy-icon { | ||
if [[ "${2[(w)1]:t}" == (screen|tmux|dvtm|ssh|mosh) ]]; then | ||
_terminal-set-terminal-app-proxy-icon ' ' | ||
fi | ||
} | ||
add-zsh-hook preexec _terminal-unset-terminal-app-proxy-icon | ||
|
||
# Sets the tab and window titles before command execution. | ||
function set-titles-preexec { | ||
if zstyle -t ':prezto:module:terminal' auto-title; then | ||
set-titles-with-command "$2" | ||
fi | ||
} | ||
add-zsh-hook preexec set-titles-preexec | ||
# Do not set the tab and window titles in Terminal.app since it sets the tab | ||
# title to the currently running process by default and the current working | ||
# directory is set separately. | ||
return | ||
fi | ||
|
||
# Set up non-Apple terminals. | ||
if zstyle -t ':prezto:module:terminal' auto-title \ | ||
&& ( ! [[ -n "$STY" || -n "$TMUX" ]] ) | ||
then | ||
# Sets the tab and window titles before the prompt is displayed. | ||
add-zsh-hook precmd _terminal-set-titles-with-path | ||
|
||
# Sets the tab and window titles before command execution. | ||
add-zsh-hook preexec _terminal-set-titles-with-command | ||
fi | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.