WSL + more modularity

This commit is contained in:
System administrator 2024-01-30 04:25:25 +00:00 committed by Bryan Ramos
parent 7b63b3b04f
commit e513913099
Signed by: bryan
GPG key ID: 6ABDCD144D6643C8
57 changed files with 356 additions and 92 deletions

View file

@ -1,93 +0,0 @@
''
check_ssh() {
if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then
ssh_PS1="\n\[\033[01;37m\]\u@\h:\[\033[00m\]"
return 0
fi
}
add_icon() {
local icon=$1
if [[ ! $venv_icons =~ $icon ]]; then
venv_icons+="$icon"
fi
}
remove_icon() {
local icon=$1
venv_icons=''${venv_icons//$icon/}
}
python_icon="\[\033[01;33m\]\[\033[00m\]"
node_icon="\[\033[01;93m\]󰌞\[\033[00m\]"
nix_icon="\[\033[01;34m\]\[\033[00m\]"
check_venv() {
if [ -n "$IN_NIX_SHELL" ]; then
add_icon "$nix_icon"
if [ -n "$VIRTUAL_ENV" ]; then
add_icon "$python_icon"
else
remove_icon "$python_icon"
fi
if [ -d "''${git_root}/node_modules" ]; then
add_icon "$node_icon"
else
remove_icon "$node_icon"
fi
else
remove_icon "$nix_icon"
return 0
fi
}
set_git_dir() {
if [ "$git_curr_dir" == "." ]; then
working_dir="\[\033[01;34m\] $git_root_dir\[\033[00m\]"
return 0
else
working_dir="\[\033[01;34m\] $git_root_dir/$git_curr_dir\[\033[00m\]"
return 0
fi
}
check_project() {
local git_dir=$(git rev-parse --git-dir 2>/dev/null)
if [ -n "$git_dir" ]; then
local git_branch=$(git branch --show-current 2>/dev/null)
git_branch=''${git_branch:-$(git rev-parse --short HEAD)}
local git_dir=$(git rev-parse --git-dir)
local git_root=$(dirname "$(realpath "$git_dir")")
local git_curr_dir=$(realpath --relative-to="$git_root" .)
local git_root_dir=$(basename "$git_root")
git_branch_PS1="\[\033[01;31m\]$git_branch 󰘬:\[\033[00m\]"
set_git_dir
check_venv
fi
return 0
}
function set_prompt() {
local green_arrow="\[\033[01;32m\]>> "
local white_text="\[\033[00m\]"
local working_dir="\[\033[01;34m\]\w\[\033[00m\]"
local ssh_PS1
local venv_icons
local git_branch_PS1
check_ssh
check_project
PS1="$ssh_PS1\n$working_dir\n$venv_icons$green_arrow$git_branch_PS1$white_text"
return 0
}
PROMPT_COMMAND="set_prompt"
''