mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-05-01 04:30:37 +02:00
Merge branch 'master' into master
This commit is contained in:
commit
440496ca73
51 changed files with 1835 additions and 836 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)
|
||||
|
||||
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
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@
|
|||
|
||||
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?"_
|
||||
|
||||
|
|
@ -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._
|
||||
|
||||
* 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)
|
||||
* `curl` or `wget` should be installed
|
||||
* `git` should be installed
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ WORDCHARS=''
|
|||
|
||||
unsetopt menu_complete # do not autoselect the first completion entry
|
||||
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 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:
|
||||
# 1. name - The env variable to set
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@ fi
|
|||
setopt long_list_jobs
|
||||
|
||||
## pager
|
||||
export PAGER="less"
|
||||
export LESS="-R"
|
||||
env_default PAGER 'less'
|
||||
env_default LESS '-R'
|
||||
|
||||
## super user alias
|
||||
alias _='sudo'
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@ autoload -U colors && colors
|
|||
# Enable ls colors
|
||||
export LSCOLORS="Gxfxcxdxbxegedabagacad"
|
||||
|
||||
# TODO organise this chaotic logic
|
||||
|
||||
if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
|
||||
# Find the option for using colors in ls, depending on the version
|
||||
if [[ "$OSTYPE" == netbsd* ]]; then
|
||||
|
|
@ -18,14 +20,19 @@ if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
|
|||
gls --color -d . &>/dev/null && alias ls='gls --color=tty'
|
||||
colorls -G -d . &>/dev/null && alias ls='colorls -G'
|
||||
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
|
||||
# For GNU ls, we use the default ls color theme. They can later be overwritten by themes.
|
||||
if [[ -z "$LS_COLORS" ]]; then
|
||||
(( $+commands[dircolors] )) && eval "$(dircolors -b)"
|
||||
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.
|
||||
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
|
||||
|
|
|
|||
|
|
@ -73,6 +73,8 @@
|
|||
| pacupd | sudo pacman -Sy | Update and refresh the local package database |
|
||||
| pacupg | 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 |
|
||||
|----------------|------------------------------------------------------|
|
||||
|
|
|
|||
|
|
@ -82,6 +82,8 @@ alias pacinsd='sudo pacman -S --asdeps'
|
|||
alias pacmir='sudo pacman -Syy'
|
||||
alias paclsorphans='sudo pacman -Qdt'
|
||||
alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)'
|
||||
alias pacfileupg='sudo pacman -Fy'
|
||||
alias pacfiles='pacman tFs'
|
||||
|
||||
|
||||
if (( $+commands[abs] && $+commands[aur] )); then
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Activates autoenv or reports its failure
|
||||
() {
|
||||
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
|
||||
autoenv_dir=$d
|
||||
break
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ elif [[ "$OSTYPE" = linux* ]] ; then
|
|||
else
|
||||
color='red'
|
||||
fi
|
||||
echo "%{$fg[$color]%}[$(battery_pct_remaining)%%]%{$reset_color%}"
|
||||
echo "%{$fg[$color]%}$(battery_pct_remaining)%%%{$reset_color%}"
|
||||
else
|
||||
echo "∞"
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ alias bubo='brew update && brew outdated'
|
|||
alias bubc='brew upgrade && brew cleanup'
|
||||
alias bubu='bubo && bubc'
|
||||
|
||||
if mkdir "$ZSH_CACHE_DIR/.brew-completion-message" 2>/dev/null; then
|
||||
if command mkdir "$ZSH_CACHE_DIR/.brew-completion-message" 2>/dev/null; then
|
||||
print -P '%F{yellow}'Oh My Zsh brew plugin:
|
||||
cat <<-'EOF'
|
||||
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
||||
```zsh
|
||||
plugins=(... cask)
|
||||
```
|
||||
|
||||
Make sure you have the `cask` directory in your `$PATH` before loading
|
||||
Oh My Zsh, otherwise you'll get the "command not found" error.
|
||||
Make sure you have the `cask` directory in your `$PATH` before loading Oh My Zsh,
|
||||
otherwise you'll get a "command not found" error.
|
||||
|
|
|
|||
|
|
@ -39,14 +39,17 @@ alias c='composer'
|
|||
alias csu='composer self-update'
|
||||
alias cu='composer update'
|
||||
alias cr='composer require'
|
||||
alias crm='composer remove'
|
||||
alias ci='composer install'
|
||||
alias ccp='composer create-project'
|
||||
alias cdu='composer dump-autoload'
|
||||
alias cdo='composer dump-autoload --optimize-autoloader'
|
||||
alias cgu='composer global update'
|
||||
alias cgr='composer global require'
|
||||
alias cgrm='composer global remove'
|
||||
|
||||
# install composer in the current directory
|
||||
alias cget='curl -s https://getcomposer.org/installer | php'
|
||||
|
||||
# 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}'
|
||||
;;
|
||||
list)
|
||||
zcat $(ls -rt /var/log/dpkg*)
|
||||
zgrep --no-filename '' $(ls -rt /var/log/dpkg*)
|
||||
;;
|
||||
*)
|
||||
echo "Parameters:"
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@
|
|||
# pushd -N: start counting from right of `dirs' output
|
||||
|
||||
switch-to-dir () {
|
||||
[[ ${#dirstack} -eq 0 ]] && return
|
||||
|
||||
while ! builtin pushd -q $1 &>/dev/null; do
|
||||
# We found a missing directory: pop it out of the dir stack
|
||||
builtin popd -q $1
|
||||
|
|
|
|||
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
|
||||
|
||||
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
|
||||
in. MacOS only.
|
||||
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@ alias g='git'
|
|||
alias ga='git add'
|
||||
alias gaa='git add --all'
|
||||
alias gapa='git add --patch'
|
||||
alias gau='git add --update'
|
||||
|
||||
alias gb='git branch'
|
||||
alias gba='git branch -a'
|
||||
|
|
@ -237,4 +238,4 @@ alias gupv='git pull --rebase -v'
|
|||
alias glum='git pull upstream master'
|
||||
|
||||
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
|
||||
# overriden resulting in the BSD coreutils being called.
|
||||
# overridden resulting in the BSD coreutils being called.
|
||||
#
|
||||
# (( ${+commands[$gcmd]} )) && \
|
||||
# alias "$gcmd[2,-1]"="${prefix}/${gcmd//"["/"\\["}"
|
||||
|
|
|
|||
|
|
@ -24,29 +24,60 @@ function _gradle_core_commands() {
|
|||
function _gradle_arguments() {
|
||||
_arguments -C \
|
||||
'-a[Do not rebuild project dependencies]' \
|
||||
'-h[Help]' \
|
||||
'-D[System property]' \
|
||||
'-b[Specifies the build file]' \
|
||||
'-c[Specifies the settings file]' \
|
||||
'-d[Log at the debug level]' \
|
||||
'--gui[Launches the Gradle GUI app]' \
|
||||
'--stop[Stop the Gradle daemon]' \
|
||||
'--daemon[Use the Gradle daemon]' \
|
||||
'--no-daemon[Do not use the Gradle daemon]' \
|
||||
'--rerun-task [Specifies that any task optimization is ignored.]' \
|
||||
'-i[Log at the info level]' \
|
||||
'-m[Dry run]' \
|
||||
'-P[Set a project property]' \
|
||||
'-p[Specifies the start directory]' \
|
||||
'--profile[Profile the build time]' \
|
||||
'-q[Log at the quiet level (only show errors)]' \
|
||||
'-v[Print the Gradle version info]' \
|
||||
'-g[Specifies the Gradle user home directory]' \
|
||||
'-h[Shows a help message]' \
|
||||
'-i[Set log level to INFO]' \
|
||||
'-m[Runs the build with all task actions disabled]' \
|
||||
'-p[Specifies the start directory for Gradle]' \
|
||||
'-q[Log errors only]' \
|
||||
'-s[Print out the stacktrace also for user exceptions]' \
|
||||
'-t[Continuous mode. Automatically re-run build after changes]' \
|
||||
'-u[Don''t search in parent directories for a settings.gradle file]' \
|
||||
'-v[Prints Gradle version info]' \
|
||||
'-x[Specify a task to be excluded]' \
|
||||
'-b[Specifies the build file.]' \
|
||||
'-c[Specifies the settings file.]' \
|
||||
'--continue[Continues task execution after a task failure.]' \
|
||||
'-g[Specifies the Gradle user home directory.]' \
|
||||
'-I[Specifies an initialization script.]' \
|
||||
'--refresh-dependencies[Refresh the state of dependencies.]' \
|
||||
'-u[Don''t search in parent directories for a settings.gradle file.]' \
|
||||
'-D[Set a system property]' \
|
||||
'-I[Specifies an initialization script]' \
|
||||
'-P[Sets a project property of the root project]' \
|
||||
'-S[Print out the full (very verbose) stacktrace]' \
|
||||
'--build-file[Specifies the build file]' \
|
||||
'--configure-on-demand[Only relevant projects are configured]' \
|
||||
'--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' \
|
||||
&& 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*$/
|
||||
# are considered to be tasks. If and when gradle adds support for listing tasks
|
||||
# for programmatic parsing, this method can be deprecated.
|
||||
|
|
@ -76,7 +107,7 @@ _gradle_parse_tasks () {
|
|||
task_name_buffer=""
|
||||
elif [[ $line =~ ^\s*$ ]]; 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
|
||||
echo $task | awk '/[a-zA-Z0-9:-]+/ {print $1}'
|
||||
done <<< "$task_name_buffer"
|
||||
|
|
@ -90,6 +121,25 @@ _gradle_parse_tasks () {
|
|||
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"
|
||||
############################################################################
|
||||
|
|
@ -97,7 +147,7 @@ _gradle_tasks () {
|
|||
if [[ -f build.gradle ]]; then
|
||||
_gradle_arguments
|
||||
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
|
||||
compadd -X "==== Gradle Tasks ====" $(cat .gradletasknamecache)
|
||||
fi
|
||||
|
|
@ -107,7 +157,7 @@ _gradlew_tasks () {
|
|||
if [[ -f build.gradle ]]; then
|
||||
_gradle_arguments
|
||||
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
|
||||
compadd -X "==== Gradlew Tasks ====" $(cat .gradletasknamecache)
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -31,6 +31,10 @@ _1st_arguments=(
|
|||
"domains\:add":"add a custom domain to an app"
|
||||
"domains\:remove":"remove a custom domain 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"
|
||||
"keys":"display keys for the current user"
|
||||
"keys\:add":"add a key for the current user"
|
||||
|
|
@ -144,5 +148,4 @@ _arguments \
|
|||
'(--app)--app[the app name]' \
|
||||
'(--remote)--remote[the remote name]' \
|
||||
'(--help)--help[help about the current command]' \
|
||||
&& return 0
|
||||
|
||||
&& return 0
|
||||
|
|
|
|||
|
|
@ -244,7 +244,7 @@ _history-substring-search-end() {
|
|||
|
||||
_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
|
||||
if [[ $_history_substring_search_refresh_display -eq 1 ]]; then
|
||||
region_highlight=()
|
||||
|
|
|
|||
|
|
@ -86,6 +86,9 @@ case $state in
|
|||
(test)
|
||||
_files
|
||||
;;
|
||||
(run)
|
||||
_files
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
|
|
|||
|
|
@ -22,8 +22,7 @@ RESET_FORMATTING=`tput sgr0`
|
|||
|
||||
|
||||
# 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
|
||||
unset LANG
|
||||
|
|
@ -65,8 +64,9 @@ alias mvns='mvn site'
|
|||
alias mvnsrc='mvn dependency:sources'
|
||||
alias mvndocs='mvn dependency:resolve -Dclassifier=javadoc'
|
||||
|
||||
|
||||
function listMavenCompletions {
|
||||
reply=(
|
||||
reply=(
|
||||
# common lifecycle
|
||||
clean process-resources compile process-test-resources test-compile test integration-test package verify install deploy site
|
||||
|
||||
|
|
@ -111,8 +111,8 @@ function listMavenCompletions {
|
|||
help:active-profiles help:all-profiles help:describe help:effective-pom help:effective-settings help:evaluate help:expressions help:system
|
||||
# release
|
||||
release:clean release:prepare release:rollback release:perform release:stage release:branch release:update-versions
|
||||
# jgitflow
|
||||
jgitflow:feature-start jgitflow:feature-finish jgitflow:release-start jgitflow:release-finish jgitflow:hotfix-start jgitflow:hotfix-finish jgitflow:build-number
|
||||
# jgitflow
|
||||
jgitflow:feature-start jgitflow:feature-finish jgitflow:release-start jgitflow:release-finish jgitflow:hotfix-start jgitflow:hotfix-finish jgitflow:build-number
|
||||
# repository
|
||||
repository:bundle-create repository:bundle-pack
|
||||
# source
|
||||
|
|
@ -135,7 +135,7 @@ function listMavenCompletions {
|
|||
tomcat6:run tomcat6:run-war tomcat6:run-war-only tomcat6:stop tomcat6:deploy tomcat6:undeploy
|
||||
# tomcat7
|
||||
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
|
||||
# spring-boot
|
||||
spring-boot:run spring-boot:repackage
|
||||
|
|
@ -173,7 +173,8 @@ function listMavenCompletions {
|
|||
flyway:clean flyway:history flyway:init flyway:migrate flyway:status flyway:validate
|
||||
# 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
|
||||
|
||||
# asciidoctor
|
||||
asciidoctor:process-asciidoc asciidoctor:auto-refresh asciidoctor:http asciidoctor:zip
|
||||
# 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=
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
# Open the node api for your current version to the optional section.
|
||||
# TODO: Make the section part easier to use.
|
||||
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
|
||||
function itunes() {
|
||||
local opt=$1
|
||||
local playlist=$2
|
||||
shift
|
||||
case "$opt" in
|
||||
launch|play|pause|stop|rewind|resume|quit)
|
||||
|
|
@ -200,6 +201,19 @@ function itunes() {
|
|||
vol)
|
||||
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)
|
||||
local state=`osascript -e 'tell application "iTunes" to player state as string'`
|
||||
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 "\tvol\tSet the volume, takes an argument from 0 to 100"
|
||||
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"
|
||||
return 0
|
||||
;;
|
||||
|
|
@ -323,7 +338,7 @@ function spotify() {
|
|||
if [ $# = 0 ]; then
|
||||
showHelp;
|
||||
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'
|
||||
sleep 2
|
||||
fi
|
||||
|
|
@ -413,9 +428,13 @@ function spotify() {
|
|||
break ;;
|
||||
|
||||
"quit" )
|
||||
cecho "Quitting Spotify.";
|
||||
osascript -e 'tell application "Spotify" to quit';
|
||||
exit 1 ;;
|
||||
if [ "$(osascript -e 'application "Spotify" is running')" = "false" ]; then
|
||||
cecho "Spotify was not running."
|
||||
else
|
||||
cecho "Closing Spotify.";
|
||||
osascript -e 'tell application "Spotify" to quit';
|
||||
fi
|
||||
break ;;
|
||||
|
||||
"next" )
|
||||
cecho "Going to next track." ;
|
||||
|
|
@ -470,7 +489,7 @@ function spotify() {
|
|||
"pos" )
|
||||
cecho "Adjusting Spotify play position."
|
||||
osascript -e "tell application \"Spotify\" to set player position to $2";
|
||||
break;;
|
||||
break ;;
|
||||
|
||||
"status" )
|
||||
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
|
||||
------|---------------------
|
||||
**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"*
|
||||
```zsh
|
||||
plugins=(... react-native)
|
||||
```
|
||||
|
||||
## 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
|
||||
_1st_arguments=(
|
||||
'init:<ProjectName> generates a new project and installs its dependencies'
|
||||
'android:creates an empty android project'
|
||||
'start:starts the webserver'
|
||||
'bundle:builds the javascript bundle for offline use'
|
||||
'new-library:generates a native library bridge'
|
||||
'android:generates an Android project for your app'
|
||||
'run-ios:builds your app and starts it on iOS simulator'
|
||||
'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,9 +1,11 @@
|
|||
alias rn='react-native'
|
||||
alias rns='react-native start'
|
||||
alias rnlink='react-native link'
|
||||
|
||||
alias rnand='react-native run-android'
|
||||
alias rnios='react-native run-ios'
|
||||
alias rnios4s='react-native run-ios --simulator "iPhone 4s"'
|
||||
alias rnios5='react-native run-ios --simulator "iPhone 5"'
|
||||
alias rnios5s='react-native run-ios --simulator "iPhone 5s"'
|
||||
alias rnios6='react-native run-ios --simulator "iPhone 6"'
|
||||
alias rnios6s='react-native run-ios --simulator "iPhone 6s"'
|
||||
alias rnios='react-native run-ios'
|
||||
alias rnlink='react-native link'
|
||||
|
||||
|
|
|
|||
|
|
@ -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 -/"
|
||||
"-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 -/"
|
||||
"-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-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"
|
||||
"-Ylinearizer\:-[Linearizer to use (default\: rpo)]:linearizer:(normal dfs rpo dump)"
|
||||
"-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
|
||||
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 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 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
|
||||
|
||||
#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.]' \
|
||||
'-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.]' \
|
||||
'-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() {
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ By now you already can guess almost all aliases
|
|||
|
||||
There are two exeptions since ...
|
||||
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.
|
||||
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ alias mydeb='time dpkg-buildpackage -rfakeroot -us -uc'
|
|||
# apt-add-repository with automatic install/upgrade of the desired package
|
||||
# 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
|
||||
# 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() {
|
||||
if [ -n "$2" ]; then
|
||||
PACKAGE=$2
|
||||
|
|
@ -108,7 +108,7 @@ apt-history () {
|
|||
awk '{print $4"="$5}'
|
||||
;;
|
||||
list)
|
||||
zcat $(ls -rt /var/log/dpkg*)
|
||||
zgrep --no-filename '' $(ls -rt /var/log/dpkg*)
|
||||
;;
|
||||
*)
|
||||
echo "Parameters:"
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ function web_search() {
|
|||
github "https://github.com/search?q="
|
||||
baidu "https://www.baidu.com/s?wd="
|
||||
ecosia "https://www.ecosia.org/search?q="
|
||||
goodreads "https://www.goodreads.com/search?q="
|
||||
)
|
||||
|
||||
# check whether the search engine is supported
|
||||
|
|
@ -47,6 +48,7 @@ alias yandex='web_search yandex'
|
|||
alias github='web_search github'
|
||||
alias baidu='web_search baidu'
|
||||
alias ecosia='web_search ecosia'
|
||||
alias goodreads='web_search goodreads'
|
||||
|
||||
#add your own !bang searches here
|
||||
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.
|
||||
|
||||
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
|
||||
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.
|
||||
.P
|
||||
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
|
||||
FILES
|
||||
Data is stored in \fB$HOME/.z\fR. This can be overridden by setting the
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ source $ZSH/oh-my-zsh.sh
|
|||
# export ARCHFLAGS="-arch x86_64"
|
||||
|
||||
# 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,
|
||||
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ else
|
|||
fi
|
||||
|
||||
# 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_DIRTY="$my_orange*%{$reset_color%}"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="$FG[075])%{$reset_color%}"
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ else
|
|||
local user_symbol='$'
|
||||
fi
|
||||
|
||||
local current_dir='%{$terminfo[bold]$fg[blue]%} %~%{$reset_color%}'
|
||||
local current_dir='%{$terminfo[bold]$fg[blue]%}%~%{$reset_color%}'
|
||||
local rvm_ruby=''
|
||||
if which rvm-prompt &> /dev/null; then
|
||||
rvm_ruby='%{$fg[red]%}‹$(rvm-prompt i v g)›%{$reset_color%}'
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ setopt prompt_subst
|
|||
autoload -U add-zsh-hook
|
||||
autoload -Uz vcs_info
|
||||
|
||||
#use extended color pallete if available
|
||||
#use extended color palette if available
|
||||
if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then
|
||||
turquoise="%F{81}"
|
||||
orange="%F{166}"
|
||||
|
|
|
|||
|
|
@ -1,106 +1,10 @@
|
|||
#!/usr/bin/env zsh
|
||||
print -P '%F{yellow}'Oh My Zsh pure theme:
|
||||
cat <<-EOF
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
#
|
||||
# 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
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
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.
|
||||
|
||||
# Set required options
|
||||
#
|
||||
setopt prompt_subst
|
||||
EOF
|
||||
print -P '%f'
|
||||
|
||||
# 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 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)
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
source ${0:h:A}/refined.zsh-theme
|
||||
|
|
|
|||
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)
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
|
@ -19,7 +19,7 @@ setopt prompt_subst
|
|||
autoload -U add-zsh-hook
|
||||
autoload -Uz vcs_info
|
||||
|
||||
#use extended color pallete if available
|
||||
#use extended color palette if available
|
||||
if [[ $terminfo[colors] -ge 256 ]]; then
|
||||
turquoise="%F{81}"
|
||||
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")
|
||||
|
||||
|
||||
# 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
|
||||
c1=$( printf "\e[34;1m")
|
||||
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%}
|
||||
> '
|
||||
|
||||
# modified, to be commited
|
||||
# modified, to be committed
|
||||
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%})"
|
||||
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