Specify the matching chars for JSX open/close parenthesis

* 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.
parent c4214e4d
Pipeline #1895 failed with stage
in 5 seconds
......@@ -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.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment