diff --git a/PKGBUILD b/PKGBUILD index 87d9cf2..ae866ef 100755 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,15 +1,17 @@ pkgname=parch-zsh-config pkgver=0.1 pkgrel=1 +pkgdir=/usr/share/parchlinux/zsh/ pkgdesc="ZSH config of parch" arch=('any') url="https://git.parchlinux.com/settings/parch-zsh-config" license=("GPL-3.0") -depends=("zsh") +depends=("zsh" "zsh-autosuggestions" "spaceship-prompt" "lolcat" "curl" "zsh-history-substring-search" "zsh-syntax-highlighting" "zsh-completions") source=("package.zip") sha256sums=('SKIP') - +install=parch.install build(){ + echo "building" } package() { diff --git a/build.sh b/build.sh index e878897..f0a592c 100755 --- a/build.sh +++ b/build.sh @@ -9,6 +9,7 @@ main () { mkdir -p build zip -r build/package.zip rootfs || ziperrorandexit cp PKGBUILD build + cp parch.install build cd build || return makepkg -sc cd .. diff --git a/parch.install b/parch.install new file mode 100644 index 0000000..71876d6 --- /dev/null +++ b/parch.install @@ -0,0 +1,8 @@ +post_install() { + cat /usr/share/parchlinux/zsh/install.txt +} + + +post_upgrade() { + post_install +} diff --git a/rootfs/usr/share/parchlinux/zsh/functions/fireworks.zsh b/rootfs/usr/share/parchlinux/zsh/functions/fireworks.zsh index 4719090..705ca58 100644 --- a/rootfs/usr/share/parchlinux/zsh/functions/fireworks.zsh +++ b/rootfs/usr/share/parchlinux/zsh/functions/fireworks.zsh @@ -1,8 +1,41 @@ -function fireworks() { - if ! command -v lolcat &>/dev/null || ! command -v pv &>/dev/null; then - echo "Install 'lolcat' and 'pv' to use this function: sudo pacman -S lolcat pv" - return 1 - fi +fireworks() { + # Check for lolcat + if ! command -v lolcat &>/dev/null; then + echo "Please install 'lolcat': sudo pacman -S lolcat" >&2 + return 1 + fi - echo "🎆🎇 BOOM! 🎆🎇" | pv -qL 10 | lolcat -} + # Simpler firework patterns + local -a firework=( + " * " + " * * * " + "* * * * *" + " | " + ) + + clear + while true; do + # Print some random fireworks + for ((i=0; i<3; i++)); do + position=$((RANDOM % 70)) + spaces=$(printf '%*s' $position '') + + for pattern in "${firework[@]}"; do + echo "${spaces}${pattern}" | lolcat -f + sleep 0.1 + done + + # Add explosion effect + echo "${spaces} * * * " | lolcat -f + echo "${spaces} * * * " | lolcat -f + echo "${spaces}* * *" | lolcat -f + sleep 0.2 + done + + # Check for keyboard input to exit + read -t 0.1 -n 1 input + if [[ $? -eq 0 ]]; then + break + fi + done + echo \ No newline at end of file diff --git a/rootfs/usr/share/parchlinux/zsh/functions/typewriter.zsh b/rootfs/usr/share/parchlinux/zsh/functions/typewriter.zsh index a2596b4..4c1ab30 100644 --- a/rootfs/usr/share/parchlinux/zsh/functions/typewriter.zsh +++ b/rootfs/usr/share/parchlinux/zsh/functions/typewriter.zsh @@ -1,12 +1,24 @@ -function typewriter() { - if [ -z "$1" ]; then - echo "Usage: typewriter <text>" - return 1 - fi +typewriter() { + # Check if an argument is provided + if [ $# -eq 0 ]; then + echo "Usage: typewriter <text>" >&2 + return 1 + fi - for ((i=0; i<${#1}; i++)); do - echo -n "${1:i:1}" - sleep 0.05 - done - echo -} + local text="$1" + local len + + # Get length of string in characters (not bytes) + len=$(echo -n "$text" | wc -m) + + # Iterate through each character using AWK + echo -n "$text" | awk '{ + split($0, chars, "") + for (i = 1; i <= length($0); i++) { + printf "%s", chars[i] + system("sleep 0.05") + fflush() + } + }' + echo +} \ No newline at end of file diff --git a/rootfs/usr/share/parchlinux/zsh/theme/parch.zsh-theme b/rootfs/usr/share/parchlinux/zsh/theme/parch.zsh-theme deleted file mode 100644 index a79d596..0000000 --- a/rootfs/usr/share/parchlinux/zsh/theme/parch.zsh-theme +++ /dev/null @@ -1,498 +0,0 @@ -#!/bin/zsh - -#ParchLinux zsh prompt - - - -# Formatting aliases -# (add more if you need) -reset=$'\e[0m' -bold=$'\e[1m' -faint=$'\e[2m' -italic=$'\e[3m' -underline=$'\e[4m' -invert=$'\e[7m' -# ... - -# Foreground color aliases -black=$'\e[30m' -red=$'\e[31m' -green=$'\e[32m' -yellow=$'\e[33m' -blue=$'\e[34m' -magenta=$'\e[35m' -cyan=$'\e[36m' -white=$'\e[37m' -light_black=$'\e[90m' -light_red=$'\e[91m' -light_green=$'\e[92m' -light_yellow=$'\e[93m' -light_blue=$'\e[94m' -light_magenta=$'\e[95m' -light_cyan=$'\e[96m' -light_white=$'\e[97m' - -# Background color aliases -black_back=$'\e[40m' -red_back=$'\e[41m' -green_back=$'\e[42m' -yellow_back=$'\e[43m' -blue_back=$'\e[44m' -magenta_back=$'\e[45m' -cyan_back=$'\e[46m' -white_back=$'\e[47m' -light_black_back=$'\e[100m' -light_red_back=$'\e[101m' -light_green_back=$'\e[102m' -light_yellow_back=$'\e[103m' -light_blue_back=$'\e[104m' -light_magenta_back=$'\e[105m' -light_cyan_back=$'\e[106m' -light_white_back=$'\e[107m' - -# Custom colors -# REF: https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_(Select_Graphic_Rendition)_parameters -# orange_yellow=$'\e[38;5;214m' # example 8-bit color -# orange_brown=$'\e[38;2;191;116;46m' # example rgb color -# ... - -# Flags -! [ -z "$SSH_TTY$SSH_CONNECTION$SSH_CLIENT" ] -IS_SSH=$? # 0=true, 1=false - - - -# ------------------------------------------------------------------------------ -# Customization -# Use the following variables to customize the theme -# These variables can also be set in your ~/.zshrc after sourcing this file -# The style aliases for ANSI SGR codes (defined above) can be used there too - -# Info sources (enclose in single quotes as these will be eval'd, use empty string to hide segment) -HEADLINE_USER_CMD='echo $USER' -HEADLINE_HOST_CMD='hostname -s' # consider 'basename "$VIRTUAL_ENV"' to replace host with environment -HEADLINE_PATH_CMD='print -rP "%~"' -HEADLINE_GIT_BRANCH_CMD='headline_git_branch' -HEADLINE_GIT_STATUS_CMD='headline_git_status' - -# Info symbols (optional) -HEADLINE_USER_PREFIX='' -HEADLINE_HOST_PREFIX='' # consider " " -HEADLINE_PATH_PREFIX='' -HEADLINE_BRANCH_PREFIX='' - -# Info joints -HEADLINE_USER_BEGIN='' -if [ $IS_SSH = 0 ]; then HEADLINE_USER_BEGIN='=> '; fi -HEADLINE_USER_TO_HOST=' @ ' -HEADLINE_HOST_TO_PATH=': ' -HEADLINE_PATH_TO_BRANCH=' | ' # only used when no padding between <path> and <branch> -HEADLINE_PATH_TO_PAD='' # used if padding between <path> and <branch> -HEADLINE_PAD_TO_BRANCH='' # used if padding between <path> and <branch> -HEADLINE_BRANCH_TO_STATUS=' [' -HEADLINE_STATUS_TO_STATUS='' # between each status section, consider "]" -HEADLINE_STATUS_END=']' - -# Info padding character -HEADLINE_PAD_CHAR=' ' # repeated for space between <path> and <branch> - -# Info truncation symbol -HEADLINE_TRUNC_PREFIX='...' # shown where <path> or <branch> is truncated, consider "…" - -# Info styles -HEADLINE_STYLE_DEFAULT='' # style applied to entire info line -HEADLINE_STYLE_JOINT=$light_black -HEADLINE_STYLE_USER=$bold$red -HEADLINE_STYLE_HOST=$bold$yellow -HEADLINE_STYLE_PATH=$bold$blue -HEADLINE_STYLE_BRANCH=$bold$cyan -HEADLINE_STYLE_STATUS=$bold$magenta - -# Info options -HEADLINE_INFO_MODE=precmd # precmd|prompt (whether info line is in PROMPT or printed by precmd) - # use "precmd" for window resize to work properly (but Ctrl+L doesn't show info line) - # use "prompt" for Ctrl+L to clear properly (but window resize eats previous output) - -# Separator options -HEADLINE_LINE_MODE=on # on|auto|off (whether to print the line above the prompt) - -# Separator character -HEADLINE_LINE_CHAR='_' # repeated for line above information - -# Separator styles -HEADLINE_STYLE_JOINT_LINE=$HEADLINE_STYLE_JOINT -HEADLINE_STYLE_USER_LINE=$HEADLINE_STYLE_USER -HEADLINE_STYLE_HOST_LINE=$HEADLINE_STYLE_HOST -HEADLINE_STYLE_PATH_LINE=$HEADLINE_STYLE_PATH -HEADLINE_STYLE_BRANCH_LINE=$HEADLINE_STYLE_BRANCH -HEADLINE_STYLE_STATUS_LINE=$HEADLINE_STYLE_STATUS - -# Git branch characters -HEADLINE_GIT_HASH=':' # hash prefix to distinguish from branch - -# Git status characters -# To set individual status styles use "%{$reset<style>%}<char>" -HEADLINE_GIT_STAGED='+' -HEADLINE_GIT_CHANGED='!' -HEADLINE_GIT_UNTRACKED='?' -HEADLINE_GIT_BEHIND='↓' -HEADLINE_GIT_AHEAD='↑' -HEADLINE_GIT_DIVERGED='↕' -HEADLINE_GIT_STASHED='*' -HEADLINE_GIT_CONFLICTS='%{$red%}✘' # consider "%{$red%}✘" -HEADLINE_GIT_CLEAN='✔' # consider "✓" or "✔" - -# Git status options -HEADLINE_DO_GIT_STATUS_COUNTS=false # set "true" to show count of each status -HEADLINE_DO_GIT_STATUS_OMIT_ONE=false # set "true" to omit the status number when it is 1 - -# Prompt -HEADLINE_PROMPT='%(#.#.%(!.!.$)) ' # consider "%#" -HEADLINE_RPROMPT='' - -# Clock (prepends to RPROMPT) -HEADLINE_DO_CLOCK=false # whether to show the clock -HEADLINE_STYLE_CLOCK=$faint -HEADLINE_CLOCK_FORMAT='%l:%M:%S %p' # consider "%+" for full date (see man strftime) - -# Exit code -HEADLINE_DO_ERR=false # whether to show non-zero exit codes above prompt -HEADLINE_DO_ERR_INFO=true # whether to show exit code meaning as well -HEADLINE_ERR_PREFIX='→ ' -HEADLINE_STYLE_ERR=$italic$faint - -# ------------------------------------------------------------------------------ - - - -# Options for zsh -setopt PROMPT_SP # always start prompt on new line -setopt PROMPT_SUBST # substitutions -autoload -U add-zsh-hook -PROMPT_EOL_MARK='' # remove weird % symbol -ZLE_RPROMPT_INDENT=0 # remove extra space - -# Local variables -_HEADLINE_LINE_OUTPUT='' # separator line -_HEADLINE_INFO_OUTPUT='' # text line -_HEADLINE_DO_SEP='false' # whether to show divider this time -if [ $IS_SSH = 0 ]; then - _HEADLINE_DO_SEP='true' # assume it's not a fresh window -fi - -# Calculate length of string, excluding formatting characters -# REF: https://old.reddit.com/r/zsh/comments/cgbm24/multiline_prompt_the_missing_ingredient/ -headline_prompt_len() { # (str, num) - emulate -L zsh - local -i COLUMNS=${2:-COLUMNS} - local -i x y=${#1} m - if (( y )); then - while (( ${${(%):-$1%$y(l.1.0)}[-1]} )); do - x=y - (( y *= 2 )) - done - while (( y > x + 1 )); do - (( m = x + (y - x) / 2 )) - (( ${${(%):-$1%$m(l.x.y)}[-1]} = m )) - done - fi - echo $x -} - -# Repeat character a number of times -# (replacing the "${(pl:$num::$char:)}" expansion) -headline_repeat_char() { # (char, num) - local str='' - for (( i = 0; i < $2; i++ )); do - str+=$1 - done - echo $str -} - -# Guess the exit code meaning -headline_exit_meaning() { # (num) - # REF: https://tldp.org/LDP/abs/html/exitcodes.html - # REF: https://man7.org/linux/man-pages/man7/signal.7.html - # NOTE: these meanings are not standardized - case $1 in - 126) echo 'Command cannot execute';; - 127) echo 'Command not found';; - 129) echo 'Hangup';; - 130) echo 'Interrupted';; - 131) echo 'Quit';; - 132) echo 'Illegal instruction';; - 133) echo 'Trapped';; - 134) echo 'Aborted';; - 135) echo 'Bus error';; - 136) echo 'Arithmetic error';; - 137) echo 'Killed';; - 138) echo 'User signal 1';; - 139) echo 'Segmentation fault';; - 140) echo 'User signal 2';; - 141) echo 'Pipe error';; - 142) echo 'Alarm';; - 143) echo 'Terminated';; - *) ;; - esac -} - - - -# Git command wrapper -headline_git() { - GIT_OPTIONAL_LOCKS=0 command git "$@" -} - -# Git branch (or hash) -headline_git_branch() { - local ref - ref=$(headline_git symbolic-ref --quiet HEAD 2> /dev/null) - local ret=$? - if [[ $ret == 0 ]]; then - echo ${ref#refs/heads/} # remove "refs/heads/" to get branch - else # not on a branch - [[ $ret == 128 ]] && return # not a git repo - ref=$(headline_git rev-parse --short HEAD 2> /dev/null) || return - echo "$HEADLINE_GIT_HASH$ref" # hash prefixed to distingush from branch - fi -} - -# Git status -headline_git_status() { - # Data structures - local order; order=('STAGED' 'CHANGED' 'UNTRACKED' 'BEHIND' 'AHEAD' 'DIVERGED' 'STASHED' 'CONFLICTS') - local -A totals - for key in $order; do - totals+=($key 0) - done - - # Retrieve status - # REF: https://git-scm.com/docs/git-status - local raw lines - raw="$(headline_git status --porcelain -b 2> /dev/null)" - if [[ $? == 128 ]]; then - return 1 # catastrophic failure, abort - fi - lines=(${(@f)raw}) - - # Process tracking line - if [[ ${lines[1]} =~ '^## [^ ]+ \[(.*)\]' ]]; then - local items=("${(@s/,/)match}") - for item in $items; do - if [[ $item =~ '(behind|ahead|diverged) ([0-9]+)?' ]]; then - case $match[1] in - 'behind') totals[BEHIND]=$match[2];; - 'ahead') totals[AHEAD]=$match[2];; - 'diverged') totals[DIVERGED]=$match[2];; - esac - fi - done - fi - - # Process status lines - for line in $lines; do - if [[ $line =~ '^##|^!!' ]]; then - continue - elif [[ $line =~ '^U[ADU]|^[AD]U|^AA|^DD' ]]; then - totals[CONFLICTS]=$(( ${totals[CONFLICTS]} + 1 )) - elif [[ $line =~ '^\?\?' ]]; then - totals[UNTRACKED]=$(( ${totals[UNTRACKED]} + 1 )) - elif [[ $line =~ '^[MTADRC] ' ]]; then - totals[STAGED]=$(( ${totals[STAGED]} + 1 )) - elif [[ $line =~ '^[MTARC][MTD]' ]]; then - totals[STAGED]=$(( ${totals[STAGED]} + 1 )) - totals[CHANGED]=$(( ${totals[CHANGED]} + 1 )) - elif [[ $line =~ '^ [MTADRC]' ]]; then - totals[CHANGED]=$(( ${totals[CHANGED]} + 1 )) - fi - done - - # Check for stashes - if $(headline_git rev-parse --verify refs/stash &> /dev/null); then - totals[STASHED]=$(headline_git rev-list --walk-reflogs --count refs/stash 2> /dev/null) - fi - - # Build string - local prefix status_str - status_str='' - for key in $order; do - if (( ${totals[$key]} > 0 )); then - if (( ${#HEADLINE_STATUS_TO_STATUS} && ${#status_str} )); then # not first iteration - local style_joint="$reset$HEADLINE_STYLE_DEFAULT$HEADLINE_STYLE_JOINT" - local style_status="$resetHEADLINE_STYLE_DEFAULT$HEADLINE_STYLE_STATUS" - status_str="$status_str%{$style_joint%}$HEADLINE_STATUS_TO_STATUS%{$style_status%}" - fi - eval prefix="\$HEADLINE_GIT_${key}" - if [[ $HEADLINE_DO_GIT_STATUS_COUNTS == 'true' ]]; then - if [[ $HEADLINE_DO_GIT_STATUS_OMIT_ONE == 'true' && (( ${totals[$key]} == 1 )) ]]; then - status_str="$status_str$prefix" - else - status_str="$status_str${totals[$key]}$prefix" - fi - else - status_str="$status_str$prefix" - fi - fi - done - - # Return - if (( ${#status_str} )); then - echo $status_str - else - echo $HEADLINE_GIT_CLEAN - fi -} - - - -# Before executing command -add-zsh-hook preexec headline_preexec -headline_preexec() { - # TODO better way of knowing the prompt is at the top of the terminal - if [[ $2 == 'clear' ]]; then - _HEADLINE_DO_SEP='false' - fi -} - -# Before prompting -add-zsh-hook precmd headline_precmd -headline_precmd() { - local err=$? - - # Information - local user_str host_str path_str branch_str status_str - user_str=$(eval $HEADLINE_USER_CMD) - host_str=$(eval $HEADLINE_HOST_CMD) - path_str=$(eval $HEADLINE_PATH_CMD) - branch_str=$(eval $HEADLINE_GIT_BRANCH_CMD) - status_str=$(eval $HEADLINE_GIT_STATUS_CMD) - - # Shared variables - _HEADLINE_LEN_REMAIN=$COLUMNS - _HEADLINE_INFO_LEFT='' - _HEADLINE_LINE_LEFT='' - _HEADLINE_INFO_RIGHT='' - _HEADLINE_LINE_RIGHT='' - - # Git status - if (( ${#status_str} )); then - _headline_part JOINT "$HEADLINE_STATUS_END" right - _headline_part STATUS "$HEADLINE_STATUS_PREFIX$status_str" right - _headline_part JOINT "$HEADLINE_BRANCH_TO_STATUS" right - if (( $_HEADLINE_LEN_REMAIN < ${#HEADLINE_PAD_TO_BRANCH} + ${#HEADLINE_BRANCH_PREFIX} + ${#HEADLINE_TRUNC_PREFIX} )); then - user_str=''; host_str=''; path_str=''; branch_str='' - fi - fi - - # Git branch - local len=$(( $_HEADLINE_LEN_REMAIN - ${#HEADLINE_BRANCH_PREFIX} )) - if (( ${#branch_str} )); then - if (( $len < ${#HEADLINE_PATH_PREFIX} + ${#HEADLINE_TRUNC_PREFIX} + ${#HEADLINE_PATH_TO_BRANCH} + ${#branch_str} )); then - path_str='' - fi - if (( ${#path_str} )); then - len=$(( $len - ${#HEADLINE_PATH_PREFIX} - ${#HEADLINE_PATH_TO_BRANCH} )) - else - len=$(( $len - ${#HEADLINE_PAD_TO_BRANCH} )) - fi - _headline_part BRANCH "$HEADLINE_BRANCH_PREFIX%$len<$HEADLINE_TRUNC_PREFIX<$branch_str%<<" right - fi - - # Trimming - local joint_len=$(( ${#HEADLINE_USER_BEGIN} + ${#HEADLINE_USER_TO_HOST} + ${#HEADLINE_HOST_TO_PATH} + ${#HEADLINE_PATH_TO_BRANCH} )) - local path_min_len=$(( ${#path_str} + ${#HEADLINE_PATH_PREFIX} > 25 ? 25 : ${#path_str} + ${#HEADLINE_PATH_PREFIX} )) - len=$(( $_HEADLINE_LEN_REMAIN - $path_min_len - $joint_len )) - if (( $len < 2 )); then - user_str=''; host_str='' - elif (( $len < ${#user_str} + ${#host_str} )); then - user_str="${user_str:0:1}" - host_str="${host_str:0:1}" - fi - - # User - if (( ${#user_str} )); then - _headline_part JOINT "$HEADLINE_USER_BEGIN" left - _headline_part USER "$HEADLINE_USER_PREFIX$user_str" left - fi - - # Host - if (( ${#host_str} )); then - if (( ${#_HEADLINE_INFO_LEFT} )); then - _headline_part JOINT "$HEADLINE_USER_TO_HOST" left - fi - _headline_part HOST "$HEADLINE_HOST_PREFIX$host_str" left - fi - - # Path - if (( ${#path_str} )); then - if (( ${#_HEADLINE_INFO_LEFT} )); then - _headline_part JOINT "$HEADLINE_HOST_TO_PATH" left - fi - len=$(( $_HEADLINE_LEN_REMAIN - ${#HEADLINE_PATH_PREFIX} - ( ${#branch_str} ? ${#HEADLINE_PATH_TO_BRANCH} : 0 ) )) - _headline_part PATH "$HEADLINE_PATH_PREFIX%$len<$HEADLINE_TRUNC_PREFIX<$path_str%<<" left - fi - - # Padding - if (( ${#branch_str} && ${#path_str} && $_HEADLINE_LEN_REMAIN <= ${#HEADLINE_PATH_TO_BRANCH} )); then - _headline_part JOINT "$HEADLINE_PATH_TO_BRANCH" left - else - if (( ${#branch_str} )); then - _headline_part JOINT "$HEADLINE_PAD_TO_BRANCH" right - fi - _headline_part JOINT "$HEADLINE_PATH_TO_PAD" left - _headline_part JOINT "$(headline_repeat_char $HEADLINE_PAD_CHAR $_HEADLINE_LEN_REMAIN)" left - fi - - # Error line - if [[ $HEADLINE_DO_ERR == 'true' ]] && (( $err )); then - local meaning msg - if [[ $HEADLINE_DO_ERR_INFO == 'true' ]]; then - meaning=$(headline_exit_meaning $err) - (( ${#meaning} )) && msg=" ($meaning)" - fi - print -rP "$HEADLINE_STYLE_ERR$HEADLINE_ERR_PREFIX$err$msg" - fi - - # Separator line - _HEADLINE_LINE_OUTPUT="$_HEADLINE_LINE_LEFT$_HEADLINE_LINE_RIGHT$reset" - if [[ $HEADLINE_LINE_MODE == 'on' || ($HEADLINE_LINE_MODE == 'auto' && $_HEADLINE_DO_SEP == 'true' ) ]]; then - print -rP $_HEADLINE_LINE_OUTPUT - fi - _HEADLINE_DO_SEP='true' - - # Information line - _HEADLINE_INFO_OUTPUT="$_HEADLINE_INFO_LEFT$_HEADLINE_INFO_RIGHT$reset" - - # Prompt - if [[ $HEADLINE_INFO_MODE == 'precmd' ]]; then - print -rP $_HEADLINE_INFO_OUTPUT - PROMPT=$HEADLINE_PROMPT - else - PROMPT='$(print -rP $_HEADLINE_INFO_OUTPUT; print -rP $HEADLINE_PROMPT)' - fi - - # Right prompt - if [[ $HEADLINE_DO_CLOCK == 'true' ]]; then - RPROMPT='%{$HEADLINE_STYLE_CLOCK%}$(date +$HEADLINE_CLOCK_FORMAT)%{$reset%}$HEADLINE_RPROMPT' - else - RPROMPT=$HEADLINE_RPROMPT - fi -} - -# Create a part of the prompt -_headline_part() { # (name, content, side) - local style info info_len line - eval style="\$reset\$HEADLINE_STYLE_DEFAULT\$HEADLINE_STYLE_${1}" - info="%{$style%}$2" - info_len=$(headline_prompt_len $info 9999) - _HEADLINE_LEN_REMAIN=$(( $_HEADLINE_LEN_REMAIN - $info_len )) - eval style="\$reset\$HEADLINE_STYLE_${1}_LINE" - line="%{$style%}$(headline_repeat_char $HEADLINE_LINE_CHAR $info_len)" - if [[ $3 == 'right' ]]; then - _HEADLINE_INFO_RIGHT="$info$_HEADLINE_INFO_RIGHT" - _HEADLINE_LINE_RIGHT="$line$_HEADLINE_LINE_RIGHT" - else - _HEADLINE_INFO_LEFT="$_HEADLINE_INFO_LEFT$info" - _HEADLINE_LINE_LEFT="$_HEADLINE_LINE_LEFT$line" - fi -} diff --git a/rootfs/usr/share/parchlinux/zsh/update.txt b/rootfs/usr/share/parchlinux/zsh/update.txt deleted file mode 100644 index e840ed9..0000000 --- a/rootfs/usr/share/parchlinux/zsh/update.txt +++ /dev/null @@ -1,21 +0,0 @@ - -English: - -Update Guide - - -For applying the theme, run: - -cp /usr/share/parchlinux/zsh/zshrc-example ~/.zshrc - - -make sure you have backup of your previous config - - -فارسی: - -برای آپدیت دستور زیر را وارد کنید - -cp /usr/share/parchlinux/zsh/zshrc-example ~/.zshrc - -از کانفیگ قدیمی خود یک بکاپ داشته باشید. diff --git a/rootfs/usr/share/parchlinux/zsh/zshrc-example b/rootfs/usr/share/parchlinux/zsh/zshrc-example index d67dcf5..fba31a7 100644 --- a/rootfs/usr/share/parchlinux/zsh/zshrc-example +++ b/rootfs/usr/share/parchlinux/zsh/zshrc-example @@ -1,11 +1,19 @@ #load modules source /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh -source /usr/share/parchlinux/zsh/theme/parch.zsh-theme -source /usr/share/parchlinux/zsh/functions/extract.zsh source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh -source /usr/share/doc/pkgfile/command-not-found.zsh +# Parch Linux Functions +source /usr/share/parchlinux/zsh/functions/extract.zsh +source /usr/share/parchlinux/zsh/functions/coin.zsh +source /usr/share/parchlinux/zsh/functions/dice.zsh +source /usr/share/parchlinux/zsh/functions/fireworks.zsh +source /usr/share/parchlinux/zsh/functions/genpass.zsh +source /usr/share/parchlinux/zsh/functions/typewriter.zsh +source /usr/share/parchlinux/zsh/functions/weather.zsh + + +source /usr/lib/spaceship-prompt/spaceship.zsh [[ -f /usr/share/parchlinux/zsh/alias ]] && source /usr/share/parchlinux/zsh/alias