[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
emacs-29 38c35bf0f6: Clean up treesit-default-defun-skipper and add comm
From: |
Yuan Fu |
Subject: |
emacs-29 38c35bf0f6: Clean up treesit-default-defun-skipper and add comments |
Date: |
Thu, 29 Dec 2022 04:43:38 -0500 (EST) |
branch: emacs-29
commit 38c35bf0f6a938001dfecbe439addf8fb62897c6
Author: Yuan Fu <casouri@gmail.com>
Commit: Yuan Fu <casouri@gmail.com>
Clean up treesit-default-defun-skipper and add comments
* lisp/treesit.el (treesit-default-defun-skipper): Clean up, fix some
small issue, add comment.
---
lisp/treesit.el | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/lisp/treesit.el b/lisp/treesit.el
index 4ee0fba79b..0ba4395a6b 100644
--- a/lisp/treesit.el
+++ b/lisp/treesit.el
@@ -1744,13 +1744,17 @@ this function depends on `treesit-defun-type-regexp' and
This function tries to move to the beginning of a line, either by
moving to the empty newline after a defun, or to the beginning of
the current line if the beginning of the defun is indented."
- (cond ((and (looking-at (rx (* (or " " "\\t")) "\n"))
- (not (looking-at (rx bol))))
- (goto-char (match-end 0)))
- ((save-excursion
- (skip-chars-backward " \t")
- (eq (point) (line-beginning-position)))
- (goto-char (line-beginning-position)))))
+ ;; Moving forward, point at the end of a line and not already on an
+ ;; empty line: go to BOL of the next line (which hopefully is an
+ ;; empty line).
+ (cond ((and (looking-at (rx (* (or " " "\t")) "\n"))
+ (not (bolp)))
+ (forward-line 1))
+ ;; Moving backward, but there are some whitespace (and only
+ ;; whitespace) between point and BOL: go back to BOL.
+ ((looking-back (rx (+ (or " " "\t")))
+ (line-beginning-position))
+ (beginning-of-line))))
;; prev-sibling:
;; 1. end-of-node before pos
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- emacs-29 38c35bf0f6: Clean up treesit-default-defun-skipper and add comments,
Yuan Fu <=