From ebc5f73bcc37d609a113870b8bcafb299d8aa8a8 Mon Sep 17 00:00:00 2001 From: Dave Holoway Date: Sun, 7 Jun 2020 15:17:54 +0100 Subject: [PATCH] use better regex for string literals --- langserver/java/parser9.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/langserver/java/parser9.js b/langserver/java/parser9.js index f5baac5..3aec27a 100644 --- a/langserver/java/parser9.js +++ b/langserver/java/parser9.js @@ -210,7 +210,7 @@ function parse2(source) { */ function tokenize(source) { const blocks = []; - const re = /(\/\*[\d\D]*?\*\/)|(\/\/.*)|(\s+)|([a-zA-Z_]\w*)|(".*?")|('\\?.')|(\d\w*)|(::|\.{3}|[(){}\[\];,.@])|([=!~*/%^]=?|[?:]|>>?>?=?|<]?)|(.)|$/g; + const re = /(\/\*[\d\D]*?\*\/)|(\/\/.*)|(\s+)|([a-zA-Z_]\w*)|("[^\r\n\\"]*(?:\\.[^\r\n\\"]*)*")|('\\?.')|(\d\w*)|(::|\.{3}|[(){}\[\];,.@])|([=!~*/%^]=?|[?:]|>>?>?=?|<]?)|(.)|$/g; let lastIndex = 0; for (let m; m = re.exec(source);) { if (m.index > lastIndex) {