Fontify les liens brisés en mode org

8

Si je crée un mauvais [[file:link]]ou un interne [[Link]]qui n'existe pas, je voudrais le faire org-modeen utilisant org-warningface. Comment puis-je faire cela?

Merci,

Adam
la source

Réponses:

7

Dans org-9, cela pourrait être aussi simple que cela pour les liens de fichiers:

(org-link-set-parameters
 "file"
 :face (lambda (path) (if (file-exists-p path) 'org-link 'org-warning)))

Pour les liens internes, je ne connais pas de moyen facile de le faire.

John Kitchin
la source
Merci John! Cela fonctionne très bien. Existe-t-il un moyen de mettre à jour automatiquement cela, de sorte qu'une fois le fichier créé, la couleur change?
Adam
Pas vraiment. Il changera la prochaine fois qu'il sera refontify. Si vous changez la ligne ou refontifiez le tampon, cela devrait changer de couleur je pense.
John Kitchin
Merci! Existe-t-il un moyen de limiter la vérification aux fichiers locaux? Emacs ne devrait pas essayer de se connecter aux fichiers distants à cause de cela.
Timm
À quoi ressemble un chemin de fichier distant? Vous pouvez probablement le faire correspondre avec une expression rationnelle dans une expression conditionnelle.
John Kitchin
1
Il y file-remote-pen a qui semble faire l'affaire. J'ai modifié votre code de la manière suivante:(org-link-set-parameters "file" :face (lambda (path) (when (not (file-remote-p path))(if (file-exists-p path) 'org-link 'org-warning))))
Timm