From 78589bee362086fe30fd852c0e97a60fc7f29f96 Mon Sep 17 00:00:00 2001 From: Chris Grieser <73286100+chrisgrieser@users.noreply.github.com> Date: Fri, 10 Jan 2025 18:26:17 +0100 Subject: [PATCH] fix: values containing a `=` being cut off (#60) --- scripts/write-citation-picker-buffer.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/write-citation-picker-buffer.js b/scripts/write-citation-picker-buffer.js index 6f45e0a..1190373 100755 --- a/scripts/write-citation-picker-buffer.js +++ b/scripts/write-citation-picker-buffer.js @@ -174,12 +174,12 @@ function bibtexParse(rawBibtexStr) { const properties = propertyStr.trim().split(/,(?=\s*[\w-]+\s*=)/); for (const line of properties) { - // GUARD erroneous BibTeX formatting, empty lines, etc. - if (!line.includes("=")) continue; + const equalSignPos = line.indexOf("="); + if (equalSignPos === -1) continue; // GUARD erroneous BibTeX formatting, empty lines, etc. - const field = line.split("=")[0].trim().toLowerCase(); + const field = line.slice(0, equalSignPos).trim().toLowerCase(); const value = line - .split("=")[1] + .slice(equalSignPos + 1) .replace(/{|}|,$/g, "") // remove TeX escaping .trim();