Merge branch 'master' of github.com:robbyrussell/oh-my-zsh

This commit is contained in:
Robby Russell 2017-02-27 09:02:16 -08:00
commit b908feebcf
37 changed files with 1311 additions and 567 deletions

View File

@ -1,6 +1,6 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2009-2016 Robby Russell and contributors Copyright (c) 2009-2017 Robby Russell and contributors
See the full list at https://github.com/robbyrussell/oh-my-zsh/contributors See the full list at https://github.com/robbyrussell/oh-my-zsh/contributors
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy

View File

@ -5,7 +5,7 @@ WORDCHARS=''
unsetopt menu_complete # do not autoselect the first completion entry unsetopt menu_complete # do not autoselect the first completion entry
unsetopt flowcontrol unsetopt flowcontrol
setopt auto_menu # show completion menu on succesive tab press setopt auto_menu # show completion menu on successive tab press
setopt complete_in_word setopt complete_in_word
setopt always_to_end setopt always_to_end

View File

@ -86,7 +86,7 @@ function default() {
} }
# #
# Set enviroment variable "$1" to default value "$2" if "$1" is not yet defined. # Set environment variable "$1" to default value "$2" if "$1" is not yet defined.
# #
# Arguments: # Arguments:
# 1. name - The env variable to set # 1. name - The env variable to set

View File

@ -73,6 +73,8 @@
| pacupd | sudo pacman -Sy | Update and refresh the local package database | | pacupd | sudo pacman -Sy | Update and refresh the local package database |
| pacupg | sudo pacman -Syu | Sync with repositories before upgrading packages | | pacupg | sudo pacman -Syu | Sync with repositories before upgrading packages |
| upgrade | sudo pacman -Syu | Sync with repositories before upgrading packages | | upgrade | sudo pacman -Syu | Sync with repositories before upgrading packages |
| pacfileupg | sudo pacman -Fy | Download fresh package databases from the server |
| pacfiles | pacman -Fs | Search package file names for matching strings. |
| Function | Description | | Function | Description |
|----------------|------------------------------------------------------| |----------------|------------------------------------------------------|

View File

@ -82,6 +82,8 @@ alias pacinsd='sudo pacman -S --asdeps'
alias pacmir='sudo pacman -Syy' alias pacmir='sudo pacman -Syy'
alias paclsorphans='sudo pacman -Qdt' alias paclsorphans='sudo pacman -Qdt'
alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)' alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)'
alias pacfileupg='sudo pacman -Fy'
alias pacfiles='pacman tFs'
if (( $+commands[abs] && $+commands[aur] )); then if (( $+commands[abs] && $+commands[aur] )); then

View File

@ -1,7 +1,7 @@
# Activates autoenv or reports its failure # Activates autoenv or reports its failure
() { () {
if ! type autoenv_init >/dev/null; then if ! type autoenv_init >/dev/null; then
for d (~/.autoenv /usr/local/opt/autoenv /usr/local/bin); do for d (~/.autoenv ~/.local/bin /usr/local/opt/autoenv /usr/local/bin); do
if [[ -e $d/activate.sh ]]; then if [[ -e $d/activate.sh ]]; then
autoenv_dir=$d autoenv_dir=$d
break break

View File

@ -100,7 +100,7 @@ elif [[ "$OSTYPE" = linux* ]] ; then
else else
color='red' color='red'
fi fi
echo "%{$fg[$color]%}[$(battery_pct_remaining)%%]%{$reset_color%}" echo "%{$fg[$color]%}$(battery_pct_remaining)%%%{$reset_color%}"
else else
echo "∞" echo "∞"
fi fi

View File

@ -1,11 +1,15 @@
# cask plugin # Cask plugin
Loads `cask` completion from non-standard locations, such as if installed [Cask](https://github.com/cask/cask) is a project management tool for Emacs that helps
automate the package development cycle; development, dependencies, testing, building,
packaging and more.
This plugin loads `cask` completion from non-standard locations, such as if installed
via Homebrew or others. To enable it, add `cask` to your plugins array: via Homebrew or others. To enable it, add `cask` to your plugins array:
```zsh ```zsh
plugins=(... cask) plugins=(... cask)
``` ```
Make sure you have the `cask` directory in your `$PATH` before loading Make sure you have the `cask` directory in your `$PATH` before loading Oh My Zsh,
Oh My Zsh, otherwise you'll get the "command not found" error. otherwise you'll get a "command not found" error.

View File

@ -39,14 +39,17 @@ alias c='composer'
alias csu='composer self-update' alias csu='composer self-update'
alias cu='composer update' alias cu='composer update'
alias cr='composer require' alias cr='composer require'
alias crm='composer remove'
alias ci='composer install' alias ci='composer install'
alias ccp='composer create-project' alias ccp='composer create-project'
alias cdu='composer dump-autoload' alias cdu='composer dump-autoload'
alias cdo='composer dump-autoload --optimize-autoloader'
alias cgu='composer global update' alias cgu='composer global update'
alias cgr='composer global require' alias cgr='composer global require'
alias cgrm='composer global remove'
# install composer in the current directory # install composer in the current directory
alias cget='curl -s https://getcomposer.org/installer | php' alias cget='curl -s https://getcomposer.org/installer | php'
# Add Composer's global binaries to PATH # Add Composer's global binaries to PATH
export PATH=$PATH:~/.composer/vendor/bin export PATH=$PATH:$(composer global config bin-dir --absolute) 2>/dev/null

File diff suppressed because it is too large Load Diff

34
plugins/dotenv/README.md Normal file
View File

@ -0,0 +1,34 @@
# dotenv
Automatically load your project ENV variables from `.env` file when you `cd` into project root directory.
Storing configuration in the environment is one of the tenets of a [twelve-factor app](http://www.12factor.net). Anything that is likely to change between deployment environmentssuch as resource handles for databases or credentials for external servicesshould be extracted from the code into environment variables.
## Installation
Just add the plugin to your `.zshrc`:
```sh
plugins=(git man dotenv)
```
## Usage
Create `.env` file inside your project directory and put your local ENV variables there.
For example:
```sh
export AWS_S3_TOKEN=d84a83539134f28f412c652b09f9f98eff96c9a
export SECRET_KEY=7c6c72d959416d5aa368a409362ec6e2ac90d7f
export MONGO_URI=mongodb://127.0.0.1:27017
export PORT=3001
```
`export` is optional. This format works as well:
```sh
AWS_S3_TOKEN=d84a83539134f28f412c652b09f9f98eff96c9a
SECRET_KEY=7c6c72d959416d5aa368a409362ec6e2ac90d7f
MONGO_URI=mongodb://127.0.0.1:27017
PORT=3001
```
**It's strongly recommended to add `.env` file to `.gitignore`**, because usually it contains sensitive information such as your credentials, secret keys, passwords etc. You don't want to commit this file, it supposed to be local only.

View File

@ -0,0 +1,10 @@
#!/bin/zsh
source_env() {
if [[ -f .env ]]; then
source .env
fi
}
autoload -U add-zsh-hook
add-zsh-hook chpwd source_env

View File

@ -1,6 +1,6 @@
# droplr # droplr
Use [Droplr](https://droplr.com/) from the comand line to upload files and shorten Use [Droplr](https://droplr.com/) from the command line to upload files and shorten
links. It needs to have [Droplr.app](https://droplr.com/apps) installed and logged links. It needs to have [Droplr.app](https://droplr.com/apps) installed and logged
in. MacOS only. in. MacOS only.

View File

@ -43,6 +43,7 @@ alias g='git'
alias ga='git add' alias ga='git add'
alias gaa='git add --all' alias gaa='git add --all'
alias gapa='git add --patch' alias gapa='git add --patch'
alias gau='git add --update'
alias gb='git branch' alias gb='git branch'
alias gba='git branch -a' alias gba='git branch -a'

View File

@ -52,7 +52,7 @@ if [[ -x "${commands[gwhoami]}" ]]; then
# #
# This method is inflexible since the aliases are at risk of being # This method is inflexible since the aliases are at risk of being
# overriden resulting in the BSD coreutils being called. # overridden resulting in the BSD coreutils being called.
# #
# (( ${+commands[$gcmd]} )) && \ # (( ${+commands[$gcmd]} )) && \
# alias "$gcmd[2,-1]"="${prefix}/${gcmd//"["/"\\["}" # alias "$gcmd[2,-1]"="${prefix}/${gcmd//"["/"\\["}"

View File

@ -24,29 +24,60 @@ function _gradle_core_commands() {
function _gradle_arguments() { function _gradle_arguments() {
_arguments -C \ _arguments -C \
'-a[Do not rebuild project dependencies]' \ '-a[Do not rebuild project dependencies]' \
'-h[Help]' \ '-b[Specifies the build file]' \
'-D[System property]' \ '-c[Specifies the settings file]' \
'-d[Log at the debug level]' \ '-d[Log at the debug level]' \
'--gui[Launches the Gradle GUI app]' \ '-g[Specifies the Gradle user home directory]' \
'--stop[Stop the Gradle daemon]' \ '-h[Shows a help message]' \
'--daemon[Use the Gradle daemon]' \ '-i[Set log level to INFO]' \
'--no-daemon[Do not use the Gradle daemon]' \ '-m[Runs the build with all task actions disabled]' \
'--rerun-task [Specifies that any task optimization is ignored.]' \ '-p[Specifies the start directory for Gradle]' \
'-i[Log at the info level]' \ '-q[Log errors only]' \
'-m[Dry run]' \ '-s[Print out the stacktrace also for user exceptions]' \
'-P[Set a project property]' \ '-t[Continuous mode. Automatically re-run build after changes]' \
'-p[Specifies the start directory]' \ '-u[Don''t search in parent directories for a settings.gradle file]' \
'--profile[Profile the build time]' \ '-v[Prints Gradle version info]' \
'-q[Log at the quiet level (only show errors)]' \
'-v[Print the Gradle version info]' \
'-x[Specify a task to be excluded]' \ '-x[Specify a task to be excluded]' \
'-b[Specifies the build file.]' \ '-D[Set a system property]' \
'-c[Specifies the settings file.]' \ '-I[Specifies an initialization script]' \
'--continue[Continues task execution after a task failure.]' \ '-P[Sets a project property of the root project]' \
'-g[Specifies the Gradle user home directory.]' \ '-S[Print out the full (very verbose) stacktrace]' \
'-I[Specifies an initialization script.]' \ '--build-file[Specifies the build file]' \
'--refresh-dependencies[Refresh the state of dependencies.]' \ '--configure-on-demand[Only relevant projects are configured]' \
'-u[Don''t search in parent directories for a settings.gradle file.]' \ '--console[Type of console output to generate (plain, auto, or rich)]' \
'--continue[Continues task execution after a task failure]' \
'--continuous[Continuous mode. Automatically re-run build after changes]' \
'--daemon[Use the Gradle Daemon]' \
'--debug[Log at the debug level]' \
'--dry-run[Runs the build with all task actions disabled]' \
'--exclude-task[Specify a task to be excluded]' \
'--full-stacktrace[Print out the full (very verbose) stacktrace]' \
'--gradle-user-home[Specifies the Gradle user home directory]' \
'--gui[Launches the Gradle GUI app (Deprecated)]' \
'--help[Shows a help message]' \
'--include-build[Run the build as a composite, including the specified build]' \
'--info[Set log level to INFO]' \
'--init-script[Specifies an initialization script]' \
'--max-workers[Set the maximum number of workers that Gradle may use]' \
'--no-daemon[Do not use the Gradle Daemon]' \
'--no-rebuild[Do not rebuild project dependencies]' \
'--no-search-upwards[Don''t search in parent directories for a settings.gradle file]' \
'--offline[Build without accessing network resources]' \
'--parallel[Build projects in parallel]' \
'--profile[Profile build time and create report]' \
'--project-cache-dir[Specifies the project-specific cache directory]' \
'--project-dir[Specifies the start directory for Gradle]' \
'--project-prop[Sets a project property of the root project]' \
'--quiet[Log errors only]' \
'--recompile-scripts[Forces scripts to be recompiled, bypassing caching]' \
'--refresh-dependencies[Refresh the state of dependencies]' \
'--rerun-task[Specifies that any task optimization is ignored]' \
'--settings-file[Specifies the settings file]' \
'--stacktrace[Print out the stacktrace also for user exceptions]' \
'--status[Print Gradle Daemon status]' \
'--stop[Stop all Gradle Daemons]' \
'--system-prop[Set a system property]' \
'--version[Prints Gradle version info]' \
'*::command:->command' \ '*::command:->command' \
&& return 0 && return 0
} }
@ -61,7 +92,7 @@ _gradle_does_task_list_need_generating () {
} }
############## ##############
# Parse the tasks from `gradle(w) tasks --all` into .gradletasknamecache # Parse the tasks from `gradle(w) tasks --all` and return them to the calling function.
# All lines in the output from gradle(w) that are between /^-+$/ and /^\s*$/ # All lines in the output from gradle(w) that are between /^-+$/ and /^\s*$/
# are considered to be tasks. If and when gradle adds support for listing tasks # are considered to be tasks. If and when gradle adds support for listing tasks
# for programmatic parsing, this method can be deprecated. # for programmatic parsing, this method can be deprecated.
@ -76,7 +107,7 @@ _gradle_parse_tasks () {
task_name_buffer="" task_name_buffer=""
elif [[ $line =~ ^\s*$ ]]; then elif [[ $line =~ ^\s*$ ]]; then
if [[ "$lines_might_be_tasks" = true ]]; then if [[ "$lines_might_be_tasks" = true ]]; then
# If a newline is found, send the buffer to .gradletasknamecache # If a newline is found, echo the buffer to the calling function
while read -r task; do while read -r task; do
echo $task | awk '/[a-zA-Z0-9:-]+/ {print $1}' echo $task | awk '/[a-zA-Z0-9:-]+/ {print $1}'
done <<< "$task_name_buffer" done <<< "$task_name_buffer"
@ -90,6 +121,25 @@ _gradle_parse_tasks () {
done <<< "$1" done <<< "$1"
} }
##############
# Gradle tasks from subprojects are allowed to be executed without specifying
# the subproject; that task will then be called on all subprojects.
# gradle(w) tasks --all only lists tasks per subproject, but when autocompleting
# we often want to be able to run a specific task on all subprojects, e.g.
# "gradle clean".
# This function uses the list of tasks from "gradle tasks --all", and for each
# line grabs everything after the last ":" and combines that output with the original
# output. The combined list is returned as the result of this function.
##############
_gradle_parse_and_extract_tasks () {
# All tasks
tasks=$(_gradle_parse_tasks "$1")
# Task name without sub project(s) prefix
simple_tasks=$(echo $tasks | awk 'BEGIN { FS = ":" } { print $NF }')
echo "$tasks\n$simple_tasks"
}
############################################################################## ##############################################################################
# Discover the gradle tasks by running "gradle tasks --all" # Discover the gradle tasks by running "gradle tasks --all"
############################################################################ ############################################################################
@ -97,7 +147,7 @@ _gradle_tasks () {
if [[ -f build.gradle ]]; then if [[ -f build.gradle ]]; then
_gradle_arguments _gradle_arguments
if _gradle_does_task_list_need_generating; then if _gradle_does_task_list_need_generating; then
_gradle_parse_tasks "$(gradle tasks --all)" > .gradletasknamecache _gradle_parse_and_extract_tasks "$(gradle tasks --all)" > .gradletasknamecache
fi fi
compadd -X "==== Gradle Tasks ====" $(cat .gradletasknamecache) compadd -X "==== Gradle Tasks ====" $(cat .gradletasknamecache)
fi fi
@ -107,7 +157,7 @@ _gradlew_tasks () {
if [[ -f build.gradle ]]; then if [[ -f build.gradle ]]; then
_gradle_arguments _gradle_arguments
if _gradle_does_task_list_need_generating; then if _gradle_does_task_list_need_generating; then
_gradle_parse_tasks "$(./gradlew tasks --all)" > .gradletasknamecache _gradle_parse_and_extract_tasks "$(./gradlew tasks --all)" > .gradletasknamecache
fi fi
compadd -X "==== Gradlew Tasks ====" $(cat .gradletasknamecache) compadd -X "==== Gradlew Tasks ====" $(cat .gradletasknamecache)
fi fi

View File

@ -31,6 +31,10 @@ _1st_arguments=(
"domains\:add":"add a custom domain to an app" "domains\:add":"add a custom domain to an app"
"domains\:remove":"remove a custom domain from an app" "domains\:remove":"remove a custom domain from an app"
"domains\:clear":"remove all custom domains from an app" "domains\:clear":"remove all custom domains from an app"
"features":"list available app features"
"features\:disable":"disables a feature"
"features\:enable":"enables an feature"
"features\:info":"displays additional information about feature"
"help":"list available commands or display help for a specific command" "help":"list available commands or display help for a specific command"
"keys":"display keys for the current user" "keys":"display keys for the current user"
"keys\:add":"add a key for the current user" "keys\:add":"add a key for the current user"
@ -144,5 +148,4 @@ _arguments \
'(--app)--app[the app name]' \ '(--app)--app[the app name]' \
'(--remote)--remote[the remote name]' \ '(--remote)--remote[the remote name]' \
'(--help)--help[help about the current command]' \ '(--help)--help[help about the current command]' \
&& return 0 && return 0

View File

@ -244,7 +244,7 @@ _history-substring-search-end() {
_history_substring_search_result=$BUFFER _history_substring_search_result=$BUFFER
# the search was succesful so display the result properly by clearing away # the search was successful so display the result properly by clearing away
# existing highlights and moving the cursor to the end of the result buffer # existing highlights and moving the cursor to the end of the result buffer
if [[ $_history_substring_search_refresh_display -eq 1 ]]; then if [[ $_history_substring_search_refresh_display -eq 1 ]]; then
region_highlight=() region_highlight=()

View File

@ -86,6 +86,9 @@ case $state in
(test) (test)
_files _files
;; ;;
(run)
_files
;;
esac esac
;; ;;
esac esac

View File

@ -20,10 +20,9 @@ BACKGROUND_CYAN=`tput setab 6`
BACKGROUND_WHITE=`tput setab 7` BACKGROUND_WHITE=`tput setab 7`
RESET_FORMATTING=`tput sgr0` RESET_FORMATTING=`tput sgr0`
# Wrapper function for Maven's mvn command. # Wrapper function for Maven's mvn command.
mvn-color() mvn-color() {
{
( (
# Filter mvn output using sed. Before filtering set the locale to C, so invalid characters won't break some sed implementations # Filter mvn output using sed. Before filtering set the locale to C, so invalid characters won't break some sed implementations
unset LANG unset LANG
@ -37,7 +36,7 @@ mvn-color()
echo -ne ${RESET_FORMATTING} echo -ne ${RESET_FORMATTING}
) )
} }
# Override the mvn command with the colorized one. # Override the mvn command with the colorized one.
#alias mvn="mvn-color" #alias mvn="mvn-color"
@ -65,13 +64,13 @@ alias mvnsrc='mvn dependency:sources'
alias mvndocs='mvn dependency:resolve -Dclassifier=javadoc' alias mvndocs='mvn dependency:resolve -Dclassifier=javadoc'
function listMavenCompletions { function listMavenCompletions {
reply=( reply=(
# common lifecycle # common lifecycle
clean process-resources compile process-test-resources test-compile test integration-test package verify install deploy site clean process-resources compile process-test-resources test-compile test integration-test package verify install deploy site
# common plugins # common plugins
deploy failsafe install site surefire checkstyle javadoc jxr pmd ant antrun archetype assembly dependency enforcer gpg help release repository source eclipse idea jetty cargo jboss tomcat tomcat6 tomcat7 exec versions war ear ejb android scm buildnumber nexus repository sonar license hibernate3 liquibase flyway gwt deploy failsafe install site surefire checkstyle javadoc jxr pmd ant antrun archetype assembly dependency enforcer gpg help release repository source eclipse idea jetty cargo jboss tomcat tomcat6 tomcat7 exec versions war ear ejb android scm buildnumber nexus repository sonar license hibernate3 liquibase flyway gwt
# deploy # deploy
deploy:deploy-file deploy:deploy-file
# failsafe # failsafe
@ -82,7 +81,7 @@ function listMavenCompletions {
site:site site:deploy site:run site:stage site:stage-deploy site:site site:deploy site:run site:stage site:stage-deploy
# surefire # surefire
surefire:test surefire:test
# checkstyle # checkstyle
checkstyle:checkstyle checkstyle:check checkstyle:checkstyle checkstyle:check
# javadoc # javadoc
@ -110,18 +109,18 @@ function listMavenCompletions {
help:active-profiles help:all-profiles help:describe help:effective-pom help:effective-settings help:evaluate help:expressions help:system help:active-profiles help:all-profiles help:describe help:effective-pom help:effective-settings help:evaluate help:expressions help:system
# release # release
release:clean release:prepare release:rollback release:perform release:stage release:branch release:update-versions release:clean release:prepare release:rollback release:perform release:stage release:branch release:update-versions
# jgitflow # jgitflow
jgitflow:feature-start jgitflow:feature-finish jgitflow:release-start jgitflow:release-finish jgitflow:hotfix-start jgitflow:hotfix-finish jgitflow:build-number jgitflow:feature-start jgitflow:feature-finish jgitflow:release-start jgitflow:release-finish jgitflow:hotfix-start jgitflow:hotfix-finish jgitflow:build-number
# repository # repository
repository:bundle-create repository:bundle-pack repository:bundle-create repository:bundle-pack
# source # source
source:aggregate source:jar source:jar-no-fork source:aggregate source:jar source:jar-no-fork
# eclipse # eclipse
eclipse:clean eclipse:eclipse eclipse:clean eclipse:eclipse
# idea # idea
idea:clean idea:idea idea:clean idea:idea
# jetty # jetty
jetty:run jetty:run-exploded jetty:run jetty:run-exploded
# cargo # cargo
@ -134,7 +133,7 @@ function listMavenCompletions {
tomcat6:run tomcat6:run-war tomcat6:run-war-only tomcat6:stop tomcat6:deploy tomcat6:undeploy tomcat6:run tomcat6:run-war tomcat6:run-war-only tomcat6:stop tomcat6:deploy tomcat6:undeploy
# tomcat7 # tomcat7
tomcat7:run tomcat7:run-war tomcat7:run-war-only tomcat7:deploy tomcat7:run tomcat7:run-war tomcat7:run-war-only tomcat7:deploy
# tomee # tomee
tomee:run tomee:run-war tomee:run-war-only tomee:stop tomee:deploy tomee:undeploy tomee:run tomee:run-war tomee:run-war-only tomee:stop tomee:deploy tomee:undeploy
# spring-boot # spring-boot
spring-boot:run spring-boot:repackage spring-boot:run spring-boot:repackage
@ -172,7 +171,8 @@ function listMavenCompletions {
flyway:clean flyway:history flyway:init flyway:migrate flyway:status flyway:validate flyway:clean flyway:history flyway:init flyway:migrate flyway:status flyway:validate
# gwt # gwt
gwt:browser gwt:clean gwt:compile gwt:compile-report gwt:css gwt:debug gwt:eclipse gwt:eclipseTest gwt:generateAsync gwt:help gwt:i18n gwt:mergewebxml gwt:resources gwt:run gwt:sdkInstall gwt:source-jar gwt:soyc gwt:test gwt:browser gwt:clean gwt:compile gwt:compile-report gwt:css gwt:debug gwt:eclipse gwt:eclipseTest gwt:generateAsync gwt:help gwt:i18n gwt:mergewebxml gwt:resources gwt:run gwt:sdkInstall gwt:source-jar gwt:soyc gwt:test
# asciidoctor
asciidoctor:process-asciidoc asciidoctor:auto-refresh asciidoctor:http asciidoctor:zip
# options # options
-Dmaven.test.skip=true -DskipTests -DskipITs -Dmaven.surefire.debug -DenableCiProfile -Dpmd.skip=true -Dcheckstyle.skip=true -Dtycho.mode=maven -Dmaven.test.failure.ignore=true -DgroupId= -DartifactId= -Dversion= -Dpackaging=jar -Dfile= -Dmaven.test.skip=true -DskipTests -DskipITs -Dmaven.surefire.debug -DenableCiProfile -Dpmd.skip=true -Dcheckstyle.skip=true -Dtycho.mode=maven -Dmaven.test.failure.ignore=true -DgroupId= -DartifactId= -Dversion= -Dpackaging=jar -Dfile=

View File

@ -184,6 +184,7 @@ function vncviewer() {
# iTunes control function # iTunes control function
function itunes() { function itunes() {
local opt=$1 local opt=$1
local playlist=$2
shift shift
case "$opt" in case "$opt" in
launch|play|pause|stop|rewind|resume|quit) launch|play|pause|stop|rewind|resume|quit)
@ -200,6 +201,19 @@ function itunes() {
vol) vol)
opt="set sound volume to $1" #$1 Due to the shift opt="set sound volume to $1" #$1 Due to the shift
;; ;;
playlist)
# Inspired by: https://gist.github.com/nakajijapan/ac8b45371064ae98ea7f
if [[ ! -z "$playlist" ]]; then
osascript -e 'tell application "iTunes"' -e "set new_playlist to \"$playlist\" as string" -e "play playlist new_playlist" -e "end tell" 2>/dev/null;
if [[ $? -eq 0 ]]; then
opt="play"
else
opt="stop"
fi
else
opt="set allPlaylists to (get name of every playlist)"
fi
;;
playing|status) playing|status)
local state=`osascript -e 'tell application "iTunes" to player state as string'` local state=`osascript -e 'tell application "iTunes" to player state as string'`
if [[ "$state" = "playing" ]]; then if [[ "$state" = "playing" ]]; then
@ -250,6 +264,7 @@ EOF
echo "\tshuf|shuffle [on|off|toggle]\tSet shuffled playback. Default: toggle. Note: toggle doesn't support the MiniPlayer." echo "\tshuf|shuffle [on|off|toggle]\tSet shuffled playback. Default: toggle. Note: toggle doesn't support the MiniPlayer."
echo "\tvol\tSet the volume, takes an argument from 0 to 100" echo "\tvol\tSet the volume, takes an argument from 0 to 100"
echo "\tplaying|status\tShow what song is currently playing in iTunes." echo "\tplaying|status\tShow what song is currently playing in iTunes."
echo "\tplaylist [playlist name]\t Play specific playlist"
echo "\thelp\tshow this message and exit" echo "\thelp\tshow this message and exit"
return 0 return 0
;; ;;
@ -323,7 +338,7 @@ function spotify() {
if [ $# = 0 ]; then if [ $# = 0 ]; then
showHelp; showHelp;
else else
if [ "$(osascript -e 'application "Spotify" is running')" = "false" ]; then if [ "$1" != "quit" ] && [ "$(osascript -e 'application "Spotify" is running')" = "false" ]; then
osascript -e 'tell application "Spotify" to activate' osascript -e 'tell application "Spotify" to activate'
sleep 2 sleep 2
fi fi
@ -413,9 +428,13 @@ function spotify() {
break ;; break ;;
"quit" ) "quit" )
cecho "Quitting Spotify."; if [ "$(osascript -e 'application "Spotify" is running')" = "false" ]; then
osascript -e 'tell application "Spotify" to quit'; cecho "Spotify was not running."
exit 1 ;; else
cecho "Closing Spotify.";
osascript -e 'tell application "Spotify" to quit';
fi
break ;;
"next" ) "next" )
cecho "Going to next track." ; cecho "Going to next track." ;
@ -470,7 +489,7 @@ function spotify() {
"pos" ) "pos" )
cecho "Adjusting Spotify play position." cecho "Adjusting Spotify play position."
osascript -e "tell application \"Spotify\" to set player position to $2"; osascript -e "tell application \"Spotify\" to set player position to $2";
break;; break ;;
"status" ) "status" )
showStatus; showStatus;

View File

@ -1,14 +1,26 @@
# React Native # React Native plugin
**Maintainer:** [BilalBudhani](https://github.com/BilalBudhani) This plugin adds completion for [`react-native`](https://facebook.github.io/react-native/).
It also defines a few [aliases](#aliases) for the commands more frequently used.
### List of Aliases To enable, add `react-native` to your `plugins` array in your zshrc file:
Alias | React Native command ```zsh
------|--------------------- plugins=(... react-native)
**rnand** | *react-native run-android* ```
**rnios** | *react-native run-ios*
**rnios4s** | *react-native run-ios --simulator "iPhone 4s"*
**rnios5** | *react-native run-ios --simulator "iPhone 5"*
**rnios5s** | *react-native run-ios --simulator "iPhone 5s"*
## Aliases
| Alias | React Native command |
|:------------|:-----------------------------------------------|
| **rn** | `react-native` |
| **rns** | `react-native start` |
| **rnlink** | `react-native link` |
| _App testing_ |
| **rnand** | `react-native run-android` |
| **rnios** | `react-native run-ios` |
| **rnios4s** | `react-native run-ios --simulator "iPhone 4s"` |
| **rnios5** | `react-native run-ios --simulator "iPhone 5"` |
| **rnios5s** | `react-native run-ios --simulator "iPhone 5s"` |
| **rnios6** | `react-native run-ios --simulator "iPhone 6"` |
| **rnios6s** | `react-native run-ios --simulator "iPhone 6s"` |

View File

@ -3,12 +3,21 @@
local -a _1st_arguments local -a _1st_arguments
_1st_arguments=( _1st_arguments=(
'init:<ProjectName> generates a new project and installs its dependencies'
'android:creates an empty android project'
'start:starts the webserver' 'start:starts the webserver'
'bundle:builds the javascript bundle for offline use' 'run-ios:builds your app and starts it on iOS simulator'
'new-library:generates a native library bridge'
'android:generates an Android project for your app'
'run-android:builds your app and starts it on a connected Android emulator or device' 'run-android:builds your app and starts it on a connected Android emulator or device'
'upgrade:upgrade your apps template files to the latest version; run this after updating the react-native version in your package.json and running npm install' 'new-library:generates a native library bridge'
'bundle:builds the javascript bundle for offline use'
'unbundle:builds javascript as "unbundle" for offline use'
'link:[options] <packageName> links all native dependencies'
'unlink:[options] <packageName> unlink native dependency'
'install:[options] <packageName> install and link native dependencies'
'uninstall:[options] <packageName> uninstall and unlink native dependencies'
"upgrade:upgrade your app's template files to the latest version; run this after updating the react-native version in your package.json and running npm install"
'log-android:starts adb logcat'
'log-ios:starts iOS device syslog tail'
) )

View File

@ -1,9 +1,11 @@
alias rn='react-native'
alias rns='react-native start'
alias rnlink='react-native link'
alias rnand='react-native run-android' alias rnand='react-native run-android'
alias rnios='react-native run-ios'
alias rnios4s='react-native run-ios --simulator "iPhone 4s"' alias rnios4s='react-native run-ios --simulator "iPhone 4s"'
alias rnios5='react-native run-ios --simulator "iPhone 5"' alias rnios5='react-native run-ios --simulator "iPhone 5"'
alias rnios5s='react-native run-ios --simulator "iPhone 5s"' alias rnios5s='react-native run-ios --simulator "iPhone 5s"'
alias rnios6='react-native run-ios --simulator "iPhone 6"' alias rnios6='react-native run-ios --simulator "iPhone 6"'
alias rnios6s='react-native run-ios --simulator "iPhone 6s"' alias rnios6s='react-native run-ios --simulator "iPhone 6s"'
alias rnios='react-native run-ios'
alias rnlink='react-native link'

View File

@ -152,10 +152,10 @@ Y_opts=(
"-Ydump-classes+[Dump the generated bytecode to .class files (useful for reflective compilation that utilizes in-memory classloaders)]:output directory:_files -/" "-Ydump-classes+[Dump the generated bytecode to .class files (useful for reflective compilation that utilizes in-memory classloaders)]:output directory:_files -/"
"-Yeta-expand-keeps-star[Eta-expand varargs methods to T* rather than Seq[T]. This is a temporary option to ease transition.]" "-Yeta-expand-keeps-star[Eta-expand varargs methods to T* rather than Seq[T]. This is a temporary option to ease transition.]"
"-Ygen-javap+[Generate a parallel output directory of .javap files]:output directory:_files -/" "-Ygen-javap+[Generate a parallel output directory of .javap files]:output directory:_files -/"
"-Yinfer-argument-types[Infer types for arguments of overriden methods]" "-Yinfer-argument-types[Infer types for arguments of overridden methods]"
"-Yinline[Perform inlining when possible]" "-Yinline[Perform inlining when possible]"
"-Yinline-handlers[Perform exception handler inlining when possible]" "-Yinline-handlers[Perform exception handler inlining when possible]"
"-Yinline-warnings[Emit inlining warnings (normally surpressed due to high volume)]" "-Yinline-warnings[Emit inlining warnings (normally suppressed due to high volume)]"
"-Yinvalidate+[Invalidate classpath entry before run]:classpath entry" "-Yinvalidate+[Invalidate classpath entry before run]:classpath entry"
"-Ylinearizer\:-[Linearizer to use (default\: rpo)]:linearizer:(normal dfs rpo dump)" "-Ylinearizer\:-[Linearizer to use (default\: rpo)]:linearizer:(normal dfs rpo dump)"
"-Ylog-classpath[Output information about what classpath is being applied]" "-Ylog-classpath[Output information about what classpath is being applied]"

View File

@ -1,4 +1,4 @@
#Alias for Zypper according to the offical Zypper's alias #Alias for Zypper according to the official Zypper's alias
#Main commands #Main commands
alias z='sudo zypper' #call zypper alias z='sudo zypper' #call zypper
@ -51,7 +51,7 @@ alias zrr='sudo zypper rr' #remove repositories
alias zas='sudo zypper as' #adds a service specified by URI to the system alias zas='sudo zypper as' #adds a service specified by URI to the system
alias zms='sudo zypper ms' #modify properties of specified services alias zms='sudo zypper ms' #modify properties of specified services
alias zrefs='sudo zypper refs' #refreshing a service mean executing the service's special task alias zrefs='sudo zypper refs' #refreshing a service mean executing the service's special task
alias zrs='sudo zypper rs' #remove specified repository index service from the sytem alias zrs='sudo zypper rs' #remove specified repository index service from the system
alias zls='sudo zypper ls' #list services defined on the system alias zls='sudo zypper ls' #list services defined on the system
#Package Locks Management commands #Package Locks Management commands

View File

@ -98,7 +98,7 @@ __push() {
'-token=[(token) Atlas API token to use to authorize the upload. If blank or unspecified, the ATLAS_TOKEN environmental variable will be used.]' \ '-token=[(token) Atlas API token to use to authorize the upload. If blank or unspecified, the ATLAS_TOKEN environmental variable will be used.]' \
'-var=[("foo=bar") Set the value of a variable for the Terraform configuration.]' \ '-var=[("foo=bar") Set the value of a variable for the Terraform configuration.]' \
'-var-file=[(foo) Set the value of variables using a variable file.]' \ '-var-file=[(foo) Set the value of variables using a variable file.]' \
'-vcs=[(true) If true (default), then Terraform will detect if a VCS is in use, such as Git, and will only upload files that are comitted to version control. If no version control system is detected, Terraform will upload all files in path (parameter to the command).]' '-vcs=[(true) If true (default), then Terraform will detect if a VCS is in use, such as Git, and will only upload files that are committed to version control. If no version control system is detected, Terraform will upload all files in path (parameter to the command).]'
} }
__refresh() { __refresh() {

View File

@ -10,7 +10,7 @@ By now you already can guess almost all aliases
There are two exeptions since ... There are two exeptions since ...
agu = sudo Apt-Get Update - we have ... agu = sudo Apt-Get Update - we have ...
agug = sudo Apt-Get UpGrade - as the exeptional 4 letter alias for a single command. agug = sudo Apt-Get UpGrade - as the exceptional 4 letter alias for a single command.
afs = Apt-File Search --regexp - this has the regexp switch on without being represented in the alias, I guess this makes sense since the debian plugin has it, I never used that command. afs = Apt-File Search --regexp - this has the regexp switch on without being represented in the alias, I guess this makes sense since the debian plugin has it, I never used that command.

View File

@ -69,7 +69,7 @@ alias mydeb='time dpkg-buildpackage -rfakeroot -us -uc'
# apt-add-repository with automatic install/upgrade of the desired package # apt-add-repository with automatic install/upgrade of the desired package
# Usage: aar ppa:xxxxxx/xxxxxx [packagename] # Usage: aar ppa:xxxxxx/xxxxxx [packagename]
# If packagename is not given as 2nd argument the function will ask for it and guess the default by taking # If packagename is not given as 2nd argument the function will ask for it and guess the default by taking
# the part after the / from the ppa name wich is sometimes the right name for the package you want to install # the part after the / from the ppa name which is sometimes the right name for the package you want to install
aar() { aar() {
if [ -n "$2" ]; then if [ -n "$2" ]; then
PACKAGE=$2 PACKAGE=$2

View File

@ -15,6 +15,7 @@ function web_search() {
github "https://github.com/search?q=" github "https://github.com/search?q="
baidu "https://www.baidu.com/s?wd=" baidu "https://www.baidu.com/s?wd="
ecosia "https://www.ecosia.org/search?q=" ecosia "https://www.ecosia.org/search?q="
goodreads "https://www.goodreads.com/search?q="
) )
# check whether the search engine is supported # check whether the search engine is supported
@ -47,6 +48,7 @@ alias yandex='web_search yandex'
alias github='web_search github' alias github='web_search github'
alias baidu='web_search baidu' alias baidu='web_search baidu'
alias ecosia='web_search ecosia' alias ecosia='web_search ecosia'
alias goodreads='web_search goodreads'
#add your own !bang searches here #add your own !bang searches here
alias wiki='web_search duckduckgo \!w' alias wiki='web_search duckduckgo \!w'

View File

@ -125,7 +125,7 @@ ENVIRONMENT
Directories must be full paths without trailing slashes. Directories must be full paths without trailing slashes.
The environment variable $_Z_OWNER can be set to your username, to The environment variable $_Z_OWNER can be set to your username, to
allow usage of z when your sudo enviroment keeps $HOME set. allow usage of z when your sudo environment keeps $HOME set.
FILES FILES
Data is stored in $HOME/.z. This can be overridden by setting the Data is stored in $HOME/.z. This can be overridden by setting the

View File

@ -151,7 +151,7 @@ directory trees to exclude from tracking. \fB$HOME\fR is always excluded.
Directories must be full paths without trailing slashes. Directories must be full paths without trailing slashes.
.P .P
The environment variable \fB$_Z_OWNER\fR can be set to your username, to The environment variable \fB$_Z_OWNER\fR can be set to your username, to
allow usage of \fBz\fR when your sudo enviroment keeps \fB$HOME\fR set. allow usage of \fBz\fR when your sudo environment keeps \fB$HOME\fR set.
.SH .SH
FILES FILES
Data is stored in \fB$HOME/.z\fR. This can be overridden by setting the Data is stored in \fB$HOME/.z\fR. This can be overridden by setting the

View File

@ -27,7 +27,7 @@ else
fi fi
# git settings # git settings
ZSH_THEME_GIT_PROMPT_PREFIX="$FG[075](branch:" ZSH_THEME_GIT_PROMPT_PREFIX="$FG[075]($FG[078]"
ZSH_THEME_GIT_PROMPT_CLEAN="" ZSH_THEME_GIT_PROMPT_CLEAN=""
ZSH_THEME_GIT_PROMPT_DIRTY="$my_orange*%{$reset_color%}" ZSH_THEME_GIT_PROMPT_DIRTY="$my_orange*%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="$FG[075])%{$reset_color%}" ZSH_THEME_GIT_PROMPT_SUFFIX="$FG[075])%{$reset_color%}"

View File

@ -17,7 +17,7 @@ setopt prompt_subst
autoload -U add-zsh-hook autoload -U add-zsh-hook
autoload -Uz vcs_info autoload -Uz vcs_info
#use extended color pallete if available #use extended color palette if available
if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then
turquoise="%F{81}" turquoise="%F{81}"
orange="%F{166}" orange="%F{166}"

View File

@ -61,7 +61,7 @@ cmd_exec_time() {
[ $elapsed -gt 5 ] && echo ${elapsed}s [ $elapsed -gt 5 ] && echo ${elapsed}s
} }
# Get the intial timestamp for cmd_exec_time # Get the initial timestamp for cmd_exec_time
# #
preexec() { preexec() {
cmd_timestamp=`date +%s` cmd_timestamp=`date +%s`

View File

@ -19,7 +19,7 @@ setopt prompt_subst
autoload -U add-zsh-hook autoload -U add-zsh-hook
autoload -Uz vcs_info autoload -Uz vcs_info
#use extended color pallete if available #use extended color palette if available
if [[ $terminfo[colors] -ge 256 ]]; then if [[ $terminfo[colors] -ge 256 ]]; then
turquoise="%F{81}" turquoise="%F{81}"
orange="%F{166}" orange="%F{166}"

View File

@ -36,7 +36,7 @@ local c12=$(printf "\e[38;5;142m\e[1m")
local c13=$(printf "\e[38;5;196m\e[1m") local c13=$(printf "\e[38;5;196m\e[1m")
# We dont want to use the extended colorset in the TTY / VC. # We don't want to use the extended colorset in the TTY / VC.
if [ "$TERM" = "linux" ]; then if [ "$TERM" = "linux" ]; then
c1=$( printf "\e[34;1m") c1=$( printf "\e[34;1m")
c2=$( printf "\e[35m") c2=$( printf "\e[35m")
@ -71,7 +71,7 @@ prompt_jnrowe_precmd () {
PROMPT='%{$fg_bold[green]%}%p%{$reset_color%}${vcs_info_msg_0_}${dir_status} ${ret_status}%{$reset_color%} PROMPT='%{$fg_bold[green]%}%p%{$reset_color%}${vcs_info_msg_0_}${dir_status} ${ret_status}%{$reset_color%}
> ' > '
# modified, to be commited # modified, to be committed
elif [[ $(git diff --cached --name-status 2>/dev/null ) != "" ]]; then elif [[ $(git diff --cached --name-status 2>/dev/null ) != "" ]]; then
dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$(zsh_path)%} %{$c0%}(%{$c5%}%?%{$c0%})" dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$(zsh_path)%} %{$c0%}(%{$c5%}%?%{$c0%})"
PROMPT='${vcs_info_msg_0_}%{$30%} %{$bg_bold[red]%}%{$fg_bold[cyan]%}C%{$fg_bold[black]%}OMMIT%{$reset_color%} PROMPT='${vcs_info_msg_0_}%{$30%} %{$bg_bold[red]%}%{$fg_bold[cyan]%}C%{$fg_bold[black]%}OMMIT%{$reset_color%}