emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master 9545519 26/28: Add open/close parenthesis syntax t


From: Jackson Ray Hamilton
Subject: [Emacs-diffs] master 9545519 26/28: Add open/close parenthesis syntax to “<” and “>” in JSX
Date: Tue, 9 Apr 2019 02:00:16 -0400 (EDT)

branch: master
commit 9545519572d47b4712f27e53e7b64bf88d473877
Author: Jackson Ray Hamilton <address@hidden>
Commit: Jackson Ray Hamilton <address@hidden>

    Add open/close parenthesis syntax to “<” and “>” in JSX
    
    * lisp/progmodes/js.el (js-jsx--syntax-propertize-tag): Like in
    sgml-mode, treat “<” and “>” like open/close parenthesis, making the
    text more navigable via forward-sexp, etc.
---
 lisp/progmodes/js.el | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el
index 9185371..1cec41d 100644
--- a/lisp/progmodes/js.el
+++ b/lisp/progmodes/js.el
@@ -2099,6 +2099,8 @@ testing for syntax only valid as JSX."
                          (< (point) end)))
         (cond
          ((= (char-after) ?>)
+          ;; Make the closing “>” a close parenthesis.
+          (put-text-property (point) (1+ (point)) 'syntax-table '(5))
           (forward-char)
           (setq unambiguous t)
           (throw 'stop nil))
@@ -2183,6 +2185,8 @@ testing for syntax only valid as JSX."
     (when unambiguous
       ;; Save JSXBoundaryElement’s name’s match data for font-locking.
       (if name-beg (put-text-property name-beg (1+ name-beg) 'js-jsx-tag-name 
name-match-data))
+      ;; Make the opening “<” an open parenthesis.
+      (put-text-property tag-beg (1+ tag-beg) 'syntax-table '(4))
       ;; Prevent “out of range” errors when typing at the end of a buffer.
       (setq tag-end (if (eobp) (1- (point)) (point)))
       ;; Mark beginning and end of tag for font-locking.



reply via email to

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