blob: 296d368acc0075c970f7f24f6357e8ef8d9824ec (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
#!/usr/bin/env zsh
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.config/zsh/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
[[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]] && source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
# add .local/bin to PATH
export PATH="${XDG_BIN_HOME:-$HOME/.local/bin}:$PATH"
if [ -f /etc/os-release ]
then
. /etc/os-release
else
ID=$(uname -s)
fi
case "$ID" in
Darwin )
source /usr/local/share/powerlevel10k/powerlevel10k.zsh-theme
;;
* )
if [ -f /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme ]
then
source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme
else
source ${XDG_DATA_HOME:-$HOME/.local/share}/powerlevel10k/powerlevel10k.zsh-theme
fi
;;
esac
if [ -x "$(command -v gem)" ]; then
export GEM_HOME="$(gem env user_gemhome)"
export PATH="$PATH:$GEM_HOME/bin"
fi
# Enable colors and change prompt:
autoload -U colors && colors # Load colors
setopt autocd # Automatically cd into typed directory.
#stty stop undef # Disable ctrl-s to freeze terminal.
setopt interactive_comments
setopt complete_aliases
# History in cache directory:
HISTSIZE=999999999
SAVEHIST=$HISTSIZE
if [ -z "$XDG_STATE_HOME/zsh" ]; then
mkdir -p "$XDG_STATE_HOME/zsh"
fi
HISTFILE="$XDG_STATE_HOME"/zsh/history
setopt BANG_HIST # Treat the '!' character specially during expansion.
setopt EXTENDED_HISTORY # Write the history file in the ":start:elapsed;command" format.
setopt INC_APPEND_HISTORY # Write to the history file immediately, not when the shell exits.
setopt SHARE_HISTORY # Share history between all sessions.
setopt HIST_EXPIRE_DUPS_FIRST # Expire duplicate entries first when trimming history.
setopt HIST_IGNORE_DUPS # Don't record an entry that was just recorded again.
setopt HIST_IGNORE_ALL_DUPS # Delete old recorded entry if new entry is a duplicate.
setopt HIST_FIND_NO_DUPS # Do not display a line previously found.
setopt HIST_IGNORE_SPACE # Don't record an entry starting with a space.
setopt HIST_SAVE_NO_DUPS # Don't write duplicate entries in the history file.
setopt HIST_REDUCE_BLANKS # Remove superfluous blanks before recording entry.
setopt HIST_VERIFY # Don't execute immediately upon history expansion.
setopt HIST_BEEP # Beep when accessing nonexistent history.
# Load aliases and shortcuts if existent.
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/zsh/aliasrc" ] && source "${XDG_CONFIG_HOME:-$HOME/.config}/zsh/aliasrc"
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/zsh/.zshopts" ] && source "${XDG_CONFIG_HOME:-$HOME/.config}/zsh/.zshopts"
# Basic auto/tab complete:
fpath=(~/.config/zsh/completions $fpath)
autoload -U compinit
zstyle ':completion:*' menu select
zmodload zsh/complist
#compinit
compinit -d ~/.cache/zsh/zcompdump-$ZSH_VERSION
_comp_options+=(globdots) # Include hidden files.
# To customize prompt, run `p10k configure` or edit ~/.config/zsh/. p10k.zsh.
[[ ! -f ~/.config/zsh/.p10k.zsh ]] || source ~/.config/zsh/.p10k.zsh
[[ ! -f ~/.config/zsh/keybindings.zsh ]] || source ~/.config/zsh/keybindings.zsh
if [ -n "$WSL_DISTRO_NAME" ]
then
command_not_found_handler() {
if [ -x "$(command -v $0.exe)" ]; then
cmd=$0.exe
shift
$cmd $@
else
echo >&2 "zsh: command not found: $@"
return 127
fi
}
fi
case "$ID" in
debian | ubuntu )
source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
;;
arch | artix | msys2 )
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
;;
gentoo )
source /usr/share/zsh/site-functions/zsh-syntax-highlighting.zsh
source /usr/share/zsh/site-functions/zsh-autosuggestions.zsh
;;
Darwin )
source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh
;;
* )
echo "no highlight for you"
;;
esac
# Windows Terminal stuff
PS1="\[\033]133;D;\007\]\[\033]133;A;\007\]$PS1\[\033]133;B;\007\]"
|