mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-05-08 04:34:00 +02:00
Merge branch 'master' into rkj-repos-24hr-clock
This commit is contained in:
commit
a176f03572
61 changed files with 2089 additions and 905 deletions
123
CONTRIBUTING.md
Normal file
123
CONTRIBUTING.md
Normal file
|
|
@ -0,0 +1,123 @@
|
||||||
|
# CONTRIBUTING GUIDELINES
|
||||||
|
|
||||||
|
Oh-My-Zsh is a community-driven project. Contribution is welcome, encouraged and appreciated.
|
||||||
|
It is also essential for the development of the project.
|
||||||
|
|
||||||
|
These guidelines are an attempt at better addressing the huge amount of pending
|
||||||
|
issues and pull requests. Please read them closely.
|
||||||
|
|
||||||
|
Foremost, be so kind as to [search](#use-the-search-luke). This ensures any contribution
|
||||||
|
you would make is not already covered.
|
||||||
|
|
||||||
|
* [Issues](#reporting-issues)
|
||||||
|
* [You have a problem](#you-have-a-problem)
|
||||||
|
* [You have a suggestion](#you-have-a-suggestion)
|
||||||
|
* [Pull Requests](#submitting-pull-requests)
|
||||||
|
* [Getting started](#getting-started)
|
||||||
|
* [You have a solution](#you-have-a-solution)
|
||||||
|
* [You have an addition](#you-have-an-addition)
|
||||||
|
* [Information sources (_aka_ search)](#use-the-search-luke)
|
||||||
|
|
||||||
|
**BONUS:** [Volunteering](#you-have-spare-time-to-volunteer)
|
||||||
|
|
||||||
|
## Reporting Issues
|
||||||
|
|
||||||
|
### You have a problem
|
||||||
|
|
||||||
|
Please be so kind as to [search](#use-the-search-luke) for any open issue already covering
|
||||||
|
your problem.
|
||||||
|
|
||||||
|
If you find one, comment on it so we can know there are more people experiencing it.
|
||||||
|
|
||||||
|
If not, look at the [Troubleshooting](https://github.com/robbyrussell/oh-my-zsh/wiki/Troubleshooting)
|
||||||
|
page for instructions on how to gather data to better debug your problem.
|
||||||
|
|
||||||
|
Then, you can go ahead and create an issue with as much detail as you can provide.
|
||||||
|
It should include the data gathered as indicated above, along with:
|
||||||
|
|
||||||
|
1. How to reproduce the problem
|
||||||
|
2. What the correct behavior should be
|
||||||
|
3. What the actual behavior is
|
||||||
|
|
||||||
|
Please copy to anyone relevant (_eg_ plugin maintainers) by mentioning their GitHub handle
|
||||||
|
(starting with `@`) in your message.
|
||||||
|
|
||||||
|
We will do our very best to help you.
|
||||||
|
|
||||||
|
### You have a suggestion
|
||||||
|
|
||||||
|
Please be so kind as to [search](#use-the-search-luke) for any open issue already covering
|
||||||
|
your suggestion.
|
||||||
|
|
||||||
|
If you find one, comment on it so we can know there are more people supporting it.
|
||||||
|
|
||||||
|
If not, you can go ahead and create an issue. Please copy to anyone relevant (_eg_ plugin
|
||||||
|
maintainers) by mentioning their GitHub handle (starting with `@`) in your message.
|
||||||
|
|
||||||
|
## Submitting Pull Requests
|
||||||
|
|
||||||
|
### Getting started
|
||||||
|
|
||||||
|
You should be familiar with the basics of
|
||||||
|
[contributing on GitHub](https://help.github.com/articles/using-pull-requests) and have a fork
|
||||||
|
[properly set up](https://github.com/robbyrussell/oh-my-zsh/wiki/Contribution-Technical-Practices).
|
||||||
|
|
||||||
|
You MUST always create PRs with _a dedicated branch_ based on the latest upstream tree.
|
||||||
|
|
||||||
|
If you create your own PR, please make sure you do it right. Also be so kind as to reference
|
||||||
|
any issue that would be solved in the PR description body,
|
||||||
|
[for instance](https://help.github.com/articles/closing-issues-via-commit-messages/)
|
||||||
|
_"Fixes #XXXX"_ for issue number XXXX.
|
||||||
|
|
||||||
|
### You have a solution
|
||||||
|
|
||||||
|
Please be so kind as to [search](#use-the-search-luke) for any open issue already covering
|
||||||
|
your [problem](#you-have-a-problem), and any pending/merged/rejected PR covering your solution.
|
||||||
|
|
||||||
|
If the solution is already reported, try it out and +1 the pull request if the
|
||||||
|
solution works ok. On the other hand, if you think your solution is better, post
|
||||||
|
it with a reference to the other one so we can have both solutions to compare.
|
||||||
|
|
||||||
|
If not, then go ahead and submit a PR. Please copy to anyone relevant (e.g. plugin
|
||||||
|
maintainers) by mentioning their GitHub handle (starting with `@`) in your message.
|
||||||
|
|
||||||
|
### You have an addition
|
||||||
|
|
||||||
|
Please [do not](https://github.com/robbyrussell/oh-my-zsh/wiki/Themes#dont-send-us-your-theme-for-now)
|
||||||
|
send themes for now.
|
||||||
|
|
||||||
|
Please be so kind as to [search](#use-the-search-luke) for any pending, merged or rejected Pull Requests
|
||||||
|
covering or related to what you want to add.
|
||||||
|
|
||||||
|
If you find one, try it out and work with the author on a common solution.
|
||||||
|
|
||||||
|
If not, then go ahead and submit a PR. Please copy to anyone relevant (_eg_ plugin
|
||||||
|
maintainers) by mentioning their GitHub handle (starting with `@`) in your message.
|
||||||
|
|
||||||
|
For any extensive change, _eg_ a new plugin, you will have to find testers to +1 your PR.
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
## Use the Search, Luke
|
||||||
|
|
||||||
|
_May the Force (of past experiences) be with you_
|
||||||
|
|
||||||
|
GitHub offers [many search features](https://help.github.com/articles/searching-github/)
|
||||||
|
to help you check whether a similar contribution to yours already exists. Please search
|
||||||
|
before making any contribution, it avoids duplicates and eases maintenance. Trust me,
|
||||||
|
that works 90% of the time.
|
||||||
|
|
||||||
|
You can also take a look at the [FAQ](https://github.com/robbyrussell/oh-my-zsh/wiki/FAQ)
|
||||||
|
to be sure your contribution has not already come up.
|
||||||
|
|
||||||
|
If all fails, your thing has probably not been reported yet, so you can go ahead
|
||||||
|
and [create an issue](#reporting-issues) or [submit a PR](#submitting-pull-requests).
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
### You have spare time to volunteer
|
||||||
|
|
||||||
|
Very nice!! :)
|
||||||
|
|
||||||
|
Please have a look at the [Volunteer](https://github.com/robbyrussell/oh-my-zsh/wiki/Volunteers)
|
||||||
|
page for instructions on where to start and more.
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
12
README.md
12
README.md
|
|
@ -4,9 +4,9 @@
|
||||||
|
|
||||||
Oh My Zsh is an open source, community-driven framework for managing your [zsh](http://www.zsh.org/) configuration.
|
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.
|
Sounds boring. Let's try again.
|
||||||
|
|
||||||
__Oh My Zsh is a way of life!__
|
__Oh My Zsh will not make you a 10x developer...but you might feel like one.__
|
||||||
|
|
||||||
Once installed, your terminal shell will become the talk of the town _or your money back!_ With each keystroke in your command prompt, you'll take advantage of the hundreds of powerful plugins and beautiful themes. Strangers will come up to you in cafés and ask you, _"that is amazing! are you some sort of genius?"_
|
Once installed, your terminal shell will become the talk of the town _or your money back!_ With each keystroke in your command prompt, you'll take advantage of the hundreds of powerful plugins and beautiful themes. Strangers will come up to you in cafés and ask you, _"that is amazing! are you some sort of genius?"_
|
||||||
|
|
||||||
|
|
@ -20,7 +20,7 @@ To learn more, visit [ohmyz.sh](http://ohmyz.sh) and follow [@ohmyzsh](https://t
|
||||||
|
|
||||||
__Disclaimer:__ _Oh My Zsh works best on macOS and Linux._
|
__Disclaimer:__ _Oh My Zsh works best on macOS and Linux._
|
||||||
|
|
||||||
* Unix-based operating system (macOS or Linux)
|
* Unix-like operating system (macOS 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
|
* `curl` or `wget` should be installed
|
||||||
* `git` should be installed
|
* `git` should be installed
|
||||||
|
|
@ -49,9 +49,9 @@ Oh My Zsh comes with a shit load of plugins to take advantage of. You can take a
|
||||||
|
|
||||||
#### Enabling Plugins
|
#### 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 on initialization.
|
Once you spot a plugin (or several) that you'd like to use with Oh My Zsh, you'll need to enable them in the `.zshrc` file. You'll find the zshrc file in your `$HOME` directory. Open it with your favorite text editor and you'll see a spot to list all the plugins you want to load.
|
||||||
|
|
||||||
For example, this line might begin to look like...
|
For example, this line might begin to look like this:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
plugins=(git bundler osx rake ruby)
|
plugins=(git bundler osx rake ruby)
|
||||||
|
|
@ -79,6 +79,8 @@ To use a different theme, simply change the value to match the name of your desi
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
ZSH_THEME="agnoster" # (this is one of the fancy ones)
|
ZSH_THEME="agnoster" # (this is one of the fancy ones)
|
||||||
|
# you might need to install a special Powerline font on your console's host for this to work
|
||||||
|
# see https://github.com/robbyrussell/oh-my-zsh/wiki/Themes#agnoster
|
||||||
```
|
```
|
||||||
|
|
||||||
Open up a new terminal window and your prompt should look something like this:
|
Open up a new terminal window and your prompt should look something like this:
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,8 @@ fi
|
||||||
setopt long_list_jobs
|
setopt long_list_jobs
|
||||||
|
|
||||||
## pager
|
## pager
|
||||||
export PAGER="less"
|
env_default PAGER 'less'
|
||||||
export LESS="-R"
|
env_default LESS '-R'
|
||||||
|
|
||||||
## super user alias
|
## super user alias
|
||||||
alias _='sudo'
|
alias _='sudo'
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,8 @@ autoload -U colors && colors
|
||||||
# Enable ls colors
|
# Enable ls colors
|
||||||
export LSCOLORS="Gxfxcxdxbxegedabagacad"
|
export LSCOLORS="Gxfxcxdxbxegedabagacad"
|
||||||
|
|
||||||
|
# TODO organise this chaotic logic
|
||||||
|
|
||||||
if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
|
if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
|
||||||
# Find the option for using colors in ls, depending on the version
|
# Find the option for using colors in ls, depending on the version
|
||||||
if [[ "$OSTYPE" == netbsd* ]]; then
|
if [[ "$OSTYPE" == netbsd* ]]; then
|
||||||
|
|
@ -18,14 +20,19 @@ if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
|
||||||
gls --color -d . &>/dev/null && alias ls='gls --color=tty'
|
gls --color -d . &>/dev/null && alias ls='gls --color=tty'
|
||||||
colorls -G -d . &>/dev/null && alias ls='colorls -G'
|
colorls -G -d . &>/dev/null && alias ls='colorls -G'
|
||||||
elif [[ "$OSTYPE" == darwin* ]]; then
|
elif [[ "$OSTYPE" == darwin* ]]; then
|
||||||
gls --color -d . &>/dev/null && alias ls='gls --color=tty' || alias ls='ls -G'
|
# this is a good alias, it works by default just using $LSCOLORS
|
||||||
|
ls -G . &>/dev/null && alias ls='ls -G'
|
||||||
|
|
||||||
|
# only use coreutils ls if there is a dircolors customization present ($LS_COLORS or .dircolors file)
|
||||||
|
# otherwise, gls will use the default color scheme which is ugly af
|
||||||
|
[[ -n "$LS_COLORS" || -f "$HOME/.dircolors" ]] && gls --color -d . &>/dev/null && alias ls='gls --color=tty'
|
||||||
else
|
else
|
||||||
# For GNU ls, we use the default ls color theme. They can later be overwritten by themes.
|
# For GNU ls, we use the default ls color theme. They can later be overwritten by themes.
|
||||||
if [[ -z "$LS_COLORS" ]]; then
|
if [[ -z "$LS_COLORS" ]]; then
|
||||||
(( $+commands[dircolors] )) && eval "$(dircolors -b)"
|
(( $+commands[dircolors] )) && eval "$(dircolors -b)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ls --color -d . &>/dev/null && alias ls='ls --color=tty' || alias ls='ls -G'
|
ls --color -d . &>/dev/null && alias ls='ls --color=tty' || { ls -G . &>/dev/null && alias ls='ls -G' }
|
||||||
|
|
||||||
# Take advantage of $LS_COLORS for completion as well.
|
# Take advantage of $LS_COLORS for completion as well.
|
||||||
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
|
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
|
||||||
|
|
|
||||||
|
|
@ -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 |
|
||||||
|----------------|------------------------------------------------------|
|
|----------------|------------------------------------------------------|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -2,3 +2,19 @@ alias brews='brew list -1'
|
||||||
alias bubo='brew update && brew outdated'
|
alias bubo='brew update && brew outdated'
|
||||||
alias bubc='brew upgrade && brew cleanup'
|
alias bubc='brew upgrade && brew cleanup'
|
||||||
alias bubu='bubo && bubc'
|
alias bubu='bubo && bubc'
|
||||||
|
|
||||||
|
if command mkdir "$ZSH_CACHE_DIR/.brew-completion-message" 2>/dev/null; then
|
||||||
|
print -P '%F{yellow}'Oh My Zsh brew plugin:
|
||||||
|
cat <<-'EOF'
|
||||||
|
|
||||||
|
With the advent of their 1.0 release, Homebrew has decided to bundle
|
||||||
|
the zsh completion as part of the brew installation, so we no longer
|
||||||
|
ship it with the brew plugin; now it only has brew aliases.
|
||||||
|
|
||||||
|
If you find that brew completion no longer works, make sure you have
|
||||||
|
your Homebrew installation fully up to date.
|
||||||
|
|
||||||
|
You will only see this message once.
|
||||||
|
EOF
|
||||||
|
print -P '%f'
|
||||||
|
fi
|
||||||
|
|
|
||||||
|
|
@ -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.
|
||||||
|
|
|
||||||
|
|
@ -54,17 +54,21 @@ alias mv='mv -i'
|
||||||
# depends on the SUFFIX :)
|
# depends on the SUFFIX :)
|
||||||
if is-at-least 4.2.0; then
|
if is-at-least 4.2.0; then
|
||||||
# open browser on urls
|
# open browser on urls
|
||||||
_browser_fts=(htm html de org net com at cx nl se dk dk php)
|
if [[ -n "$BROWSER" ]]; then
|
||||||
for ft in $_browser_fts ; do alias -s $ft=$BROWSER ; done
|
_browser_fts=(htm html de org net com at cx nl se dk)
|
||||||
|
for ft in $_browser_fts; do alias -s $ft=$BROWSER; done
|
||||||
|
fi
|
||||||
|
|
||||||
_editor_fts=(cpp cxx cc c hh h inl asc txt TXT tex)
|
_editor_fts=(cpp cxx cc c hh h inl asc txt TXT tex)
|
||||||
for ft in $_editor_fts ; do alias -s $ft=$EDITOR ; done
|
for ft in $_editor_fts; do alias -s $ft=$EDITOR; done
|
||||||
|
|
||||||
_image_fts=(jpg jpeg png gif mng tiff tif xpm)
|
if [[ -n "$XIVIEWER" ]]; then
|
||||||
for ft in $_image_fts ; do alias -s $ft=$XIVIEWER; done
|
_image_fts=(jpg jpeg png gif mng tiff tif xpm)
|
||||||
|
for ft in $_image_fts; do alias -s $ft=$XIVIEWER; done
|
||||||
|
fi
|
||||||
|
|
||||||
_media_fts=(ape avi flv m4a mkv mov mp3 mpeg mpg ogg ogm rm wav webm)
|
_media_fts=(ape avi flv m4a mkv mov mp3 mpeg mpg ogg ogm rm wav webm)
|
||||||
for ft in $_media_fts ; do alias -s $ft=mplayer ; done
|
for ft in $_media_fts; do alias -s $ft=mplayer; done
|
||||||
|
|
||||||
#read documents
|
#read documents
|
||||||
alias -s pdf=acroread
|
alias -s pdf=acroread
|
||||||
|
|
@ -83,4 +87,3 @@ fi
|
||||||
|
|
||||||
# Make zsh know about hosts already accessed by SSH
|
# Make zsh know about hosts already accessed by SSH
|
||||||
zstyle -e ':completion:*:(ssh|scp|sftp|rsh|rsync):hosts' hosts 'reply=(${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) /dev/null)"}%%[# ]*}//,/ })'
|
zstyle -e ':completion:*:(ssh|scp|sftp|rsh|rsync):hosts' hosts 'reply=(${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) /dev/null)"}%%[# ]*}//,/ })'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -192,7 +192,7 @@ apt-history () {
|
||||||
awk '{print $4"="$5}'
|
awk '{print $4"="$5}'
|
||||||
;;
|
;;
|
||||||
list)
|
list)
|
||||||
zcat $(ls -rt /var/log/dpkg*)
|
zgrep --no-filename '' $(ls -rt /var/log/dpkg*)
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Parameters:"
|
echo "Parameters:"
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@
|
||||||
# pushd -N: start counting from right of `dirs' output
|
# pushd -N: start counting from right of `dirs' output
|
||||||
|
|
||||||
switch-to-dir () {
|
switch-to-dir () {
|
||||||
|
[[ ${#dirstack} -eq 0 ]] && return
|
||||||
|
|
||||||
while ! builtin pushd -q $1 &>/dev/null; do
|
while ! builtin pushd -q $1 &>/dev/null; do
|
||||||
# We found a missing directory: pop it out of the dir stack
|
# We found a missing directory: pop it out of the dir stack
|
||||||
builtin popd -q $1
|
builtin popd -q $1
|
||||||
|
|
|
||||||
|
|
@ -18,5 +18,6 @@ alias dcrm='docker-compose rm'
|
||||||
alias dcr='docker-compose run'
|
alias dcr='docker-compose run'
|
||||||
alias dcstop='docker-compose stop'
|
alias dcstop='docker-compose stop'
|
||||||
alias dcup='docker-compose up'
|
alias dcup='docker-compose up'
|
||||||
|
alias dcdn='docker-compose down'
|
||||||
alias dcl='docker-compose logs'
|
alias dcl='docker-compose logs'
|
||||||
alias dclf='docker-compose logs -f'
|
alias dclf='docker-compose logs -f'
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
34
plugins/dotenv/README.md
Normal file
34
plugins/dotenv/README.md
Normal 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 environments–such as resource handles for databases or credentials for external services–should 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.
|
||||||
10
plugins/dotenv/dotenv.plugin.zsh
Normal file
10
plugins/dotenv/dotenv.plugin.zsh
Normal 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
|
||||||
|
|
@ -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.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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'
|
||||||
|
|
@ -237,4 +238,4 @@ alias gupv='git pull --rebase -v'
|
||||||
alias glum='git pull upstream master'
|
alias glum='git pull upstream master'
|
||||||
|
|
||||||
alias gwch='git whatchanged -p --abbrev-commit --pretty=medium'
|
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 --no-verify -m "--wip--"'
|
alias gwip='git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify -m "--wip-- [skip ci]"'
|
||||||
|
|
|
||||||
|
|
@ -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//"["/"\\["}"
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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=()
|
||||||
|
|
|
||||||
|
|
@ -86,6 +86,9 @@ case $state in
|
||||||
(test)
|
(test)
|
||||||
_files
|
_files
|
||||||
;;
|
;;
|
||||||
|
(run)
|
||||||
|
_files
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
|
||||||
|
|
@ -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=
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
# Open the node api for your current version to the optional section.
|
# Open the node api for your current version to the optional section.
|
||||||
# TODO: Make the section part easier to use.
|
# TODO: Make the section part easier to use.
|
||||||
function node-docs {
|
function node-docs {
|
||||||
open_command "http://nodejs.org/docs/$(node --version)/api/all.html#all_$1"
|
local section=${1:-all}
|
||||||
|
open_command "https://nodejs.org/docs/$(node --version)/api/$section.html"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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"` |
|
||||||
|
|
|
||||||
|
|
@ -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'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +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 rnios='react-native run-ios'
|
alias rnios6='react-native run-ios --simulator "iPhone 6"'
|
||||||
alias rnlink='react-native link'
|
alias rnios6s='react-native run-ios --simulator "iPhone 6s"'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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]"
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
22
plugins/swiftpm/README.md
Normal file
22
plugins/swiftpm/README.md
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
# Swift Package Manager
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
This plugin provides a few utilities that make you faster on your daily work with the [Swift Package Manager](https://github.com/apple/swift-package-manager).
|
||||||
|
|
||||||
|
To start using it, add the `swiftpm` plugin to your `plugins` array in `~/.zshrc`:
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
plugins=(... swiftpm)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Aliases
|
||||||
|
|
||||||
|
| Alias | Description | Command |
|
||||||
|
|-------|-------------------------------------|------------------------------------|
|
||||||
|
| `spi` | Initialize a new package | `swift package init` |
|
||||||
|
| `spf` | Fetch package dependencies | `swift package fetch` |
|
||||||
|
| `spu` | Update package dependencies | `swift package update` |
|
||||||
|
| `spx` | Generates an Xcode project | `swift package generate-xcodeproj` |
|
||||||
|
| `sps` | Print the resolved dependency graph | `swift package show-dependencies` |
|
||||||
|
| `spd` | Print parsed Package.swift as JSON | `swift package dump-package` |
|
||||||
8
plugins/swiftpm/swiftpm.plugin.zsh
Normal file
8
plugins/swiftpm/swiftpm.plugin.zsh
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
# Some aliases to make your life with the Swift Package Manager faster ✌️
|
||||||
|
|
||||||
|
alias spi='swift package init'
|
||||||
|
alias spf='swift package fetch'
|
||||||
|
alias spu='swift package update'
|
||||||
|
alias spx='swift package generate-xcodeproj'
|
||||||
|
alias sps='swift package show-dependencies'
|
||||||
|
alias spd='swift package dump-package'
|
||||||
|
|
@ -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() {
|
||||||
|
|
|
||||||
|
|
@ -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.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
@ -108,7 +108,7 @@ apt-history () {
|
||||||
awk '{print $4"="$5}'
|
awk '{print $4"="$5}'
|
||||||
;;
|
;;
|
||||||
list)
|
list)
|
||||||
zcat $(ls -rt /var/log/dpkg*)
|
zgrep --no-filename '' $(ls -rt /var/log/dpkg*)
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Parameters:"
|
echo "Parameters:"
|
||||||
|
|
|
||||||
|
|
@ -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'
|
||||||
|
|
|
||||||
81
plugins/yarn/yarn.plugin.zsh
Normal file
81
plugins/yarn/yarn.plugin.zsh
Normal file
|
|
@ -0,0 +1,81 @@
|
||||||
|
alias yi="yarn install"
|
||||||
|
|
||||||
|
_yarn ()
|
||||||
|
{
|
||||||
|
local -a _1st_arguments _dopts _dev _production
|
||||||
|
local expl
|
||||||
|
typeset -A opt_args
|
||||||
|
|
||||||
|
_dopts=(
|
||||||
|
'(--force)--force[This refetches all packages, even ones that were previously installed.]'
|
||||||
|
)
|
||||||
|
|
||||||
|
_installopts=(
|
||||||
|
'(--flat)--flat[Only allow one version of a package. On the first run this will prompt you to choose a single version for each package that is depended on at multiple version ranges.]'
|
||||||
|
'(--har)--har[Outputs an HTTP archive from all the network requests performed during the installation.]'
|
||||||
|
'(--no-lockfile)--no-lockfile[Don’t read or generate a yarn.lock lockfile.]'
|
||||||
|
'(--pure-lockfile)--pure-lockfile[Don’t generate a yarn.lock lockfile.]'
|
||||||
|
)
|
||||||
|
|
||||||
|
_dev=('(--dev)--dev[Save installed packages into the project"s package.json devDependencies]')
|
||||||
|
|
||||||
|
_production=('(--production)--production[Do not install project devDependencies]')
|
||||||
|
|
||||||
|
_1st_arguments=(
|
||||||
|
'help:Display help information about yarn' \
|
||||||
|
'init:Initialize for the development of a package.' \
|
||||||
|
'add:Add a package to use in your current package.' \
|
||||||
|
'install:Install all the dependencies listed within package.json in the local node_modules folder.' \
|
||||||
|
'publish:Publish a package to a package manager.' \
|
||||||
|
'remove:Remove a package that will no longer be used in your current package.' \
|
||||||
|
'cache:Clear the local cache. It will be populated again the next time yarn or yarn install is run.' \
|
||||||
|
'clean:Frees up space by removing unnecessary files and folders from dependencies.' \
|
||||||
|
'check:Verifies that versions of the package dependencies in the current project’s package.json matches that of yarn’s lock file.' \
|
||||||
|
'ls:List all installed packages.' \
|
||||||
|
'global:Makes binaries available to use on your operating system.' \
|
||||||
|
'info:<package> [<field>] - fetch information about a package and return it in a tree format.' \
|
||||||
|
'outdated:Checks for outdated package dependencies.' \
|
||||||
|
'run:Runs a defined package script.' \
|
||||||
|
'self-update:Updates Yarn to the latest version.' \
|
||||||
|
'upgrade:Upgrades packages to their latest version based on the specified range.' \
|
||||||
|
'why:<query> - Show information about why a package is installed.'
|
||||||
|
)
|
||||||
|
_arguments \
|
||||||
|
'*:: :->subcmds' && return 0
|
||||||
|
|
||||||
|
if (( CURRENT == 1 )); then
|
||||||
|
_describe -t commands "yarn subcommand" _1st_arguments
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$words[1]" in
|
||||||
|
add)
|
||||||
|
_arguments \
|
||||||
|
$_dopts \
|
||||||
|
$_dev \
|
||||||
|
$_production
|
||||||
|
;;
|
||||||
|
install)
|
||||||
|
_arguments \
|
||||||
|
$_installopts \
|
||||||
|
$_dopts \
|
||||||
|
$_dev \
|
||||||
|
$_no_color \
|
||||||
|
$_production
|
||||||
|
;;
|
||||||
|
update)
|
||||||
|
_arguments \
|
||||||
|
$_dopts
|
||||||
|
;;
|
||||||
|
remove)
|
||||||
|
_arguments \
|
||||||
|
$_dopts
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
_arguments \
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
compdef _yarn yarn
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
17
plugins/zsh-navigation-tools/NEWS
Normal file
17
plugins/zsh-navigation-tools/NEWS
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
-------------------------------------
|
||||||
|
CHANGES FROM PREVIOUS VERSIONS OF ZNT
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
Changes from 2.2.1 to 2.2.7
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
Tmux integration has been added – bind file znt-tmux.zsh in Tmux as
|
||||||
|
described in README.md and e.g. run local history on remote hosts. Tmux
|
||||||
|
opens new window with n-history, and pastes selected history entry into
|
||||||
|
immediate previous window (e.g. a remote session). Fixed plugin.zsh file
|
||||||
|
to not use (outer scope) positional parameters. This fixes problem with
|
||||||
|
Grlm's Zsh configuration. The file now doesn't use "test" builtin (but
|
||||||
|
[[ instead), because it can be shadowed by alias or command. Private
|
||||||
|
history has been fixed to not overwrite its history file with the same
|
||||||
|
content. This improves performance when switching to private history
|
||||||
|
view.
|
||||||
|
|
@ -34,6 +34,60 @@ want to copy your previous data (from e.g. ~/.zhistory) into the new location.
|
||||||
|
|
||||||
## News
|
## News
|
||||||
|
|
||||||
|
* 06-10-2016
|
||||||
|
- Tmux-integration – Ctrl-b-h in Tmux to open n-history in new window.
|
||||||
|
Then select history entry, it will be copied to the original Tmux window.
|
||||||
|
Use this to execute local commands on remote hosts. All that is needed is
|
||||||
|
this line added to ~/.tmux.conf:
|
||||||
|
|
||||||
|
bind h run-shell -b "$ZNT_REPO_DIR/znt-tmux.zsh"
|
||||||
|
|
||||||
|
* 16-05-2016
|
||||||
|
- n-kill has completion. It proposes *words* from what's in `ps -A`. Giving n-kill
|
||||||
|
arguments means grepping – it will start only with matching `ps` entries.
|
||||||
|
|
||||||
|
* 15-05-2016
|
||||||
|
- Fixed problem where zsh-syntax-highlighting could render n-history slow (for
|
||||||
|
long history entries).
|
||||||
|
|
||||||
|
* 14-05-2016
|
||||||
|
- Configuration can be set from zshrc. Example:
|
||||||
|
|
||||||
|
znt_list_instant_select=1
|
||||||
|
znt_list_border=0
|
||||||
|
znt_list_bold=1
|
||||||
|
znt_list_colorpair="green/black"
|
||||||
|
znt_functions_keywords=( "zplg" "zgen" "match" )
|
||||||
|
znt_cd_active_text="underline"
|
||||||
|
znt_env_nlist_coloring_color=$'\x1b[00;33m'
|
||||||
|
znt_cd_hotlist=( "~/.config/znt" "/usr/share/zsh/site-functions" "/usr/share/zsh"
|
||||||
|
"/usr/local/share/zsh/site-functions" "/usr/local/share/zsh"
|
||||||
|
"/usr/local/bin" )
|
||||||
|
|
||||||
|
* 10-05-2016
|
||||||
|
- Search query rotation – use Ctrl-A to rotate entered words right.
|
||||||
|
Words `1 2 3` become `3 1 2`.
|
||||||
|
|
||||||
|
* 09-05-2016
|
||||||
|
- New feature: n-help tool, available also from n-history via H key. It
|
||||||
|
displays help screen with various information on ZNT.
|
||||||
|
|
||||||
|
* 08-05-2016
|
||||||
|
- Approximate matching – pressing f or Ctrl-F will enter FIX mode, in
|
||||||
|
which 1 or 2 errors are allowed in what is searched. This utilizes
|
||||||
|
original Zsh approximate matching features and is intended to be used
|
||||||
|
after entering search query, when a typo is discovered.
|
||||||
|
|
||||||
|
* 06-05-2016
|
||||||
|
- Private history can be edited. Use e key or Ctrl-E for that when in
|
||||||
|
n-history. Your $EDITOR will start. This is a way to have handy set
|
||||||
|
of bookmarks prepared in private history's file.
|
||||||
|
- Border can be disabled. Use following snippet in ~/.config/znt/n-list.conf
|
||||||
|
or any other tool-targetted config file:
|
||||||
|
|
||||||
|
# Should draw the border?
|
||||||
|
local border=0
|
||||||
|
|
||||||
* 30-04-2016
|
* 30-04-2016
|
||||||
- New feature: color themes. Use Ctrl-T and Ctrl-G to browse predefined
|
- New feature: color themes. Use Ctrl-T and Ctrl-G to browse predefined
|
||||||
themes. They are listed in ~/.config/znt/n-list.conf. Use the file to
|
themes. They are listed in ~/.config/znt/n-list.conf. Use the file to
|
||||||
|
|
|
||||||
|
|
@ -307,7 +307,7 @@ while (( 1 )); do
|
||||||
elif [ "$active_view" = "1" ]; then
|
elif [ "$active_view" = "1" ]; then
|
||||||
if [ -s "$private_history_db" ]; then
|
if [ -s "$private_history_db" ]; then
|
||||||
local title=$'\x1b[00;32m'"Private history:"$'\x1b[00;00m\0'
|
local title=$'\x1b[00;32m'"Private history:"$'\x1b[00;00m\0'
|
||||||
() { fc -ap -R "$private_history_db"; list=( "$title" ${history[@]} ) }
|
() { fc -Rap "$private_history_db" 20000 0; list=( "$title" ${history[@]} ) }
|
||||||
else
|
else
|
||||||
list=( "Private history - history entries selected via this tool will be put here" )
|
list=( "Private history - history entries selected via this tool will be put here" )
|
||||||
fi
|
fi
|
||||||
|
|
@ -335,21 +335,37 @@ done
|
||||||
|
|
||||||
if [ "$REPLY" -gt 0 ]; then
|
if [ "$REPLY" -gt 0 ]; then
|
||||||
selected="$reply[REPLY]"
|
selected="$reply[REPLY]"
|
||||||
|
|
||||||
|
# Append to private history
|
||||||
|
if [[ "$active_view" = "0" ]]; then
|
||||||
|
local newline=$'\n'
|
||||||
|
local selected_ph="${selected//$newline/\\$newline}"
|
||||||
|
print -r -- "$selected_ph" >> "$private_history_db"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# TMUX?
|
||||||
|
if [[ "$ZNT_TMUX_MODE" = "1" ]]; then
|
||||||
|
tmux send -t "$ZNT_TMUX_ORIGIN_SESSION:$ZNT_TMUX_ORIGIN_WINDOW.$ZNT_TMUX_ORIGIN_PANE" "$selected"
|
||||||
|
tmux kill-window
|
||||||
|
return 0
|
||||||
# ZLE?
|
# ZLE?
|
||||||
if [ "${(t)CURSOR}" = "integer-local-special" ]; then
|
elif [ "${(t)CURSOR}" = "integer-local-special" ]; then
|
||||||
zle .redisplay
|
zle .redisplay
|
||||||
zle .kill-buffer
|
zle .kill-buffer
|
||||||
LBUFFER+="$selected"
|
LBUFFER+="$selected"
|
||||||
|
|
||||||
# Append to private history
|
|
||||||
local newline=$'\n'
|
|
||||||
selected="${selected//$newline/\\$newline}"
|
|
||||||
[ "$active_view" = "0" ] && print -r -- "$selected" >> "$private_history_db"
|
|
||||||
else
|
else
|
||||||
print -zr -- "$selected"
|
print -zr -- "$selected"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
[ "${(t)CURSOR}" = "integer-local-special" ] && zle redisplay
|
# TMUX?
|
||||||
|
if [[ "$ZNT_TMUX_MODE" = "1" ]]; then
|
||||||
|
tmux kill-window
|
||||||
|
# ZLE?
|
||||||
|
elif [[ "${(t)CURSOR}" = "integer-local-special" ]]; then
|
||||||
|
zle redisplay
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
# vim: set filetype=zsh:
|
# vim: set filetype=zsh:
|
||||||
|
|
|
||||||
|
|
@ -310,8 +310,9 @@ while (( 1 )); do
|
||||||
colsearch_pattern="${search_buffer// ##/|(#a2)}"
|
colsearch_pattern="${search_buffer// ##/|(#a2)}"
|
||||||
list=( "${(@M)list:#(#ia2)*$~search_pattern*}" )
|
list=( "${(@M)list:#(#ia2)*$~search_pattern*}" )
|
||||||
else
|
else
|
||||||
# Patterns will be *foo*~^*bar* and (foo|bar)
|
# Pattern will be *foo*~^*bar* (inventor: Mikael Magnusson)
|
||||||
search_pattern="${search_buffer// ##/*~^*}"
|
search_pattern="${search_buffer// ##/*~^*}"
|
||||||
|
# Pattern will be (foo|bar)
|
||||||
colsearch_pattern="${search_buffer// ##/|}"
|
colsearch_pattern="${search_buffer// ##/|}"
|
||||||
list=( "${(@M)list:#(#i)*$~search_pattern*}" )
|
list=( "${(@M)list:#(#i)*$~search_pattern*}" )
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
50
plugins/zsh-navigation-tools/znt-tmux.zsh
Executable file
50
plugins/zsh-navigation-tools/znt-tmux.zsh
Executable file
|
|
@ -0,0 +1,50 @@
|
||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
# Copyright (c) 2016, Zsolt Lengyel
|
||||||
|
# Modifications copyright (c) 2016, Sebastian Gniazdowski
|
||||||
|
|
||||||
|
#
|
||||||
|
# This script opens a new, temporary tmux pane and runs n-history. When
|
||||||
|
# a selection is made, the result (history entry) is pasted back into
|
||||||
|
# original tmux pane, and the temporary pane is closed. This allows to
|
||||||
|
# use local history on remote machines.
|
||||||
|
#
|
||||||
|
# To use, put this line to your ~/.tmux.conf. The tool is invoked with:
|
||||||
|
# Ctrl+b h
|
||||||
|
#
|
||||||
|
# bind h run-shell -b "$ZNT_REPO_DIR/znt-tmux.zsh"
|
||||||
|
#
|
||||||
|
|
||||||
|
# get and save the current active tmux pane id
|
||||||
|
active_pane=$(tmux display -p -F ':#{session_id}:#I:#P:#{pane_active}:#{window_active}:#{session_attached}' )
|
||||||
|
a_active_pane=("${(@s/:/)active_pane}")
|
||||||
|
|
||||||
|
active_session=${a_active_pane[2]//$}
|
||||||
|
active_window=$a_active_pane[3]
|
||||||
|
active_pane=$a_active_pane[4]
|
||||||
|
|
||||||
|
# set variables for upcoming window
|
||||||
|
tmux setenv -t $active_session:$active_window.$active_pane "ZNT_TMUX_MODE" 1
|
||||||
|
tmux setenv -t $active_session:$active_window.$active_pane "ZNT_TMUX_ORIGIN_SESSION" "$active_session"
|
||||||
|
tmux setenv -t $active_session:$active_window.$active_pane "ZNT_TMUX_ORIGIN_WINDOW" "$active_window"
|
||||||
|
tmux setenv -t $active_session:$active_window.$active_pane "ZNT_TMUX_ORIGIN_PANE" "$active_pane"
|
||||||
|
|
||||||
|
# create a new window in the active session and call it znt-hist
|
||||||
|
tmux new-window -t $active_session: -n znt-hist
|
||||||
|
|
||||||
|
# unset the variables, so only above single window has them
|
||||||
|
tmux setenv -u -t $active_session:$active_window.$active_pane "ZNT_TMUX_MODE"
|
||||||
|
tmux setenv -u -t $active_session:$active_window.$active_pane "ZNT_TMUX_ORIGIN_SESSION"
|
||||||
|
tmux setenv -u -t $active_session:$active_window.$active_pane "ZNT_TMUX_ORIGIN_WINDOW"
|
||||||
|
tmux setenv -u -t $active_session:$active_window.$active_pane "ZNT_TMUX_ORIGIN_PANE"
|
||||||
|
|
||||||
|
# znt's session id
|
||||||
|
znt_active_pane=$(tmux display -p -F ':#{session_id}:#I:#P:#{pane_active}:#{window_active}:#{session_attached}' )
|
||||||
|
znt_a_active_pane=("${(@s/:/)znt_active_pane}")
|
||||||
|
|
||||||
|
znt_active_session=${znt_a_active_pane[2]//$}
|
||||||
|
znt_active_window=$znt_a_active_pane[3]
|
||||||
|
znt_active_pane=$znt_a_active_pane[4]
|
||||||
|
|
||||||
|
# call znt
|
||||||
|
tmux send -t "$znt_active_session:$znt_active_window.$znt_active_pane" n-history ENTER
|
||||||
|
|
@ -1,38 +1,43 @@
|
||||||
#!/usr/bin/env zsh
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
REPO_DIR="${0%/*}"
|
0="${(%):-%N}" # this gives immunity to functionargzero being unset
|
||||||
CONFIG_DIR="$HOME/.config/znt"
|
export ZNT_REPO_DIR="${0%/*}"
|
||||||
|
export ZNT_CONFIG_DIR="$HOME/.config/znt"
|
||||||
|
|
||||||
#
|
#
|
||||||
# Copy configs
|
# Copy configs
|
||||||
#
|
#
|
||||||
|
|
||||||
if ! test -d "$HOME/.config"; then
|
if [[ ! -d "$HOME/.config" ]]; then
|
||||||
mkdir "$HOME/.config"
|
command mkdir "$HOME/.config"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! test -d "$CONFIG_DIR"; then
|
if [[ ! -d "$ZNT_CONFIG_DIR" ]]; then
|
||||||
mkdir "$CONFIG_DIR"
|
command mkdir "$ZNT_CONFIG_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 9 files
|
# 9 files
|
||||||
set n-aliases.conf n-env.conf n-history.conf n-list.conf n-panelize.conf n-cd.conf n-functions.conf n-kill.conf n-options.conf
|
unset __ZNT_CONFIG_FILES
|
||||||
|
typeset -ga __ZNT_CONFIG_FILES
|
||||||
|
set +A __ZNT_CONFIG_FILES n-aliases.conf n-env.conf n-history.conf n-list.conf n-panelize.conf n-cd.conf n-functions.conf n-kill.conf n-options.conf
|
||||||
|
|
||||||
# Check for random 2 files if they exist
|
# Check for random 2 files if they exist
|
||||||
# This will shift 0 - 7 elements
|
# This will shift 0 - 7 elements
|
||||||
shift $(( RANDOM % 8 ))
|
shift $(( RANDOM % 8 )) __ZNT_CONFIG_FILES
|
||||||
if ! test -f "$CONFIG_DIR/$1" || ! test -f "$CONFIG_DIR/$2"; then
|
if [[ ! -f "$ZNT_CONFIG_DIR/${__ZNT_CONFIG_FILES[1]}" || ! -f "$ZNT_CONFIG_DIR/${__ZNT_CONFIG_FILES[2]}" ]]; then
|
||||||
# Something changed - examine every file
|
# Something changed - examine every file
|
||||||
set n-aliases.conf n-env.conf n-history.conf n-list.conf n-panelize.conf n-cd.conf n-functions.conf n-kill.conf n-options.conf
|
set +A __ZNT_CONFIG_FILES n-aliases.conf n-env.conf n-history.conf n-list.conf n-panelize.conf n-cd.conf n-functions.conf n-kill.conf n-options.conf
|
||||||
for i; do
|
unset __ZNT_CONFIG_FILE
|
||||||
if ! test -f "$CONFIG_DIR/$i"; then
|
typeset -g __ZNT_CONFIG_FILE
|
||||||
cp "$REPO_DIR/.config/znt/$i" "$CONFIG_DIR"
|
for __ZNT_CONFIG_FILE in "${__ZNT_CONFIG_FILES[@]}"; do
|
||||||
|
if [[ ! -f "$ZNT_CONFIG_DIR/$__ZNT_CONFIG_FILE" ]]; then
|
||||||
|
command cp "$ZNT_REPO_DIR/.config/znt/$__ZNT_CONFIG_FILE" "$ZNT_CONFIG_DIR"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
unset __ZNT_CONFIG_FILE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Don't leave positional parameters being set
|
unset __ZNT_CONFIG_FILES
|
||||||
set --
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Load functions
|
# Load functions
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ source $ZSH/oh-my-zsh.sh
|
||||||
# export ARCHFLAGS="-arch x86_64"
|
# export ARCHFLAGS="-arch x86_64"
|
||||||
|
|
||||||
# ssh
|
# ssh
|
||||||
# export SSH_KEY_PATH="~/.ssh/dsa_id"
|
# export SSH_KEY_PATH="~/.ssh/rsa_id"
|
||||||
|
|
||||||
# Set personal aliases, overriding those provided by oh-my-zsh libs,
|
# Set personal aliases, overriding those provided by oh-my-zsh libs,
|
||||||
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
|
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
|
||||||
|
|
|
||||||
|
|
@ -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%}"
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ else
|
||||||
local user_symbol='$'
|
local user_symbol='$'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local current_dir='%{$terminfo[bold]$fg[blue]%} %~%{$reset_color%}'
|
local current_dir='%{$terminfo[bold]$fg[blue]%}%~%{$reset_color%}'
|
||||||
local rvm_ruby=''
|
local rvm_ruby=''
|
||||||
if which rvm-prompt &> /dev/null; then
|
if which rvm-prompt &> /dev/null; then
|
||||||
rvm_ruby='%{$fg[red]%}‹$(rvm-prompt i v g)›%{$reset_color%}'
|
rvm_ruby='%{$fg[red]%}‹$(rvm-prompt i v g)›%{$reset_color%}'
|
||||||
|
|
|
||||||
|
|
@ -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}"
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Get the host name (first 4 chars)
|
# Get the host name (first 4 chars)
|
||||||
HOST_PROMPT_="%{$fg_bold[red]%}@$HOST[0,4] ➜ %{$fg_bold[cyan]%}%c "
|
HOST_PROMPT_="%{$fg_bold[red]%}@$HOST ➜ %{$fg_bold[cyan]%}%c "
|
||||||
GIT_PROMPT="%{$fg_bold[blue]%}\$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}"
|
GIT_PROMPT="%{$fg_bold[blue]%}\$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}"
|
||||||
PROMPT="$HOST_PROMPT_$RUBY_PROMPT_$GIT_PROMPT"
|
PROMPT="$HOST_PROMPT_$RUBY_PROMPT_$GIT_PROMPT"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,106 +1,10 @@
|
||||||
#!/usr/bin/env zsh
|
print -P '%F{yellow}'Oh My Zsh pure theme:
|
||||||
|
cat <<-EOF
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
The pure theme has been renamed as 'refined' as per the original author's
|
||||||
#
|
request. Change your ZSH_THEME to 'refined' to avoid seeing this warning.
|
||||||
# Pure - A minimal and beautiful theme for oh-my-zsh
|
|
||||||
#
|
|
||||||
# Based on the custom Zsh-prompt of the same name by Sindre Sorhus. A huge
|
|
||||||
# thanks goes out to him for designing the fantastic Pure prompt in the first
|
|
||||||
# place! I'd also like to thank Julien Nicoulaud for his "nicoulaj" theme from
|
|
||||||
# which I've borrowed both some ideas and some actual code. You can find out
|
|
||||||
# more about both of these fantastic two people here:
|
|
||||||
#
|
|
||||||
# Sindre Sorhus
|
|
||||||
# Github: https://github.com/sindresorhus
|
|
||||||
# Twitter: https://twitter.com/sindresorhus
|
|
||||||
#
|
|
||||||
# Julien Nicoulaud
|
|
||||||
# Github: https://github.com/nicoulaj
|
|
||||||
# Twitter: https://twitter.com/nicoulaj
|
|
||||||
#
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Set required options
|
EOF
|
||||||
#
|
print -P '%f'
|
||||||
setopt prompt_subst
|
|
||||||
|
|
||||||
# Load required modules
|
source ${0:h:A}/refined.zsh-theme
|
||||||
#
|
|
||||||
autoload -Uz vcs_info
|
|
||||||
|
|
||||||
# Set vcs_info parameters
|
|
||||||
#
|
|
||||||
zstyle ':vcs_info:*' enable hg bzr git
|
|
||||||
zstyle ':vcs_info:*:*' unstagedstr '!'
|
|
||||||
zstyle ':vcs_info:*:*' stagedstr '+'
|
|
||||||
zstyle ':vcs_info:*:*' formats "$FX[bold]%r$FX[no-bold]/%S" "%s/%b" "%%u%c"
|
|
||||||
zstyle ':vcs_info:*:*' actionformats "$FX[bold]%r$FX[no-bold]/%S" "%s/%b" "%u%c (%a)"
|
|
||||||
zstyle ':vcs_info:*:*' nvcsformats "%~" "" ""
|
|
||||||
|
|
||||||
# Fastest possible way to check if repo is dirty
|
|
||||||
#
|
|
||||||
git_dirty() {
|
|
||||||
# Check if we're in a git repo
|
|
||||||
command git rev-parse --is-inside-work-tree &>/dev/null || return
|
|
||||||
# Check if it's dirty
|
|
||||||
command git diff --quiet --ignore-submodules HEAD &>/dev/null; [ $? -eq 1 ] && echo "*"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Display information about the current repository
|
|
||||||
#
|
|
||||||
repo_information() {
|
|
||||||
echo "%F{blue}${vcs_info_msg_0_%%/.} %F{8}$vcs_info_msg_1_`git_dirty` $vcs_info_msg_2_%f"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Displays the exec time of the last command if set threshold was exceeded
|
|
||||||
#
|
|
||||||
cmd_exec_time() {
|
|
||||||
local stop=`date +%s`
|
|
||||||
local start=${cmd_timestamp:-$stop}
|
|
||||||
let local elapsed=$stop-$start
|
|
||||||
[ $elapsed -gt 5 ] && echo ${elapsed}s
|
|
||||||
}
|
|
||||||
|
|
||||||
# Get the intial timestamp for cmd_exec_time
|
|
||||||
#
|
|
||||||
preexec() {
|
|
||||||
cmd_timestamp=`date +%s`
|
|
||||||
}
|
|
||||||
|
|
||||||
# Output additional information about paths, repos and exec time
|
|
||||||
#
|
|
||||||
precmd() {
|
|
||||||
vcs_info # Get version control info before we start outputting stuff
|
|
||||||
print -P "\n$(repo_information) %F{yellow}$(cmd_exec_time)%f"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Define prompts
|
|
||||||
#
|
|
||||||
PROMPT="%(?.%F{magenta}.%F{red})❯%f " # Display a red prompt char on failure
|
|
||||||
RPROMPT="%F{8}${SSH_TTY:+%n@%m}%f" # Display username if connected via SSH
|
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
#
|
|
||||||
# List of vcs_info format strings:
|
|
||||||
#
|
|
||||||
# %b => current branch
|
|
||||||
# %a => current action (rebase/merge)
|
|
||||||
# %s => current version control system
|
|
||||||
# %r => name of the root directory of the repository
|
|
||||||
# %S => current path relative to the repository root directory
|
|
||||||
# %m => in case of Git, show information about stashes
|
|
||||||
# %u => show unstaged changes in the repository
|
|
||||||
# %c => show staged changes in the repository
|
|
||||||
#
|
|
||||||
# List of prompt format strings:
|
|
||||||
#
|
|
||||||
# prompt:
|
|
||||||
# %F => color dict
|
|
||||||
# %f => reset color
|
|
||||||
# %~ => current path
|
|
||||||
# %* => time
|
|
||||||
# %n => username
|
|
||||||
# %m => shortname host
|
|
||||||
# %(?..) => prompt conditional - %(condition.true.false)
|
|
||||||
#
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
106
themes/refined.zsh-theme
Normal file
106
themes/refined.zsh-theme
Normal file
|
|
@ -0,0 +1,106 @@
|
||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Pure - A minimal and beautiful theme for oh-my-zsh
|
||||||
|
#
|
||||||
|
# Based on the custom Zsh-prompt of the same name by Sindre Sorhus. A huge
|
||||||
|
# thanks goes out to him for designing the fantastic Pure prompt in the first
|
||||||
|
# place! I'd also like to thank Julien Nicoulaud for his "nicoulaj" theme from
|
||||||
|
# which I've borrowed both some ideas and some actual code. You can find out
|
||||||
|
# more about both of these fantastic two people here:
|
||||||
|
#
|
||||||
|
# Sindre Sorhus
|
||||||
|
# Github: https://github.com/sindresorhus
|
||||||
|
# Twitter: https://twitter.com/sindresorhus
|
||||||
|
#
|
||||||
|
# Julien Nicoulaud
|
||||||
|
# Github: https://github.com/nicoulaj
|
||||||
|
# Twitter: https://twitter.com/nicoulaj
|
||||||
|
#
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Set required options
|
||||||
|
#
|
||||||
|
setopt prompt_subst
|
||||||
|
|
||||||
|
# Load required modules
|
||||||
|
#
|
||||||
|
autoload -Uz vcs_info
|
||||||
|
|
||||||
|
# Set vcs_info parameters
|
||||||
|
#
|
||||||
|
zstyle ':vcs_info:*' enable hg bzr git
|
||||||
|
zstyle ':vcs_info:*:*' unstagedstr '!'
|
||||||
|
zstyle ':vcs_info:*:*' stagedstr '+'
|
||||||
|
zstyle ':vcs_info:*:*' formats "$FX[bold]%r$FX[no-bold]/%S" "%s/%b" "%%u%c"
|
||||||
|
zstyle ':vcs_info:*:*' actionformats "$FX[bold]%r$FX[no-bold]/%S" "%s/%b" "%u%c (%a)"
|
||||||
|
zstyle ':vcs_info:*:*' nvcsformats "%~" "" ""
|
||||||
|
|
||||||
|
# Fastest possible way to check if repo is dirty
|
||||||
|
#
|
||||||
|
git_dirty() {
|
||||||
|
# Check if we're in a git repo
|
||||||
|
command git rev-parse --is-inside-work-tree &>/dev/null || return
|
||||||
|
# Check if it's dirty
|
||||||
|
command git diff --quiet --ignore-submodules HEAD &>/dev/null; [ $? -eq 1 ] && echo "*"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Display information about the current repository
|
||||||
|
#
|
||||||
|
repo_information() {
|
||||||
|
echo "%F{blue}${vcs_info_msg_0_%%/.} %F{8}$vcs_info_msg_1_`git_dirty` $vcs_info_msg_2_%f"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Displays the exec time of the last command if set threshold was exceeded
|
||||||
|
#
|
||||||
|
cmd_exec_time() {
|
||||||
|
local stop=`date +%s`
|
||||||
|
local start=${cmd_timestamp:-$stop}
|
||||||
|
let local elapsed=$stop-$start
|
||||||
|
[ $elapsed -gt 5 ] && echo ${elapsed}s
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get the initial timestamp for cmd_exec_time
|
||||||
|
#
|
||||||
|
preexec() {
|
||||||
|
cmd_timestamp=`date +%s`
|
||||||
|
}
|
||||||
|
|
||||||
|
# Output additional information about paths, repos and exec time
|
||||||
|
#
|
||||||
|
precmd() {
|
||||||
|
vcs_info # Get version control info before we start outputting stuff
|
||||||
|
print -P "\n$(repo_information) %F{yellow}$(cmd_exec_time)%f"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Define prompts
|
||||||
|
#
|
||||||
|
PROMPT="%(?.%F{magenta}.%F{red})❯%f " # Display a red prompt char on failure
|
||||||
|
RPROMPT="%F{8}${SSH_TTY:+%n@%m}%f" # Display username if connected via SSH
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# List of vcs_info format strings:
|
||||||
|
#
|
||||||
|
# %b => current branch
|
||||||
|
# %a => current action (rebase/merge)
|
||||||
|
# %s => current version control system
|
||||||
|
# %r => name of the root directory of the repository
|
||||||
|
# %S => current path relative to the repository root directory
|
||||||
|
# %m => in case of Git, show information about stashes
|
||||||
|
# %u => show unstaged changes in the repository
|
||||||
|
# %c => show staged changes in the repository
|
||||||
|
#
|
||||||
|
# List of prompt format strings:
|
||||||
|
#
|
||||||
|
# prompt:
|
||||||
|
# %F => color dict
|
||||||
|
# %f => reset color
|
||||||
|
# %~ => current path
|
||||||
|
# %* => time
|
||||||
|
# %n => username
|
||||||
|
# %m => shortname host
|
||||||
|
# %(?..) => prompt conditional - %(condition.true.false)
|
||||||
|
#
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
@ -23,22 +23,22 @@ function mygit() {
|
||||||
if [[ "$(git config --get oh-my-zsh.hide-status)" != "1" ]]; then
|
if [[ "$(git config --get oh-my-zsh.hide-status)" != "1" ]]; then
|
||||||
ref=$(command git symbolic-ref HEAD 2> /dev/null) || \
|
ref=$(command git symbolic-ref HEAD 2> /dev/null) || \
|
||||||
ref=$(command git rev-parse --short HEAD 2> /dev/null) || return
|
ref=$(command git rev-parse --short HEAD 2> /dev/null) || return
|
||||||
echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(git_prompt_short_sha)$( git_prompt_status )%{$reset_color%}$ZSH_THEME_GIT_PROMPT_SUFFIX "
|
echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(git_prompt_short_sha)$(git_prompt_status)%{$fg_bold[blue]%}$ZSH_THEME_GIT_PROMPT_SUFFIX "
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function hour_format() {
|
function hour_format() {
|
||||||
if [[ -z "${ISO8601_HOURS+x}" ]]; then
|
if [[ -z ${ISO8601_HOURS+x} ]]; then
|
||||||
echo "%I"
|
echo "I"
|
||||||
else
|
else
|
||||||
echo "%H"
|
echo "H"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function retcode() {}
|
function retcode() {}
|
||||||
|
|
||||||
# alternate prompt with git & hg
|
# alternate prompt with git & hg
|
||||||
PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%Y-%m-%d $(hour_format):%M:%S"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%}
|
PROMPT=$'%{$fg_bold[blue]%}┌─[%{$fg_bold[green]%}%n%b%{$fg[black]%}@%{$fg[cyan]%}%m%{$fg_bold[blue]%}]%{$reset_color%} - %{$fg_bold[blue]%}[%{$fg_bold[white]%}%~%{$fg_bold[blue]%}]%{$reset_color%} - %{$fg_bold[blue]%}[%b%{$fg[yellow]%}'%D{"%Y-%m-%d %"$(hour_format)":%M:%S"}%b$'%{$fg_bold[blue]%}]
|
||||||
%{\e[0;34m%}%B└─%B[%{\e[1;35m%}%?$(retcode)%{\e[0;34m%}%B] <$(mygit)$(hg_prompt_info)>%{\e[0m%}%b '
|
%{$fg_bold[blue]%}└─[%{$fg_bold[magenta]%}%?$(retcode)%{$fg_bold[blue]%}] <$(mygit)$(hg_prompt_info)>%{$reset_color%} '
|
||||||
PS2=$' \e[0;34m%}%B>%{\e[0m%}%b '
|
PS2=$' \e[0;34m%}%B>%{\e[0m%}%b '
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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}"
|
||||||
|
|
|
||||||
|
|
@ -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%}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue