[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] getting file properties
From: |
Nicolas Goaziou |
Subject: |
Re: [O] getting file properties |
Date: |
Sun, 05 May 2013 09:36:24 +0200 |
Hello,
Nick Dokos <address@hidden> writes:
> Here's one way:
>
> (defun jk-org-kwds ()
> (let* ((parse-tree (org-element-parse-buffer))
> (keys (org-element-map parse-tree 'keyword (function identity))))
> (mapcar (function (lambda (x) (cons (org-element-property :key x)
> (org-element-property :value x))))
> keys)))
>
> This returns a list of (KEY. VALUE) pairs.
>
> I'm sure there are other (better, cheaper) ways, but I'm going through
> org-element.el, and having that hammer in hand, everything looks like
> a nail to me :-)
I suggest the slightly more efficient variation:
(defun jk-org-kwds ()
(org-element-map (org-element-parse-buffer 'element) 'keyword
(lambda (keyword) (cons (org-element-property :key keyword)
(org-element-property :value keyword)))))
The optional argument `element' prevents `org-element-parse-buffer' from
diving too deep and `org-element-map' does the job of `mapcar'.
Regards,
--
Nicolas Goaziou