From c6a18d4fdf33884e897722e65f0f2338d5e34824 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 5 Jan 2006 01:04:10 +0000 Subject: [PATCH] *** empty log message *** --- src/perl/mark-urls | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/perl/mark-urls diff --git a/src/perl/mark-urls b/src/perl/mark-urls new file mode 100644 index 00000000..6bd16c25 --- /dev/null +++ b/src/perl/mark-urls @@ -0,0 +1,29 @@ +#! perl + +# same url as used in "selection" +my $url = + qr{( + (?:https?|ftp|news|mailto|file)://[ab-zA-Z0-9\-\@;\/?:&=%\$_.+!*\x27(),]+ + [^.] # do not include a trailing dot, its wrong too often + )}x; + +sub on_add_lines { + my ($term, $str) = @_; + + while ($str =~ $url) { + # found a url, first output preceding text + $term->scr_add_lines (substr $str, 0, $-[1], ""); + # then toggle underline + $term->rstyle ($term->rstyle ^ urxvt::RS_Uline); + # now output the url + $term->scr_add_lines (substr $str, 0, $+[1] - $-[1], ""); + # toggle undelrine again + $term->rstyle ($term->rstyle ^ urxvt::RS_Uline); + } + + # output trailing text + $term->scr_add_lines ($str); + + 1 +} + -- 2.34.1