Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

File names with spaces are not quoted #660

Closed
planet36 opened this issue May 16, 2022 · 6 comments · Fixed by #746
Closed

File names with spaces are not quoted #660

planet36 opened this issue May 16, 2022 · 6 comments · Fixed by #746
Labels
kind/enhancement Enhancement on current feature

Comments

@planet36
Copy link

  • os: Linux 5.17.7-arch1-1 x86_64
  • lsd --version: lsd 0.21.0
  • echo $TERM: tmux-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=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

File names with spaces are quoted.

touch aaa\ aaa
ls aaa\ aaa

'aaa aaa'

Actual behavior

File names with spaces are not quoted.
lsd aaa\ aaa

 aaa aaa

@zwpaper
Copy link
Member

zwpaper commented May 18, 2022

hi @planet36, may I ask which builtin ls version did you use?

I try GNU ls and bsd ls on macOS, and both show a a without the quote.

@planet36
Copy link
Author

ls --version | head -n 1
ls (GNU coreutils) 9.1

@planet36
Copy link
Author

I guess this behavior was added in coreutils 8.25.
https://git.savannah.gnu.org/cgit/coreutils.git/tree/NEWS#n1046

@planet36
Copy link
Author

@zwpaper
Copy link
Member

zwpaper commented May 19, 2022

Thanks so much for the information!

then this could be an improvement for us to implement.

I did not have a newer version of GNU ls, could you please add some more case outputs for us.

  • filename with space
  • filename with single-quote
  • filename with double-quote
  • filename with $
  • output to a pipe like ls | cat

@zwpaper zwpaper added the kind/enhancement Enhancement on current feature label May 19, 2022
@planet36
Copy link
Author

Python script to create the files:

from pathlib import Path
for i in range(32, 127):
    if chr(i) == '/':
        continue
    f = "{:02X}{}{:02X}".format(i, chr(i), i)
    Path(f).touch()

ls -1

'20 20'
'22"22'
'24$24'
"27'27"
...

ls -1 | cat

20 20
22"22
24$24
27'27
...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement Enhancement on current feature
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants