From 1cb9295eb7b124b2da6f67ff200df6d21d1065a2 Mon Sep 17 00:00:00 2001 From: Yuxuan Kang Date: Sun, 30 Jan 2022 02:51:07 +0900 Subject: [PATCH] feat(org): add marking by table field --- the-org-mode-expansions.el | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/the-org-mode-expansions.el b/the-org-mode-expansions.el index 571bc3d..cb3f462 100644 --- a/the-org-mode-expansions.el +++ b/the-org-mode-expansions.el @@ -38,6 +38,22 @@ (declare-function org-up-element "org") (declare-function org-mark-subtree "org") +(defun er/mark-org-table-field () + (interactive) + (when (and + (org-at-table-p) + (> (length + (string-trim + (save-excursion (org-table-get-field)))) + 0)) + ;; Move to beginning of field. Cannot use + ;; (org-table-beginning-of-field) here because it moves to the + ;; previous field if point is already at beginning. + (org-table-get-field) + (org-table-end-of-field 0) + (set-mark (point)) + (org-table-beginning-of-field 0))) + (defun er/mark-org-element () (interactive) (let* ((el (org-element-at-point)) @@ -105,6 +121,7 @@ (append (remove #'er/mark-defun er/try-expand-list) '(org-mark-subtree + er/mark-org-table-field er/mark-org-element er/mark-org-element-parent er/mark-org-code-block