Compare commits

..

2 Commits

Author SHA1 Message Date
6d8520a016 non-recursive, clean 2025-06-13 13:04:35 +02:00
ff898c84c8 feat:location support 2025-06-12 21:47:30 +02:00
4 changed files with 786 additions and 548 deletions

View File

@ -34,6 +34,8 @@ desc { desc = desc "\\n" $0; next; }
if (!to)
exit 1
getline
location = substr($0, 1, 2) == "@ " ? substr($0, 3) : ""
if (location) getline
summary = substr($0, 1, 2) == "# " ? substr($0, 3) : ""
if (!summary)
exit 1
@ -83,6 +85,7 @@ END {
exit 1
}
escape(summary);
escape(location);
escape(desc);
# print ical
@ -102,6 +105,7 @@ END {
print "DTEND;VALUE=" to_type ":" to
if (summary) print_fold("SUMMARY:", summary, i, s);
if (desc) print_fold("DESCRIPTION:", desc, i, s);
if (location) print_fold("LOCATION:", location, i, s);
print "END:VEVENT"
print "END:VCALENDAR"
}

View File

@ -72,6 +72,7 @@ ENDFILE {
exit 1
}
escape(summary);
escape(location);
escape(desc);
}
}
@ -86,6 +87,8 @@ NR == FNR {
if (!to)
exit 1
getline
location = substr($0, 1, 2) == "@ " ? substr($0, 3) : ""
if (location) getline
summary = substr($0, 1, 2) == "# " ? substr($0, 3) : ""
if (!summary)
exit 1
@ -98,7 +101,7 @@ NR == FNR {
/^BEGIN:VEVENT$/ { inside = 1; print; next }
/^X-ALT-DESC/ && inside { next } # drop this alternative description
/^ / && inside { next } # drop this folded line (the only content with folded lines will be updated)
/^(DTSTART|DTEND|SUMMARY|CATEGORIES|DESCRIPTION|LAST-MODIFIED)/ && inside { next } # skip for now, we will write updated fields at the end
/^(DTSTART|DTEND|SUMMARY|LOCATION|CATEGORIES|DESCRIPTION|LAST-MODIFIED)/ && inside { next } # skip for now, we will write updated fields at the end
/^SEQUENCE/ && inside { seq = $2; next } # store sequence number and skip
/^END:VEVENT$/ {
seq = seq ? seq + 1 : 1
@ -108,6 +111,7 @@ NR == FNR {
print "DTEND;VALUE=" to_type ":" to
print_fold("SUMMARY:", summary, i, s)
print_fold("DESCRIPTION:", desc, i, s)
print_fold("LOCATION:", location, i, s)
inside = ""
}
{ print }

File diff suppressed because it is too large Load Diff