P: ¿Cómo puedo obtener una org
función de enlace personalizado para insertar una descripción automáticamente?
Me gustaría almacenar org
enlaces a archivos en un dired
búfer, pero preferiría que la descripción del enlace sea el nombre del archivo sin ruta en lugar de informar la ruta completa, es decir:
file:~/the/full/path/myfile.ext ; default, but no thanks
myfile.ext ; what I want
Ahora: org-store-link
codifica los enlaces desde dired
para proporcionar el valor predeterminado. En cambio, he escrito una función personalizada (anulación de la función codificada) y la agregué a org-store-link-functions
:
(defun dired-store-link ()
(when (derived-mode-p 'dired-mode)
(let ((file (dired-get-filename nil t)))
(setf file (if file
(abbreviate-file-name (expand-file-name file))
default-directory))
(org-store-link-props :type "dired"
:link file
:description (file-name-nondirectory file))
file)))
(add-to-list 'org-store-link-functions #'dired-store-link)
Hasta ahora todo bien, y funciona como se esperaba, pero para empezar:
- Cuando se llama
org-insert-link
con el comportamiento predeterminado incorporado, simplemente inserta el enlace sin pedirme una descripción. - Cuando llamo
org-insert-link
con mi función personalizada, me pide que ingrese una descripción (que se completa correctamente con el nombre del archivo almacenado en la:description
propiedad).
Prefiero que no me soliciten la descripción cada vez, y quiero org-insert-link
usar el valor :description
que establece la función personalizada.
¿Cómo puedo convencer org-insert-link
para usar el :description
automáticamente sin preguntarme?
link-location
odefault-description
en la funciónorg-insert-link
? Si el parámetro LINK-LOCATION no es nulo, este valor se usará como ubicación del enlace en lugar de leer uno de forma interactiva. Si el parámetro DEFAULT-DESCRIPTION no es nulo, este valor se usará como la descripción predeterminada.