Fontify defekte Links im org-Modus


8

Wenn ich ein schlechtes [[file:link]]oder ein internes erschaffe [[Link]], das nicht existiert, möchte org-modeich dies mit org-warningface fontieren . Wie kann ich das erledigen?

Vielen Dank,

Antworten:


7

In org-9 ist dies für Dateilinks möglicherweise so einfach:

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

Für interne Links kenne ich keinen einfachen Weg, dies zu tun.


Danke John! Das funktioniert super. Gibt es eine Möglichkeit, dies automatisch zu aktualisieren, sodass sich die Farbe ändert, sobald die Datei erstellt wurde?
Adam

Nicht wirklich. Es wird sich beim nächsten Refontifizieren ändern. Wenn Sie die Zeile ändern oder den Puffer neu installieren, sollte sich die Farbe ändern, denke ich.
John Kitchin

Vielen Dank! Gibt es eine Möglichkeit, die Überprüfung auf lokale Dateien zu beschränken? Emacs sollte aus diesem Grund nicht versuchen, eine Verbindung zu Remote-Dateien herzustellen.
Timm

Wie sieht ein Remote-Dateipfad aus? Sie können es wahrscheinlich mit einem regulären Ausdruck in einem bedingten Ausdruck abgleichen.
John Kitchin

1
Es gibt file-remote-p, was den Job zu machen scheint. Ich habe Ihren Code folgendermaßen geändert:(org-link-set-parameters "file" :face (lambda (path) (when (not (file-remote-p path))(if (file-exists-p path) 'org-link 'org-warning))))
Timm
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.