summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkatalx2026-02-02 05:27:17 -0500
committerkatalx2026-02-02 05:27:17 -0500
commit9737033c1a2fccc8a4c0b031e27f7514e49e8d4b (patch)
tree89e79f9645f0d10adbc8d550fc2e3d812254f145
parent0079fba20988051a99f552f99efea06705932489 (diff)
try to detect URLs in plaintext documents
-rw-r--r--main.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/main.c b/main.c
index 241a569..f210d99 100644
--- a/main.c
+++ b/main.c
@@ -277,7 +277,19 @@ parse_linewise(Doc *d, int (*fn)(Doc *, Str)) {
int
parse_text_line(Doc *d, Str s)
{
- doc_push_line(d, s);
+ DocLine *l = doc_push_line(d, s);
+ Str f = str_find(s, S("://"));
+ if (f.n > 0) {
+ int i = f.s - s.s;
+ while (i > 0 && !is_space(s.s[i]))
+ i--;
+ while (i < s.n && is_space(s.s[i]))
+ i++;
+ int j = i;
+ while (i < s.n && !is_space(s.s[j]))
+ j++;
+ doc_link(d, l, (Str) { s.s + i, j - i });
+ }
return 0;
}