From e5f958b92161732ae46ccc66ce3d6eea213cf925 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Mon, 19 Sep 2022 11:05:25 +0200 Subject: [PATCH] Handle line comments nested in block comments Fixes #76 --- src/parse/tokens.rs | 4 ++++ tests/ref/code/comment.png | Bin 2585 -> 2648 bytes tests/typ/code/comment.typ | 12 +++++++++++- tools/support/typst.tmLanguage.json | 23 ++++++++++++----------- 4 files changed, 27 insertions(+), 12 deletions(-) diff --git a/src/parse/tokens.rs b/src/parse/tokens.rs index e004dd37c..67d413fd0 100644 --- a/src/parse/tokens.rs +++ b/src/parse/tokens.rs @@ -591,6 +591,10 @@ impl<'s> Tokens<'s> { depth += 1; '_' } + ('/', '/') => { + self.line_comment(); + '_' + } _ => c, } } diff --git a/tests/ref/code/comment.png b/tests/ref/code/comment.png index d7b599763ac331cc9fb4155ddd44454cdd2759a6..b1c630a90a59c3aa007e15c7238d3d4a7372e3f9 100644 GIT binary patch literal 2648 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 literal 2585 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