From 503f24a0b4f30dddd8e0010273d666bcd610cab8 Mon Sep 17 00:00:00 2001 From: SpencerLindemuth <47793873+SpencerLindemuth@users.noreply.github.com> Date: Thu, 5 Nov 2020 19:16:29 -0600 Subject: [PATCH] [Url Linkifier] Expand to cover www. urls (#21) --- lib/src/url.dart | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/src/url.dart b/lib/src/url.dart index e2f71f5..270e928 100644 --- a/lib/src/url.dart +++ b/lib/src/url.dart @@ -1,7 +1,7 @@ import 'package:linkify/linkify.dart'; final _urlRegex = RegExp( - r'^((?:.|\n)*?)((?:https?):\/\/[^\s/$.?#].[^\s]*)', + r'^((?:.|\n)*?)((?:https?:\/\/|www\.)[^\s/$.?#].[^\s]*)', caseSensitive: false, ); @@ -10,6 +10,11 @@ final _looseUrlRegex = RegExp( caseSensitive: false, ); +final _protocolIdentifierRegex = RegExp( + r'^(https?:\/\/)', + caseSensitive: false +); + class UrlLinkifier extends Linkifier { const UrlLinkifier(); @@ -48,7 +53,7 @@ class UrlLinkifier extends Linkifier { var url = originalUrl; - if (loose) { + if (loose || !originalUrl.startsWith(_protocolIdentifierRegex)) { originalUrl = (options.defaultToHttps ?? false ? "https://" : "http://") + originalUrl;