Commit Graph

1029 Commits

Author SHA1 Message Date
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
Ben S
fc188935cd Fix panic when using --long without git support
Fixes #55.
2015-04-07 02:40:15 +01:00
Benjamin Sago
4d2d2385c1 One last version bump for the road... 2015-04-04 00:27:05 +02:00
Benjamin Sago
f885568145 Upgrade to latest Rust
Still missing a few Beta features, but it compiles!

- Copy requires Clone
- current_dir returns a Path now
- num_cpus moved to a crate
2015-04-04 00:14:56 +02:00
Ben S
8d066994e7 Beta warning 2015-04-03 23:19:06 +02:00
Ben S
2ffa64cff6 Move all optional features into features module
This module provides feature-specific implementations, and also dummy implementations for when they aren't supported by the system or OS.

Doing it this way limits all the #[cfg(feature)] annotations, as we can now just include the module or not.
2015-03-26 00:37:12 +00:00
Ben S
697e1e66e4 Versions bump for latest Rust
- Changes to users crate
2015-03-26 00:35:39 +00:00
Ben S
d71140079b Missed a feature flag... 2015-03-22 19:54:12 +00:00
Ben S
9c2858e447 Upgrade to latest Rust
- old_path::Path isn't imported by default anymore
- range -> ..
2015-03-22 19:46:45 +00:00
Ben S
1986c504ba Merge branch 'pr/51' 2015-03-22 12:06:00 +00:00
Ben S
e6fa6c5b92 Versions bump 2015-03-22 12:05:29 +00:00
Eirik Schwenke
8b2a19046e The path_filename function/method isn't declared public. If the declaration is changed, rustc complains about a conflict. This seems to be the minimal change needed for tests to run. 2015-03-22 08:50:15 +01:00
Eirik Schwenke
30a48e05c2 Apparently std::os::unix::osStrExt is now std::os::unix::ffi::OsStrExt. 2015-03-22 08:48:05 +01:00