From 36ad01341a072f03634735b4fecef940f741a00d Mon Sep 17 00:00:00 2001 From: Emiliano Heyns Date: Sun, 28 Jan 2024 19:51:51 +0100 Subject: [PATCH 1/2] url + href --- .../grammars/latex.pegjs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/packages/unified-latex-util-pegjs/grammars/latex.pegjs b/packages/unified-latex-util-pegjs/grammars/latex.pegjs index 1ee9a773..69c4f213 100644 --- a/packages/unified-latex-util-pegjs/grammars/latex.pegjs +++ b/packages/unified-latex-util-pegjs/grammars/latex.pegjs @@ -150,6 +150,8 @@ special_macro "special macro" // for the special macros like \[ \] and \begin{} // math with $...$ / math_environment / environment + / url + / href square_bracket_argument = "[" @@ -172,6 +174,23 @@ square_bracket_argument ]; } +url + = escape m:"url" url:verbatim_group { + return [ + createNode("macro", { content: m }), + url, + ] + } + +href + = escape m:"href" url:verbatim_group label:group { + return [ + createNode("macro", { content: m }), + url, + label, + ] + } + verbatim_group = begin_group v:(!end_group x:. { return x; })* end_group { return createNode("group", { From 41395728202d49c39b12de631a803b0151748057 Mon Sep 17 00:00:00 2001 From: Emiliano Heyns Date: Sun, 28 Jan 2024 20:05:00 +0100 Subject: [PATCH 2/2] unified url/href handling --- .../unified-latex-util-pegjs/grammars/latex.pegjs | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/packages/unified-latex-util-pegjs/grammars/latex.pegjs b/packages/unified-latex-util-pegjs/grammars/latex.pegjs index 69c4f213..137aee73 100644 --- a/packages/unified-latex-util-pegjs/grammars/latex.pegjs +++ b/packages/unified-latex-util-pegjs/grammars/latex.pegjs @@ -151,7 +151,6 @@ special_macro "special macro" // for the special macros like \[ \] and \begin{} / math_environment / environment / url - / href square_bracket_argument = "[" @@ -175,22 +174,13 @@ square_bracket_argument } url - = escape m:"url" url:verbatim_group { + = escape m:("url"/"href") url:verbatim_group { return [ createNode("macro", { content: m }), url, ] } -href - = escape m:"href" url:verbatim_group label:group { - return [ - createNode("macro", { content: m }), - url, - label, - ] - } - verbatim_group = begin_group v:(!end_group x:. { return x; })* end_group { return createNode("group", {