A modern replacement for ‘ls’.
A small patch release (exa's first!) to fix a couple of issues (and to demonstrate a quicker release pace).
(No new features)
/
for directories) at the end of symlink targets (dbd11d3)$EXA_GRID_ROWS
displaying the wrong size table in certain situations (c729e22)Thanks again to ariasuni.
Sorry about the delay, everyone. My aim is still to follow the Rust project itself, and make smaller releases more often. Gonna keep trying until I get there.
There will be four new types of archive available from now on! An armv7 Linux build, a musl Linux build, an archive containing only the compiled man page and completions, and an archive containing the complete vendored source code.
This version should be the last version without Windows support.
--time
flag now defaults to modified without an argument (36cf5df)--numeric
flag to display UIDs and GIDs (4ea79ee)--sort=none
(bbd6db3)$TZ
environment variable (57cf0f1)Thanks to 0rvar, 0x3333, b05902132, BrennanMcDonald, de-vri-es, emgelb, FliegendeWurst, Freaky, imsofi, j-tai, LarsHaalck, mqudsi, msehnout, PatriotRossii, VichoReyes, whonore, and many others for contributing.
Special thanks to ariasuni.
I will release more than one version of exa this year, mark my words.
--icons
(9497b30).name
and .Name
which ignore a leading dot (a156d96)TIME_STYLE
environment variable (9917810)--only-dirs
(054cac6)mi
colour with bO
overlay colour (59d9e90)--classify
to man page (9c77a95).zst
(5fae489), Bazel and Ant (c635031), .ts
(e711dbc), .m4v
(9b446c0), and .jpf
(9916742)$LS_COLORS
(afc9657, ce3f05c)README
files immediate (d9c9dbe)README~
as temporary, not immediate (57e4c08)-aaR
(e936d7e)../
(f1a5b64)Thanks to alexmaco, ariasuni, asoderman, benmezger, BenWhitehead, cecton, chetgurevitch, dguo, Don42, Fierthraix, golem131, ignatenkobrain, jcrd, joshleeb, joshuarli, kornelski, LlinksRechts, lovesegfault, martinlindhe, mfarrugi, mgkurtz, mgttlinger, mopp, nasyxx, ne-sted, Offpics, Paradiesstaub, polyzen, rleungx, semarie, sergeysova, spk, and teresy for contributing!
This release provides both bug fixes and new features. I've written a post that outlines what's new, as well as some remarks on how I'd like to handle getting me to do releases more often in the future: bsago.me/blog/exa/v0.8.0
EXA_GRID_ROWS
that makes --long --grid
a bit more palatable (e933fa6)EXA_DEBUG
for logging information (e0727a1)LS_COLORS
parsing and colouring (adfee28, aa2e3a5)EXA_COLORS
parsing and colouring, which overrides the above (075fe80, aa2e3a5)--git-ignore
flag (827aa8b)orf
and nef
file types (40ce7ba)bk
file type (eda3e56)stdout
, not stdin
and stderr
(4289f4d)new
and old
convenience aliases (f55bd6d)--all --all
to display the .
and ..
directory entries (5cd7609034da592a7c96c6ef4cdf93fe5a0ebfea)--sort=type
to sort by file type: file, directory, link, pipe, device (f750536420b6c7ca8d21f83a10c3a9fdae3cbca1)--time-style
option to use the ISO format for timestamps (690aa21ac8bff02ca08323825822c9c663bd4cef)COLUMNS
environment variable made exa always use colours (84b01f206412d0ee005bb3542b036b0b10091b71)Thanks to kballard and gyscos for contributing!
--classify
option (e81b83b4acf364ecc65206c9be9d7535e1f6c901).cr2
as image type (8ac68f99643bd98ca853d8f90fe454e6c6fbb1f4)--help
and --version
to return exit code 0 (510d2f7a7656aba040816bf379eebbd4e4a6c4ed).
and ..
, were not displayed (a28bd8fa64631bf43bd0fdf2fa0cf56a8a4ad09f, dd63774e37691badb446cb71950ba0d2d18146a3)Thanks to maandree, neosilky, MakeNowJust, raphink, kballard many times over, and quininer for contributing!
Now, where was I?
--colo[u]r
option to toggle colours on and off (f92459d95779eef257292234a15e6b4345511830)--Name
and --Ext
(note the caps) (8805ce9e3bcd4b56f8811a686dd56c47202cdbab, 3e9616cffababc491b1fa587e008a0bdb385901c)Thanks to skade, petevine, jbeich, tomassedovic, hoodie, lindenk, gemmarx, spk, Stebalien, and neosilky for contributing!
This is a snapshot of exa’s current code, which has been cleaned up a bit and at the very least been run through untry (which managed to pick apart all try!
s but one). It’s being released to work around a bug in macOS Sierra.
Usually when I do a release I go through the commit history, pick out anything that looks like it could be a bullet point in the release notes, look at the contributors and see who’s there, then edit the website and upload — there are more features in here than just the openssl upgrade, and the work done so far is really deserving of a “proper” release, rather than just a beta.
But I don’t even want to learn how little work I’ve done on it in the past twelve months.
I think I need to be honest with everyone here. My interest in exa is still there, and the list of features I’d still like to add is as long as it’s ever been, but my motivation is completely shot. Compared to even a year ago it’s plummeted. Every day I go to work, bang out code on whatever it is I’m doing, leave, arrive home, then do my best to not do anything, on the computer or off it. My life’s going alright, I can still do things, I’m able to do things, but I just... don’t, and I wish I could give you a better reason than that. GitHub notifications were something I’d deal with later that day, then next week, then whenever I’d get around to it, and then routed into a folder in my inbox that I never actually checked, and then every day I’d see that number and hope it didn’t increase, and then I noticed that whenever it did increase I wouldn’t be able to concentrate on anything for another hour, so I just hid it, which hurt at first but at least gave me some time back. I’d still commit from time to time, but not mention any of this because I didn’t want to call attention to it, as though in time everyone would just forget. Whenever I saw a reply to the Sierra bug thread, I’d log in, read it, start to worry that if I replied now then I’d be admitting to everyone that I was still around and hadn’t died or something and was instead just ignoring their comments, and then what would people think of me? I even got as far as navigating to “Delete this repository” before I had to push the computer away.
That’s one push that went correctly. It’s obvious to say, but it’s stupid to delete code that people are using, just because you didn’t want to deal with the fact that you made a mistake.
I’m going to try something new: switching exa to a routine 6-week release schedule. The Rust has a release train that works over the same duration using multiple versions. I think exa (a hundredth its size) can do without that part, but the rest of it is good advice. Having an actual date for each one means I don’t get a choice in releasing anything or not, which is an incredible motivator for actually doing it! I still have to put 0.5.0 out properly, but with luck, the second release (0.6.0, which would come out halfway through May) would be a lot less daunting than the first, the third less than the second, and it would plateau from there.
The root advice here is “if you’re having difficulty doing something, then do it more often, because it gets easier”. I found actually releasing my software hard. I want it to be easier.
I hope you all find this acceptable, and I apologise again for the massive commit lacuna.
So a while back I decided to add lots more info to exa's site, and unknowingly described a bunch of features that were in the development version but not the release version! So this is a kind-of emergency release to allow everybody to use those features, even those using the released versions.
The downside of this is that I did mark some features as ones I wanted to complete before the v0.4.0 milestone. All that's happened is the version that they'll show up in has been renamed, but they're all still on my radar.
--grid --long
view, which splits the details into multiple columns (090cebe)--tree
without --long
, which displays a tree view without any details (e1f4ea9)->
from =>
(ebbac61)Thanks to mgee, mneumann, kbknapp, lilydjwg, petevine, rhysd, hoodie, and DavidJFelix for contributing!
It's been exactly 100 commits and just over three months since version 0.2, so it's about time I did another binary release. This one fixes a few bugs, but most of the code changes have been maintenance: upgrading to the new standard filesystem library was a big step, and having dates in the right time zone is something I'm glad to have finally landed.
By the way, I've decided to hold off on version 1.0 until exa can compile with Rust Stable. There aren't many feature flags left, and most of the ones that are pertain to the new std::fs
library that we need to use. So exa will continue to require the nightly version for the foreseeable future.
None in this build.
fs
and io
libraries (ffcc6fa)--long
(5d152db and a4459da)Thanks to byteprelude, killercup, e12e, tsurai, and mgee for contributing! And thanks to everyone who's given feedback, reported bugs, and just plain used the thing.
(Please let me know if I've missed you out.)