emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/typescript-mode 56a1ea861f 082/222: Merge pull request #55


From: ELPA Syncer
Subject: [nongnu] elpa/typescript-mode 56a1ea861f 082/222: Merge pull request #55 from bkruczyk/fix-regex-font-locking
Date: Sun, 6 Feb 2022 16:59:19 -0500 (EST)

branch: elpa/typescript-mode
commit 56a1ea861f80979d376716629abfce45a8e5e2c7
Merge: 30391a518a 393ac6db0f
Author: Jostein Kjønigsen <jostein@kjonigsen.net>
Commit: GitHub <noreply@github.com>

    Merge pull request #55 from bkruczyk/fix-regex-font-locking
    
    Simplify regexp literal
---
 typescript-mode-tests.el | 23 +++++++++++++++++++++++
 typescript-mode.el       |  2 +-
 2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/typescript-mode-tests.el b/typescript-mode-tests.el
index 6933d4fb6b..4a9e4f0f4c 100644
--- a/typescript-mode-tests.el
+++ b/typescript-mode-tests.el
@@ -277,6 +277,29 @@ declare function declareFunctionDefn(x3: xty3, y3: yty3): 
ret3;"
       (("y0" "y1" "y2" "y3") . font-lock-variable-name-face)
       (("ret0" "ret1" "ret2" "ret3") . nil))))
 
+(ert-deftest font-lock/regexp ()
+  "Regular expresssions should be fontified as string constant."
+  (let ((content "=/foo/ (/bar/ ,/baz/ :/buzz/"))
+    (font-lock-test content
+                    '(("=" . nil) ("/foo/" . font-lock-string-face)
+                      ("(" . nil) ("/bar/" . font-lock-string-face)
+                      ("," . nil) ("/baz/" . font-lock-string-face)
+                      (":" . nil) ("/buzz/" . font-lock-string-face)))))
+
+(ert-deftest 
font-lock/text-after-trailing-regexp-delim-should-not-be-fontified ()
+  "Text after trailing regular expression delimiter should not be fontified."
+  (test-with-temp-buffer
+      "=/foo/g something // comment"
+    (should (eq (get-face-at "g something") nil)))
+  (test-with-temp-buffer
+      "=/foo\\bar/g something // comment"
+    (should (eq (get-face-at "g something") nil)))
+  (test-with-temp-buffer
+      "=/foo\\\\bar/g something // comment"
+    (should (eq (get-face-at "g something") nil)))
+  (test-with-temp-buffer
+      "=/foo\\\\/g something // comment"
+    (should (eq (get-face-at "g something") nil))))
 
 (defun flyspell-predicate-test (search-for)
   "This function runs a test on
diff --git a/typescript-mode.el b/typescript-mode.el
index 9d16f697d7..25918105a0 100644
--- a/typescript-mode.el
+++ b/typescript-mode.el
@@ -1871,7 +1871,7 @@ This performs fontification according to 
`typescript--class-styles'."
 ;; as the newline is escaped with \. Account for that in the regexp
 ;; below.
 (defconst typescript--regexp-literal
-  
"[=(,:]\\(?:\\s-\\|\n\\)*\\(/\\)\\(?:\\\\/\\|[^/*]\\)\\(?:\\\\/\\|[^/]\\)*\\(/\\)"
+  "[=(,:]\\(?:\\s-\\|\n\\)*\\(/\\)[^/]*\\(/\\)"
   "Regexp matching a typescript regular expression literal.
 Match groups 1 and 2 are the characters forming the beginning and
 end of the literal.")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]