lsh: A simple ls clone with modern, colored formatting

[ binary, bsd3, library, program ] [ Propose Tags ]

Please see the README on GitHub at

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS]
Change log
Dependencies base (>=4.7 && <5), containers (>=0.6.5 && <0.7), directory (>=1.3.6 && <1.4), filepath (>=1.4.2 && <1.5), lsh, optparse-applicative (>=0.18.1 && <0.19), time (<0) [details]
License BSD-3-Clause
Copyright 2023 floataqq
Author floataqq
Category Binary
Home page
Bug tracker
Source repo head: git clone
Uploaded by floataqq at 2023-08-02T06:54:18Z
Executables lsh-exe
Downloads 47 total (3 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for lsh-

[back to package description]


A simple ls clone with modern, colored fomatting. Made in haskell. If you want me to add a feature, please add a feature request. Same goes for bug reports/other issues


Icons do not display correclty

This may be due to two reasons:

  • Your terminal renders the icons differently. Then, the best you can do is replace the icons to the ones that do render correctly. Use the nerd font cheat sheet to choose icons for yourself
  • Your terminal cannot render unicode. On unix the fix is distro-dependant, but on windows you can try:

! Important: icons require a nerd font to be installed within the terminal you are using

How do i disable the icons?

To disable the icons, you need to write a string of exactly one space in all of the iconConfig fields in Config.hs, while apllying any of the Colors.hs functions to that space



for icons to work, you need to configure three variables in Config.hs: fileIcon, directoryIcon and iconConfig. Icons are represented as one character long unicode strings with a coloring function applied.

  • fileIcon is the icon to be displayed on extensionless files / file extensions without the icon set
  • directoryIcon is the icon that will be displyed on directories
  • iconConfig is a hashmap (Extension => Icon) where the keys are the extensions and the values are the icons. If you want to add another extension, just add another tuple with the extension as the first value (starting with a dot) and the icon as the second one. You must apply exactly one function from Colors.hs to the icon literal, otherwise the fomatting will break. If you want a white icon, use white or bwhite