"Everybody's a textfile, Dave"
Lister is a small, lightweight, .NET recreation of the ls/gci/dir command from your OS/shell of choice.
Very un-featureful (currently only has two flags), Lister is designed for speed, efficiency, and compatibility.
Originally designed for me to use with my NeoVim plugin - Porthole.nvim - I've actually used Lister in a number of settings just because I like that extra 100 or so ms it shaves off a query.
⚠️ Note: Lister is not always faster than other options. Lister's performance varies based on your hardware, shell of choice, etc. However, Lister is very consistent. On low end systems it tends to be considerably faster. However, on high end systems it will be slower than things likels
andgci
, but the speed difference is usually so minimal that it is not noticeable.
Lister is built on .NET (8) - if you don't have it installed, do the following:
# Ubuntu
sudo apt update
sudo apt install dotnet8
# Fedora
sudo dnf update
sudo dnf install dotnet
# Windows
winget install Microsoft.DotNet.DesktopRuntime.9
After .NET is installed, Lister's usage is as follows:
[lister.dll] REQUIRED: [<filepath>] OPTIONAL: [-d/--directories] [-f/--files] [-h/--help]
If you are on Linux, to ensure that Wine doesn't try to run the application, make sure you run the program like this:
dotnet lister.dll ./examplefolder -f
with dotnet
prepended to the command. You can easily alias this in your shell of choice to make it more simple to use
If you want to build Lister yourself, do the following:
# download the files
git clone "https://github.com/Ash-Olorenshaw/Lister.git"
# cd into the directory
cd Lister
# install all packages
dotnet restore
# compile
dotnet publish -o ./releases/
All you need out of the 'releases' folder then is usually just FSharp.Core.dll
, Lister.dll
and Lister.deps.json
.