From 08a474298aeb06f42019a3a0b0e6f1daa62a1b36 Mon Sep 17 00:00:00 2001 From: Daneel Date: Tue, 24 Feb 2026 15:08:13 +0100 Subject: [PATCH] feat(evil): di| ci| vi| text objects for org table cells --- config.el | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/config.el b/config.el index 175bbfc..f6f149f 100644 --- a/config.el +++ b/config.el @@ -1532,6 +1532,35 @@ current frame." :desc "Copy git link commit" "Y" #'git-link-commit)) +;;; ============================================================ +;;; EVIL — ORG TABLE CELL TEXT OBJECTS (di| ci| vi|) +;;; ============================================================ + +;; org-table text objects: "|" = cell (di|, ci|, vi|) +(after! evil-org + ;; Activate all key themes including textobjects + (evil-org-set-key-theme '(navigation insert textobjects additional calendar)) + + ;; Define inner table cell text object + (evil-define-text-object evil-org-inner-table-cell (count &optional beg end type) + "Inner org table cell (content between pipes)." + (when (org-at-table-p) + (let ((b (save-excursion + (search-backward "|") + (forward-char 1) + (skip-chars-forward " ") + (point))) + (e (save-excursion + (search-forward "|") + (backward-char 1) + (skip-chars-backward " ") + (point)))) + (list b e)))) + + (define-key evil-inner-text-objects-map "|" #'evil-org-inner-table-cell) + (define-key evil-outer-text-objects-map "|" #'evil-org-inner-table-cell)) + + ;;; ============================================================ ;;; FORGE — Gitea integration ;;; ============================================================