Skip to content

Commit

Permalink
Merge branch 'master' of git://github.com/robbyrussell/oh-my-zsh
Browse files Browse the repository at this point in the history
  • Loading branch information
lckarssen committed Mar 7, 2016
2 parents 0a47451 + bd6dbd1 commit cfac963
Show file tree
Hide file tree
Showing 26 changed files with 603 additions and 73 deletions.
10 changes: 5 additions & 5 deletions README.markdown
@@ -1,21 +1,21 @@
![Oh My Zsh](https://s3.amazonaws.com/ohmyzsh/oh-my-zsh-logo.png)

<p align="center">
<img src="https://s3.amazonaws.com/ohmyzsh/oh-my-zsh-logo.png" alt="Oh My Zsh">
</p>

Oh My Zsh is an open source, community-driven framework for managing your [zsh](http://www.zsh.org/) configuration. That sounds boring. Let's try this again.

__Oh My Zsh is a way of life!__ Once installed, your terminal prompt will become the talk of the town _or your money back!_ Each time you interact with your command prompt, you'll be able to take advantage of the hundreds of bundled plugins and pretty themes. Strangers will come up to you in cafés and ask you, _"that is amazing. are you some sort of genius?"_ Finally, you'll begin to get the sort of attention that you always felt that you deserved. ...or maybe you'll just use the time that you saved to start flossing more often.

To learn more, visit [ohmyz.sh](http://ohmyz.sh) and/or follow [ohmyzsh](https://twitter.com/ohmyzsh) on Twitter.
To learn more, visit [ohmyz.sh](http://ohmyz.sh) and follow [@ohmyzsh](https://twitter.com/ohmyzsh) on Twitter.

## Getting Started


### Prerequisites

__Disclaimer:__ _Oh My Zsh works best on Mac OS X and Linux._

* Unix-based operating system (Mac OS X or Linux)
* [Zsh](http://www.zsh.org) should be installed (v4.3.9 or more recent). If not pre-installed (`zsh --version` to confirm), check the following instruction here: [Installing-ZSH](https://github.com/robbyrussell/oh-my-zsh/wiki/Installing-ZSH)
* [Zsh](http://www.zsh.org) should be installed (v4.3.9 or more recent). If not pre-installed (`zsh --version` to confirm), check the following instruction here: [Installing ZSH](https://github.com/robbyrussell/oh-my-zsh/wiki/Installing-ZSH)
* `curl` or `wget` should be installed
* `git` should be installed

Expand Down
4 changes: 3 additions & 1 deletion lib/git.zsh
Expand Up @@ -37,7 +37,9 @@ function git_remote_status() {
ahead=$(command git rev-list ${hook_com[branch]}@{upstream}..HEAD 2>/dev/null | wc -l)
behind=$(command git rev-list HEAD..${hook_com[branch]}@{upstream} 2>/dev/null | wc -l)

if [[ $ahead -gt 0 ]] && [[ $behind -eq 0 ]]; then
if [[ $ahead -eq 0 ]] && [[ $behind -eq 0 ]]; then
git_remote_status="$ZSH_THEME_GIT_PROMPT_EQUAL_REMOTE"
elif [[ $ahead -gt 0 ]] && [[ $behind -eq 0 ]]; then
git_remote_status="$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE"
git_remote_status_detailed="$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE_COLOR$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE$((ahead))%{$reset_color%}"
elif [[ $behind -gt 0 ]] && [[ $ahead -eq 0 ]]; then
Expand Down
56 changes: 46 additions & 10 deletions plugins/brew/_brew
@@ -1,7 +1,13 @@
#compdef brew
#autoload

# imported from the latest homebrew contributions
# imported from https://github.com/Homebrew/homebrew/blob/29f73d2212c2b202fe25f69dcbf440d8391fa4c9/Library/Contributions/brew_zsh_completion.zsh

# Brew ZSH completion function
# Drop this somewhere in your $fpath (like /usr/share/zsh/site-functions)
# and rename it _brew
#
# altered from _fink

_brew_all_formulae() {
formulae=(`brew search`)
Expand All @@ -15,6 +21,14 @@ _brew_installed_taps() {
installed_taps=(`brew tap`)
}

_brew_official_taps() {
official_taps=(`brew tap --list-official`)
}

_brew_pinned_taps() {
pinned_taps=(`brew tap --list-pinned`)
}

_brew_outdated_formulae() {
outdated_formulae=(`brew outdated`)
}
Expand All @@ -25,8 +39,10 @@ _1st_arguments=(
'cat:display formula file for a formula'
'cleanup:uninstall unused and old versions of packages'
'commands:show a list of commands'
'config:show homebrew and system configuration'
'create:create a new formula'
'deps:list dependencies of a formula'
'deps:list dependencies and dependants of a formula'
'desc:display a description of a formula'
'doctor:audits your installation for common issues'
'edit:edit a formula'
'fetch:download formula resources to the cache'
Expand All @@ -37,40 +53,45 @@ _1st_arguments=(
'reinstall:install a formula anew; re-using its current options'
'leaves:show installed formulae that are not dependencies of another installed formula'
'link:link a formula'
'linkapps:symlink .app bundles provided by formulae into /Applications'
'list:list files in a formula or not-installed formulae'
'log:git commit log for a formula'
'missing:check all installed formuale for missing dependencies.'
'migrate:migrate renamed formula to new name'
'outdated:list formulae for which a newer version is available'
'pin:pin specified formulae'
'postinstall:perform post_install for a given formula'
'prune:remove dead links'
'remove:remove a formula'
'search:search for a formula (/regex/ or string)'
'switch:switch linkage between installed versions of a formula'
'switch:switch between different versions of a formula'
'tap:tap a new formula repository from GitHub, or list existing taps'
'tap-info:information about a tap'
'tap-pin:pin a tap'
'tap-unpin:unpin a tap'
'test-bot:test a formula and build a bottle'
'uninstall:uninstall a formula'
'unlink:unlink a formula'
'unlinkapps:remove symlinked .app bundles provided by formulae from /Applications'
'unpin:unpin specified formulae'
'untap:remove a tapped repository'
'update:pull latest repository'
'update:fetch latest version of Homebrew and all formulae'
'upgrade:upgrade outdated formulae'
'uses:show formulae which depend on a formula'
`brew commands --quiet --include-aliases`
)

local expl
local -a formulae installed_formulae installed_taps outdated_formulae
local -a formulae installed_formulae installed_taps official_taps outdated_formulae

_arguments \
'(-v)-v[verbose]' \
'(--cellar)--cellar[brew cellar]' \
'(--config)--config[brew configuration]' \
'(--env)--env[brew environment]' \
'(--repository)--repository[brew repository]' \
'(--version)--version[version information]' \
'(--prefix)--prefix[where brew lives on this system]' \
'(--cache)--cache[brew cache]' \
'(--force)--force[brew force]' \
'*:: :->subcmds' && return 0

if (( CURRENT == 1 )); then
Expand All @@ -79,9 +100,18 @@ if (( CURRENT == 1 )); then
fi

case "$words[1]" in
install|reinstall|audit|home|homepage|log|info|abv|uses|cat|deps|edit|options)
install|reinstall|audit|home|homepage|log|info|abv|uses|cat|deps|desc|edit|options|switch)
_brew_all_formulae
_wanted formulae expl 'all formulae' compadd -a formulae ;;
linkapps|unlinkapps)
_arguments \
'(--local)--local[operate on ~/Applications instead of /Applications]' \
'1: :->forms' && return 0

if [[ "$state" == forms ]]; then
_brew_installed_formulae
_wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae
fi ;;
list|ls)
_arguments \
'(--unbrewed)--unbrewed[files in brew --prefix not controlled by brew]' \
Expand All @@ -100,9 +130,15 @@ case "$words[1]" in
_arguments \
'(--macports)--macports[search the macports repository]' \
'(--fink)--fink[search the fink repository]' ;;
untap)
untap|tap-info|tap-pin)
_brew_installed_taps
_wanted installed_taps expl 'installed taps' compadd -a installed_taps ;;
_wanted installed_taps expl 'installed taps' compadd -a installed_taps ;;
tap)
_brew_official_taps
_wanted official_taps expl 'official taps' compadd -a official_taps ;;
tap-unpin)
_brew_pinned_taps
_wanted pinned_taps expl 'pinned taps' compadd -a pinned_taps ;;
upgrade)
_brew_outdated_formulae
_wanted outdated_formulae expl 'outdated formulae' compadd -a outdated_formulae ;;
Expand Down
6 changes: 3 additions & 3 deletions plugins/chruby/chruby.plugin.zsh
Expand Up @@ -16,9 +16,6 @@
# rvm and rbenv plugins also provide this alias
alias rubies='chruby'

local _chruby_path
local _chruby_auto

_homebrew-installed() {
whence brew &> /dev/null
}
Expand All @@ -42,6 +39,9 @@ if _ruby-build_installed; then
fi

_source_from_omz_settings() {
local _chruby_path
local _chruby_auto

zstyle -s :omz:plugins:chruby path _chruby_path
zstyle -s :omz:plugins:chruby auto _chruby_auto

Expand Down
8 changes: 8 additions & 0 deletions plugins/command-not-found/command-not-found.plugin.zsh
Expand Up @@ -23,3 +23,11 @@ if [ -f /usr/libexec/pk-command-not-found ]; then
return $retval
}
fi

# OSX command-not-found support
# https://github.com/Homebrew/homebrew-command-not-found
if type brew &> /dev/null; then
if brew command command-not-found-init > /dev/null 2>&1; then
eval "$(brew command-not-found-init)";
fi
fi
25 changes: 25 additions & 0 deletions plugins/dnf/README.md
@@ -0,0 +1,25 @@
## Description

This plugin makes `dnf` usage easier by adding aliases for the most
common commands.

`dnf` is the new package manager for RPM-based distributions, which
replaces `yum`.

## Aliases

| Alias | Command | Description |
|-------|-------------------------|--------------------------|
| dnfl | `dnf list` | List packages |
| dnfli | `dnf list installed` | List installed packages |
| dnfgl | `dnf grouplist` | List package groups |
| dnfmc | `dnf makecache` | Generate metadata cache |
| dnfp | `dnf info` | Show package information |
| dnfs | `dnf search` | Search package |
| **Use `sudo`** |
| dnfu | `sudo dnf upgrade` | Upgrade package |
| dnfi | `sudo dnf install` | Install package |
| dnfgi | `sudo dnf groupinstall` | Install package group |
| dnfr | `sudo dnf remove` | Remove package |
| dnfgr | `sudo dnf groupremove` | Remove package group |
| dnfc | `sudo dnf clean all` | Clean cache |
15 changes: 15 additions & 0 deletions plugins/dnf/dnf.plugin.zsh
@@ -0,0 +1,15 @@
## Aliases

alias dnfl="dnf list" # List packages
alias dnfli="dnf list installed" # List installed packages
alias dnfgl="dnf grouplist" # List package groups
alias dnfmc="dnf makecache" # Generate metadata cache
alias dnfp="dnf info" # Show package information
alias dnfs="dnf search" # Search package

alias dnfu="sudo dnf upgrade" # Upgrade package
alias dnfi="sudo dnf install" # Install package
alias dnfgi="sudo dnf groupinstall" # Install package group
alias dnfr="sudo dnf remove" # Remove package
alias dnfgr="sudo dnf groupremove" # Remove package group
alias dnfc="sudo dnf clean all" # Clean cache
17 changes: 15 additions & 2 deletions plugins/encode64/encode64.plugin.zsh
@@ -1,4 +1,17 @@
encode64(){ printf '%s' $1 | base64 }
decode64(){ printf '%s' $1 | base64 --decode }
encode64() {
if [[ $# -eq 0 ]]; then
cat | base64
else
printf '%s' $1 | base64
fi
}

decode64() {
if [[ $# -eq 0 ]]; then
cat | base64 --decode
else
printf '%s' $1 | base64 --decode
fi
}
alias e64=encode64
alias d64=decode64
8 changes: 5 additions & 3 deletions plugins/forklift/README.md
Expand Up @@ -4,10 +4,12 @@ Plugin for ForkLift, an FTP application for OS X.

### Requirements

* [ForkLift](http://forkliftapp.com/forklift/)
* [ForkLift](http://www.binarynights.com/forklift/)

### Usage

* If `fl` is called without arguments then the current folder is opened in ForkLift. Is equivalent to `fl .`
<code>fl [*file_or_folder*]</code>

* If `fl` is called with a directory as the argument, then that directory is opened in ForkLift
* If `fl` is called without arguments then the current folder is opened in ForkLift. This is equivalent to `fl .`.

* If `fl` is called with a directory as the argument, then that directory is opened in ForkLift. If called with a non-directory file as the argument, then the file's parent directory is opened.
2 changes: 1 addition & 1 deletion plugins/frontend-search/README.md
Expand Up @@ -38,7 +38,7 @@ Available search contexts are:
| bootsnipp | `http://bootsnipp.com/search?q=` |
| caniuse | `http://caniuse.com/#search=` |
| codepen | `http://codepen.io/search?q=` |
| compass | `http://compass-style.org/search?q=` |
| compassdoc | `http://compass-style.org/search?q=` |
| cssflow | `http://www.cssflow.com/search?q=` |
| dartlang | `https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/dart:` |
| emberjs | `http://emberjs.com/api/#stp=1&stq=` |
Expand Down
4 changes: 2 additions & 2 deletions plugins/frontend-search/_frontend-search.sh
Expand Up @@ -19,7 +19,7 @@ function _frontend() {
commands=(
'jquery: Search in jQuery website'
'mdn: Search in MDN website'
'compass: Search in COMPASS website'
'compassdoc: Search in COMPASS website'
'html5please: Search in HTML5 Please website'
'caniuse: Search in Can I Use website'
'aurajs: Search in AuraJs website'
Expand Down Expand Up @@ -57,7 +57,7 @@ function _frontend() {
mdn)
_describe -t points "Warp points" frontend_points && ret=0
;;
compass)
compassdoc)
_describe -t points "Warp points" frontend_points && ret=0
;;
html5please)
Expand Down
8 changes: 4 additions & 4 deletions plugins/frontend-search/frontend-search.plugin.zsh
Expand Up @@ -4,7 +4,7 @@ alias bem='frontend bem'
alias bootsnipp='frontend bootsnipp'
alias caniuse='frontend caniuse'
alias codepen='frontend codepen'
alias compass='frontend compass'
alias compassdoc='frontend compassdoc'
alias cssflow='frontend cssflow'
alias dartlang='frontend dartlang'
alias emberjs='frontend emberjs'
Expand Down Expand Up @@ -32,7 +32,7 @@ function frontend() {
bootsnipp 'http://bootsnipp.com/search?q='
caniuse 'http://caniuse.com/#search='
codepen 'http://codepen.io/search?q='
compass 'http://compass-style.org/search?q='
compassdoc 'http://compass-style.org/search?q='
cssflow 'http://www.cssflow.com/search?q='
dartlang 'https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/dart:'
emberjs 'http://emberjs.com/api/#stp=1&stq='
Expand All @@ -57,7 +57,7 @@ function frontend() {
print -P "%Uterm%u and what follows is what will be searched for in the %Ucontext%u website,"
print -P "and %Ucontext%u is one of the following:"
print -P ""
print -P " angularjs, aurajs, bem, bootsnipp, caniuse, codepen, compass, cssflow,"
print -P " angularjs, aurajs, bem, bootsnipp, caniuse, codepen, compassdoc, cssflow,"
print -P " dartlang, emberjs, fontello, html5please, jquery, lodash, mdn, npmjs,"
print -P " qunit, reactjs, smacss, stackoverflow, unheap"
print -P ""
Expand All @@ -73,7 +73,7 @@ function frontend() {
echo ""
echo "Valid contexts are:"
echo ""
echo " angularjs, aurajs, bem, bootsnipp, caniuse, codepen, compass, cssflow, "
echo " angularjs, aurajs, bem, bootsnipp, caniuse, codepen, compassdoc, cssflow, "
echo " dartlang, emberjs, fontello, html5please, jquery, lodash, mdn, npmjs, "
echo " qunit, reactjs, smacss, stackoverflow, unheap"
echo ""
Expand Down
2 changes: 0 additions & 2 deletions plugins/git/git.plugin.zsh
Expand Up @@ -213,7 +213,5 @@ alias gup='git pull --rebase'
alias gupv='git pull --rebase -v'
alias glum='git pull upstream master'

alias gvt='git verify-tag'

alias gwch='git whatchanged -p --abbrev-commit --pretty=medium'
alias gwip='git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit -m "--wip--"'
2 changes: 1 addition & 1 deletion plugins/gitignore/gitignore.plugin.zsh
@@ -1,4 +1,4 @@
function gi() { curl -sL https://www.gitignore.io/api/$@ ;}
function gi() { curl -sL https://www.gitignore.io/api/${(j:,:)@} }

_gitignoreio_get_command_list() {
curl -sL https://www.gitignore.io/api/list | tr "," "\n"
Expand Down

0 comments on commit cfac963

Please sign in to comment.