Ben S
5abd53742e
Remove extraneous lifetimes
2014-06-01 16:30:18 +01:00
Ben S
a631bc099f
Sort case-insensitively
2014-06-01 13:07:45 +01:00
Ben S
4722c8991b
Implement natural sorting on filenames
2014-06-01 11:54:31 +01:00
Ben S
6edf2c0d4d
Highlight the current user
2014-05-27 19:05:15 +01:00
Ben S
48d8a46df8
Code cleanup (commenting the why)
2014-05-27 12:37:51 +01:00
Ben S
7091a42ab8
Hide the group by default
2014-05-26 18:08:58 +01:00
Ben S
0dd74a022f
Add --binary flag
...
This finally means that the list of columns is no longer fixed, which means it has to be generated somewhere. And guess where it got moved to? That's right, the options object! (see previous commits)
2014-05-26 15:44:16 +01:00
Ben S
573765b62b
Move filtering to options object, too
...
I'd like to have as few public methods on it as possible.
2014-05-26 12:46:51 +01:00
Ben S
1dbe20c8c5
Move sorting and reversing into options object
2014-05-26 11:50:46 +01:00
Ben S
05b2d541ac
s/StrBuf/String/g
2014-05-26 11:08:33 +01:00
Ben S
566ed0bba8
Move columns to options object
2014-05-25 19:42:31 +01:00
Ben S
cb6dd57ca0
Move getopts code into options module
2014-05-25 18:14:00 +01:00
Ben S
ff0bef66e5
Cache the lengths of formatting-striped fields
...
The code could do with some comments, but it works.
2014-05-25 17:14:50 +01:00
Ben S
b116889abc
Change format of file sizes to be shorter
...
I'm copying ls here because we don't really need the 'B' for bytes to be
listed every time. I think it looks better the new way. Unlike ls, don't
list directory sizes, because I've never found the pseudo-sizes they get
given at all useful.
Also, fix a bug where aligning columns didn't work when the number of
format characters (like '\x1B' and '[') were different between each
line.
2014-05-25 15:52:36 +01:00
Ben S
d60c2ce839
Add reverse parameter
2014-05-24 21:45:24 +01:00
Ben S
4d1aea12b0
Add colouring for media and compressed files
2014-05-24 20:40:31 +01:00
Ben S
7063c21ba0
Actually, cache the calls to ext
...
They get computed often enough for this to be worthwhile, and I have plans for using the extension even if it's not what's being sorted by.
2014-05-24 02:36:00 +01:00
Ben S
184de0ce79
Allow sorting by file extension
2014-05-24 02:32:57 +01:00
Ben S
cb1b8bc2d7
Add sort option
...
And move options struct into its own module
2014-05-24 02:17:43 +01:00
Ben S
fdf58e887b
Upgrade to latest Rust (s/~str/StrBuf/)
...
See https://github.com/mozilla/rust/pull/14310
2014-05-24 01:14:40 +01:00
Ben S
f65d170b48
Add a readme
2014-05-22 13:55:11 +01:00
Ben S
503dfc07e6
Let's GPLv3 this.
2014-05-22 13:52:57 +01:00
Ben S
87f0bdea9e
Print numeric UIDs and GIDs if they don't map to anything
2014-05-22 13:26:13 +01:00
Ben S
a0582132e5
Have each row use the same column widths
...
This involves putting the entire output into a table before anything
is actually printed, in order to determine what the width of each
column should be. This should make it appear to output slower, as the
first line can only be printed after every file has been examined, but
it's still fast to me.
2014-05-22 13:22:41 +01:00
Ben S
818fc615a8
Upgrade to latest Rust nightly
2014-05-22 13:17:33 +01:00
Ben S
d76fee7328
Add user and group columns
...
This meant writing some libc interaction, which wasn't actually too bad.
2014-05-05 11:29:50 +01:00
Ben S
d6e34723b9
Upgrade to latest Rust nightly
...
Replace ~strs with either &'static strs or .to_owned() strs where appropriate
Fields now seem to be private by default - good!
2014-05-05 10:51:24 +01:00
Ben S
e4cee37805
Fix various warnings
2014-05-04 21:35:10 +01:00
Ben S
10b8f6f414
Split source out into multiple files
...
Also, reverse the way columns are rendered: before, a column took a stat and a name to render; now, a file takes a column type to render. This means that most of the File data/methods can be private.
2014-05-04 21:33:14 +01:00
Ben S
e0fc84e869
Add --all command-line option
...
Also add command-line-option-handling code.
2014-05-04 17:01:54 +01:00
Ben S
af7689eb0b
Keep files and their stat results together
...
Thanks to #rust for helping me diagnose lifetime problems!
2014-05-04 16:28:42 +01:00
Ben S
688e41e401
Add file size column
2014-05-03 14:26:49 +01:00
Ben S
aef325bde9
Make columns more generic
2014-05-03 14:00:50 +01:00
Ben S
dc9668c8d6
Initial commit
2014-05-03 11:30:37 +01:00