summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2020-10-22 15:20:04 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2020-10-22 15:22:05 +0200
commit45c1be62a1e92f3e688495880664a13d042e718c (patch)
tree1455a2527f807bfe5a6ac3475fc7fa945d9e241b /lisp
parent0d7d09b0ef1b3a939422d273be2fa348e8a148c8 (diff)
downloademacs-45c1be62a1e92f3e688495880664a13d042e718c.tar.gz
emacs-45c1be62a1e92f3e688495880664a13d042e718c.tar.bz2
emacs-45c1be62a1e92f3e688495880664a13d042e718c.zip
Comment JSX lines using JSX syntax
* lisp/progmodes/js.el (js-jsx--comment-region): New function (bug#41696). (js-jsx-mode): Use it.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/progmodes/js.el11
1 files changed, 11 insertions, 0 deletions
diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el
index 5c50e2accdf..f3cfbbb948f 100644
--- a/lisp/progmodes/js.el
+++ b/lisp/progmodes/js.el
@@ -4656,8 +4656,19 @@ could set `js-jsx-syntax' to t in your init file, or in a
one of the aforementioned options instead of using this mode."
:group 'js
(js-jsx-enable)
+ (setq-local comment-region-function #'js-jsx--comment-region)
(js-use-syntactic-mode-name))
+(defun js-jsx--comment-region (beg end &optional arg)
+ (if (or (js-jsx--context)
+ (save-excursion
+ (skip-chars-forward " \t")
+ (js-jsx--looking-at-start-tag-p)))
+ (let ((comment-start "{/* ")
+ (comment-end " */}"))
+ (comment-region-default beg end arg))
+ (comment-region-default beg end arg)))
+
;;;###autoload (defalias 'javascript-mode 'js-mode)
(eval-after-load 'folding