Open hasecilu opened 1 year ago
Things to note:
type
and each type is a group with several extensions associated (something like this), inside that group extensions are sorted alphabetically and again files with same extension are sorted by name.If you don't mind the inefficiency of running ls
first, I'm currently using the following work-around to get the sorting that I prefer from ls
with the display niceties of lsd
(zsh shell on Fedora 38):
alias ll="ls -1X --sort=extension --group-directories-first --color=never | xargs lsd -Uld"
-1
flag to ls
outputs one item per line.--color=never
suppresses terminal escape sequences in the output, leaving pure file and directory names as outputs.xargs lsd
takes the lines of output from ls
, in the right order, and makes them arguments for lsd
.-U
suppresses the sorting done by lsd
, maintaining the order given by the order of the arguments.-d
makes lsd
print info on a directory, rather than its contents.
lsd --version
: lsd 0.23.1echo $TERM
: xterm-256colorecho $LS_COLORS
: rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31:.arc=01;31:.arj=01;31:.taz=01;31:.lha=01;31:.lz4=01;31:.lzh=01;31:.lzma=01;31:.tlz=01;31:.txz=01;31:.tzo=01;31:.t7z=01;31:.zip=01;31:.z=01;31:.dz=01;31:.gz=01;31:.lrz=01;31:.lz=01;31:.lzo=01;31:.xz=01;31:.zst=01;31:.tzst=01;31:.bz2=01;31:.bz=01;31:.tbz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.war=01;31:.ear=01;31:.sar=01;31:.rar=01;31:.alz=01;31:.ace=01;31:.zoo=01;31:.cpio=01;31:.7z=01;31:.rz=01;31:.cab=01;31:.wim=01;31:.swm=01;31:.dwm=01;31:.esd=01;31:.avif=01;35:.jpg=01;35:.jpeg=01;35:.mjpg=01;35:.mjpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.webm=01;35:.webp=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.cgm=01;35:.emf=01;35:.ogv=01;35:.ogx=01;35:.aac=00;36:.au=00;36:.flac=00;36:.m4a=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:.oga=00;36:.opus=00;36:.spx=00;36:.xspf=00;36:~=00;90:#=00;90:.bak=00;90:.old=00;90:.orig=00;90:.part=00;90:.rej=00;90:.swp=00;90:.tmp=00;90:.dpkg-dist=00;90:.dpkg-old=00;90:.ucf-dist=00;90:.ucf-new=00;90:.ucf-old=00;90:.rpmnew=00;90:.rpmorig=00;90:.rpmsave=00;90:Expected behavior
Be able to have a nested sort option over the main one. This will allow user to nest sorting methods (if applicable). Sort by
name
is absolute, there is no space for a "second level sorting method" Sort byextension
groups files but don't seem to be an order in them (per group/section) byname
nortime
norsize
.A good option could be able to specify a second level sort method, in my case I prefer by
name
and if it's used with--sort=extension
each "extension group" will sort its files alphabetically allowing the user to find faster specific file(s). Very useful with a long list of files. It's very common to find this setting in graphical file browsers.Actual behavior
The default sort order is by
name
, files with same extension are separated.If the sort order is by
extension
, files with same extension are grouped but each group itself is not sorted by name.Is better