mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-02-11 05:39:45 +08:00
Compare commits
5 Commits
47eae26bf6
...
c1b798aff3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c1b798aff3 | ||
|
|
eeb49bf5b0 | ||
|
|
de261bd29c | ||
|
|
e8609b857c | ||
|
|
d49397a01d |
@ -11,7 +11,7 @@ plugins=(... git)
|
||||
## Aliases
|
||||
|
||||
| Alias | Command |
|
||||
|:---------------------|:------------------------------------------------------------------------------------------------------------------------------|
|
||||
|:---------------------|:---------------------------------------------------------------------------------------------------------------------------------|
|
||||
| g | git |
|
||||
| ga | git add |
|
||||
| gaa | git add --all |
|
||||
@ -177,25 +177,26 @@ plugins=(... git)
|
||||
These are aliases that have been removed, renamed, or otherwise modified in a way that may, or may not, receive further support.
|
||||
|
||||
| Alias | Command | Modification |
|
||||
| :----- | :----------------------------------------------------------------------------------| --------------------------------------------------------------------------------------------------- |
|
||||
| gap | git add --patch | new alias `gapa` |
|
||||
| gcl | git config --list | new alias `gcf` |
|
||||
| gdc | git diff --cached | new alias `gdca` |
|
||||
| gdt | git difftool | no replacement |
|
||||
| ggpull | git pull origin $(current_branch) | new alias `ggl` (`ggpull` still exists for now though) |
|
||||
| ggpur | git pull --rebase origin $(current_branch) | new alias `ggu` (`ggpur` still exists for now though) |
|
||||
| ggpush | git push origin $(current_branch) | new alias `ggp` (`ggpush` still exists for now though) |
|
||||
| gk | gitk --all --branches | now aliased to `gitk --all --branches` |
|
||||
| glg | git log --stat --max-count = 10 | now aliased to `git log --stat --color` |
|
||||
| glgg | git log --graph --max-count = 10 | now aliased to `git log --graph --color` |
|
||||
| gwc | git whatchanged -p --abbrev-commit --pretty = medium | new alias `gwch` |
|
||||
| :----- | :----------------------------------------------------- | :----------------------------------------------------- |
|
||||
| gap | `git add --patch` | new alias `gapa` |
|
||||
| gcl | `git config --list` | new alias `gcf` |
|
||||
| gdc | `git diff --cached` | new alias `gdca` |
|
||||
| gdt | `git difftool` | no replacement |
|
||||
| ggpull | `git pull origin $(current_branch)` | new alias `ggl` (`ggpull` still exists for now though) |
|
||||
| ggpur | `git pull --rebase origin $(current_branch)` | new alias `ggu` (`ggpur` still exists for now though) |
|
||||
| ggpush | `git push origin $(current_branch)` | new alias `ggp` (`ggpush` still exists for now though) |
|
||||
| gk | `gitk --all --branches` | now aliased to `gitk --all --branches` |
|
||||
| glg | `git log --stat --max-count = 10` | now aliased to `git log --stat --color` |
|
||||
| glgg | `git log --graph --max-count = 10` | now aliased to `git log --graph --color` |
|
||||
| gwc | `git whatchanged -p --abbrev-commit --pretty = medium` | new alias `gwch` |
|
||||
|
||||
## Functions
|
||||
|
||||
### Current
|
||||
|
||||
| Command | Description |
|
||||
|:-----------------------|:----------------------------------------|
|
||||
|:-----------------------|:---------------------------------------------------------|
|
||||
| `grename <old> <new>` | Rename `old` branch to `new`, including in origin remote |
|
||||
| current_branch | Return the name of the current branch |
|
||||
| git_current_user_name | Returns the `user.name` config value |
|
||||
| git_current_user_email | Returns the `user.email` config value |
|
||||
|
||||
@ -256,3 +256,17 @@ 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 --no-gpg-sign -m "--wip-- [skip ci]"'
|
||||
|
||||
function grename() {
|
||||
if [[ -z "$1" || -z "$2" ]]; then
|
||||
echo "Usage: $0 old_branch new_branch"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Rename branch locally
|
||||
git branch -m "$1" "$2"
|
||||
# Rename branch in origin remote
|
||||
if git push origin :"$1"; then
|
||||
git push --set-upstream origin "$2"
|
||||
fi
|
||||
}
|
||||
|
||||
@ -51,3 +51,44 @@ plugins=(... systemd)
|
||||
|
||||
You can use the above aliases as `--user` by using the prefix `scu` instead of `sc`.
|
||||
For example: `scu-list-units` will be aliased to `systemctl --user list-units`.
|
||||
|
||||
### Unit Status Prompt
|
||||
|
||||
You can add a token to your prompt in a similar way to the gitfast plugin. To add the token
|
||||
to your prompt, drop `$(systemd_prompt_info [unit]...)` into your prompt (more than one unit
|
||||
may be specified).
|
||||
|
||||
The plugin will add the following to your prompt for each `$unit`.
|
||||
```
|
||||
<prefix><unit>:<active|notactive><suffix>
|
||||
```
|
||||
You can control these parts with the following variables:
|
||||
|
||||
- `<prefix>`: Set `$ZSH_THEME_SYSTEMD_PROMPT_PREFIX`.
|
||||
|
||||
- `<suffix>`: Set `$ZSH_THEME_SYSTEMD_PROMPT_SUFFIX`.
|
||||
|
||||
- `<unit>`: name passed as parameter to the function. If you want it to be in ALL CAPS,
|
||||
you can set the variable `$ZSH_THEME_SYSTEMD_PROMPT_CAPS` to a non-empty string.
|
||||
|
||||
- `<active>`: shown if the systemd unit is active.
|
||||
Set `$ZSH_THEME_SYSTEMD_PROMPT_ACTIVE`.
|
||||
|
||||
- `<notactive>`: shown if the systemd unit is *not* active.
|
||||
Set `$ZSH_THEME_SYSTEMD_PROMPT_NOTACTIVE`.
|
||||
|
||||
For example, if your prompt contains `PROMPT='$(systemd_prompt_info dhcpd httpd)'` and you set the following variables:
|
||||
|
||||
```
|
||||
ZSH_THEME_SYSTEMD_PROMPT_PREFIX="["
|
||||
ZSH_THEME_SYSTEMD_PROMPT_SUFFIX="]"
|
||||
ZSH_THEME_SYSTEMD_PROMPT_ACTIVE="+"
|
||||
ZSH_THEME_SYSTEMD_PROMPT_NOTACTIVE="X"
|
||||
ZSH_THEME_SYSTEMD_PROMPT_CAPS=1
|
||||
```
|
||||
|
||||
If `dhcpd` is running, and `httpd` is not, then your prompt will look like this:
|
||||
|
||||
```
|
||||
[DHCPD: +][HTTPD: X]
|
||||
```
|
||||
|
||||
@ -73,3 +73,18 @@ alias sc-mask-now="sc-mask --now"
|
||||
alias scu-enable-now="scu-enable --now"
|
||||
alias scu-disable-now="scu-disable --now"
|
||||
alias scu-mask-now="scu-mask --now"
|
||||
|
||||
function systemd_prompt_info {
|
||||
local unit
|
||||
for unit in $@; do
|
||||
echo -n "$ZSH_THEME_SYSTEMD_PROMPT_PREFIX"
|
||||
[[ -n "$ZSH_THEME_SYSTEMD_PROMPT_CAPS" ]] && echo "${(U)unit}:" || echo "$unit:"
|
||||
if systemctl is-active $unit &>/dev/null; then
|
||||
echo -n "$ZSH_THEME_SYSTEMD_PROMPT_ACTIVE"
|
||||
else
|
||||
echo -n "$ZSH_THEME_SYSTEMD_PROMPT_NOTACTIVE"
|
||||
fi
|
||||
echo -n "$ZSH_THEME_SYSTEMD_PROMPT_SUFFIX"
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
@ -2,29 +2,28 @@
|
||||
# Repo: https://github.com/andyfleming/oh-my-zsh
|
||||
# Direct Link: https://github.com/andyfleming/oh-my-zsh/blob/master/themes/af-magic.zsh-theme
|
||||
|
||||
if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi
|
||||
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
|
||||
|
||||
# settings
|
||||
typeset +H return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
|
||||
typeset +H my_gray="$FG[237]"
|
||||
typeset +H my_orange="$FG[214]"
|
||||
|
||||
# separator dashes size
|
||||
function afmagic_dashes {
|
||||
[[ -n "${VIRTUAL_ENV-}" && -z "${VIRTUAL_ENV_DISABLE_PROMPT-}" && "$PS1" = \(* ]] \
|
||||
&& echo $(( COLUMNS - ${#VIRTUAL_ENV} - 3 )) \
|
||||
|| echo $COLUMNS
|
||||
}
|
||||
|
||||
# primary prompt
|
||||
PROMPT='$FG[237]${(l.COLUMNS..-.)}%{$reset_color%}
|
||||
$FG[032]%~\
|
||||
$(git_prompt_info)$(hg_prompt_info) \
|
||||
$FG[105]%(!.#.»)%{$reset_color%} '
|
||||
PROMPT2='%{$fg[red]%}\ %{$reset_color%}'
|
||||
PS1='$FG[237]${(l.$(afmagic_dashes)..-.)}%{$reset_color%}
|
||||
$FG[032]%~$(git_prompt_info)$(hg_prompt_info) $FG[105]%(!.#.»)%{$reset_color%} '
|
||||
PS2='%{$fg[red]%}\ %{$reset_color%}'
|
||||
RPS1='${return_code}'
|
||||
|
||||
|
||||
# color vars
|
||||
eval my_gray='$FG[237]'
|
||||
eval my_orange='$FG[214]'
|
||||
|
||||
# right prompt
|
||||
if type "virtualenv_prompt_info" > /dev/null
|
||||
then
|
||||
RPROMPT="${RPROMPT}"'$FG[078]$(virtualenv_prompt_info)%{$reset_color%} $my_gray%n@%m%{$reset_color%}%'
|
||||
else
|
||||
RPROMPT="${RPROMPT}"'$my_gray%n@%m%{$reset_color%}%'
|
||||
fi
|
||||
(( $+functions[virtualenv_prompt_info] )) && RPS1+='$(virtualenv_prompt_info)'
|
||||
RPS1+=' $my_gray%n@%m%{$reset_color%}%'
|
||||
|
||||
# git settings
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="$FG[075]($FG[078]"
|
||||
@ -37,3 +36,7 @@ ZSH_THEME_HG_PROMPT_PREFIX="$FG[075]($FG[078]"
|
||||
ZSH_THEME_HG_PROMPT_CLEAN=""
|
||||
ZSH_THEME_HG_PROMPT_DIRTY="$my_orange*%{$reset_color%}"
|
||||
ZSH_THEME_HG_PROMPT_SUFFIX="$FG[075])%{$reset_color%}"
|
||||
|
||||
# virtualenv settings
|
||||
ZSH_THEME_VIRTUALENV_PREFIX=" $FG[075]["
|
||||
ZSH_THEME_VIRTUALENV_SUFFIX="]%{$reset_color%}"
|
||||
|
||||
@ -141,20 +141,26 @@ prompt_git() {
|
||||
|
||||
prompt_bzr() {
|
||||
(( $+commands[bzr] )) || return
|
||||
if (bzr status >/dev/null 2>&1); then
|
||||
status_mod=`bzr status | head -n1 | grep "modified" | wc -m`
|
||||
status_all=`bzr status | head -n1 | wc -m`
|
||||
revision=`bzr log | head -n2 | tail -n1 | sed 's/^revno: //'`
|
||||
|
||||
# Test if bzr repository in directory hierarchy
|
||||
local dir="$PWD"
|
||||
while [[ ! -d "$dir/.bzr" ]]; do
|
||||
[[ "$dir" = "/" ]] && return
|
||||
dir="${dir:h}"
|
||||
done
|
||||
|
||||
local bzr_status status_mod status_all revision
|
||||
if bzr_status=$(bzr status 2>&1); then
|
||||
status_mod=$(echo -n "$bzr_status" | head -n1 | grep "modified" | wc -m)
|
||||
status_all=$(echo -n "$bzr_status" | head -n1 | wc -m)
|
||||
revision=$(bzr log -r-1 --log-format line | cut -d: -f1)
|
||||
if [[ $status_mod -gt 0 ]] ; then
|
||||
prompt_segment yellow black
|
||||
echo -n "bzr@"$revision "✚ "
|
||||
prompt_segment yellow black "bzr@$revision ✚"
|
||||
else
|
||||
if [[ $status_all -gt 0 ]] ; then
|
||||
prompt_segment yellow black
|
||||
echo -n "bzr@"$revision
|
||||
prompt_segment yellow black "bzr@$revision"
|
||||
else
|
||||
prompt_segment green black
|
||||
echo -n "bzr@"$revision
|
||||
prompt_segment green black "bzr@$revision"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
Loading…
Reference in New Issue
Block a user