]> git.eshelyaron.com Git - emacs.git/commitdiff
Comment JSX lines using JSX syntax
authorLars Ingebrigtsen <larsi@gnus.org>
Thu, 22 Oct 2020 13:20:04 +0000 (15:20 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 22 Oct 2020 13:22:05 +0000 (15:22 +0200)
* lisp/progmodes/js.el (js-jsx--comment-region): New function
(bug#41696).
(js-jsx-mode): Use it.

lisp/progmodes/js.el

index 5c50e2accdf6b4e323604822be64d12f7bca499d..f3cfbbb948f2ef3e73a0b5dbec831b19571d293f 100644 (file)
@@ -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