Ben S
b1560edb85
Use string width, rather than length, to calculate column size
2014-07-21 22:05:39 +01:00
Ben S
4cbc1f063a
Upgrade to latest Rust nightly
...
- Lifetime changes in unix.rs
- lexical_ordering -> cmp
- from_utf8_lossy got moved into String
- vec.get(n) -> vec[n]
2014-07-21 22:05:04 +01:00
Ben S
90099f28cf
Upgrade to latest Rust nightly
...
- change to_string() on numbers to to_str()
2014-07-10 22:20:52 +01:00
Ben S
fc90f4bfc9
Don't pad the final column
2014-07-07 20:11:30 +01:00
Ben S
240cbf7b41
Add --across parameter
2014-07-07 19:18:09 +01:00
Ben S
03c51f0bfd
Correctly calculate number of rows
2014-07-07 18:42:09 +01:00
Ben S
92ccf821ff
Colour file names in grid view
2014-07-06 18:00:27 +01:00
Ben S
728f9f1804
Add grid view by default
...
This makes it more like ls. The --long (-l) argument has been added to get at the old behaviour, and the --links argument is now on -H. I can't crib this behaviour from ls because it shows it by default.
TODO: The terminal size is currently assumed to be 80, and it uses the string length, rather than the width.
2014-07-06 17:33:40 +01:00
Ben S
de9c2d29dd
Merge branch 'master' of github.com:ogham/exa
2014-07-05 22:37:03 +01:00
Ben S
8daeba2617
Move string-to-filenames-vector code to its own function
2014-07-05 22:36:43 +01:00
Ben S
0de80ad7ec
Rename variable
2014-07-05 19:54:34 +01:00
Ben S
cfb0fa9b72
Import Paint trait from rust-ansi-term
2014-07-04 09:54:14 +01:00
Ben S
3643994e4b
Mention Rust 0.11 and Cargo in the README
2014-07-02 22:24:25 +01:00
Ben S
a7dea6b13b
Update LICENCE
2014-07-02 22:07:09 +01:00
Ben S
43e3f742ca
Comply with latest rust-ansi-term
2014-07-02 21:47:43 +01:00
Ben S
e1693cd769
Third time lucky?
2014-07-01 20:39:41 +01:00
Ben S
c6a8fadac0
Second try at Travis+Cargo fixes
2014-07-01 20:34:35 +01:00
Ben S
7aec8631ab
Get Cargo working on Travis
2014-07-01 19:11:35 +01:00
Ben S
d2647df0ca
Move some stuff out to rust-ansi-term crate
2014-07-01 19:00:36 +01:00
Ben S
eecfd88363
Simplify alignment code
2014-06-30 09:59:54 +01:00
Ben S
178e24552d
Move comment
2014-06-30 02:06:07 +01:00
Ben S
44628ba6e2
Standardise on a grey
2014-06-30 02:04:36 +01:00
Ben S
0a1d3f56ec
Add guard to get_source_files
2014-06-30 02:00:05 +01:00
Ben S
c494c0cd22
Don't scan the filename string twice
2014-06-30 01:51:11 +01:00
Ben S
f0fc7e992a
Make pointers const (to comply with nightly Rust)
2014-06-29 22:28:52 +01:00
Ben S
df65886d6d
Properly handle invalid UTF-8 filenames
2014-06-29 21:02:14 +01:00
Ben S
85e557a744
Highlight common build files
2014-06-28 17:56:57 +01:00
Ben S
2fa954be20
Fix Travis integration
2014-06-28 17:28:00 +01:00
Ben S
a8465fed45
Move to Cargo
2014-06-28 17:24:20 +01:00
Ben S
ee8c146ced
Simplify string padding
2014-06-28 15:40:12 +01:00
Ben S
745bcce02a
Replace messy line with calls to get
2014-06-28 15:17:57 +01:00
Ben S
e9ad6d79ca
Add options to readme
2014-06-28 12:20:50 +01:00
Ben S
cc1da7490a
Add .travis.yml
2014-06-28 12:05:01 +01:00
Ben S
45be82e257
Add precision to file sizes
2014-06-28 11:32:29 +01:00
Ben S
a8d73d1cd9
Add colour tests
...
And fix bugs found by these tests...
2014-06-27 22:31:23 +01:00
Ben S
03bf728a1e
Merge branch 'master' of github.com:ogham/exa
...
Conflicts:
unix.rs
2014-06-27 20:12:40 +01:00
Ben S
727822308e
Refactor user/group code to be less indented
2014-06-27 19:51:04 +01:00
Ben S
68cd6d5da1
Fix bug about nonexistent groups in groups column
2014-06-27 12:46:08 +01:00
Ben S
b337f9174d
Highlight groups the user is a member of
...
First non-trivial change for a while... because this involves reading from the OS, we should cache as much as we can in memory. So, group membership checking is done immediately after reading a group name, as the group structure has already been populated.
2014-06-26 23:26:27 +01:00
Ben S
baf9f9572f
Highlight link number for files with multiple links
...
Curiously enough, this turned out to be helpful today... Git can't
traverse symlinks, so I had to use hard links instead, and then I had to
work out which files had more than one link at a glance. If I hadn't
already had most of exa written, I'd be stuck using find!
2014-06-26 12:46:40 +01:00
Ben S
55280a5308
Add a simple Makefile
2014-06-23 18:30:08 +01:00
Ben S
038143682c
Add header row with -h option
2014-06-23 18:26:35 +01:00
Ben S
48284e0aef
Add number of blocks column
2014-06-22 08:09:16 +01:00
Ben S
19e0f9b70d
Add inode number column
2014-06-22 07:44:00 +01:00
Ben S
fc8f8d6c6a
Add number of hard links column
...
This is behaviour cribbed from ls. Even though I've never personally used it, I'm sure someone has a use for it.
2014-06-22 07:40:40 +01:00
Ben S
8839cf4ca5
Show file colours for symlink targets
...
This requires the dir field to store a reference to the path that
created it, so that path can be used to join onto the filename so it can
be properly statted.
2014-06-21 19:39:27 +01:00
Ben S
eff87440fa
Do similar for block devices and named pipes
...
There doesn't seem to be an io::FileType entry for character special
devices or sockets, so these fall under the io::UnknownType entry. Which
also gets highlighted in yellow, for precisely that reason.
2014-06-21 18:27:26 +01:00
Ben S
a542fdc9f9
Highlight symlinks in cyan
2014-06-21 18:17:24 +01:00
Ben S
49d3caf0e9
Print directory names when given more than one
2014-06-21 18:12:29 +01:00
Ben S
b5a1b24bda
Cache user and group names
...
I checked strace and it was reading /etc/passwd every time it needed to
look up a user or group. Now it only does it once per.
2014-06-21 17:50:37 +01:00