From 7944db336ca3ef0338369091af60aa2b15789952 Mon Sep 17 00:00:00 2001 From: Dean Li Date: Thu, 3 Jun 2021 21:26:27 +0800 Subject: Implement show symlink destination Add option `show_symlink_info` to represent show symlink info or not. (Default to no) Show symlink destination after symlink symbol in directory listing Resemble `ls -l` and also the short argument select for this feature is also `-l`. Basic testing is included. Related to #499 --- src/renderer.rs | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) (limited to 'src/renderer.rs') diff --git a/src/renderer.rs b/src/renderer.rs index 901bf66..3360504 100644 --- a/src/renderer.rs +++ b/src/renderer.rs @@ -328,24 +328,33 @@ fn entry_row( td { p { @if entry.is_dir() { - a.directory href=(parametrized_link(&entry.link, sort_method, sort_order)) { - (entry.name) "/" - @if entry.is_symlink { + @if let Some(symlink_dest) = entry.symlink_info { + a.symlink href=(parametrized_link(&entry.link, sort_method, sort_order)) { + (entry.name) "/" span.symlink-symbol { } + a.directory {(symlink_dest) "/"} + } + }@else { + a.directory href=(parametrized_link(&entry.link, sort_method, sort_order)) { + (entry.name) "/" } } } @else if entry.is_file() { - div.file-entry { + @if let Some(symlink_dest) = entry.symlink_info { + a.symlink href=(&entry.link) { + (entry.name) + span.symlink-symbol { } + a.file {(symlink_dest)} + } + }@else { a.file href=(&entry.link) { (entry.name) - @if entry.is_symlink { - span.symlink-symbol { } - } } - @if let Some(size) = entry.size { - span.mobile-info.size { - (size) - } + } + + @if let Some(size) = entry.size { + span.mobile-info.size { + (size) } } } -- cgit v1.2.3