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

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

[nongnu] elpa/julia-mode 483805b 257/352: Merge pull request #29 from nv


From: ELPA Syncer
Subject: [nongnu] elpa/julia-mode 483805b 257/352: Merge pull request #29 from nverno/master
Date: Sun, 29 Aug 2021 11:22:57 -0400 (EDT)

branch: elpa/julia-mode
commit 483805b938a3fe543e075cbb60eefd4af805ad23
Merge: 362be60 2b15d76
Author: Yichao Yu <yyc1992@gmail.com>
Commit: GitHub <noreply@github.com>

    Merge pull request #29 from nverno/master
    
    font-locking for symbols at beginning of line
---
 julia-mode-tests.el | 15 +++++++++++++++
 julia-mode.el       |  2 +-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/julia-mode-tests.el b/julia-mode-tests.el
index 61d1d31..92c4568 100644
--- a/julia-mode-tests.el
+++ b/julia-mode-tests.el
@@ -54,6 +54,16 @@
        (should (equal (buffer-substring-no-properties (point-min) (point-max))
                       ,to)))))
 
+(defmacro julia--should-font-lock (text pos face)
+  "Assert that TEXT at position POS gets font-locked with FACE in 
`julia-mode'."
+  `(with-temp-buffer
+     (julia-mode)
+     (insert ,text)
+     (if (fboundp 'font-lock-ensure)
+         (font-lock-ensure (point-min) (point-max))
+       (with-no-warnings
+         (font-lock-fontify-buffer)))
+     (should (eq ,face (get-text-property ,pos 'face)))))
 
 (ert-deftest julia--test-indent-if ()
   "We should indent inside if bodies."
@@ -350,6 +360,11 @@ using Foo: bar ,
     quux
 notpartofit"))
 
+(ert-deftest julia--test-symbol-font-locking-at-bol ()
+  "Symbols get font-locked at beginning or line."
+  (julia--should-font-lock
+   ":a in keys(Dict(:a=>1))" 1 'julia-quoted-symbol-face))
+
 (defun julia--run-tests ()
   (interactive)
   (if (featurep 'ert)
diff --git a/julia-mode.el b/julia-mode.el
index 09c302f..6f204d1 100644
--- a/julia-mode.el
+++ b/julia-mode.el
@@ -291,7 +291,7 @@ This function provides equivalent functionality, but makes 
no efforts to optimis
 
 (defconst julia-quoted-symbol-regex
   ;; :foo and :foo2 are valid, but :123 is not.
-  (rx (or whitespace "(" "[" "," "=")
+  (rx (or bol whitespace "(" "[" "," "=")
       (group ":" (or letter (syntax symbol)) (0+ (or word (syntax symbol))))))
 
 (defconst julia-font-lock-keywords



reply via email to

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