first commit
This commit is contained in:
commit
61452f7741
2 changed files with 821 additions and 0 deletions
160
board.theme
Normal file
160
board.theme
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
_lp_board_theme_activate() {
|
||||
#0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85
|
||||
#|····|····|····|····|····|····|····|····|····|····|····|····|····|····|····|····|····|
|
||||
readonly BOARD_TEMPLATE=(
|
||||
'┌────┐ ┌───┐' # 0
|
||||
'│v2.2│ ╓┘ └─────────────────────────────╥──────────────────╥───────────┈' # 1
|
||||
'├────┴────────────╢ diff:[ ] hdst:[ ]║venv:[ ]║cmak:' # 2
|
||||
'│ ⎧ load:[ L]║comit:[ ] bkmk:[ ]║node:[ ]║' # 3
|
||||
'│snsr⎨ batt:[ %]║stash:[ ] vtag:[ ]║ruby:[ ]║' # 4
|
||||
'│ ⎩ temp:[ °]║utrak:[ ] brch:[ ]║kube:[ ]║' # 5
|
||||
'╞═════════════════╬═══════════╦══════════════════════╣trfm:[ ]║' # 6
|
||||
'│ ⎧suspd:[ z]║shlvl:[ ]║name:[ ]║cont:[ ]║' # 7
|
||||
'│jobs⎨bkgrd:[ &]║proxy:◌ ║rntm:[ ]║scls:[ ]║' # 8
|
||||
'│ ⎩dtchd:[ d]║ sudo:◌ ║user:[ ]║awsp:[ ]║' # 9
|
||||
'╞══════╦═┊════════╬═══════════╣host:[ ]║shel:[ ] ║' # 10
|
||||
'│ RSH:◌║mux:◌ ║ RO:◌ ⎫╚══════════════════════╩══════════════════╣' # 11
|
||||
'│ X11:◌║err:[ ]║drstk:[ ]⎬·path:[ ]║' # 12
|
||||
'├──────╨──────────╨─────────────────────────────────────────────────────╨───────────┈' # 13
|
||||
)
|
||||
declare -A -g BOARD_LOC
|
||||
BOARD_LOC["load"]="3 13 3"
|
||||
BOARD_LOC["batt"]="4 13 3"
|
||||
BOARD_LOC["temp"]="5 13 3"
|
||||
|
||||
BOARD_LOC["suspd"]="7 13 3"
|
||||
BOARD_LOC["bkgrd"]="8 13 3"
|
||||
BOARD_LOC["dtchd"]="9 13 3"
|
||||
|
||||
BOARD_LOC["RSH"]="11 6 1"
|
||||
BOARD_LOC["X11"]="12 6 1"
|
||||
|
||||
BOARD_LOC["mux"]="11 12 1"
|
||||
BOARD_LOC["err"]="12 13 4"
|
||||
|
||||
BOARD_LOC["VCS"]="1 20 3"
|
||||
BOARD_LOC["diff"]="2 26 7"
|
||||
BOARD_LOC["comit"]="3 26 7"
|
||||
BOARD_LOC["stash"]="4 26 7"
|
||||
BOARD_LOC["utrak"]="5 26 7"
|
||||
BOARD_LOC["hdst"]="2 41 11"
|
||||
BOARD_LOC["bkmk"]="3 41 11"
|
||||
BOARD_LOC["vtag"]="4 41 11"
|
||||
BOARD_LOC["brch"]="5 41 11"
|
||||
|
||||
BOARD_LOC["name"]="7 37 15"
|
||||
BOARD_LOC["rntm"]="8 37 15"
|
||||
BOARD_LOC["user"]="9 37 15"
|
||||
BOARD_LOC["host"]="10 37 15"
|
||||
|
||||
BOARD_LOC["shlvl"]="7 26 3"
|
||||
BOARD_LOC["proxy"]="8 25 1"
|
||||
BOARD_LOC["sudo"]="9 25 1"
|
||||
|
||||
BOARD_LOC["RO"]="11 25 1"
|
||||
BOARD_LOC["drstk"]="12 26 2"
|
||||
BOARD_LOC["path"]="12 37 33"
|
||||
|
||||
BOARD_LOC["venv"]="2 60 11"
|
||||
BOARD_LOC["node"]="3 60 11"
|
||||
BOARD_LOC["ruby"]="4 60 11"
|
||||
BOARD_LOC["kube"]="5 60 11"
|
||||
BOARD_LOC["trfm"]="6 60 11"
|
||||
BOARD_LOC["cont"]="7 60 11"
|
||||
BOARD_LOC["scls"]="8 60 11"
|
||||
BOARD_LOC["awsp"]="9 60 11"
|
||||
BOARD_LOC["shel"]="10 60 4"
|
||||
|
||||
BOARD_LOC["cmak"]="2 78 0"
|
||||
|
||||
_lp_default_theme_activate
|
||||
}
|
||||
|
||||
_lp_board_theme_directory() {
|
||||
_lp_default_theme_directory
|
||||
}
|
||||
|
||||
__lp_board_put() {
|
||||
local what="$1"
|
||||
local row col len
|
||||
IFS=" " read -r row col len <<<"${BOARD_LOC[$2]}"
|
||||
__lp_strip_escapes "$what"
|
||||
local raw_data="$ret"
|
||||
local data_len=${#ret}
|
||||
local total_len=${#BOARD_TEMPLATE[$row]}
|
||||
local prefix="${BOARD_CURRENT[$row]:0:$col}"
|
||||
local iafter=$((col+data_len))
|
||||
local after_len=$((len-data_len))
|
||||
local spaces="${BOARD_TEMPLATE[$row]:iafter:after_len}"
|
||||
local iend=$((iafter+after_len))
|
||||
local endlen=$((total_len-iend))
|
||||
local suffix="${BOARD_CURRENT[$row]:$iend:$endlen}"
|
||||
BOARD_CURRENT[$row]="${prefix}${raw_data}${spaces}${suffix}"
|
||||
# printf "prefix:{${prefix}}\nwhat:{${what}}\nspaces:{${spaces}}\nsuffix:{${suffix}}\n"
|
||||
}
|
||||
|
||||
_lp_board_theme_prompt() {
|
||||
_lp_default_theme_prompt_data
|
||||
|
||||
BOARD_CURRENT=("${BOARD_TEMPLATE[@]}")
|
||||
__lp_board_put "$LP_PWD" "path"
|
||||
__lp_board_put "$LP_PS1_PREFIX" "name"
|
||||
|
||||
__lp_board_put "$LP_LOAD" "load"
|
||||
__lp_board_put "$LP_BATT" "batt"
|
||||
__lp_board_put "$LP_TEMP" "temp"
|
||||
|
||||
# __lp_board_put "$LP_" "suspd"
|
||||
# __lp_board_put "$LP_" "bkgrd"
|
||||
# __lp_board_put "$LP_" "dtchd"
|
||||
|
||||
# __lp_board_put "$LP_" "RSH"
|
||||
# __lp_board_put "$LP_" "X11"
|
||||
|
||||
# __lp_board_put "$LP_" "mux"
|
||||
__lp_board_put "$LP_ERR" "err"
|
||||
|
||||
# __lp_board_put "$LP_" "VCS"
|
||||
# __lp_board_put "$LP_" "diff"
|
||||
# __lp_board_put "$LP_" "comit"
|
||||
# __lp_board_put "$LP_" "stash"
|
||||
# __lp_board_put "$LP_" "utrak"
|
||||
# __lp_board_put "$LP_" "hdst"
|
||||
# __lp_board_put "$LP_" "bkmk"
|
||||
# __lp_board_put "$LP_" "vtag"
|
||||
# __lp_board_put "$LP_" "brch"
|
||||
|
||||
__lp_board_put "$LP_PS1_PREFIX" "name"
|
||||
__lp_board_put "$LP_RUNTIME" "rntm"
|
||||
__lp_board_put "$LP_USER" "user"
|
||||
__lp_board_put "$LP_HOST" "host"
|
||||
|
||||
__lp_board_put "$LP_SHLVL" "shlvl"
|
||||
__lp_board_put "$LP_PROXY" "proxy"
|
||||
# __lp_board_put "$LP_" "sudo"
|
||||
|
||||
# __lp_board_put "$LP_" "RO"
|
||||
__lp_board_put "$LP_DIRSTACK" "drstk"
|
||||
__lp_board_put "$LP_PWD" "path"
|
||||
|
||||
__lp_board_put "$LP_VENV" "venv"
|
||||
__lp_board_put "$LP_NODE_VENV" "node"
|
||||
__lp_board_put "$LP_RUBY_VENV" "ruby"
|
||||
__lp_board_put "$LP_KUBECONTEXT" "kube"
|
||||
__lp_board_put "$LP_TFSPACE" "trfm"
|
||||
__lp_board_put "$LP_CONTAINER" "cont"
|
||||
__lp_board_put "$LP_SCLS" "scls"
|
||||
__lp_board_put "$LP_AWS_PROFILE" "awsp"
|
||||
# __lp_board_put "$LP_" "shel"
|
||||
|
||||
__lp_board_put "$LP_CMAKE" "cmak"
|
||||
|
||||
local n=$'\n'
|
||||
PS1=
|
||||
for line in "${BOARD_CURRENT[@]}"; do
|
||||
PS1+="$line${n}"
|
||||
done
|
||||
PS1+='└ '
|
||||
}
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue