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

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

[nongnu] elpa/scala-mode 6f49104 193/217: scala-syntax:propertize-dollar


From: ELPA Syncer
Subject: [nongnu] elpa/scala-mode 6f49104 193/217: scala-syntax:propertize-dollar
Date: Sun, 29 Aug 2021 11:31:11 -0400 (EDT)

branch: elpa/scala-mode
commit 6f49104c182ec1cc8b30314dc92d02f4752106cf
Author: Josef Vlach <vlach.josef@gmail.com>
Commit: Sam Halliday <sam.halliday@gmail.com>

    scala-syntax:propertize-dollar
---
 scala-mode-syntax.el    | 14 ++++++++++----
 test/scala-mode-test.el | 19 +++++++++++++++++++
 2 files changed, 29 insertions(+), 4 deletions(-)

diff --git a/scala-mode-syntax.el b/scala-mode-syntax.el
index 05e6dd1..3535d89 100644
--- a/scala-mode-syntax.el
+++ b/scala-mode-syntax.el
@@ -616,9 +616,14 @@ symbol constituents (syntax 3)."
   (save-excursion
     (goto-char start)
     (while (re-search-forward scala-syntax:quotedid-re end t)
-      (let ((match-beg (match-beginning 0))
-            (match-end (match-end 0)))
-        (put-text-property match-beg match-end 'syntax-table '(3 . nil))))))
+      (scala-syntax:put-syntax-table-property 0 '(3 . nil)))))
+
+(defun scala-syntax:propertize-dollar (start end)
+  "Mark all $ occurences as punctuation (syntax 1)"
+  (save-excursion
+    (goto-char start)
+    (while (re-search-forward "\\$" end t)
+      (scala-syntax:put-syntax-table-property 0 '(1 . nil)))))
 
 (defun scala-syntax:propertize (start end)
   "See syntax-propertize-function"
@@ -626,7 +631,8 @@ symbol constituents (syntax 3)."
   (scala-syntax:propertize-shell-preamble start end)
   (scala-syntax:propertize-underscore-and-idrest start end)
   (scala-syntax:propertize-special-symbols start end)
-  (scala-syntax:propertize-quotedid start end))
+  (scala-syntax:propertize-quotedid start end)
+  (scala-syntax:propertize-dollar start end))
 
 ;;;;
 ;;;; Syntax navigation functions
diff --git a/test/scala-mode-test.el b/test/scala-mode-test.el
index 9b51b85..d729cd1 100644
--- a/test/scala-mode-test.el
+++ b/test/scala-mode-test.el
@@ -32,6 +32,7 @@ object Ensime {
     ('font-lock-comment-delimiter-face "D")
     ('font-lock-doc-face "U")
     ('font-lock-type-face "T")
+    ('font-lock-string-face "S")
     (_ "?")))
 
 (ert-deftest smt:syntax-class-and-font-lock-test-1 ()
@@ -147,3 +148,21 @@ object Ensime {
    "val c = 1 /////////// big comment"
    "222020102011111111111022202222222"
    "KKK-V-K-C-DDDDDDDDDDDDOOOOOOOOOOO"))
+
+(ert-deftest smt:syntax-class-and-font-lock-test-20 ()
+  (smt:test
+   "val c = s\"result $sum\""
+   "2220201027222222012227"
+   "KKK-V-K--SSSSSSSSVVVVS"))
+
+(ert-deftest smt:syntax-class-and-font-lock-test-21 ()
+  (smt:test
+   "val c = s\"$sum-123\""
+   "2220201027122212227"
+   "KKK-V-K--SVVVVSSSSS"))
+
+(ert-deftest smt:syntax-class-and-font-lock-test-22 ()
+  (smt:test
+   "val c = s\"${sum.getOrElse(\"\")} - $sum\""
+   "22202010271422212222222224775501012227"
+   "KKK-V-K--SSSSSSSSSSSSSSSSSSSSSSSSSSSSS"))



reply via email to

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