From 4d7bdacb0e36dbeea85d86ebd2028ca913ee4c1a Mon Sep 17 00:00:00 2001 From: xunuwu Date: Sun, 10 Nov 2024 13:48:18 +0100 Subject: [PATCH] zsh changes --- .../xun/programs/terminal/default.nix | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/home-modules/xun/programs/terminal/default.nix b/home-modules/xun/programs/terminal/default.nix index eaaf2e2..63ee73e 100644 --- a/home-modules/xun/programs/terminal/default.nix +++ b/home-modules/xun/programs/terminal/default.nix @@ -33,6 +33,8 @@ in { history = { expireDuplicatesFirst = true; + extended = true; + save = 100 * 1000; path = "${config.xdg.dataHome}/zsh_history"; }; initExtra = '' @@ -63,13 +65,31 @@ in { ## PROMPT ## + function preexec() { + timer=$(date +%s%3N) + } + + function precmd_timer() { + if [ $timer ]; then + now=$(date +%s%3N) + elapsed=$(($now-$timer)) + + if [[ elapsed -gt 100 ]]; then + export RPROMPT="%F{cyan}''${elapsed}ms %f" + else + unset RPROMPT + fi + unset timer + fi + } + autoload -Uz vcs_info precmd_vcs_info() { vcs_info } - precmd_functions+=( precmd_vcs_info ) + precmd_functions+=( precmd_vcs_info precmd_timer ) zstyle ':vcs_info:git:*' formats ' %b ' setopt prompt_subst - PROMPT="%F{blue}[%F{magenta}%n%F{blue}@%F{magenta}%M%F{blue}] %~%f %F{green}\$vcs_info_msg_0_%f%(?..%F{red}| %? )%#%f " + PROMPT='%F{blue}[%F{magenta}%n%F{blue}@%F{magenta}%M%F{blue}] %~%f %F{green}$vcs_info_msg_0_%f%(?..%F{red}| %? )%#%f ' ''; }; })