Commit Graph

240 Commits

Author SHA1 Message Date
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
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
910693f921 The timestamp fields are now in seconds!
Fixes #62.
2015-05-06 21:47:04 +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
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
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
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
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
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
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
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
Ben S
7407cf1766 Merge branch 'master' of github.com:ogham/exa 2015-03-11 15:09:50 +00:00
Ben S
860e19d292 Merge pull request #49 from killercup/feature/group-is-useless-without-long
Add "`--group` is useless without `--long`"
2015-03-11 14:56:34 +00:00
Pascal Hertleif
a4459da6ad "--group is useless without --long" 2015-03-10 19:00:52 +01:00
Pascal Hertleif
5d152dbe15 Git Column is Useless Without --long 2015-03-10 18:56:38 +01:00
Pascal Hertleif
7dc3a02185 Make Git Column Optional
Closes #47
2015-03-10 18:36:29 +01:00