Implement prefix arg for 'c-ts-mode-toggle-comment-style'
* lisp/progmodes/c-ts-mode.el (c-ts-mode-toggle-comment-style): Actually implement the optional numeric arg mentioned in the docstring. Copyright-paperwork-exempt: yes
This commit is contained in:
parent
eb2ab52fb0
commit
c2b5c6acc5
1 changed files with 13 additions and 9 deletions
|
@ -88,19 +88,23 @@
|
|||
:safe 'integerp
|
||||
:group 'c)
|
||||
|
||||
(defun c-ts-mode-toggle-comment-style ()
|
||||
(defun c-ts-mode-toggle-comment-style (&optional arg)
|
||||
"Toggle the comment style between block and line comments.
|
||||
Optional numeric ARG, if supplied, switches to block comment
|
||||
style when positive, to line comment style when negative, and
|
||||
just toggles it when zero or left out."
|
||||
(interactive)
|
||||
(pcase-let ((`(,starter . ,ender)
|
||||
(if (string= comment-start "// ")
|
||||
(cons "/* " " */")
|
||||
(cons "// " ""))))
|
||||
(setq-local comment-start starter
|
||||
comment-end ender))
|
||||
(c-ts-mode-set-modeline))
|
||||
(interactive "P")
|
||||
(let ((prevstate-line (string= comment-start "// ")))
|
||||
(when (or (not arg)
|
||||
(zerop (setq arg (prefix-numeric-value arg)))
|
||||
(xor (> 0 arg) prevstate-line))
|
||||
(pcase-let ((`(,starter . ,ender)
|
||||
(if prevstate-line
|
||||
(cons "/* " " */")
|
||||
(cons "// " ""))))
|
||||
(setq-local comment-start starter
|
||||
comment-end ender))
|
||||
(c-ts-mode-set-modeline))))
|
||||
|
||||
(defun c-ts-mode-set-modeline ()
|
||||
(setq mode-name
|
||||
|
|
Loading…
Add table
Reference in a new issue