From dcc984e5bf80119a9b39fbd51c97253ef3dc9702 Mon Sep 17 00:00:00 2001
From: Wouter de Jong
Date: Thu, 13 Jul 2023 12:28:51 +0200
Subject: [PATCH] Fix performance of InlineLexer by delaying URI scheme
checking
---
.../src/RestructuredText/Parser/InlineLexer.php | 2 +-
tests/Functional/tests/guilabel/guilabel.html | 2 +-
tests/Functional/tests/guilabel/guilabel.rst | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/packages/guides-restructured-text/src/RestructuredText/Parser/InlineLexer.php b/packages/guides-restructured-text/src/RestructuredText/Parser/InlineLexer.php
index ee58f322c..25a6a96bd 100644
--- a/packages/guides-restructured-text/src/RestructuredText/Parser/InlineLexer.php
+++ b/packages/guides-restructured-text/src/RestructuredText/Parser/InlineLexer.php
@@ -59,7 +59,6 @@ protected function getCatchablePatterns(): array
return [
'\\\\``', // must be a separate case, as the next pattern would split in "\`" + "`", causing it to become a intepreted text
'\\\\[\s\S]', // Escaping hell... needs escaped slash in regex, but also in php.
- ExternalReferenceResolver::SUPPORTED_SCHEMAS . ':[-a-zA-Z0-9()@:%_\\+.~#?&\\/=]*[-a-zA-Z0-9()@%_\\+~#&\\/=]', // standalone hyperlinks
'\\S+@\\S+\\.\\S+',
'[a-z0-9-]+_{2}', //Inline href.
'[a-z0-9-]+_{1}(?=[\s\.+]|$)', //Inline href.
@@ -76,6 +75,7 @@ protected function getCatchablePatterns(): array
'|',
'\\*\\*',
'\\*',
+ '\b(?Lorem ipsum dolor sit amet Foo Bar.
-Lorem ipsum dolor sit ametFoo Bar.
+Lorem ipsum dolor sit amet:guilabel:Foo Bar
.
Lorem ipsum dolor sit amet Foo-Bar.
diff --git a/tests/Functional/tests/guilabel/guilabel.rst b/tests/Functional/tests/guilabel/guilabel.rst
index ad1b821da..c2d82b70d 100644
--- a/tests/Functional/tests/guilabel/guilabel.rst
+++ b/tests/Functional/tests/guilabel/guilabel.rst
@@ -3,4 +3,4 @@ Lorem ipsum dolor sit amet :guilabel:`Foo Bar`.
Lorem ipsum dolor sit amet:guilabel:`Foo Bar`.
-Lorem ipsum dolor sit amet :guilabel:`Foo-Bar`.
\ No newline at end of file
+Lorem ipsum dolor sit amet :guilabel:`Foo-Bar`.