Fontify links quebrados no modo organizacional

8

Se eu criar um [[file:link]]interno ruim ou interno [[Link]]que não exista, gostaria org-modede tipificar isso usando org-warningface. Como posso fazer isso?

Obrigado,

Adão
fonte

Respostas:

7

No org-9, pode ser tão simples quanto isso para links de arquivos:

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

Para links internos, não conheço uma maneira fácil de fazer isso.

John Kitchin
fonte
Obrigado John! Isso funciona muito bem. Existe alguma maneira de atualizar isso automaticamente, para que, uma vez criado o arquivo, a cor mude?
26417 Adam
Na verdade não. Ele será alterado na próxima vez em que for recontificar. Se você alterar a linha ou recontificar o buffer, deve mudar de cor, eu acho.
John Kitchin
Obrigado! Existe uma maneira de limitar a verificação para arquivos locais? O Emacs não deve tentar se conectar a arquivos remotos por causa disso.
Timm 31/05
Como é o caminho de um arquivo remoto? Provavelmente, você pode associá-lo a uma expressão regular em uma expressão condicional.
John Kitchin
11
Existe file-remote-p, o que parece fazer o trabalho. Modifiquei seu código da seguinte maneira:(org-link-set-parameters "file" :face (lambda (path) (when (not (file-remote-p path))(if (file-exists-p path) 'org-link 'org-warning))))
Timm