revert tmux split keys to original

This commit is contained in:
Maxim Kraev 2016-07-18 13:03:47 +01:00 committed by Maksim Kraev
commit 09b6fde6af
19 changed files with 1422 additions and 85 deletions

22
MIT-LICENSE.txt Normal file
View file

@ -0,0 +1,22 @@
The MIT License (MIT)
Copyright (c) 2009-2016 Robby Russell and 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
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

213
README.markdown Normal file
View file

@ -0,0 +1,213 @@
<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 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/MaximKraev/oh-my-zsh/wiki/Installing-ZSH)
* `curl` or `wget` should be installed
* `git` should be installed
### Basic Installation
Oh My Zsh is installed by running one of the following commands in your terminal. You can install this via the command-line with either `curl` or `wget`.
#### via curl
```shell
sh -c "$(curl -fsSL https://raw.github.com/MaximKraev/oh-my-zsh/master/tools/install.sh)"
```
#### via wget
```shell
sh -c "$(wget https://raw.github.com/MaximKraev/oh-my-zsh/master/tools/install.sh -O -)"
```
## Using Oh My Zsh
### Plugins
Oh My Zsh comes with a shit load of plugins to take advantage of. You can take a look in the [plugins](https://github.com/MaximKraev/oh-my-zsh/tree/master/plugins) directory and/or the [wiki](https://github.com/MaximKraev/oh-my-zsh/wiki/Plugins) to see what's currently available.
#### Enabling Plugins
If you spot a plugin (or several) that you would like to use with Oh My Zsh, you will need to edit the `~/.zshrc` file. Once you open it with your favorite editor, you'll see a spot to list all the plugins that you'd like Oh My Zsh to load in initialization.
For example, this line might begin to look like...
```shell
plugins=(git bundler osx rake ruby)
```
#### Using Plugins
Most plugins (should! we're working on this) include a __README__, which documents how to use them.
### Themes
We'll admit it. Early in the Oh My Zsh world, we may have gotten a bit too theme happy. We have over one hundred themes now bundled. Most of them have [screenshots](https://wiki.github.com/MaximKraev/oh-my-zsh/themes) on the wiki. Check them out!
#### Selecting a Theme
_Robby's theme is the default one. It's not the fanciest one. It's not the simplest one. It's just right (for him)._
Once you find a theme that you want to use, you will need to edit the `~/.zshrc` file. You'll see an environment variable (all caps) in there that looks like:
```shell
ZSH_THEME="MaximKraev"
```
To use a different theme, simply change the value to match the name of your desired theme. For example:
```shell
ZSH_THEME="agnoster" # (this is one of the fancy ones)
```
Open up a new terminal window and your prompt should look something like...
![Agnoster theme](https://cloud.githubusercontent.com/assets/2618447/6316862/70f58fb6-ba03-11e4-82c9-c083bf9a6574.png)
In case you did not find a suitable theme for your needs, please have a look at the wiki for [more of them](https://github.com/MaximKraev/oh-my-zsh/wiki/External-themes).
If you're feeling feisty, you can let the computer select one randomly for you each time you open a new terminal window.
```shell
ZSH_THEME="random" # (...please let it be pie... please be some pie..)
```
## Advanced Topics
If you're the type that likes to get their hands dirty, these sections might resonate.
### Advanced Installation
Some users may want to change the default path, or manually install Oh My Zsh.
#### Custom Directory
The default location is `~/.oh-my-zsh` (hidden in your home directory)
If you'd like to change the install directory with the `ZSH` environment variable, either by running `export ZSH=/your/path` before installing, or by setting it before the end of the install pipeline like this:
```shell
export ZSH="$HOME/.dotfiles/oh-my-zsh"; sh -c "$(curl -fsSL https://raw.github.com/MaximKraev/oh-my-zsh/master/tools/install.sh)"
```
#### Manual Installation
##### 1. Clone the repository:
```shell
git clone git://github.com/MaximKraev/oh-my-zsh.git ~/.oh-my-zsh
```
##### 2. *Optionally*, backup your existing `~/.zshrc` file:
```shell
cp ~/.zshrc ~/.zshrc.orig
```
##### 3. Create a new zsh configuration file
You can create a new zsh config file by copying the template that we included for you.
```shell
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
```
##### 4. Change your default shell
```shell
chsh -s /bin/zsh
```
##### 5. Initialize your new zsh configuration
Once you open up a new terminal window, it should load zsh with Oh My Zsh's configuration.
### Installation Problems
If you have any hiccups installing, here are a few common fixes.
* You _might_ need to modify your `PATH` in `~/.zshrc` if you're not able to find some commands after switching to `oh-my-zsh`.
* If you installed manually or changed the install location, check the `ZSH` environment variable in `~/.zshrc`.
### Custom Plugins and Themes
If you want to override any of the default behaviors, just add a new file (ending in `.zsh`) in the `custom/` directory.
If you have many functions that go well together, you can put them as a `XYZ.plugin.zsh` file in the `custom/plugins/` directory and then enable this plugin.
If you would like to override the functionality of a plugin distributed with Oh My Zsh, create a plugin of the same name in the `custom/plugins/` directory and it will be loaded instead of the one in `plugins/`.
## Getting Updates
By default, you will be prompted to check for upgrades every few weeks. If you would like `oh-my-zsh` to automatically upgrade itself without prompting you, set the following in your `~/.zshrc`:
```shell
DISABLE_UPDATE_PROMPT=true
```
To disable automatic upgrades, set the following in your `~/.zshrc`:
```shell
DISABLE_AUTO_UPDATE=true
```
### Manual Updates
If you'd like to upgrade at any point in time (maybe someone just released a new plugin and you don't want to wait a week?) you just need to run:
```shell
upgrade_oh_my_zsh
```
Magic!
## Uninstalling Oh My Zsh
Oh My Zsh isn't for everyone. We'll miss you, but we want to make this an easy breakup.
If you want to uninstall `oh-my-zsh`, just run `uninstall_oh_my_zsh` from the command-line. It will remove itself and revert your previous `bash` or `zsh` configuration.
## Contributing
I'm far from being a [Zsh](http://www.zsh.org/) expert and suspect there are many ways to improve if you have ideas on how to make the configuration easier to maintain (and faster), don't hesitate to fork and send pull requests!
We also need people to test out pull-requests. So take a look through [the open issues](https://github.com/MaximKraev/oh-my-zsh/issues) and help where you can.
### Do NOT send us themes
We have (more than) enough themes for the time being. Please add your theme to the [external themes](https://github.com/MaximKraev/oh-my-zsh/wiki/External-themes) wiki page.
## Contributors
Oh My Zsh has a vibrant community of happy users and delightful contributors. Without all the time and help from our contributors, it wouldn't be so awesome.
Thank you so much!
## Follow Us
We have an [@ohmyzsh](https://twitter.com/ohmyzsh) Twitter account. You should follow it.
## Merchandise
We have [stickers](http://shop.planetargon.com/products/ohmyzsh-stickers-set-of-3-stickers) and [shirts](http://shop.planetargon.com/products/ohmyzsh-t-shirts) for you to show off your love of Oh My Zsh. Again, this will help you become the talk of the town!
## License
Oh My Zsh is released under the [MIT license](MIT-LICENSE.txt).

4
cache/.easter-egg vendored Normal file
View file

@ -0,0 +1,4 @@
This file is only here so that Git will keep a cache directory as .gitignore is ignoring all the files within it.
Feel free to add love notes for people here.

View file

@ -20,5 +20,7 @@ setopt hist_expire_dups_first
setopt hist_ignore_dups # ignore duplication command history list
setopt hist_ignore_space
setopt hist_verify
setopt hist_no_store
setopt hist_find_no_dups
setopt inc_append_history
setopt share_history # share command history data

4
log/.easter-egg Normal file
View file

@ -0,0 +1,4 @@
This file is only here so that Git will keep a log directory as .gitignore is ignoring all the log files within it.
feel free to add love notes for people here.

336
plugins/archlinux/_yaourt Normal file
View file

@ -0,0 +1,336 @@
#compdef yaourt yaourt.static=yaourt
# copy this file to /usr/share/zsh/site-functions/_pacman
typeset -A opt_args
# options for passing to _arguments: main pacman commands
_yaourt_opts_commands=(
'-Q[Query the package database]'
'-R[Remove a package from the system]'
'-S[Synchronize packages]'
'-U[Upgrade a package]'
'-V[Display version and exit]'
'-h[Display usage]'
'-B[backup pacman database]'
'-G[Get PKGBUILD]'
'-C[Clean backup files]'
'--stats[Package Statistics]'
)
# options for passing to _arguments: options common to all commands
_yaourt_opts_common=(
'-b[Alternate database location]:database_location:_files -/'
'-h[Display syntax for the given operation]'
'-r[Set alternate installation root]:installation root:_files -/'
'-v[Be more verbose]'
'--cachedir[Alternate package cache location]:cache_location:_files -/'
'--config[An alternate configuration file]:config file:_files'
'--logfile[An alternate log file]:config file:_files'
'--noconfirm[Do not ask for confirmation]'
'--noprogressbar[Do not show a progress bar when downloading files]'
'--noscriptlet[Do not execute the install scriptlet if one exists]'
'--print[Only print the targets instead of performing the operation]'
)
# options for passing to _arguments: options for --upgrade commands
_yaourt_opts_pkgfile=(
'-d[Skip dependency checks]'
'-f[Overwrite conflicting files]'
'*:package file:_files -g "*.pkg.tar.*(.)"'
)
# options for passing to _arguments: subactions for --query command
_yaourt_opts_query_actions=(
'-g[View all members of a package group]:*:package groups:->query_group'
'-o[Query the package that owns a file]:file:_files'
'-p[Package file to query]:*:package file:->query_file'
'-s[Search package names and descriptions]:*:search text:->query_search'
)
# options for passing to _arguments: options for --query and subcommands
_yaourt_opts_query_modifiers=(
'-c[List package changelog]'
'-d[List packages installed as dependencies]'
'-e[List packages explicitly installed]'
'-i[View package information]'
'-ii[View package information including backup files]'
'-k[Check package files]'
'-l[List package contents]'
'-m[List installed packages not found in sync db(s)]'
'-t[List packages not required by any package]'
'-u[List packages that can be upgraded]'
'--aur[Install packages from aur, even if they are in community, or, with the -u option, update packages installed from aur]'
'--devel[Used with -u updates all cvs/svn/git/hg/bzr packages]'
)
# options for passing to _arguments: options for --remove command
_yaourt_opts_remove=(
'-c[Remove all dependent packages]'
'-d[Skip dependency checks]'
'-k[Only remove database entry, do not remove files]'
'-n[Remove protected configuration files]'
'-s[Remove dependencies not required by other packages]'
'*:installed package:_yaourt_completions_installed_packages'
)
# options for passing to _arguments: options for --sync command
_yaourt_opts_sync_actions=(
'*-c[Remove old packages from cache]:*:clean:->sync_clean'
'*-cc[Remove all packages from cache]:*:clean:->sync_clean'
'-g[View all members of a package group]:*:package groups:->sync_group'
'-s[Search package names and descriptions]:*:search text:->sync_search'
)
# options for passing to _arguments: options for --sync command
_yaourt_opts_sync_modifiers=(
'-d[Skip dependency checks]'
'-f[Overwrite conflicting files]'
'-i[View package information]'
'-l[List all packages in a repository]'
'-p[Print download URIs for each package to be installed]'
'-u[Upgrade all out-of-date packages]'
'-w[Download packages only]'
'-y[Download fresh package databases]'
'*--ignore[Ignore a package upgrade]:package:
_yaourt_completions_all_packages'
'*--ignoregroup[Ignore a group upgrade]:package group:
_yaourt_completions_all_groups'
'--asdeps[Install packages as non-explicitly installed]'
'--asexplicit[Install packages as explicitly installed]'
)
# handles --help subcommand
_yaourt_action_help() {
_arguments -s : \
"$_yaourt_opts_commands[@]"
}
# handles cases where no subcommand has yet been given
_yaourt_action_none() {
_arguments -s : \
"$_yaourt_opts_commands[@]"
}
# handles --query subcommand
_yaourt_action_query() {
local context state line
typeset -A opt_args
# _arguments -s : \
# "$_yaourt_opts_common[@]" \
# "$_yaourt_opts_query_actions[@]" \
# "$_yaourt_opts_query_modifiers[@]"
case $state in
query_file)
_arguments -s : \
"$_yaourt_opts_common[@]" \
"$_yaourt_opts_query_modifiers[@]" \
'*:package file:_files -g "*.pkg.tar.*"'
;;
query_group)
_arguments -s : \
"$_yaourt_opts_common[@]" \
"$_yaourt_opts_query_modifiers[@]" \
'*:groups:_yaourt_completions_installed_groups'
;;
query_owner)
_arguments -s : \
"$_yaourt_opts_common[@]" \
"$_yaourt_opts_query_modifiers[@]" \
'*:file:_files'
;;
query_search)
_arguments -s : \
"$_yaourt_opts_common[@]" \
"$_yaourt_opts_query_modifiers[@]" \
'*:search text: '
;;
*)
_arguments -s : \
"$_yaourt_opts_common[@]" \
"$_yaourt_opts_query_actions[@]" \
"$_yaourt_opts_query_modifiers[@]" \
'*:package:_yaourt_completions_installed_packages'
;;
esac
}
# handles --remove subcommand
_yaourt_action_remove() {
_arguments -s : \
"$_yaourt_opts_common[@]" \
"$_yaourt_opts_remove[@]"
}
# handles --sync subcommand
_yaourt_action_sync() {
local context state line
typeset -A opt_args
# _arguments -s : \
# "$_yaourt_opts_common[@]" \
# "$_yaourt_opts_sync_actions[@]" #\
# #"$_yaourt_opts_sync_modifiers[@]"
case $state in
sync_clean)
_arguments -s : \
"$_yaourt_opts_common[@]" \
"$_yaourt_opts_sync_modifiers[@]" \
'*-c[Remove old packages from cache]' \
;;
sync_group)
_arguments -s : \
"$_yaourt_opts_common[@]" \
"$_yaourt_opts_sync_modifiers[@]" \
'*:package group:_yaourt_completions_all_groups'
;;
sync_search)
_arguments -s : \
"$_yaourt_opts_common[@]" \
"$_yaourt_opts_sync_modifiers[@]" \
'*:search text: '
;;
*)
_arguments -s : \
"$_yaourt_opts_common[@]" \
"$_yaourt_opts_sync_modifiers[@]" \
'*:package:_yaourt_completions_all_packages'
;;
esac
}
# handles --upgrade subcommand
_yaourt_action_upgrade() {
_arguments -s : \
"$_yaourt_opts_common[@]" \
"$_yaourt_opts_pkgfile[@]"
}
# handles --version subcommand
_yaourt_action_version() {
# no further arguments
return 0
}
# provides completions for package groups
_yaourt_completions_all_groups() {
local -a cmd groups
_yaourt_get_command
groups=( $(_call_program groups $cmd[@] -Sg) )
typeset -U groups
compadd "$@" -a groups
}
# provides completions for packages available from repositories
# these can be specified as either 'package' or 'repository/package'
_yaourt_completions_all_packages() {
local -a cmd packages repositories packages_long
_yaourt_get_command
if compset -P1 '*/*'; then
packages=( $(_call_program packages $cmd[@] -Sql ${words[CURRENT]%/*}) )
typeset -U packages
_wanted repo_packages expl "repository/package" compadd ${(@)packages}
else
packages=( $(_call_program packages $cmd[@] -Sql) )
typeset -U packages
_wanted packages expl "packages" compadd - "${(@)packages}"
repositories=(${(o)${${${(M)${(f)"$(</etc/pacman.conf)"}:#\[*}/\[/}/\]/}:#options})
typeset -U repositories
_wanted repo_packages expl "repository/package" compadd -S "/" $repositories
fi
}
# provides completions for package groups
_yaourt_completions_installed_groups() {
local -a cmd groups
_yaourt_get_command
groups=(${(o)${(f)"$(_call_program groups $cmd[@] -Qg)"}% *})
typeset -U groups
compadd "$@" -a groups
}
# provides completions for installed packages
_yaourt_completions_installed_packages() {
local -a cmd packages packages_long
packages_long=(/var/lib/pacman/local/*(/))
packages=( ${${packages_long#/var/lib/pacman/local/}%-*-*} )
compadd "$@" -a packages
}
# provides completions for repository names
_yaourt_completions_repositories() {
local -a cmd repositories
repositories=(${(o)${${${(M)${(f)"$(</etc/pacman.conf)"}:#\[*}/\[/}/\]/}:#options})
# Uniq the array
typeset -U repositories
compadd "$@" -a repositories
}
# builds command for invoking pacman in a _call_program command - extracts
# relevant options already specified (config file, etc)
# $cmd must be declared by calling function
_yaourt_get_command() {
# this is mostly nicked from _perforce
cmd=( "pacman" )
integer i
for (( i = 2; i < CURRENT - 1; i++ )); do
if [[ ${words[i]} = "--config" || ${words[i]} = "--root" ]]; then
cmd+=( ${words[i,i+1]} )
fi
done
}
# main dispatcher
_pacman() {
case $words[2] in
-Q*g*) # ipkg groups
_arguments -s : \
"$_yaourt_opts_common[@]" \
"$_yaourt_opts_query_modifiers[@]" \
'*:groups:_yaourt_completions_installed_groups'
;;
-Q*o*) # file
_arguments -s : \
"$_yaourt_opts_common[@]" \
"$_yaourt_opts_query_modifiers[@]" \
'*:package file:_files'
;;
-Q*p*) # file *.pkg.tar.*
_arguments -s : \
"$_yaourt_opts_common[@]" \
"$_yaourt_opts_query_modifiers[@]" \
'*:package file:_files -g "*.pkg.tar.*"'
;;
-Q*) _yaourt_action_query ;;
-R*) _yaourt_action_remove ;;
-S*c*) # no completion
return 0
;;
-S*l*) # repos
_arguments -s : \
"$_yaourt_opts_common[@]" \
"$_yaourt_opts_sync_modifiers[@]" \
'*:package repo:_yaourt_completions_repositories' \
;;
-S*g*) # pkg groups
_arguments -s : \
"$_yaourt_opts_common[@]" \
"$_yaourt_opts_sync_modifiers[@]" \
'*:package group:_yaourt_completions_all_groups'
;;
-S*) _yaourt_action_sync ;;
-U*) _yaourt_action_upgrade ;;
-V*) _yaourt_action_version ;;
-h*) _yaourt_action_help ;;
- ) _yaourt_action_none ;;
* ) return 1 ;;
esac
}
# run the main dispatcher
_pacman "$@"

View file

@ -67,7 +67,7 @@ else
sudo pacman -Syu
}
fi
if (( $+commands[pacman] )); then
# Pacman - https://wiki.archlinux.org/index.php/Pacman_Tips
alias pacupg='sudo pacman -Syu'
alias pacin='sudo pacman -S'
@ -134,3 +134,4 @@ pacmansignkeys() {
--no-permission-warning --command-fd 0 --edit-key $key
done
}
fi

View file

@ -0,0 +1,84 @@
# Autocompletion for homebrew-cask.
#
# This script intercepts calls to the brew plugin and adds autocompletion
# for the cask subcommand.
#
# Author: https://github.com/pstadler
compdef _brew-cask brew
_brew-cask()
{
local curcontext="$curcontext" state line
typeset -A opt_args
_arguments -C \
':command:->command' \
':subcmd:->subcmd' \
'*::options:->options'
case $state in
(command)
__call_original_brew
cask_commands=(
'cask:manage casks'
)
_describe -t commands 'brew cask command' cask_commands ;;
(subcmd)
case "$line[1]" in
cask)
if (( CURRENT == 3 )); then
local -a subcommands
subcommands=(
"alfred:used to modify Alfred's scope to include the Caskroom"
'audit:verifies installability of casks'
'checklinks:checks for bad cask links'
'cleanup:cleans up cached downloads'
'create:creates a cask of the given name and opens it in an editor'
'doctor:checks for configuration issues'
'edit:edits the cask of the given name'
'fetch:downloads Cask resources to local cache'
'home:opens the homepage of the cask of the given name'
'info:displays information about the cask of the given name'
'install:installs the cask of the given name'
'list:with no args, lists installed casks; given installed casks, lists installed files'
'search:searches all known casks'
'uninstall:uninstalls the cask of the given name'
"update:a synonym for 'brew update'"
)
_describe -t commands "brew cask subcommand" subcommands
fi ;;
*)
__call_original_brew ;;
esac ;;
(options)
local -a casks installed_casks
local expl
case "$line[2]" in
list|uninstall)
__brew_installed_casks
_wanted installed_casks expl 'installed casks' compadd -a installed_casks ;;
audit|edit|home|info|install)
__brew_all_casks
_wanted casks expl 'all casks' compadd -a casks ;;
esac ;;
esac
}
__brew_all_casks() {
casks=(`brew cask search`)
}
__brew_installed_casks() {
installed_casks=(`brew cask list`)
}
__call_original_brew()
{
local ret=1
_call_function ret _brew
compdef _brew-cask brew
}

145
plugins/brew/_brew Normal file
View file

@ -0,0 +1,145 @@
#compdef brew
#autoload
# 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`)
}
_brew_installed_formulae() {
installed_formulae=(`brew list`)
}
_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`)
}
local -a _1st_arguments
_1st_arguments=(
'audit:check formulae for Homebrew coding style'
'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 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'
'gist-logs:generate a gist of the full build logs'
'home:visit the homepage of a formula or the brew project'
'info:information about a formula'
'install:install a formula'
'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 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: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 official_taps outdated_formulae
_arguments \
'(-v)-v[verbose]' \
'(--cellar)--cellar[brew cellar]' \
'(--env)--env[brew environment]' \
'(--repository)--repository[brew repository]' \
'(--version)--version[version information]' \
'(--prefix)--prefix[where brew lives on this system]' \
'(--cache)--cache[brew cache]' \
'*:: :->subcmds' && return 0
if (( CURRENT == 1 )); then
_describe -t commands "brew subcommand" _1st_arguments
return
fi
case "$words[1]" in
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]' \
'(--pinned)--pinned[list all versions of pinned formulae]' \
'(--versions)--versions[list all installed versions of a formula]' \
'1: :->forms' && return 0
if [[ "$state" == forms ]]; then
_brew_installed_formulae
_wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae
fi ;;
remove|rm|uninstall|unlink|cleanup|link|ln|pin|unpin)
_brew_installed_formulae
_wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae ;;
search|-S)
_arguments \
'(--macports)--macports[search the macports repository]' \
'(--fink)--fink[search the fink repository]' ;;
untap|tap-info|tap-pin)
_brew_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 ;;
esac

View file

@ -48,6 +48,8 @@ alias gb='git branch'
alias gba='git branch -a'
alias gbd='git branch -d'
alias gbda='git branch --no-color --merged | command grep -vE "^(\*|\s*(master|develop|dev)\s*$)" | command xargs -n 1 git branch -d'
alias gbclean='git fetch -p && git branch --merged master | grep -v "\* master" | grep -v "master" | xargs -r -n 1 git branch -d'
alias gbda='git branch --merged | command grep -vE "^(\*|\s*master\s*$)" | command xargs -n 1 git branch -d'
alias gbl='git blame -b -w'
alias gbnm='git branch --no-merged'
alias gbr='git branch --remote'

83
plugins/grunt/README.md Normal file
View file

@ -0,0 +1,83 @@
# grunt-zsh-completion
`grunt-zsh-completion` is the zsh completion script for
[grunt](https://github.com/gruntjs/grunt)/
[grunt-cli](https://github.com/gruntjs/grunt-cli)
It quickly response because it uses the cache.
![Screenshot1](https://raw.github.com/yonchu/grunt-zsh-completion/master/img/screenshot01.png)
![Screenshot2](https://raw.github.com/yonchu/grunt-zsh-completion/master/img/screenshot02.png)
## Installation
Put the `_grunt` file to the `fpath` directory.
```sh
$ cp _grunt /usr/local/share/zsh/site-functions/
$ exec zsh
```
Where the `fpath` directory is ?
```sh
$ echo "$fpath" | tr " " "\n"
```
## Installation for oh-my-zsh
1. In the command line, change to `oh-my-zsh` plugins directory:
```console
$ cd ~/.oh-my-zsh/custom/plugins
```
2. Clone the repository into a new directory called `grunt`:
```console
git clone https://github.com/yonchu/grunt-zsh-completion.git grunt
```
3. Include `grunt` plugin to your .zshrc file along with other plugins:
```zsh
...
plugins=(git grunt)
...
```
4. Restart your terminal application.
## Usage
### Enable caching
If you want to use the cache, set the followings in your .zshrc:
```zsh
zstyle ':completion:*' use-cache yes
```
### Settings
Show grunt file path:
```zsh
zstyle ':completion::complete:grunt::options:' show_grunt_path yes
```
Cache expiration days (default: 7):
```zsh
zstyle ':completion::complete:grunt::options:' expire 1
```
Note that if you change the zstyle settings,
you should delete the cache file and restart zsh.
```console
$ rm ~/.zcompcache/grunt
$ exec zsh
```

257
plugins/grunt/_grunt Normal file
View file

@ -0,0 +1,257 @@
#compdef grunt
#autoload
# -----------------------------------------------------------------------------
# _grunt
#
# Completion script for grunt.
# - https://github.com/gruntjs/grunt
# - https://github.com/gruntjs/grunt-cli
#
# -----------------------------------------------------------------------------
#
# Version : 0.1.1
# Author : Yonchu <yuyuchu3333@gmail.com>
# License : MIT License
# Repository : https://github.com/yonchu/grunt-zsh-completion
# Last Change : 29 Aug 2013.
#
# Copyright (c) 2013 Yonchu.
#
# -----------------------------------------------------------------------------
# USAGE
# -----
#
# Enable caching:
#
# If you want to use the cache, set the followings in your .zshrc:
#
# zstyle ':completion:*' use-cache yes
#
#
# Settings:
#
# - Show grunt file path:
# zstyle ':completion::complete:grunt::options:' show_grunt_path yes
#
# - Cache expiration days (default: 7):
# zstyle ':completion::complete:grunt::options:' expire 1
#
# - Not update options cache if target gruntfile is changed.
# zstyle ':completion::complete:grunt::options:' no_update_options yes
#
# Note that if you change the zstyle settings,
# you should delete the cache file and restart zsh.
#
# $ rm ~/.zcompcache/grunt
# $ exec zsh
#
# -----------------------------------------------------------------------------
function __grunt() {
local curcontext="$curcontext" update_policy state
local show_grunt_path update_msg gruntfile opts tasks
# Setup cache-policy.
zstyle -s ":completion:${curcontext}:" cache-policy update_policy
if [[ -z $update_policy ]]; then
zstyle ":completion:${curcontext}:" cache-policy __grunt_caching_policy
fi
# Check show_path option.
zstyle -b ":completion:${curcontext}:options:" show_grunt_path show_grunt_path
# Get current gruntfile.
gruntfile=$(__grunt_get_gruntfile)
# Initialize opts and tasks.
opts=()
tasks=()
# Add help options.
opts+=('(- 1 *)'{-h,--help}'[Display this help text.]')
## Complete without gruntfile.
if [[ ! -f $gruntfile ]]; then
_arguments "${opts[@]}"
return
fi
## Complete with gruntfile.
# Retrieve cache.
if ! __grunt_update_cache "$gruntfile"; then
update_msg=' (cache updated)'
fi
# Make optioins completion.
if [[ ${#__grunt_opts} -gt 0 ]]; then
opts+=("${__grunt_opts[@]}")
fi
# Complete arguments.
_arguments \
"${opts[@]}" \
'*: :->tasks' \
&& return
case $state in
tasks)
if [[ $show_grunt_path == 'yes' ]]; then
update_msg="$update_msg: ${${gruntfile/#$HOME/~}%/}"
fi
# Make tasks completion.
if [[ ${#__grunt_tasks} -gt 0 ]]; then
tasks+=("${__grunt_tasks[@]}")
_describe -t grunt-task "$verbose grunt task$update_msg" tasks || return 1
fi
;;
esac
return 0
}
# Cache policy:
# The cache file name: grunt
# The cache variable name: __grunt_version __grunt_gruntfile __grunt_opts __grunt_tasks
function __grunt_update_cache() {
# TODO
local version='0.1.1'
local is_updating=0
local gruntfile="$1"
local grunt_info no_update_options cache_path
# Check no_update_options option.
zstyle -b ":completion:${curcontext}:options:" no_update_options no_update_options
if ! ( (( $+__grunt_gruntfile )) \
&& (( $+__grunt_opts )) \
&& (( $+__grunt_tasks )) ) \
&& ! _retrieve_cache 'grunt'; then
is_updating=1
fi
if [[ $gruntfile != $__grunt_gruntfile ]]; then
# Except for --help options.
__grunt_gruntfile=$gruntfile
if [[ $no_update_options == 'yes' ]]; then
if [[ $PREFIX == ${PREFIX#-} ]]; then
# Not options completions.
is_updating=1
elif [[ ${#__grunt_opts} -lt 2 ]]; then
is_updating=1
else
unset __grunt_gruntfile
fi
else
is_updating=1
fi
else
if [[ $PREFIX != ${PREFIX#-} && ${#__grunt_opts} -gt 1 ]]; then
unset __grunt_gruntfile
fi
fi
if _cache_invalid 'grunt'; then
is_updating=1
fi
# Check _grunt version.
if [[ $__grunt_version != $version ]]; then
is_updating=1
fi
if [[ $is_updating -ne 0 ]]; then
# Update caceh.
__grunt_version=$version
__grunt_gruntfile=$gruntfile
is_updating=1
grunt_info=$(grunt --help --no-color --gruntfile "$__grunt_gruntfile" 2>/dev/null)
__grunt_opts=(${(f)"$(__grunt_get_opts "$grunt_info")"})
__grunt_tasks=(${(f)"$(__grunt_get_tasks "$grunt_info")"})
_store_cache 'grunt' __grunt_version __grunt_gruntfile __grunt_opts __grunt_tasks
fi
return $is_updating
}
function __grunt_get_tasks() {
echo -E "$1" \
| grep 'Available tasks' -A 100 \
| grep '^ ' \
| sed -e 's/^[[:blank:]]*//' -e 's/[[:blank:]]*$//' \
| sed -e 's/ /:/'
}
function __grunt_get_opts() {
local opt_hunk opt_sep opt_num line opt
opt_hunk=$(echo -E "$1" \
| grep 'Options$' -A 100 \
| sed '1 d' \
| sed -e 's/[[:blank:]]*$//' \
)
opt_sep=()
opt_hunk=(${(f)opt_hunk})
opt_num=0
for line in "$opt_hunk[@]"; do
opt=$(echo -E "$line" | sed -e 's/^[[:blank:]]*//')
if [[ $line == $opt ]]; then
break
fi
if [[ $opt != ${opt#-} ]]; then
# Start with -
(( opt_num++ ))
opt=$(echo -E "$opt" | sed 's/^\(\(--[^ ]*\)\(, \(-[^ ]*\)\)*\) */\2\\t\4\\\t/')
fi
opt_sep[$opt_num]=("${opt_sep[$opt_num]}${opt}")
done
for line in "$opt_sep[@]"; do
opt=(${(s:\t:)line})
if [[ ${opt[1]} == '--help' ]]; then
continue
fi
if [[ ${#opt} -eq 2 ]]; then
echo -E "(${opt[1]})${opt[1]}[${opt[2]}]"
else
echo -E "(${opt[1]},${opt[2]})${opt[1]}[${opt[3]}]"
echo -E "(${opt[1]},${opt[2]})${opt[2]}[${opt[3]}]"
fi
done
}
function __grunt_get_gruntfile() {
local gruntfile
local curpath="$PWD"
while [ "$curpath" ]; do
for gruntfile in "$curpath/"{G,g}runtfile.{js,coffee}; do
if [[ -e "$gruntfile" ]]; then
echo "$gruntfile"
return
fi
done
curpath=${curpath%/*}
done
return 1
}
function __grunt_caching_policy() {
# Returns status zero if the completions cache needs rebuilding.
# Rebuild if .agignore more recent than cache.
if [[ -f $__grunt_gruntfile && $__grunt_gruntfile -nt $1 ]]; then
# Invalid cache because gruntfile is old.
return 0
fi
local -a oldp
local expire
zstyle -s ":completion:${curcontext}:options:" expire expire || expire=7
# Rebuild if cache is more than $expire days.
oldp=( "$1"(Nm+$expire) )
(( $#oldp ))
}
__grunt "$@"
zstyle ':completion:*' use-cache yes
zstyle ':completion::complete:grunt::options:' expire 7

View file

@ -0,0 +1,105 @@
#Custom functino from MaximKraev
name() {
name=$1
vared -c -p 'rename to: ' name
command mv $1 $name
}
compdef name rename
# мои функции
#
ccd() { cd $1 && ls}
# создать директорию и перейти в нее
mcd(){ mkdir $1; cd $1 }
# если текущая директория пустая, то удалить ее и перейти в родительскую директорию
rcd(){ local P="`pwd`"; cd .. && rmdir "$P" || cd "$P"; }
# разукрашиваем некоторые команды с помощью grc
[[ -f /usr/bin/grc ]] && {
alias ping="grc --colour=auto ping -c 4"
alias traceroute="grc --colour=auto traceroute"
alias make="grc --colour=auto make"
alias diff="grc --colour=auto diff"
alias cvs="grc --colour=auto cvs"
alias netstat="grc --colour=auto netstat"
# разукрашиваем логи с помощью grc
alias logf="grc tailf"
alias logt="grc tail"
alias logc="grc cat"
alias logh="grc head"
}
alias mkpass="makepasswd --char 8"
alias mkpass16="makepasswd --char 16"
# принудимтельное удаление без коррекции
alias rmf='rm -f'
# принудительное рекурсивное удаление без коррекции
alias rmrf='rm -fR'
alias df='df -h'
alias du='du -h'
alias cp='cp --reflink=auto'
alias copy='gpaste-client <'
alias clean_color='sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"'
alias mpv-nv='mpv --profile=no-video'
#escape urls
autoload -U url-quote-magic
zle -N self-insert url-quote-magic
autoload -Uz bracketed-paste-magic
zle -N bracketed-paste bracketed-paste-magic
# if archlinux use gems in local folder
if [[ -x `which pacman` ]]; then
export PATH="`ruby -rubygems -e 'puts Gem.user_dir'`/bin:$PATH"
export GEM_HOME=$(ruby -e 'puts Gem.user_dir')
fi
if [[ -x `which subl3` ]]; then
alias s=subl3
fi
export EDITOR=vim
export VISUAL=$EDITOR
if [ -d "$HOME/bin" ] ; then
export PATH=${HOME}/bin:${PATH}
fi
if [ -d "$HOME/.local/bin" ] ; then
export PATH=$HOME/.local/bin:$PATH
fi
#npm
if [ -d "$HOME/.npm/bin" ] ; then
export PATH=${HOME}/.npm/bin:${PATH}
fi
#go
if [ -d "${HOME}/Projects/go" ] ; then
export GOPATH=$HOME/Projects/go
fi
if [ -d "${HOME}/Projects/go/bin" ] ; then
export PATH=${PATH}:${HOME}/Projects/go/bin
fi
if [ -n "$TMUX" ]; then
function refresh {
export $(tmux show-environment | grep "^SSH_AUTH_SOCK")
export $(tmux show-environment | grep "^DISPLAY")
export $(tmux show-environment | grep "^XAUTHORITY")
export $(tmux show-environment | grep "^SSH_ASKPASS")
export $(tmux show-environment | grep "^SSH_AGENT_PID")
export $(tmux show-environment | grep "^DBUS_SESSION_BUS_ADDRESS")
}
else
function refresh { }
fi
# function preexec {
# refresh
# }
#export PULSE_LATENCY_MSEC=60

5
plugins/osx/_man-preview Normal file
View file

@ -0,0 +1,5 @@
#compdef man-preview
#autoload
_man

View file

@ -1,2 +1,22 @@
set -g default-terminal $ZSH_TMUX_TERM
set -g base-index 1
set -g repeat-time 0
set-window-option -g mode-keys vi
# Allow mouse to select which pane to use
# set -g mouse-select-pane on
#bind C-z run "tmux save-buffer - | xclip -i -selection clipboard"
bind C-c run "tmux show-buffer | gpaste-client"
set -g prefix C-a
bind C-a send-prefix
#bind C-v split-window -h
#bind C-h split-window
bind C-q kill-window
set-window-option -g xterm-keys on
source $HOME/.tmux.conf

View file

@ -1 +1,20 @@
set -g default-terminal $ZSH_TMUX_TERM
set -g base-index 1
set -g repeat-time 0
set-window-option -g mode-keys vi
# Allow mouse to select which pane to use
# set -g mouse-select-pane on
#bind C-z run "tmux save-buffer - | xclip -i -selection clipboard"
bind C-c run "tmux show-buffer | gpaste-client"
set -g prefix C-a
bind C-a send-prefix
#bind C-v split-window -h
#bind C-h split-window
bind C-q kill-window
set-window-option -g xterm-keys on

View file

@ -0,0 +1,77 @@
# Path to your oh-my-zsh configuration.
ZSH=$HOME/.oh-my-zsh
if [[ "$TERM" == "xterm" ]]; then
export TERM=xterm-256color
fi
# Set name of the theme to load.
# Look in ~/.oh-my-zsh/themes/
# Optionally, if you set this to "random", it'll load a random theme each
# time that oh-my-zsh is loaded.
ZSH_THEME="mkraev"
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
DISABLE_UPDATE_PROMPT="true"
# Set to this to use case-sensitive completion
# CASE_SENSITIVE="true"
# Uncomment this to disable bi-weekly auto-update checks
# DISABLE_AUTO_UPDATE="true"
# Uncomment to change how often before auto-updates occur? (in days)
export UPDATE_ZSH_DAYS=7
# Uncomment following line if you want to disable colors in ls
# DISABLE_LS_COLORS="true"
# Uncomment following line if you want to disable autosetting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment following line if you want to disable command autocorrection
# DISABLE_CORRECTION="true"
# Uncomment following line if you want red dots to be displayed while waiting for completion
# COMPLETION_WAITING_DOTS="true"
# Uncomment following line if you want to disable marking untracked files under
# VCS as dirty. This makes repository status check for large repositories much,
# much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment following line if you want to shown in the command execution time stamp
# in the history command output. The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|
# yyyy-mm-dd
# HIST_STAMPS="mm/dd/yyyy"
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
ZSH_TMUX_AUTOSTART=true
plugins=(tmux archlinux systemd command-not-found sudo git colored-man zsh-syntax-highlighting colorize common-aliases cp extract history vagrant history-substring-search autojump systemadmin npm mkraev)
source $ZSH/oh-my-zsh.sh
# User configuration
# export PATH=$HOME/bin:/usr/local/bin:$PATH
# export MANPATH="/usr/local/man:$MANPATH"
# # Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# ssh
# export SSH_KEY_PATH="~/.ssh/dsa_id"
source $ZSH/plugins/history-substring-search/history-substring-search.zsh

View file

@ -1,85 +1,3 @@
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
#load default config
# Path to your oh-my-zsh installation.
export ZSH=$HOME/.oh-my-zsh
# Set name of the theme to load. Optionally, if you set this to "random"
# it'll load a random theme each time that oh-my-zsh is loaded.
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="robbyrussell"
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion. Case
# sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"
# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# HIST_STAMPS="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git)
source $ZSH/oh-my-zsh.sh
# User configuration
# export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# ssh
# export SSH_KEY_PATH="~/.ssh/dsa_id"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
source ~/.oh-my-zsh/templates/zshrc.default.zsh

40
themes/mkraev.zsh-theme Normal file
View file

@ -0,0 +1,40 @@
#!/usr/bin/env zsh
#local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
setopt promptsubst
autoload -U add-zsh-hook
PROMPT_SUCCESS_COLOR=$FG[033]
PROMPT_FAILURE_COLOR=$FG[124]
PROMPT_VCS_INFO_COLOR=$FG[242]
PROMPT_PROMPT=$FG[077]
GIT_DIRTY_COLOR=$FG[133]
GIT_CLEAN_COLOR=$FG[118]
GIT_PROMPT_INFO=$FG[012]
USER_PROMPT=""
if [ "$(whoami)" = "root" ]; then
USER_PROMPT="%{${fg_bold[red]}%}ROOT!!!!%{${reset_color}%} "
fi
HOST_PROPMPT=""
if [[ -n $SSH_CONNECTION ]]; then
HOST_PROPMPT="%{$fg[cyan]%}%n@%m%{$reset_color%}:"
fi
PROMPT=$'%{$USER_PROMPT%}%{$HOST_PROPMPT%}%{$PROMPT_SUCCESS_COLOR%}%~%{$reset_color%} %{$GIT_PROMPT_INFO%}$(git_prompt_info)%{$GIT_DIRTY_COLOR%}$(git_prompt_status) %{$reset_color%}\n%{$PROMPT_PROMPT%}ᐅ%{$reset_color%} '
#RPS1="${return_code}"
ZSH_THEME_GIT_PROMPT_PREFIX="("
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$GIT_PROMPT_INFO%})"
ZSH_THEME_GIT_PROMPT_DIRTY=" %{$GIT_DIRTY_COLOR%}✘"
ZSH_THEME_GIT_PROMPT_CLEAN=" %{$GIT_CLEAN_COLOR%}✔"
ZSH_THEME_GIT_PROMPT_ADDED="%{$FG[082]%}✚%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_MODIFIED="%{$FG[166]%}✹%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DELETED="%{$FG[160]%}✖%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_RENAMED="%{$FG[220]%}➜%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_UNMERGED="%{$FG[082]%}═%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$FG[190]%}✭%{$reset_color%}"