]> git.eshelyaron.com Git - emacs.git/commitdiff
Specify the matching chars for JSX open/close parenthesis
authorJackson Ray Hamilton <jackson@jacksonrayhamilton.com>
Tue, 4 Jun 2019 15:37:36 +0000 (08:37 -0700)
committerJackson Ray Hamilton <jackson@jacksonrayhamilton.com>
Tue, 4 Jun 2019 16:05:40 +0000 (09:05 -0700)
* lisp/progmodes/js.el (js-jsx--syntax-propertize-tag): Indicate the
matching parenthesis character (since JSX’s < and > aren’t typical
parenthesis) for the sake of packages like rainbow-delimiters which
need that information.

lisp/progmodes/js.el

index 9a077b99a4662dfb18c014d72fad3042697a09e6..161fd5c00b0da8f4629604929e6236d41defb362 100644 (file)
@@ -2220,7 +2220,8 @@ testing for syntax only valid as JSX."
         (cond
          ((= (char-after) ?>)
           ;; Make the closing “>” a close parenthesis.
-          (put-text-property (point) (1+ (point)) 'syntax-table '(5))
+          (put-text-property (point) (1+ (point)) 'syntax-table
+                             (eval-when-compile (string-to-syntax ")<")))
           (forward-char)
           (setq unambiguous t)
           (throw 'stop nil))
@@ -2306,7 +2307,8 @@ testing for syntax only valid as JSX."
       ;; 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))
+      (put-text-property tag-beg (1+ tag-beg) 'syntax-table
+                         (eval-when-compile (string-to-syntax "(>")))
       ;; 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.