Move zshrc extra to own file

This allows for proper syntax highlighting

This also prevents the need for escaping
This commit is contained in:
Daniel Siepmann 2023-01-03 07:57:46 +01:00
parent 6cf94d47ab
commit 05e0d67e1a
Signed by: Daniel Siepmann
GPG key ID: 33D6629915560EF4
2 changed files with 51 additions and 49 deletions

46
home/files/zshrc Normal file
View file

@ -0,0 +1,46 @@
autoload -U colors && colors
autoload -U promptinit
autoload -U complist
# Set vim mode
set -o vi
# Allow editing of current line in $EDITOR using command mode V
autoload -U edit-command-line
zle -N edit-command-line
bindkey -M vicmd v edit-command-line
# ctrl-r search history backward to keep old pattern
bindkey '^r' history-incremental-search-backward
# ctrl-j search history backward to have vim like binding
# TODO: Find out why this breaks within neoterminal when sending commands like from test or repl
# bindkey '^j' history-incremental-search-backward
# # ctrl-k search history forward to have vim like binding
bindkey '^k' history-search-forward
# also complete defined alias
setopt completealiases
# Correct mistyped commands
setopt correctall
# Try to make the completion list smaller (occupying less lines) by printing the matches in columns with different widths.
setopt list_packed
# When listing files that are possible completions, show the type of each file with a trailing identifying mark.
setopt list_types
# Allow for functions in the prompt.
setopt PROMPT_SUBST
PROMPT=$'%{$fg[blue]%}%1~ > %{$reset_color%}'
zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
zstyle ':completion:*:warnings' format '%BSorry, no matches for: %d%b'
zstyle ':completion:*' menu select
zstyle ':completion:*' use-cache on
zstyle ':completion:*' list-colors ''${(s.:.)LS_COLORS}
zstyle ':completion:*' cache-path ${config.xdg.cacheHome}/zsh-completion/
zstyle ':completion:*' group-name '''
zstyle ':completion::complete:git-checkout:argument-rest:' group-order heads-local heads-remote commit-tags
zstyle ':completion::complete:git-checkout:argument-rest:commits' command 'echo'
zstyle ':completion::complete:git-checkout:argument-rest:valid-ref-names' command 'echo'
zstyle ':completion::complete:git-checkout:argument-rest:remote-branch-refs-noprefix' command 'echo'

View file

@ -1,5 +1,9 @@
{ config, pkgs }:
# Sources:
# https://thevaluable.dev/zsh-install-configure-mouseless/
# https://thevaluable.dev/zsh-completion-guide-examples/
{
enable = true;
@ -26,53 +30,5 @@
path = "${config.xdg.dataHome}/zsh/zsh_history";
};
initExtra = ''
autoload -U colors && colors
autoload -U promptinit
autoload -U complist
# Set vim mode
set -o vi
# Allow editing of current line in $EDITOR using command mode V
autoload -U edit-command-line
zle -N edit-command-line
bindkey -M vicmd v edit-command-line
# ctrl-r search history backward to keep old pattern
bindkey '^r' history-incremental-search-backward
# ctrl-j search history backward to have vim like binding
# TODO: Find out why this breaks within neoterminal when sending commands like from test or repl
# bindkey '^j' history-incremental-search-backward
# # ctrl-k search history forward to have vim like binding
bindkey '^k' history-search-forward
zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
zstyle ':completion:*:warnings' format '%BSorry, no matches for: %d%b'
zstyle ':completion:*' menu select
zstyle ':completion:*' use-cache on
zstyle ':completion:*' list-colors ''${(s.:.)LS_COLORS}
zstyle ':completion:*' cache-path ${config.xdg.cacheHome}/zsh-completion/
zstyle ':completion:*' group-name '''
zstyle ':completion::complete:git-checkout:argument-rest:' group-order heads-local heads-remote commit-tags
zstyle ':completion::complete:git-checkout:argument-rest:commits' command 'echo'
zstyle ':completion::complete:git-checkout:argument-rest:valid-ref-names' command 'echo'
zstyle ':completion::complete:git-checkout:argument-rest:remote-branch-refs-noprefix' command 'echo'
# also complete defined alias
setopt completealiases
# Correct mistyped commands
setopt correctall
# Try to make the completion list smaller (occupying less lines) by printing the matches in columns with different widths.
setopt list_packed
# When listing files that are possible completions, show the type of each file with a trailing identifying mark.
setopt list_types
# Allow for functions in the prompt.
setopt PROMPT_SUBST
PROMPT=$'%{$fg[blue]%}%1~ > %{$reset_color%}'
'';
initExtra = builtins.readFile(../files/zshrc);
}