From 0ff5149d6c011eb1156b054849e0195d993bc352 Mon Sep 17 00:00:00 2001 From: Johannes Löthberg Date: Wed, 24 Sep 2014 12:42:16 +0200 Subject: zsh: Split functions and the prompt to own files --- zsh/.zshrc | 40 +--------------------------------------- zsh/aliases.zsh | 43 +++++++++++++++++++++++++++---------------- zsh/prompt.zsh | 18 ++++++++++++++++++ 3 files changed, 46 insertions(+), 55 deletions(-) create mode 100644 zsh/prompt.zsh (limited to 'zsh') diff --git a/zsh/.zshrc b/zsh/.zshrc index 15a02f6..4b83f19 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -39,46 +39,8 @@ zstyle ':completion:*' menu select zstyle ':completion:*' use-cache on zstyle ':completion:*' rehash yes -DEFAULT_COLOR="%{${fg[default]}%}" -function bold { printf "%s%s%s" "%{%B%}" "$1" "%{%b%}" } -function red { printf "%s%s%s" "%{${fg[red]}%}" "$1" "$DEFAULT_COLOR" } -function green { printf "%s%s%s" "%{${fg[green]}%}" "$1" "$DEFAULT_COLOR" } -function blue { printf "%s%s%s" "%{${fg[blue]}%}" "$1" "$DEFAULT_COLOR" } -function cyan { printf "%s%s%s" "%{${fg[cyan]}%}" "$1" "$DEFAULT_COLOR" } -function magenta { printf "%s%s%s" "%{${fg[magenta]}%}" "$1" "$DEFAULT_COLOR" } -function yellow { printf "%s%s%s" "%{${fg[yellow]}%}" "$1" "$DEFAULT_COLOR" } -function black { printf "%s%s%s" "%{${fg[black]}%}" "$1" "$DEFAULT_COLOR" } -function white { printf "%s%s%s" "%{${fg[white]}%}" "$1" "$DEFAULT_COLOR" } -function prompt_user_color { - (( UID )) && print -n red || print -n magenta -} - -PROMPT="$(yellow "┌─[") $(yellow "$(bold %m)") \ -$($(prompt_user_color) "$(bold %n)") \ -$(blue "$(bold %~)") $(magenta $(bold '$branch'))$(yellow "]") -$(yellow "└─╼") " - -function get_git_branch { - if [[ -d .git ]]; then - branch="$(< .git/HEAD)" - branch="${branch##*/} " - else - branch="" - fi -} - -# Print basic prompt to the window title -function precmd { - print -Pn "\e];%n %~\a" - get_git_branch -} - -# Print the current running command's name to the window title -function preexec { - local cmd=${1[(wr)^(*=*|sudo|exec|ssh|-*)]} - print -Pn "\e];$cmd:q\a" -} +source "$ZDOTDIR"/prompt.zsh source "$ZDOTDIR"/aliases.zsh source "$ZDOTDIR"/keybindings.zsh diff --git a/zsh/aliases.zsh b/zsh/aliases.zsh index 298344c..1cfd59f 100644 --- a/zsh/aliases.zsh +++ b/zsh/aliases.zsh @@ -40,26 +40,37 @@ sp() { printf '%s' "$@"; printf '\n'; } have() { command -v "$1" >&/dev/null; } -## service management -if have systemctl && [[ -d /run/systemd/system ]]; then - alias sd='systemctl' - alias u='systemctl --user' - alias list='systemctl list-units -t path,service,socket --no-legend' - alias lcstatus='loginctl session-status $XDG_SESSION_ID' - alias tsd='tree /etc/systemd/system' +function get_git_branch { + if [[ -d .git ]]; then + branch="$(< .git/HEAD)" + branch="${branch##*/} " + else + branch="" + fi +} + +# Print basic prompt to the window title +function precmd { + print -Pn "\e];%n %~\a" + get_git_branch +} - start() { sudo systemctl start "$@"; systemctl status -a "$@"; } - stop() { sudo systemctl stop "$@"; systemctl status -a "$@"; } - restart() { sudo systemctl restart "$@"; systemctl status -a "$@"; } - reload() { sudo systemctl reload "$@"; systemctl status -a "$@"; } - status() { systemctl status -a "$@"; } +# Print the current running command's name to the window title +function preexec { + local cmd=${1[(wr)^(*=*|sudo|exec|ssh|-*)]} + print -Pn "\e];$cmd:q\a" +} +# service management +if have systemctl && [[ -d /run/systemd/system ]]; then + alias ssctl='sudo systemctl' alias userctl='systemctl --user' + + alias list='systemctl list-units -t path,service,socket --no-legend' alias ulist='userctl list-units -t path,service,socket --no-legend' - ustart() { userctl start "$@"; userctl status -a "$@"; } - ustop() { userctl stop "$@"; userctl status -a "$@"; } - urestart() { userctl restart "$@"; userctl status -a "$@"; } - ureload() { userctl reload "$@"; userctl status -a "$@"; } + + alias lcstatus='loginctl session-status $XDG_SESSION_ID' + alias tsd='tree /etc/systemd/system' cgls() { SYSTEMD_PAGER='cat' systemd-cgls "$@"; } usls() { cgls "/user.slice/user-$UID.slice/$*"; } diff --git a/zsh/prompt.zsh b/zsh/prompt.zsh new file mode 100644 index 0000000..65d8afc --- /dev/null +++ b/zsh/prompt.zsh @@ -0,0 +1,18 @@ +DEFAULT_COLOR="%{${fg[default]}%}" +function bold { printf "%s%s%s" "%{%B%}" "$1" "%{%b%}" } +function red { printf "%s%s%s" "%{${fg[red]}%}" "$1" "$DEFAULT_COLOR" } +function green { printf "%s%s%s" "%{${fg[green]}%}" "$1" "$DEFAULT_COLOR" } +function blue { printf "%s%s%s" "%{${fg[blue]}%}" "$1" "$DEFAULT_COLOR" } +function cyan { printf "%s%s%s" "%{${fg[cyan]}%}" "$1" "$DEFAULT_COLOR" } +function magenta { printf "%s%s%s" "%{${fg[magenta]}%}" "$1" "$DEFAULT_COLOR" } +function yellow { printf "%s%s%s" "%{${fg[yellow]}%}" "$1" "$DEFAULT_COLOR" } +function black { printf "%s%s%s" "%{${fg[black]}%}" "$1" "$DEFAULT_COLOR" } +function white { printf "%s%s%s" "%{${fg[white]}%}" "$1" "$DEFAULT_COLOR" } +function prompt_user_color { + (( UID )) && print -n red || print -n magenta +} + +PROMPT="$(yellow "┌─[") $(yellow "$(bold %m)") \ +$($(prompt_user_color) "$(bold %n)") \ +$(blue "$(bold %~)") $(magenta $(bold '$branch'))$(yellow "]") +$(yellow "└─╼") " -- cgit v1.2.3-54-g00ecf