[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.
- [Emacs-diffs] master 4b305bb 02/28: Refactor JSX indentation code to improve enclosing JSX discovery, (continued)
- [Emacs-diffs] master 4b305bb 02/28: Refactor JSX indentation code to improve enclosing JSX discovery, Jackson Ray Hamilton, 2019/04/09
- [Emacs-diffs] master 58c77f1 01/28: Add failing tests for JSX indentation bugs, Jackson Ray Hamilton, 2019/04/09
- [Emacs-diffs] master 4d2b5bb 07/28: Font-lock JSX while editing it by extending regions, Jackson Ray Hamilton, 2019/04/09
- [Emacs-diffs] master 462baab 19/28: Add tests for miscellaneous JSX parsing feats, Jackson Ray Hamilton, 2019/04/09
- [Emacs-diffs] master be86ece 04/28: js-syntax-propertize: Disambiguate JS from JSX, fixing some indents, Jackson Ray Hamilton, 2019/04/09
- [Emacs-diffs] master d9d1bb2 14/28: Rename tests to use the “.jsx” file extension, Jackson Ray Hamilton, 2019/04/09
- [Emacs-diffs] master 84b1cfb 15/28: Indent broken arrow function bodies as an N+1th arg, Jackson Ray Hamilton, 2019/04/09
- [Emacs-diffs] master 6f53576 05/28: Use js-jsx- prefix for functions and variables, Jackson Ray Hamilton, 2019/04/09
- [Emacs-diffs] master bf37078 12/28: Automatically detect JSX in JavaScript files, Jackson Ray Hamilton, 2019/04/09
- [Emacs-diffs] master cf416d9 28/28: Explain reasonings for JSX syntax support design decisions, Jackson Ray Hamilton, 2019/04/09
- [Emacs-diffs] master 9545519 26/28: Add open/close parenthesis syntax to “<” and “>” in JSX,
Jackson Ray Hamilton <=
- [Emacs-diffs] master 7c3ffda 27/28: Move curly functions closer to where they’re used, Jackson Ray Hamilton, 2019/04/09
- [Emacs-diffs] master 1a1ef28 10/28: Indent JSX as parsed in a JS context, Jackson Ray Hamilton, 2019/04/09
- [Emacs-diffs] master 55c80d4 17/28: Indent expressions in JSXAttributes relative to the attribute’s name, Jackson Ray Hamilton, 2019/04/09
- [Emacs-diffs] master 18bbfc4 25/28: Permit non-ASCII identifiers in JS, Jackson Ray Hamilton, 2019/04/09
- [Emacs-diffs] master 98e36a3 21/28: Optimize js-jsx--enclosing-tag-pos, Jackson Ray Hamilton, 2019/04/09
- [Emacs-diffs] master 7a9dac5 22/28: Improve whitespace and unary keyword parsing, Jackson Ray Hamilton, 2019/04/09
- [Emacs-diffs] master 8b92719 13/28: Improve JSX syntax propertization, Jackson Ray Hamilton, 2019/04/09
- [Emacs-diffs] master afec451 18/28: Split JSX indentation calculation into several functions, Jackson Ray Hamilton, 2019/04/09
- [Emacs-diffs] master e48306f 23/28: Properly set a dynamic, syntactic mode name, Jackson Ray Hamilton, 2019/04/09
- [Emacs-diffs] master 7b2e3c6 20/28: Optimize js-jsx--matching-close-tag-pos, Jackson Ray Hamilton, 2019/04/09