Fix newline-and-indent advice forgetting indentation

e.g. in python-mode docstrings. The point-in-string case is no longer
handled, because indent-according-to-mode handles it properly already.
This commit is contained in:
Henrik Lissner 2019-05-15 14:56:07 -04:00
parent 5cd1fb2a52
commit b821bfca1f
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
2 changed files with 12 additions and 12 deletions

View file

@ -109,18 +109,18 @@ If ARG (universal argument), runs `compile' from the current directory."
((error "No kill-ring search backend available. Enable ivy or helm!")))))
;;;###autoload
(defun +default*newline-indent-and-continue-comments (_orig-fn)
"Inserts a newline and possibly indents it. Also continues comments if
executed from a commented line; handling special cases for certain languages
with weak native support."
(defun +default*newline-indent-and-continue-comments ()
"A replacement for `newline-and-indent'.
Continues comments if executed from a commented line, with special support for
languages with weak native comment continuation support (like C-family
languages)."
(interactive)
(cond ((sp-point-in-string) (newline))
((and (sp-point-in-comment)
(if (and (sp-point-in-comment)
comment-line-break-function)
(funcall comment-line-break-function))
(t
(funcall comment-line-break-function)
(newline nil t)
(indent-according-to-mode))))
(indent-according-to-mode)))
(defun doom--backward-delete-whitespace-to-column ()
"Delete back to the previous column of whitespace, or as much whitespace as

View file

@ -125,7 +125,7 @@
(advice-add #'delete-backward-char :override #'+default*delete-backward-char)
;; Makes `newline-and-indent' continue comments (and more reliably)
(advice-add #'newline-and-indent :around #'+default*newline-indent-and-continue-comments)))
(advice-add #'newline-and-indent :override #'+default*newline-indent-and-continue-comments)))
;;