emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] add additional tag (using %^G) to existing tag in org capture


From: Adam Porter
Subject: Re: [O] add additional tag (using %^G) to existing tag in org capture
Date: Fri, 08 Sep 2017 05:11:15 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

Xebar Saram <address@hidden> writes:

> the issues is that it dosent seem to add an additional tag to the already 
> defined tag list in the capture (:@work: ) but instead add another :TAG: field
> apart from the already existing tag field. so the final result looks like 
> this:
>
> ** TODO TEST :@work: :TAG:
>
> while i expect the %^G capture to add to the existing tag entry so it looks 
> like this
>
> ** TODO TEST :@work:TAG:

Hey Z,

I understand now.  Yes, that happens because org-capture-fill-template
inserts the tag text manually, like this:

#+BEGIN_SRC elisp
(let* ((org-last-tags-completion-table
        (org-global-tags-completion-table
         (cond ((equal key "G") (org-agenda-files))
               (file (list file))
               (t nil))))
       (org-add-colon-after-tag-completion t)
       (ins (mapconcat
             #'identity
             (org-split-string
              (completing-read
               (if prompt (concat prompt ": ") "Tags: ")
               'org-tags-completion-function nil nil nil
               'org-tags-history)
              "[^[:alnum:address@hidden")
             ":")))
  (when (org-string-nw-p ins)
    (unless (eq (char-before) ?:) (insert ":"))
    (insert ins)
    (unless (eq (char-after) ?:) (insert ":"))
    (and (org-at-heading-p)
         (let ((org-ignore-region t))
           (org-set-tags nil 'align)))))
#+END_SRC

It would be simple to have it use org-set-tags-to instead of inserting
them manually.  I guess that would be correct in the vast majority of
cases, however IIUC it would be a change in functionality, as the %^G
could be put anywhere in the template and insert tags there (which seems
like a strange thing to do, but you never know).  On the other hand, it
seems like what you're asking for would be the more expected
functionality, in which case this would be a bug fix.  So maybe the
maintainers would accept a patch for that, or maybe not...  :)




reply via email to

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