From 5691bb18c78e8d2e5856b9b508fd8e9d830d2593 Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Sun, 11 May 2014 01:37:47 -0400 Subject: Add km/org-sort-heading-ignoring-articles --- lisp/init-org.el | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'lisp') diff --git a/lisp/init-org.el b/lisp/init-org.el index 1c52630..86a051d 100644 --- a/lisp/init-org.el +++ b/lisp/init-org.el @@ -139,6 +139,20 @@ under the current heading." (goto-char (+ (org-find-exact-headline-in-buffer heading nil t) chars-after-heading)))) +(defun km/org-sort-heading-ignoring-articles () + "Sort alphabetically, but ignore any leading articles." + (if (looking-at org-complex-heading-regexp) + (let ((ignored-words '("a" "an" "the")) + heading heading-words) + (setq heading + (funcall 'downcase + (org-sort-remove-invisible (match-string 4)))) + (setq heading-words (split-string heading)) + (when (member (car heading-words) ignored-words) + (setq heading-words (cdr heading-words))) + (mapconcat 'identity heading-words " ")) + nil)) + ;;; Org in other modes (defun km/load-orgstruct () (turn-on-orgstruct++) -- cgit v1.2.3