Emacs org-mode; вставьте ящик свойств при создании заголовка - PullRequest
0 голосов
/ 08 марта 2020

Я хочу вставить при создании заголовка ящик СВОЙСТВА. Пока у меня есть это

(defadvice org-insert-heading (after add-id-stuff activate)
  (template-myid))

(defun template-myid ()
  (insert "\n:PROPERTIES:\n:TIME: "
      (format "%s" (format-time-string "%Y-%m-%dT%H:%M:%S"))
      "\n:VERTEX: "
      (format "%s" (shell-command "uuidgen" t))
      "\n:EDGES:  \n:END:"))

Это работает - вроде. Моя проблема в том, что uuid разбрасывают вокруг. Вывод выглядит так:

* Heading
:PROPERTIES:
:TIME: 2020-03-10T23:34:17
:VERTEX: 12836
:EDGES:  
:END:32bf9499-f9e2-49d9-b8e7-9edb40272411

Не уверен, как заставить это себя вести. Было бы неплохо просто вызвать org-tempo и вставить мой готовый шаблон, но я не понял, как это сделать ...

1 Ответ

0 голосов
/ 11 марта 2020

Это работает

(defadvice org-insert-heading (after add-id-stuff activate)
  (template-myid))

(defun template-myid ()
  (insert "\n:PROPERTIES:\n:TIME: "
      (format-time-string "%Y-%m-%dT%H:%M:%S")
      "\n:VERTEX: "
      (org-id-uuid)
      "\n:EDGES:  \n:END:"))

, который произвел

* heading
:PROPERTIES:
:TIME: 2020-03-11T08:11:36
:VERTEX: 35e40480-7708-4003-9c84-f950b7ce87ce
:EDGES:  
:END:

Получил помощь по предложению NickD выше, D iego Zamboni в списке рассылки в режиме org (emacs-orgmode@gnu.org), статья Криса Веллонса , а также загадочные сообщения о подозреваемых. Тем не менее, я не уверен, почему (shell-command "uuidgen" t) производит два выхода. Вот как они выглядят в *scratch*

(shell-command "uuidgen" t)
2827
b5da7e0a-84c0-4db8-91f3-871b681f3022

(org-id-uuid)
"0bb7a4e1-9fc2-4428-b8de-a2d9ef5c56ab"

, хотя прямая uuidgen в командной строке bash создает только UUID. Что происходит, чтобы произвести 2827 выше в первую очередь? Я не мог понять *Help* на shell-command.

Функция (org-id-uuid) находится в org-id.el и кажется очень тщательной в ее случайности.

Кроме того, кто-нибудь делает знаете, как я мог бы сделать это с помощью advise функции в шаблонах темпа режима org? Я никогда не мог понять, какая функция на самом деле обрабатывает <...-TAB.

...