blob: 782aab8808ad331aba6b857117edfea64fbff159 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
(defun bard/ryo-insert-p ()
"Return t if `ryo-modal-mode` is not bound or not active."
(not (bound-and-true-p ryo-modal-mode)))
(defun xah-beginning-of-line-or-block ()
"Move cursor to beginning of indent or line, end of previous block, in that order.
If `visual-line-mode' is on, beginning of line means visual line.
URL `http://xahlee.info/emacs/emacs/emacs_move_by_paragraph.html'
Created: 2018-06-04
Version: 2024-10-30"
(interactive)
(let ((xp (point)))
(if (or (eq (point) (line-beginning-position))
(eq last-command this-command))
(when (re-search-backward "\n[\t\n ]*\n+" nil :move)
(skip-chars-backward "\n\t ")
;; (forward-char)
)
(if visual-line-mode
(beginning-of-visual-line)
(if (eq major-mode 'eshell-mode)
(progn
(declare-function eshell-bol "esh-mode.el" ())
(eshell-bol))
(back-to-indentation)
(when (eq xp (point))
(beginning-of-line)))))))
(defun xah-end-of-line-or-block ()
"Move cursor to end of line or next block.
• When called first time, move cursor to end of line.
• When called again, move cursor forward by jumping over any sequence of whitespaces containing 2 blank lines.
• if `visual-line-mode' is on, end of line means visual line.
URL `http://xahlee.info/emacs/emacs/emacs_move_by_paragraph.html'
Created: 2018-06-04
Version: 2024-10-30"
(interactive)
(if (or (eq (point) (line-end-position))
(eq last-command this-command))
(re-search-forward "\n[\t\n ]*\n+" nil :move)
(if visual-line-mode
(end-of-visual-line)
(end-of-line))))
(provide 'bard-ryo)
|