Commit Graph

691 Commits

Author SHA1 Message Date
Ben S
2594690aff Start using the libc crate from crates.io 2015-05-16 13:17:50 +01:00
Ben S
00ae71850b Lifetime-renaming action! 2015-05-12 15:38:12 +01:00
Ben S
07ff10e550 Lifetime-eliding action! 2015-05-12 15:37:59 +01:00
Ben S
c938c699ec Merge branch 'restructuring' 2015-05-12 03:41:07 +01:00
Ben S
c9a3affb4c Move Git render_char to its own method 2015-05-12 03:36:47 +01:00
Ben S
e2f2bd69de Fix Git colours to be actually correct 2015-05-12 03:34:52 +01:00
Ben S
085067d18e Move File fields to their own module 2015-05-12 03:33:40 +01:00
Ben S
2a3045ddfa Minor whitespace changes 2015-05-12 03:14:56 +01:00
Ben S
b0d4c9728f Where do all these tabs keep coming from? 2015-05-12 03:08:24 +01:00
Ben S
fafeda771d The locals struct is no longer necessary 2015-05-12 03:07:16 +01:00
Ben S
5af0f5793e Remove year field on timestamp column
It's now in the locals of the Table struct, and didn't really belong in the column anyway.
2015-05-12 03:02:38 +01:00
Ben S
7f48748e70 Move size_format into render_size method
The benefit of having these all as separate methods instead of using the same trait is that we can just pass parameters in like this!
2015-05-12 03:00:18 +01:00
Ben S
02ba026763 Remove redundant imports 2015-05-12 02:59:22 +01:00
Ben S
4a43aa8db1 Move renderers from traits to Table object 2015-05-12 02:54:34 +01:00
Ben S
6068f2dd86 Fix size numbers bolding 2015-05-11 23:58:40 +01:00
Ben S
898b89b8fd Make executable files' 'x's underlined again 2015-05-11 23:57:29 +01:00
Ben S
f6915c1f87 Add the file type column back in 2015-05-11 23:44:52 +01:00
Ben S
dc6599b1b3 Turn File into simply a data source
And move all the rendering, ansi_term, colourful stuff into the output modules, which is the only place they should be used!
2015-05-11 23:28:01 +01:00
Ben S
bc844a3843 Merge branch 'colours' 2015-05-10 18:03:24 +01:00
Ben S
c6d8c21e80 Finally, do the same for the Git column. 2015-05-10 18:03:15 +01:00
Ben S
d9319c48b4 Do the same for the Git column 2015-05-10 17:57:21 +01:00
Ben S
5a37d1b6b1 Update most of the other columns to use colours 2015-05-10 12:50:20 +01:00
Ben S
627bca98ef Move file type colours to their own struct 2015-05-10 00:22:58 +01:00
Ben S
89dd5c1239 Straighten quotes 2015-05-10 00:13:00 +01:00
Ben S
36116a1420 Add colours module, and disable them sometimes
Colours are now disabled when output is not to a terminal. Fixes #53!

This required some internal restructuring - colours are now in their own object that gets passed around everywhere it's needed.
2015-05-09 23:57:18 +01:00
Ben S
da49b80c35 Clean up filetype-detecting code 2015-05-09 16:10:26 +01:00
Ben S
662aed302a Remove some unused functions 2015-05-07 22:29:24 +01:00
Ben S
b4529671b8 Highlight executable files in green
This was intended from the start, but the dead_code checker was dulled by the module being public!
2015-05-07 22:27:33 +01:00
Ben S
9d1aadc808 The modules don't actually need to be public 2015-05-07 22:20:24 +01:00
Ben S
7587f046b0 Organise options into columns 2015-05-07 16:53:20 +01:00
Ben S
910693f921 The timestamp fields are now in seconds!
Fixes #62.
2015-05-06 21:47:04 +01:00
Ben S
a460f257d7 Friendly neighbourhood versions bump 2015-05-06 21:46:21 +01:00
Ben S
5887aa8cde Remove broken conversion 2015-05-03 16:40:39 +01:00
Ben S
42a347c063 Use OS-defined permission bits type 2015-05-03 16:35:44 +01:00
Ben S
ffcc6fa179 Merge branch 'new-fs' 2015-05-03 16:31:50 +01:00
Ben S
8eaa4c550c Continue using new metadata fields 2015-05-03 16:25:53 +01:00
Ben S
06ef372560 Remove unused feature gates 2015-05-03 14:57:56 +01:00
Ben S
64b97aa9f3 Start following symlinks again
This was my favourite feature, so I'm glad to see it back!
2015-05-03 13:10:25 +01:00
Ben S
41aadaeab4 Re-implement no-longer-missing metadata fields 2015-05-03 12:46:05 +01:00
Ben S
d7a2974494 Permissions are back! 2015-05-03 11:55:10 +01:00
Ben S
be8a48ab72 This comment is no longer relevant 2015-05-03 11:51:57 +01:00
Ben S
c642f8cbbd Update the type of Unix permission bits 2015-05-03 11:47:34 +01:00
Ben S
c3915576c1 Versions bump 2015-05-03 11:47:25 +01:00
Ben S
eb8affac9c Temporarily disable tests (!) 2015-04-23 13:47:46 +01:00
Ben S
d7d11f77f3 Use unicode_width crate 2015-04-23 13:46:37 +01:00
Ben S
adbaa51cb9 Use new io + path + fs libraries (LOTS OF CHANGES)
Exa now uses the new IO, Path, and Filesystem libraries that have been out for a while now.

Unfortunately, the new libraries don't *entirely* cover the range of the old libraries just yet: in particular, to become more cross-platform, the data in `UnstableFileStat` isn't available in the Unix `MetadataExt` yet. Much of this is contained in rust-lang/rfcs#1044 (which is due to be implemented in rust-lang/rust#14711), but it's not *entirely* there yet.

As such, this commits a serious loss of functionality: no symlink viewing, no hard links or blocks, or users or groups. Also, some of the code could now be optimised. I just wanted to commit this to sort out most of the 'teething problems' of having a different path system in advance.

Here's an example problem that took ages to fix for you, just because you read this far: when I first got exa to compile, it worked mostly fine, except calling `exa` by itself didn't list the current directory. I traced where the command-line options were being generated, to where files and directories were sorted, to where the threads were spawned... and the problem turned out to be that it was using the full path as the file name, rather than just the last component, and these paths happened to begin with `.`, so it thought they were dotfiles.
2015-04-23 13:00:34 +01:00
Ben S
eee49ecefe Add missing options to README
Fixes #58, technically.
2015-04-10 22:18:44 +01:00
Ben S
f6faca19ef Merge pull request #57 from tsurai/master
updated to latest rust nightly
2015-04-10 15:01:26 +01:00
Ben S
9758e96755 Bump versions yet again 2015-04-09 11:32:30 +01:00
Cristian Kubis
0751b009ca updated to latest rust nightly 2015-04-09 10:59:06 +02:00