emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Getting beginning postiion of a description list


From: Nicolas Richard
Subject: Re: [O] Getting beginning postiion of a description list
Date: Fri, 16 Jan 2015 08:31:05 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

Calvin Young <address@hidden> writes:
> How do I need to massage this to give me the beginning of the whole
> list item? Is there a recommended solution that'd work for both
> description lists *and* plain lists?

This seems to work for me:

(defun yf/org-beginning-of-item ()
  (let ((element (org-element-at-point)))
    ;; 'plain-list is returned when at the beginning of the first item in the 
list.
    (when (eq 'plain-list (org-element-type element))
      (save-excursion
        (forward-char)
        (setq element (org-element-at-point))))
    ;; look ancestors to find an 'item element.
    (while (and element
                (not
                 (eq 'item
                     (org-element-type element))))
      (setq element (org-element-property :parent element)))
    (if (not element)
        (error "Not in a list item")
      (goto-char
       (+ (length (org-element-property :bullet element))
          (org-element-property :begin element))))))

Probably one could use the list API directly (from org-list.el) too.

-- 
Nicolas Richard



reply via email to

[Prev in Thread] Current Thread [Next in Thread]