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/aliases.zsh | 43 +++++++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 16 deletions(-) (limited to 'zsh/aliases.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/$*"; } -- cgit v1.2.3-54-g00ecf