[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Programmatically set TODO labels per file?
From: |
Arthur Miller |
Subject: |
Re: Programmatically set TODO labels per file? |
Date: |
Fri, 30 Apr 2021 16:35:56 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (windows-nt) |
Arthur Miller <arthur.miller@live.com> writes:
If anyone is interested, this is how I understand the org TODO per file
parsing:
The file is parsed in org-collect-keywords-1 in org.el.
Each #+TODO: line is lumped into one single string, which is a problem
when strings with spaces a concerned. Multiple #+TODO: lines will end up
in final multiple strings added into an alist which has a first element
a "TODO" string. The right thing would be to parse multiple strings per
each #+TODO: line. Now the org-collect-keyword-1 is not a trivial one,
so it would take me quite some time to understand, so I'll pass.
The thing I did that worked for me is wrong super-hackish thing, just an
experiment, so to say.
I have simply refactored the code where the string obtained from
org-collect-keywords is parsed, which is the very last part of
org-set-regexps-and-options, where main action seems to take place. That
let's me do what I wanted. It will completely replace whatever was
specified with #+ syntax, and the fontification won't be done
either. Also if file is reverted than #+ will completely replace what
was set with lisp. So not a clean thing, probably nothing to be used by
anyone, but it does what I roughly need for my init file :-).
test.org
Description: Text Data