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/thread-self/root/usr/share/zsh/5.5.1/functions/ |
Upload File : |
# Utility for "calendar" to read entries into the array calendar_entries. # This should be local to the caller. # The only argument is the file to read. We expect options etc. to # be correct. # # This is based on Emacs calendar syntax, which has two implications: # - Lines beginning with whitespace are continuation lines. # Hence we have to read the entire file first to determine entries. # - Lines beginning with "&" are inhibited from producing marks in # Emacs calendar window. This is irrelevant to us, so we # we simply remove leading ampersands. This is necessary since # we expect the date to start at the beginning of the line. # # TODO: Emacs has some special handling for entries where the first line # has only the date and continuation lines indicate times. Actually, # it doesn't parse the times as far as I can see, but if we want to # handle that format sensibly we would need to here. It could # be tricky to get right. local calendar=$1 line local -a lines lines=(${(f)"$(<$calendar)"}) calendar_entries=() # ignore blank lines for line in $lines; do if [[ $line = [[:space:]]* ]]; then if (( ${#calendar_entries} )); then calendar_entries[-1]+=$'\n'$line fi else calendar_entries+=(${line##\&}) fi done