Fix terminal rendering and improve performance by default
parent
d9d83b51ec
commit
cb957d3b74
|
@ -33,10 +33,12 @@ ENV \
|
||||||
# install common
|
# install common
|
||||||
|
|
||||||
RUN apk add --no-cache --update \
|
RUN apk add --no-cache --update \
|
||||||
sudo \
|
sudo tzdataa \
|
||||||
unzip zip tar gzip xz upx \
|
unzip zip tar gzip xz upx \
|
||||||
\
|
\
|
||||||
zsh \
|
zsh zsh-vcs ncurses \
|
||||||
|
zsh-autosuggestions \
|
||||||
|
zsh-syntax-highlighting \
|
||||||
exa jq \
|
exa jq \
|
||||||
neovim \
|
neovim \
|
||||||
\
|
\
|
||||||
|
|
|
@ -62,8 +62,8 @@ _canonicalize_file_path() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
CONTAINER_IMAGE="registry.makerforce.io/ambrose/env"
|
CONTAINER_IMAGE="serverwentdown/env"
|
||||||
CONTAINER_IMAGE_PWN="registry.makerforce.io/ambrose/pwn"
|
CONTAINER_IMAGE_PWN="serverwentdown/pwn"
|
||||||
CONTAINER_HOME="/home/ambrose"
|
CONTAINER_HOME="/home/ambrose"
|
||||||
|
|
||||||
OPTIND=1
|
OPTIND=1
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
x
|
|
@ -0,0 +1,5 @@
|
||||||
|
|
||||||
|
all: x/xterm-kitty x/xterm-iterm
|
||||||
|
|
||||||
|
x/%: %.info
|
||||||
|
tic -xo ~/.terminfo $?
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,3 @@
|
||||||
|
xterm-iterm|xterm with 256 colors for iTerm2,
|
||||||
|
sitm=\E[3m, ritm=\E[23m,
|
||||||
|
use=xterm-256color,
|
|
@ -0,0 +1,239 @@
|
||||||
|
xterm-kitty|KovIdTTY,
|
||||||
|
Su,
|
||||||
|
Tc,
|
||||||
|
am,
|
||||||
|
ccc,
|
||||||
|
fullkbd,
|
||||||
|
hs,
|
||||||
|
km,
|
||||||
|
mc5i,
|
||||||
|
mir,
|
||||||
|
msgr,
|
||||||
|
npc,
|
||||||
|
xenl,
|
||||||
|
colors#256,
|
||||||
|
cols#80,
|
||||||
|
it#8,
|
||||||
|
lines#24,
|
||||||
|
pairs#32767,
|
||||||
|
acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
|
||||||
|
bel=^G,
|
||||||
|
bold=\E[1m,
|
||||||
|
cbt=\E[Z,
|
||||||
|
civis=\E[?25l,
|
||||||
|
clear=\E[H\E[2J,
|
||||||
|
cnorm=\E[?12l\E[?25h,
|
||||||
|
cr=^M,
|
||||||
|
csr=\E[%i%p1%d;%p2%dr,
|
||||||
|
cub=\E[%p1%dD,
|
||||||
|
cub1=^H,
|
||||||
|
cud=\E[%p1%dB,
|
||||||
|
cud1=^J,
|
||||||
|
cuf=\E[%p1%dC,
|
||||||
|
cuf1=\E[C,
|
||||||
|
cup=\E[%i%p1%d;%p2%dH,
|
||||||
|
cuu=\E[%p1%dA,
|
||||||
|
cuu1=\E[A,
|
||||||
|
cvvis=\E[?12;25h,
|
||||||
|
dch=\E[%p1%dP,
|
||||||
|
dch1=\E[P,
|
||||||
|
dim=\E[2m,
|
||||||
|
dl=\E[%p1%dM,
|
||||||
|
dl1=\E[M,
|
||||||
|
dsl=\E]2;\007,
|
||||||
|
ech=\E[%p1%dX,
|
||||||
|
ed=\E[J,
|
||||||
|
el=\E[K,
|
||||||
|
el1=\E[1K,
|
||||||
|
flash=\E[?5h$<100/>\E[?5l,
|
||||||
|
fsl=^G,
|
||||||
|
home=\E[H,
|
||||||
|
hpa=\E[%i%p1%dG,
|
||||||
|
ht=^I,
|
||||||
|
hts=\EH,
|
||||||
|
ich=\E[%p1%d@,
|
||||||
|
il=\E[%p1%dL,
|
||||||
|
il1=\E[L,
|
||||||
|
ind=^J,
|
||||||
|
indn=\E[%p1%dS,
|
||||||
|
initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
|
||||||
|
kDC=\E[3;2~,
|
||||||
|
kDC3=\E[3;3~,
|
||||||
|
kDC4=\E[3;4~,
|
||||||
|
kDC5=\E[3;5~,
|
||||||
|
kDC6=\E[3;6~,
|
||||||
|
kDC7=\E[3;7~,
|
||||||
|
kDN=\E[1;2B,
|
||||||
|
kDN3=\E[1;3B,
|
||||||
|
kDN4=\E[1;4B,
|
||||||
|
kDN5=\E[1;5B,
|
||||||
|
kDN6=\E[1;6B,
|
||||||
|
kDN7=\E[1;7B,
|
||||||
|
kEND=\E[1;2F,
|
||||||
|
kEND3=\E[1;3F,
|
||||||
|
kEND4=\E[1;4F,
|
||||||
|
kEND5=\E[1;5F,
|
||||||
|
kEND6=\E[1;6F,
|
||||||
|
kEND7=\E[1;7F,
|
||||||
|
kHOM=\E[1;2H,
|
||||||
|
kHOM3=\E[1;3H,
|
||||||
|
kHOM4=\E[1;4H,
|
||||||
|
kHOM5=\E[1;5H,
|
||||||
|
kHOM6=\E[1;6H,
|
||||||
|
kHOM7=\E[1;7H,
|
||||||
|
kIC=\E[2;2~,
|
||||||
|
kIC3=\E[2;3~,
|
||||||
|
kIC4=\E[2;4~,
|
||||||
|
kIC5=\E[2;5~,
|
||||||
|
kIC6=\E[2;6~,
|
||||||
|
kIC7=\E[2;7~,
|
||||||
|
kLFT=\E[1;2D,
|
||||||
|
kLFT3=\E[1;3D,
|
||||||
|
kLFT4=\E[1;4D,
|
||||||
|
kLFT5=\E[1;5D,
|
||||||
|
kLFT6=\E[1;6D,
|
||||||
|
kLFT7=\E[1;7D,
|
||||||
|
kNXT=\E[6;2~,
|
||||||
|
kNXT3=\E[6;3~,
|
||||||
|
kNXT4=\E[6;4~,
|
||||||
|
kNXT5=\E[6;5~,
|
||||||
|
kNXT6=\E[6;6~,
|
||||||
|
kNXT7=\E[6;7~,
|
||||||
|
kPRV=\E[5;2~,
|
||||||
|
kPRV3=\E[5;3~,
|
||||||
|
kPRV4=\E[5;4~,
|
||||||
|
kPRV5=\E[5;5~,
|
||||||
|
kPRV6=\E[5;6~,
|
||||||
|
kPRV7=\E[5;7~,
|
||||||
|
kRIT=\E[1;2C,
|
||||||
|
kRIT3=\E[1;3C,
|
||||||
|
kRIT4=\E[1;4C,
|
||||||
|
kRIT5=\E[1;5C,
|
||||||
|
kRIT6=\E[1;6C,
|
||||||
|
kRIT7=\E[1;7C,
|
||||||
|
kUP=\E[1;2A,
|
||||||
|
kUP3=\E[1;3A,
|
||||||
|
kUP4=\E[1;4A,
|
||||||
|
kUP5=\E[1;5A,
|
||||||
|
kUP6=\E[1;6A,
|
||||||
|
kUP7=\E[1;7A,
|
||||||
|
ka1=,
|
||||||
|
ka3=,
|
||||||
|
kbs=\177,
|
||||||
|
kc1=,
|
||||||
|
kc3=,
|
||||||
|
kcbt=\E[Z,
|
||||||
|
kcub1=\EOD,
|
||||||
|
kcud1=\EOB,
|
||||||
|
kcuf1=\EOC,
|
||||||
|
kcuu1=\EOA,
|
||||||
|
kdch1=\E[3~,
|
||||||
|
kend=\EOF,
|
||||||
|
kf1=\EOP,
|
||||||
|
kf10=\E[21~,
|
||||||
|
kf11=\E[23~,
|
||||||
|
kf12=\E[24~,
|
||||||
|
kf13=\E[1;2P,
|
||||||
|
kf14=\E[1;2Q,
|
||||||
|
kf15=\E[1;2R,
|
||||||
|
kf16=\E[1;2S,
|
||||||
|
kf17=\E[15;2~,
|
||||||
|
kf18=\E[17;2~,
|
||||||
|
kf19=\E[18;2~,
|
||||||
|
kf2=\EOQ,
|
||||||
|
kf20=\E[19;2~,
|
||||||
|
kf21=\E[20;2~,
|
||||||
|
kf22=\E[21;2~,
|
||||||
|
kf23=\E[23;2~,
|
||||||
|
kf24=\E[24;2~,
|
||||||
|
kf25=\E[1;5P,
|
||||||
|
kf26=\E[1;5Q,
|
||||||
|
kf27=\E[1;5R,
|
||||||
|
kf28=\E[1;5S,
|
||||||
|
kf29=\E[15;5~,
|
||||||
|
kf3=\EOR,
|
||||||
|
kf30=\E[17;5~,
|
||||||
|
kf31=\E[18;5~,
|
||||||
|
kf32=\E[19;5~,
|
||||||
|
kf33=\E[20;5~,
|
||||||
|
kf34=\E[21;5~,
|
||||||
|
kf35=\E[23;5~,
|
||||||
|
kf36=\E[24;5~,
|
||||||
|
kf37=\E[1;6P,
|
||||||
|
kf38=\E[1;6Q,
|
||||||
|
kf39=\E[1;6R,
|
||||||
|
kf4=\EOS,
|
||||||
|
kf40=\E[1;6S,
|
||||||
|
kf41=\E[15;6~,
|
||||||
|
kf42=\E[17;6~,
|
||||||
|
kf43=\E[18;6~,
|
||||||
|
kf44=\E[19;6~,
|
||||||
|
kf45=\E[20;6~,
|
||||||
|
kf46=\E[21;6~,
|
||||||
|
kf47=\E[23;6~,
|
||||||
|
kf48=\E[24;6~,
|
||||||
|
kf49=\E[1;3P,
|
||||||
|
kf5=\E[15~,
|
||||||
|
kf50=\E[1;3Q,
|
||||||
|
kf51=\E[1;3R,
|
||||||
|
kf52=\E[1;3S,
|
||||||
|
kf53=\E[15;3~,
|
||||||
|
kf54=\E[17;3~,
|
||||||
|
kf55=\E[18;3~,
|
||||||
|
kf56=\E[19;3~,
|
||||||
|
kf57=\E[20;3~,
|
||||||
|
kf58=\E[21;3~,
|
||||||
|
kf59=\E[23;3~,
|
||||||
|
kf6=\E[17~,
|
||||||
|
kf60=\E[24;3~,
|
||||||
|
kf61=\E[1;4P,
|
||||||
|
kf62=\E[1;4Q,
|
||||||
|
kf63=\E[1;4R,
|
||||||
|
kf7=\E[18~,
|
||||||
|
kf8=\E[19~,
|
||||||
|
kf9=\E[20~,
|
||||||
|
khlp=,
|
||||||
|
khome=\EOH,
|
||||||
|
kich1=\E[2~,
|
||||||
|
kind=\E[1;2B,
|
||||||
|
kmous=\E[M,
|
||||||
|
knp=\E[6~,
|
||||||
|
kpp=\E[5~,
|
||||||
|
kri=\E[1;2A,
|
||||||
|
kund=,
|
||||||
|
oc=\E]104\007,
|
||||||
|
op=\E[39;49m,
|
||||||
|
rc=\E8,
|
||||||
|
rep=%p1%c\E[%p2%{1}%-%db,
|
||||||
|
rev=\E[7m,
|
||||||
|
ri=\EM,
|
||||||
|
rin=\E[%p1%dT,
|
||||||
|
ritm=\E[23m,
|
||||||
|
rmacs=\E(B,
|
||||||
|
rmam=\E[?7l,
|
||||||
|
rmcup=\E[?1049l,
|
||||||
|
rmir=\E[4l,
|
||||||
|
rmkx=\E[?1l,
|
||||||
|
rmso=\E[27m,
|
||||||
|
rmul=\E[24m,
|
||||||
|
rmxx=\E[29m,
|
||||||
|
rs1=\E]\E\\\Ec,
|
||||||
|
sc=\E7,
|
||||||
|
setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m,
|
||||||
|
setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m,
|
||||||
|
setrgbb=\E[48:2:%p1%d:%p2%d:%p3%dm,
|
||||||
|
setrgbf=\E[38:2:%p1%d:%p2%d:%p3%dm,
|
||||||
|
sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
|
||||||
|
sgr0=\E(B\E[m,
|
||||||
|
sitm=\E[3m,
|
||||||
|
smacs=\E(0,
|
||||||
|
smam=\E[?7h,
|
||||||
|
smcup=\E[?1049h,
|
||||||
|
smir=\E[4h,
|
||||||
|
smkx=\E[?1h,
|
||||||
|
smso=\E[7m,
|
||||||
|
smul=\E[4m,
|
||||||
|
smxx=\E[9m,
|
||||||
|
tbc=\E[3g,
|
||||||
|
tsl=\E]2;,
|
||||||
|
vpa=\E[%i%p1%dd,
|
129
.zshrc
129
.zshrc
|
@ -1,7 +1,8 @@
|
||||||
|
|
||||||
# basic settings
|
# basic settings
|
||||||
|
|
||||||
HISTSIZE=10000
|
HISTSIZE=10000
|
||||||
SAVEHIST=10000
|
SAVEHIST=50000
|
||||||
HISTFILE=~/.zsh_history
|
HISTFILE=~/.zsh_history
|
||||||
setopt append_history
|
setopt append_history
|
||||||
setopt extended_history
|
setopt extended_history
|
||||||
|
@ -42,15 +43,20 @@ fi
|
||||||
|
|
||||||
# completion
|
# completion
|
||||||
|
|
||||||
autoload -U compinit; compinit
|
setup_completion() {
|
||||||
autoload -U +X bashcompinit && bashcompinit
|
autoload -U compinit; compinit
|
||||||
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
|
autoload -U +X bashcompinit && bashcompinit
|
||||||
|
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
|
||||||
|
|
||||||
if [[ -f "$(which mc 2>/dev/null)" ]]; then
|
if [[ -f "$(which mc 2>/dev/null)" ]]; then
|
||||||
complete -o nospace -C mc mc
|
complete -o nospace -C mc mc
|
||||||
fi
|
fi
|
||||||
if [[ -f "$(which kubectl 2>/dev/null)" ]]; then
|
if [[ -f "$(which kubectl 2>/dev/null)" ]]; then
|
||||||
source <(kubectl completion zsh)
|
source <(kubectl completion zsh)
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
if [[ $SLOW == true ]]; then
|
||||||
|
setup_completion
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# platform specific
|
# platform specific
|
||||||
|
@ -63,16 +69,23 @@ esac
|
||||||
if [[ $PLATFORM == macos ]]; then
|
if [[ $PLATFORM == macos ]]; then
|
||||||
export PATH="$HOME/Library/Python/3.8/bin:$PATH"
|
export PATH="$HOME/Library/Python/3.8/bin:$PATH"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
setup_term_integration() {}
|
||||||
if [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then
|
if [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then
|
||||||
if [[ -f "$HOME/.iterm2_shell_integration.zsh" ]]; then
|
setup_term_integration() {
|
||||||
source "$HOME/.iterm2_shell_integration.zsh"
|
if [[ -f "$HOME/.iterm2_shell_integration.zsh" ]]; then
|
||||||
fi
|
source "$HOME/.iterm2_shell_integration.zsh"
|
||||||
|
fi
|
||||||
|
}
|
||||||
alias icat="imgcat"
|
alias icat="imgcat"
|
||||||
fi
|
fi
|
||||||
if [[ "$TERM" == "xterm-kitty" ]]; then
|
if [[ "$TERM" == "xterm-kitty" ]]; then
|
||||||
alias icat="kitty +kitten icat"
|
alias icat="kitty +kitten icat"
|
||||||
alias ssh="kitty +kitten ssh"
|
alias ssh="kitty +kitten ssh"
|
||||||
fi
|
fi
|
||||||
|
if [[ $FAST != true ]]; then
|
||||||
|
setup_term_integration
|
||||||
|
fi
|
||||||
|
|
||||||
# directory listings
|
# directory listings
|
||||||
|
|
||||||
|
@ -86,14 +99,24 @@ alias ll="ls -l"
|
||||||
|
|
||||||
# prompt
|
# prompt
|
||||||
|
|
||||||
# prompt: vcs
|
|
||||||
autoload -Uz vcs_info
|
|
||||||
precmd_vcs_info() { vcs_info }
|
|
||||||
setopt prompt_subst
|
setopt prompt_subst
|
||||||
zstyle ':vcs_info:git:*' formats $' %b %u%c'
|
# prompt: vcs
|
||||||
zstyle ':vcs_info:git:*' actionformats $'%(u..%B)%(c..%B) %u%c %b (%a) '
|
setup_prompt_vcs() {
|
||||||
zstyle ':vcs_info:*' enable git
|
autoload -Uz vcs_info
|
||||||
zstyle ':vcs_info:*' check-for-changes true
|
zstyle ':vcs_info:git:*' formats $' %b %u%c'
|
||||||
|
zstyle ':vcs_info:git:*' actionformats $'%(u..%B)%(c..%B) %b (%a) %u%c'
|
||||||
|
zstyle ':vcs_info:*' enable git
|
||||||
|
zstyle ':vcs_info:*' check-for-changes true
|
||||||
|
prompt_vcs_enabled=false
|
||||||
|
precmd_vcs_info() {
|
||||||
|
if [[ $prompt_vcs_enabled == true ]]; then
|
||||||
|
vcs_info
|
||||||
|
elif [[ -d ".git" ]]; then
|
||||||
|
prompt_vcs_enabled=true
|
||||||
|
vcs_info
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
}
|
||||||
format_vcs_info() {
|
format_vcs_info() {
|
||||||
text="$1"
|
text="$1"
|
||||||
dirty=false
|
dirty=false
|
||||||
|
@ -107,6 +130,9 @@ format_vcs_info() {
|
||||||
echo "$text"
|
echo "$text"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
if [[ $FAST != "true" ]]; then
|
||||||
|
setup_prompt_vcs
|
||||||
|
fi
|
||||||
# prompt: return code
|
# prompt: return code
|
||||||
format_return_code() {
|
format_return_code() {
|
||||||
return_code_=$1
|
return_code_=$1
|
||||||
|
@ -127,13 +153,16 @@ format_return_code_prev() {
|
||||||
text=" $(format_return_code $1) "
|
text=" $(format_return_code $1) "
|
||||||
text_length=${#text}
|
text_length=${#text}
|
||||||
width=$(tput cols)
|
width=$(tput cols)
|
||||||
start=$(( $width - $text_length ))
|
start=$(( $width - $text_length - 1 ))
|
||||||
|
|
||||||
echo -n $'\e[F\e['
|
tput sc
|
||||||
echo -n $start
|
tput cuu1
|
||||||
echo -n $'G\e[37m\e[41m'
|
tput hpa $start
|
||||||
|
tput setab $PROMPT_COLOR_RED
|
||||||
|
tput setaf $PROMPT_COLOR_BASE3
|
||||||
echo -n "$text"
|
echo -n "$text"
|
||||||
echo -n $'\e[0m\e[E'
|
tput sgr0
|
||||||
|
tput rc
|
||||||
}
|
}
|
||||||
precmd_return_code() {
|
precmd_return_code() {
|
||||||
format_return_code_prev $?
|
format_return_code_prev $?
|
||||||
|
@ -161,6 +190,14 @@ setup_prompt_colors() {
|
||||||
PROMPT_COLOR_BASE1=14
|
PROMPT_COLOR_BASE1=14
|
||||||
PROMPT_COLOR_BASE2=7
|
PROMPT_COLOR_BASE2=7
|
||||||
PROMPT_COLOR_BASE3=15
|
PROMPT_COLOR_BASE3=15
|
||||||
|
PROMPT_COLOR_YELLOW=3
|
||||||
|
PROMPT_COLOR_ORANGE=9
|
||||||
|
PROMPT_COLOR_RED=1
|
||||||
|
PROMPT_COLOR_MAGENTA=5
|
||||||
|
PROMPT_COLOR_VIOLET=13
|
||||||
|
PROMPT_COLOR_BLUE=4
|
||||||
|
PROMPT_COLOR_CYAN=6
|
||||||
|
PROMPT_COLOR_GREEN=2
|
||||||
if [[ "$LIGHT" == "true" ]]; then
|
if [[ "$LIGHT" == "true" ]]; then
|
||||||
PROMPT_COLOR_TEMP03=$PROMPT_COLOR_TEMP03
|
PROMPT_COLOR_TEMP03=$PROMPT_COLOR_TEMP03
|
||||||
PROMPT_COLOR_TEMP02=$PROMPT_COLOR_TEMP02
|
PROMPT_COLOR_TEMP02=$PROMPT_COLOR_TEMP02
|
||||||
|
@ -182,13 +219,15 @@ setup_prompt() {
|
||||||
if [[ ! -z "$SSH_CLIENT" ]]; then
|
if [[ ! -z "$SSH_CLIENT" ]]; then
|
||||||
PROMPT_USER_MACHINE=$'@%m'
|
PROMPT_USER_MACHINE=$'@%m'
|
||||||
fi
|
fi
|
||||||
PROMPT_USER=$'%F{15}%{\e[3m%}%(!.%K{9}.%K{4}) %n'"$PROMPT_USER_MACHINE"$' %k%{\e[0m%}%f'
|
PROMPT_FMT_ITALIC=$(tput sitm)
|
||||||
PROMPT_HISTORY=$'%F{10}%{\e[3m%} %h %{\e[0m%}%f'
|
PROMPT_FMT_RESET=$(tput sgr 0)
|
||||||
PROMPT_ERROR=$'%F{15}%{\e[3m%}%(?.%K{2}.%K{1} $(format_return_code $?) )%k%{\e[0m%}%f'
|
|
||||||
|
PROMPT_USER=$'%{'"$PROMPT_FMT_ITALIC"$'%}%F{'"$PROMPT_COLOR_BASE3"$'}%(!.%K{'"$PROMPT_COLOR_ORANGE"$'}.%K{'"$PROMPT_COLOR_BLUE"$'}) %n'"$PROMPT_USER_MACHINE"$' %k%f%{'"$PROMPT_FMT_RESET"$'%}'
|
||||||
|
PROMPT_HISTORY=$'%F{'"$PROMPT_COLOR_BASE01"$'}%{'"$PROMPT_FMT_ITALIC"$'%} %h %{'"$PROMPT_FMT_RESET"$'%}%f'
|
||||||
PROMPT_ERROR_PREV=$'$(format_return_code_prev $?)'
|
PROMPT_ERROR_PREV=$'$(format_return_code_prev $?)'
|
||||||
PROMPT_VCS=$'%K{'$PROMPT_COLOR_BASE03$'}$(format_vcs_info $vcs_info_msg_0_)%k'
|
PROMPT_VCS=$'%K{'$PROMPT_COLOR_BASE03$'}$(format_vcs_info $vcs_info_msg_0_)%k'
|
||||||
PROMPT_DIRECTORY=$'%K{'$PROMPT_COLOR_BASE02$'} %2~ %k'
|
PROMPT_DIRECTORY=$'%K{'$PROMPT_COLOR_BASE02$'} %2~ %k'
|
||||||
PROMPT_VI=$'%F{15}%{\e[3m%}$zle_vi_mode_%{\e[0m%}%f'
|
PROMPT_VI=$'%F{'"$PROMPT_COLOR_BASE3"$'}%{'"$PROMPT_FMT_ITALIC"$'%}$zle_vi_mode_%{'"$PROMPT_FMT_RESET"$'%}%f'
|
||||||
RPROMPT="$PROMPT_HISTORY$PROMPT_USER"
|
RPROMPT="$PROMPT_HISTORY$PROMPT_USER"
|
||||||
PROMPT="$PROMPT_VI$PROMPT_VCS$PROMPT_DIRECTORY "
|
PROMPT="$PROMPT_VI$PROMPT_VCS$PROMPT_DIRECTORY "
|
||||||
}
|
}
|
||||||
|
@ -200,18 +239,30 @@ export ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=10'
|
||||||
export ZSH_AUTOSUGGEST_USE_ASYNC=true
|
export ZSH_AUTOSUGGEST_USE_ASYNC=true
|
||||||
bindkey '^e' autosuggest-execute
|
bindkey '^e' autosuggest-execute
|
||||||
|
|
||||||
zsh_plugins+=( autosuggestions syntax-highlighting )
|
setup_assistance() {
|
||||||
for zsh_plugin in $zsh_plugins; do
|
zsh_plugins+=( autosuggestions syntax-highlighting )
|
||||||
zsh_plugin_path="zsh-$zsh_plugin/zsh-$zsh_plugin.zsh"
|
for zsh_plugin in $zsh_plugins; do
|
||||||
if [[ -f "/usr/local/share/$zsh_plugin_path" ]]; then
|
zsh_plugin_path="zsh-$zsh_plugin/zsh-$zsh_plugin.zsh"
|
||||||
zsh_plugin_path="/usr/local/share/$zsh_plugin_path"
|
if [[ -f "/usr/local/share/$zsh_plugin_path" ]]; then
|
||||||
elif [[ -f "/usr/share/$zsh_plugin_path" ]]; then
|
zsh_plugin_path="/usr/local/share/$zsh_plugin_path"
|
||||||
zsh_plugin_path="/usr/share/$zsh_plugin_path"
|
elif [[ -f "/usr/share/zsh/plugins/$zsh_plugin_path" ]]; then
|
||||||
|
zsh_plugin_path="/usr/share/zsh/plugins/$zsh_plugin_path"
|
||||||
|
else
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
source "$zsh_plugin_path"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
if [[ $FAST != true ]]; then
|
||||||
|
setup_assistance
|
||||||
|
fi
|
||||||
|
setup_nope() {
|
||||||
|
if [[ -f "$(which thefuck 2>/dev/null)" ]]; then
|
||||||
|
eval $(thefuck --alias nope)
|
||||||
fi
|
fi
|
||||||
source "$zsh_plugin_path"
|
}
|
||||||
done
|
if [[ $SLOW == true ]]; then
|
||||||
if [[ -f "$(which thefuck 2>/dev/null)" ]]; then
|
setup_nope
|
||||||
eval $(thefuck --alias nope)
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# helper scripts
|
# helper scripts
|
||||||
|
|
Loading…
Reference in New Issue