Lsd: Extra newlines in `lsd -l` output if there is at least one long filename

Created on 27 Aug 2020  Â·  3Comments  Â·  Source: Peltoche/lsd

  • os: arch linux
  • lsd --version: lsd 0.16.0
  • echo $TERM: xterm-256color
  • echo $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=30;41: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:.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:

Expected behavior

NOTE: the long filename is broken into two because of the width of the terminal.

$ ls -l
.rw-r--r-- lez lez 0 B Thu Aug 27 18:47:18 2020  short-filename
.rw-r--r-- lez lez 0 B Thu Aug 27 18:47:33 2020  long-long-long-long-long-long-lon
g-long-long-long-filename

Actual behavior

Notice the extra newline after short-filename.

$ lsd -l
.rw-r--r-- lez lez 0 B Thu Aug 27 18:47:18 2020  short-filename

.rw-r--r-- lez lez 0 B Thu Aug 27 18:47:33 2020  long-long-long-long-long-long-lon
g-long-long-long-filename

The real annoyance of this bug kicks in when there are hundreds of short filenames in a directory and a single very long filename. In this case all short filenames will be followed by newlines.

kinbug

Most helpful comment

Cannot reproduce on 0.17.0 (I used your LS_COLORS). Even if I shrink/enlarge terminal. I would try updating.

image

I can reproduce your actual behavior by adding a newline to the end of the filename (which is 100% allowed):

image

(My second example appears to have been fixed in https://github.com/Peltoche/lsd/commit/5d6392c995bb8ab3d91ca5fe2ff15de177448117, but I've not confirmed this.)

All 3 comments

Cannot reproduce on 0.17.0 (I used your LS_COLORS). Even if I shrink/enlarge terminal. I would try updating.

image

I can reproduce your actual behavior by adding a newline to the end of the filename (which is 100% allowed):

image

(My second example appears to have been fixed in https://github.com/Peltoche/lsd/commit/5d6392c995bb8ab3d91ca5fe2ff15de177448117, but I've not confirmed this.)

@MarkFilus Thanks.

"Extra newline when having a long filename" issue has been fixed in 0.17.0 and the fix for actual filename having a newline character is available in master. Will create a new release for this pretty soon.

Thank you for having this already fixed in 18.0.
Sorry for not checking the bug in master before reporting.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

rediffusion picture rediffusion  Â·  5Comments

Phuker picture Phuker  Â·  5Comments

spencerwooo picture spencerwooo  Â·  3Comments

augustobmoura picture augustobmoura  Â·  5Comments

Berrysoft picture Berrysoft  Â·  3Comments