From 5a441cc14abfd8d230996720f76db71db29e34ce Mon Sep 17 00:00:00 2001 From: Kyler Clay Date: Wed, 25 Sep 2024 16:37:10 -0400 Subject: [PATCH] Commit for generation 89 --- glasshouse-desktop/dotfiles/zsh-style | 69 +++++++++++++++++++++++++++ glasshouse-desktop/home.nix | 2 +- 2 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 glasshouse-desktop/dotfiles/zsh-style diff --git a/glasshouse-desktop/dotfiles/zsh-style b/glasshouse-desktop/dotfiles/zsh-style new file mode 100644 index 0000000..333fe95 --- /dev/null +++ b/glasshouse-desktop/dotfiles/zsh-style @@ -0,0 +1,69 @@ +# set the terminal mode when entering or exiting zle, otherwise terminfo keys are not loaded +if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then + zle-line-init() { echoti smkx; }; zle -N zle-line-init + zle-line-finish() { echoti rmkx; }; zle -N zle-line-finish +fi + + +# History +zshAddHistory() { + whence ${${(z)1}[1]} >| /dev/null || return 1 +} + +# ---| Correction and Autocompletion |--- # +zstyle ':completion:*:correct:*' original true +zstyle ':completion:*:correct:*' insert-unambiguous true +zstyle ':completion:*:approximate:*' max-errors 'reply=($(( ($#PREFIX + $#SUFFIX) / 3 )) numeric)' + +# completion +zstyle ':completion:*' use-cache on +zstyle ':completion:*' cache-path "$comppath" +zstyle ':completion:*' rehash true +zstyle ':completion:*' verbose true +zstyle ':completion:*' insert-tab false +zstyle ':completion:*' accept-exact '*(N)' +zstyle ':completion:*' squeeze-slashes true +zstyle ':completion:*:*:*:*:*' menu select +zstyle ':completion:*:match:*' original only +zstyle ':completion:*:-command-:*:' verbose false +zstyle ':completion::complete:*' gain-privileges 1 +zstyle ':completion:*:manuals.*' insert-sections true +zstyle ':completion:*:manuals' separate-sections true +zstyle ':completion:*' completer _complete _match _approximate _ignored +zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' +zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories + +# labels and categories +zstyle ':completion:*' group-name '' +zstyle ':completion:*:matches' group 'yes' +zstyle ':completion:*:options' description 'yes' +zstyle ':completion:*:options' auto-description '%d' +zstyle ':completion:*:default' list-prompt '%S%M matches%s' +zstyle ':completion:*' format ' %F{green}->%F{yellow} %d%f' +zstyle ':completion:*:messages' format ' %F{green}->%F{purple} %d%f' +zstyle ':completion:*:descriptions' format ' %F{green}->%F{yellow} %d%f' +zstyle ':completion:*:warnings' format ' %F{green}->%F{red} no matches%f' +zstyle ':completion:*:corrections' format ' %F{green}->%F{green} %d: %e%f' + +# menu colours +eval "$(dircolors)" +zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} +zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=36=0=01' + +# command parameters +zstyle ':completion:*:functions' ignored-patterns '(prompt*|_*|*precmd*|*preexec*)' +zstyle ':completion::*:(-command-|export):*' fake-parameters ${${${_comps[(I)-value-*]#*,}%%,*}:#-*-} +zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,user,comm -w -w" +zstyle ':completion:*:processes-names' command 'ps c -u ${USER} -o command | uniq' +zstyle ':completion:*:(vim|nvim|vi|nano):*' ignored-patterns '*.(wav|mp3|flac|ogg|mp4|avi|mkv|iso|so|o|7z|zip|tar|gz|bz2|rar|deb|pkg|gzip|pdf|png|jpeg|jpg|gif)' + +# hostnames and addresses +zstyle ':completion:*:ssh:*' tag-order 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *' +zstyle ':completion:*:ssh:*' group-order users hosts-domain hosts-host users hosts-ipaddr +zstyle ':completion:*:(scp|rsync):*' tag-order 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *' +zstyle ':completion:*:(scp|rsync):*' group-order users files all-files hosts-domain hosts-host hosts-ipaddr +zstyle ':completion:*:(ssh|scp|rsync):*:hosts-host' ignored-patterns '*(.|:)*' loopback ip6-loopback localhost ip6-localhost broadcasthost +zstyle ':completion:*:(ssh|scp|rsync):*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^[-[:alnum:]]##(.[-[:alnum:]]##)##' '*@*' +zstyle ':completion:*:(ssh|scp|rsync):*:hosts-ipaddr' ignored-patterns '^(<->.<->.<->.<->|(|::)([[:xdigit:].]##:(#c,2))##(|%*))' '127.0.0.<->' '255.255.255.255' '::1' 'fe80::*' +zstyle -e ':completion:*:hosts' hosts 'reply=( ${=${=${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) 2>/dev/null)"}%%[#| ]*}//\]:[0-9]*/ }//,/ }//\[/ } ${=${(f)"$(cat /etc/hosts(|)(N) <<(ypcat hosts 2>/dev/null))"}%%\#*} ${=${${${${(@M)${(f)"$(cat ~/.ssh/config 2>/dev/null)"}:#Host *}#Host }:#*\**}:#*\?*}})' +ttyctl -f diff --git a/glasshouse-desktop/home.nix b/glasshouse-desktop/home.nix index fa35c53..747d74e 100644 --- a/glasshouse-desktop/home.nix +++ b/glasshouse-desktop/home.nix @@ -81,7 +81,7 @@ ".config/starship/starship.toml".source = ./dotfiles/packages/starship/starship.toml; ".config/waybar/config".source = ./dotfiles/packages/waybar/config/config; ".config/waybar/style.css".source = ./dotfiles/packages/waybar/config/style.css; - ".zshenv".text = ""; + ".zstyle".source = ./dotfiles/zsh-style; }; };