Date: Wed, 23 Aug 2023 16:23:13 +0300
From: Dmitry Gutov<dmitry@gutov.dev>
On 23/08/2023 12:05, Augustin Chéneau (BTuin) wrote:
With the mode js-ts-mode, matching tokens (such as '()', '[]') can be
incorrectly paired by `show-paren-mode`. This is trivially reproducible
with this simple example:
(/foobar)/)
The first parenthesis is matched with the second one, which is inside a
regular expression pattern (between slashes), and the last one is not
paired.
The behavior should be the same as for string, the content of the regex
pattern should have no influence on the structure of the code. The first
parenthesis should match with the third one. Here, the first parenthesis
is matched with the last one:
("foobar)")
js-mode behaves correctly in both cases.
Sounds like js-ts-mode also needs a syntax-propertize-function, similar
to c-ts-mode, ruby-ts-mode and rust-ts-mode.
Others (typescript-ts-mode?) probably need it as well, at least modes
for those languages that have dedicated regexp or heredoc syntax.