From 46259edd2d39e2513b77eea1b9ce83a2c5b826c7 Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Tue, 14 Jun 2022 22:15:26 -0700 Subject: Update ZSH prompt Include a shortened version of the current directory. --- zsh/.zsh/functions/spwd | 25 +++++++++++++++++++++++++ zsh/zshrc.org | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 zsh/.zsh/functions/spwd (limited to 'zsh') diff --git a/zsh/.zsh/functions/spwd b/zsh/.zsh/functions/spwd new file mode 100644 index 0000000..15aef1b --- /dev/null +++ b/zsh/.zsh/functions/spwd @@ -0,0 +1,25 @@ +# From https://stackoverflow.com/a/45336078 +paths=(${(s:/:)PWD}) + +cur_path='/' +cur_short_path='/' +for directory in ${paths[@]} +do + cur_dir='' + for (( i=0; i<${#directory}; i++ )); do + cur_dir+="${directory:$i:1}" + matching=("$cur_path"/"$cur_dir"*/) + if [[ ${#matching[@]} -eq 1 ]]; then + break + fi + done + cur_short_path+="$cur_dir/" + cur_path+="$directory/" + + if [[ $cur_path == $HOME/ ]]; + then cur_short_path='~/' + fi +done + +printf %b "${cur_short_path: : -1}" +echo diff --git a/zsh/zshrc.org b/zsh/zshrc.org index d6604de..68dca58 100644 --- a/zsh/zshrc.org +++ b/zsh/zshrc.org @@ -207,6 +207,6 @@ Autoload any ZSH function from =$HOME/.zsh/functions=. Set the actual prompts. #+begin_src sh - PROMPT='%T %2~ %B%(?.%F{2}.%F{1})→%b ' + PROMPT='%T $(spwd) %B%(?.%F{2}.%F{1}[%?])>%b%f ' RPROMPT='${vcs_info_msg_0_}' #+end_src -- cgit v1.2.3-54-g00ecf