newcomment.el (comment-line): New command on C-x C-;.
This commit is contained in:
parent
61320cc95c
commit
97cb255360
3 changed files with 39 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2015-02-08 Artur Malabarba <bruce.connor.am@gmail.com>
|
||||
|
||||
* newcomment.el (comment-line): New command.
|
||||
|
||||
* bindings.el (ctl-x-map): Bind to `C-x C-;'.
|
||||
|
||||
2015-02-08 Oleh Krehel <ohwoeowho@gmail.com>
|
||||
|
||||
* outline.el (outline-show-entry): Fix one invisible char for the
|
||||
|
|
|
@ -1130,6 +1130,7 @@ if `inhibit-field-text-motion' is non-nil."
|
|||
(define-key esc-map "j" 'indent-new-comment-line)
|
||||
(define-key esc-map "\C-j" 'indent-new-comment-line)
|
||||
(define-key ctl-x-map ";" 'comment-set-column)
|
||||
(define-key ctl-x-map "C-;" 'comment-line)
|
||||
(define-key ctl-x-map "f" 'set-fill-column)
|
||||
(define-key ctl-x-map "$" 'set-selective-display)
|
||||
|
||||
|
|
|
@ -1451,6 +1451,38 @@ unless optional argument SOFT is non-nil."
|
|||
(end-of-line 0)
|
||||
(insert comend))))))))))))
|
||||
|
||||
;;;###autoload
|
||||
(defun comment-line (n)
|
||||
"Comment or uncomment current line and leave point after it.
|
||||
With positive prefix, apply to N lines including current one.
|
||||
With negative prefix, apply to -N lines above. Also, further
|
||||
consecutive invocations of this command will inherit the negative
|
||||
argument.
|
||||
|
||||
If region is active, comment lines in active region instead.
|
||||
Unlike `comment-dwim', this always comments whole lines."
|
||||
(interactive "p")
|
||||
(if (use-region-p)
|
||||
(comment-or-uncomment-region
|
||||
(save-excursion
|
||||
(goto-char (region-beginning))
|
||||
(line-beginning-position))
|
||||
(save-excursion
|
||||
(goto-char (region-end))
|
||||
(line-end-position)))
|
||||
(when (and (eq last-command 'comment-line-backward)
|
||||
(natnump n))
|
||||
(setq n (- n)))
|
||||
(let ((range
|
||||
(list (line-beginning-position)
|
||||
(goto-char (line-end-position n)))))
|
||||
(comment-or-uncomment-region
|
||||
(apply #'min range)
|
||||
(apply #'max range)))
|
||||
(forward-line 1)
|
||||
(back-to-indentation)
|
||||
(unless (natnump n) (setq this-command 'comment-line-backward)))
|
||||
|
||||
(provide 'newcomment)
|
||||
|
||||
;;; newcomment.el ends here
|
||||
|
|
Loading…
Add table
Reference in a new issue