From 4d40adc7afc1284f1dfc2592860e1046cf5b8a13 Mon Sep 17 00:00:00 2001 From: Erin Millard Date: Sat, 17 Feb 2024 14:55:43 +1000 Subject: [PATCH 1/2] Fix start line numbers being highlighted --- src/index.ts | 2 +- .../highlightedLinesWithShowLineNumbersAt.md | 42 +++++++++++++++ ...highlightedLinesWithShowLineNumbersAt.html | 54 +++++++++++++++++++ 3 files changed, 97 insertions(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 4d4d5b5..d42e604 100644 --- a/src/index.ts +++ b/src/index.ts @@ -353,7 +353,7 @@ export default function rehypePrettyCode( const lineNumbers: number[] = []; if (meta) { - const matches = meta.matchAll(/\{(.*?)\}/g); + const matches = meta.matchAll(/(? x - y; const multiply = (x, y) => x * y; ``` + +showLineNumbers{3} {2,4-5} + +```js showLineNumbers{3} {2,4-5} +// should not be highlighted +// should be highlighted +// should not be highlighted +// should be highlighted +// should be highlighted +// should not be highlighted +``` + +{2,4-5} showLineNumbers{3} + +```js {2,4-5} showLineNumbers{3} +// should not be highlighted +// should be highlighted +// should not be highlighted +// should be highlighted +// should be highlighted +// should not be highlighted +``` + +showLineNumbers{3} {2-4} + +```js showLineNumbers{3} {2-4} +// should not be highlighted +// should be highlighted +// should be highlighted +// should be highlighted +// should not be highlighted +``` + +{2-4} showLineNumbers{3} + +```js {2-4} showLineNumbers{3} +// should not be highlighted +// should be highlighted +// should be highlighted +// should be highlighted +// should not be highlighted +``` diff --git a/test/results/highlightedLinesWithShowLineNumbersAt.html b/test/results/highlightedLinesWithShowLineNumbersAt.html index b40839f..c14907d 100644 --- a/test/results/highlightedLinesWithShowLineNumbersAt.html +++ b/test/results/highlightedLinesWithShowLineNumbersAt.html @@ -86,3 +86,57 @@

Highlighted lines with showLineNumbersAt

const multiply = (x, y) => x * y; +

showLineNumbers{3} {2,4-5}

+
+
// should not be highlighted
+// should be highlighted
+// should not be highlighted
+// should be highlighted
+// should be highlighted
+// should not be highlighted
+
+

{2,4-5} showLineNumbers{3}

+
+
// should not be highlighted
+// should be highlighted
+// should not be highlighted
+// should be highlighted
+// should be highlighted
+// should not be highlighted
+
+

showLineNumbers{3} {2-4}

+
+
// should not be highlighted
+// should be highlighted
+// should be highlighted
+// should be highlighted
+// should not be highlighted
+
+

{2-4} showLineNumbers{3}

+
+
// should not be highlighted
+// should be highlighted
+// should be highlighted
+// should be highlighted
+// should not be highlighted
+
From 7c25e97ee28d50efbaf87f8e9e8cb9bbee4fdb5b Mon Sep 17 00:00:00 2001 From: Erin Millard Date: Sat, 17 Feb 2024 19:35:14 +1000 Subject: [PATCH 2/2] Avoid regex negative lookbehind for compatibility --- src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index d42e604..fc7888e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -353,7 +353,7 @@ export default function rehypePrettyCode( const lineNumbers: number[] = []; if (meta) { - const matches = meta.matchAll(/(?