diff options
author | Tuowen Zhao <ztuowen@gmail.com> | 2017-03-31 13:58:54 -0600 |
---|---|---|
committer | Tuowen Zhao <ztuowen@gmail.com> | 2017-03-31 13:58:54 -0600 |
commit | 29bac8b37fec60bd8b4217074c2837c46daf7611 (patch) | |
tree | bc68cd315484876edde85c31b624c5a5f9046142 | |
parent | a80fe8e13cbad6e5ba5d2009ac8290a5255992f2 (diff) | |
parent | 66bae5a5deb7a053adfb05b38a93fe47295841eb (diff) | |
download | zsh-29bac8b37fec60bd8b4217074c2837c46daf7611.tar.gz zsh-29bac8b37fec60bd8b4217074c2837c46daf7611.tar.bz2 zsh-29bac8b37fec60bd8b4217074c2837c46daf7611.zip |
Merge branch 'master' of https://github.com/robbyrussell/oh-my-zsh
-rw-r--r-- | CONTRIBUTING.md | 123 | ||||
-rw-r--r-- | themes/bira.zsh-theme | 2 | ||||
-rw-r--r-- | themes/pure.zsh-theme | 110 | ||||
-rw-r--r-- | themes/refined.zsh-theme | 106 |
4 files changed, 237 insertions, 104 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..ac263fd18 --- /dev/null +++ b/CONTRIBUTING.md @@ -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. diff --git a/themes/bira.zsh-theme b/themes/bira.zsh-theme index 4b2853c32..29bda0be8 100644 --- a/themes/bira.zsh-theme +++ b/themes/bira.zsh-theme @@ -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%}' diff --git a/themes/pure.zsh-theme b/themes/pure.zsh-theme index 0e5681cc7..98c1312af 100644 --- a/themes/pure.zsh-theme +++ b/themes/pure.zsh-theme @@ -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 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) -# -# ------------------------------------------------------------------------------ +source ${0:h:A}/refined.zsh-theme diff --git a/themes/refined.zsh-theme b/themes/refined.zsh-theme new file mode 100644 index 000000000..0e5681cc7 --- /dev/null +++ b/themes/refined.zsh-theme @@ -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) +# +# ------------------------------------------------------------------------------ |