Server IP : 51.89.169.208 / Your IP : 216.73.216.211 Web Server : Apache System : Linux ns3209505.ip-198-244-202.eu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Tue Nov 5 04:50:16 EST 2024 x86_64 User : yellowleaf ( 1019) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/usr/share/zsh/5.5.1/functions/ |
Upload File : |
# This function is the common guts of the gen-applied-string / # gen-unapplied-string / set-patch-format dance of several backends. # # Parameters: # $1 - name of an array parameter to be the argument to gen-applied-string # $2 - name of a parameter to store the applied-string in # $3 - name of an array parameter to be the argument to gen-unapplied-string # $4 - name of a parameter to store the unapplied-string in # $5 - context argument for use in zstyle getters # $6 - name of a parameter to store a patch-format format string in # $7 - name of an assoc parameter with extra $hook_com key-value pairs for the # set-patch-format hook invocation, or '' for none # $8 - name of an array parameter with extra arguments for the patch-format zformat call, or '' for empty # # The expanded patch-format string is returned in $REPLY. # # Output: # - $hook_com is overwritten and the keys 'applied', 'applied-n', # 'unapplied', 'unapplied-n', 'all-n' are set. { local applied_needs_escaping='unknown' local unapplied_needs_escaping='unknown' if VCS_INFO_hook 'gen-applied-string' "${(@P)1}"; then if (( ${(P)#1} )); then REPLY=${(P)1[1]} else REPLY="" fi applied_needs_escaping='yes' else REPLY=${hook_com[applied-string]} fi : ${(P)2::=$REPLY} hook_com=() if VCS_INFO_hook 'gen-unapplied-string' "${(@P)3}"; then REPLY=${(P)#3} unapplied_needs_escaping='yes' else REPLY=${hook_com[unapplied-string]} fi : ${(P)4::=$REPLY} hook_com=() if (( ${(P)#1} )); then zstyle -s "${5}" patch-format REPLY || REPLY="%p (%n applied)" else zstyle -s "${5}" nopatch-format REPLY || REPLY="no patch applied" fi : ${(P)6::=$REPLY} hook_com=( applied-n ${(P)#1} applied "${(P)2}" unapplied-n ${(P)#3} unapplied "${(P)4}" ) hook_com[all-n]=$(( ${hook_com[applied-n]} + ${hook_com[unapplied-n]} )) hook_com+=( ${7:+"${(@kvP)7}"} ) if VCS_INFO_hook 'set-patch-format' "${(P)6}"; then # Escape the value for use in $PS1 if [[ $applied_needs_escaping == 'yes' ]]; then hook_com[applied]=${hook_com[applied]//'%'/%%} fi if [[ $unapplied_needs_escaping == 'yes' ]]; then hook_com[unapplied]=${hook_com[unapplied]//'%'/%%} fi zformat -f REPLY "${(P)6}" "p:${hook_com[applied]}" "u:${hook_com[unapplied]}" \ "n:${hook_com[applied-n]}" "c:${hook_com[unapplied-n]}" \ "a:${hook_com[all-n]}" \ ${8:+"${(@P)8}"} else unset applied_needs_escaping unapplied_needs_escaping # the hook deals with escaping REPLY=${hook_com[patch-replace]} fi hook_com=() }