Pregunta:
Tengo un montón de archivos en modo org que publico en HTML para una base de conocimiento, a veces la publicación falla debido a un enlace roto o algo así y es difícil encontrar el problema.
Recientemente he estado usando org-lint para encontrar los problemas. ¿Hay alguna forma de ejecutar esto automáticamente a través de flycheck?
Respuesta:
Intenté restringir el linting a un verificador con (org-lint '(link-to-local-file))
, sin embargo, el análisis todavía va a inducir un retraso notable. Quizás limitar el linter al subárbol actual o usar la biblioteca async
puede mejorar el rendimiento. De todos modos, a continuación se muestra una configuración de flycheck bastante simple para org-lint
:
(flycheck-define-generic-checker 'org-lint
"Syntax checker for org-lint."
:start 'flycheck-org-lint-start
:modes '(org-mode))
(defun flycheck-org-lint-start (checker callback)
(funcall
callback 'finished
(save-excursion
(mapcar
(lambda (err)
(goto-char (car err))
(flycheck-error-new-at
(org-current-line) (1+ (current-column))
'warning (cadr err) :checker checker))
(org-lint-link-to-local-file (org-element-parse-buffer))))))
(add-to-list 'flycheck-checkers 'org-lint)