GNU bug report logs -
#17064
24.3.50; Enhancement request: dired: fontification of symlinks
Previous Next
Reported by: Michael Heerdegen <michael_heerdegen <at> web.de>
Date: Fri, 21 Mar 2014 23:35:02 UTC
Severity: wishlist
Tags: fixed
Found in version 24.3.50
Fixed in version 27.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Michael Heerdegen <michael_heerdegen <at> web.de> writes:
> in dired, symlinks look like
>
> symlink -> target
>
> where the whole thing is fontified with dired-symlink-face. But I
> already know from the -> that I have a symlink, it would be more useful
> to know whether TARGET is a directory, which is what I normally see for
> non symlink files in dired by fontification with dired-directory-face.
>
> My proposal: fontify only the first part "symlink ->" with
> dired-symlink-face. Fontify "target" according to its truename type.
Sounds good to me.
> (cl-callf nconc dired-font-lock-keywords
> `((,dired-re-sym
> ((lambda (end) (when (let ((file (dired-file-name-at-point)))
> (file-directory-p (file-truename file)))
> (search-forward-regexp "\\(.+-> ?\\)\\(.+\\)" end t)))
> (dired-move-to-filename)
> nil
> (1 dired-symlink-face)
> (2 dired-directory-face)))
[...]
> Or could this have any bad side effects? Is it maybe too heavy to call
> `file-truename'?
Normally, there aren't many symlinks in a buffer, so I think the
performance impact would be negligible.
I've added a modified version of your code to Emacs 27 -- more error
checking was necessary, because symlinks may be circular etc.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
This bug report was last modified 5 years and 201 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.