[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] Add caching to org-buffer-property-keys
From: |
Thierry Banel |
Subject: |
Re: [O] Add caching to org-buffer-property-keys |
Date: |
Wed, 02 Mar 2016 19:48:52 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 |
Nice function!
Maybe a rewrite of (org-read-property-name) calling
(org-entry-properties) could speed up things.
(org-entry-properties) returns an assoc list of the local header properties.
Le 02/03/2016 12:29, Karl Voit a écrit :
> Hi!
>
> In short: can we get a cached org-buffer-property-keys please?
>
>
> My background story:
>
> I love using following function which gives me a neat functionality:
> I mark a string, press the keybinding shortcut, and gets asked which
> property should be replaced/filled with the marked region text.
>
> Very handy when you've got a new phone number of a contact which
> should find its way to the associated property.
>
> (defun my-org-region-to-property (&optional property)
> (interactive)
> ;; if no region is defined, do nothing
> (if (use-region-p)
> ;; if a region string is found, ask for a property and set property to
> ;; the string in the region
> (let ((val (replace-regexp-in-string
> "\\`[ \t\n]*" ""
> (replace-regexp-in-string "[ \t\n]*\\'" ""
> (substring (buffer-string)
> (- (region-beginning)
> 1)
> (region-end))))
> )
> ;; if none was stated by user, read property from user
> (prop (or property
> (org-read-property-name))))
> ;; set property
> (org-set-property prop val))))
>
> A big drawback is that I have to wait 18 seconds(!) until
> org-read-property-name which calls org-buffer-property-keys asks for
> the property. This is a real show stopper for this cool function.
>
> Since the properties of a buffer do not change that often, caching
> its previous result would make sense to me. This way, I only have to
> wait 18 seconds once per file on the first call.
>
> An alternative would be a org-read-property-name which uses only the
> properties of the current heading.
>
>
> Thanks for your support!
>