summaryrefslogtreecommitdiffstats
path: root/src/column.rs
AgeCommit message (Collapse)Author
2015-05-12Remove year field on timestamp columnBen S
It's now in the locals of the Table struct, and didn't really belong in the column anyway.
2015-04-23Use unicode_width crateBen S
2015-04-23Use new io + path + fs libraries (LOTS OF CHANGES)Ben S
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-04Upgrade to latest RustBenjamin Sago
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-03-22Missed a feature flag...Ben S
2015-02-26Refactor details viewBen S
Move most of the heavy lifting into a Table struct, which doesn't govern how the resulting table is *created*, only how it's *displayed*.
2015-02-23Merge branch 'nwin:add-xattr-linux'Ben S
Conflicts: src/file.rs
2015-02-22Merge pull request #19 from Stebalien/replace-as_sliceBen S
Get rid of explicit `as_slice()` calls
2015-02-23true -> falsenwin
2015-02-22Using convenience method and using extended clusters as recommended.nwin
2015-02-22Get rid of explicit `as_slice()` calls.Steven Allen
2015-02-22Count the number of grapheme clusters to determine the cell length.nwin
2015-02-22Replace &String with &strnwin
2015-02-09Only display the year if it's last yearBen S
Otherwise, just display the hour and minute.
2015-02-09Initial work on date/time columns for filesBen S
Using the datetime crate, add an extra column to the --long view that prints out the modified, accessed, or created timestamp for each file. Also, let the user pick which one they want to see based on the --time command-line option.
2015-02-05Refactor the code after tree view changesBen S
- Turn the views and main program loop into structs, rather than just as one gigantic function - Separate views into their own files The addition of the git column and the tree view meant that a lot of functions now just took extra arguments that didn't seem to fit. For example, it didn't really work to have only one 'view' method that printed out everything, as the different view options now all take different parameters.
2015-02-03Make filename not a columnBen S
FileName was always a special-cased column, as it was assumed to be the last column in the output. Now, it's explicitly marked as such. This allows the hash marks to be placed before the filename, rather than at the start of the line.
2015-01-27Preliminary Git support!Ben S
This is something that I've long wanted to add. It uses libgit2 as an optional dependency.
2015-01-26Update #[derive] namesBen S
2015-01-25Test highlighting of usernamesBenjamin Sago
2015-01-24Do column width calculations ourselves (speedup)Benjamin Sago
Instead of stripping the ANSI formatting characters from our strings, work out the length without them and use that. This is per-column, but most of them are simple (just the same number of characters in the non-coloured string). Sometimes, this is really simple: for example, trwxrwxrwx permissions strings are always going to be ten characters long, and the strings that get returned are chock full of ANSI escape codes. This should have a small benefit on performance.
2015-01-24Convert docs to standard formatBen S
2015-01-13Forbid certain argument combinationsBenjamin Sago
2015-01-12rm trailing whitespaceBenjamin Sago
2015-01-12Upgrade to Rust alphaBenjamin Sago
- uint -> usize - getopts Cargo library - replace feature gates with unstable APIs
2014-12-24Upgrade code and libraries to latest RustBen S
std::str changes, and the way macros are expanded.
2014-12-18Add --bytes to not use prefixes at allBen S
2014-12-18Use number_prefix crate for number prefixesBen S
2014-12-14Make copyable values copyableBen S
2014-12-12Miscellaneous little optimisationsBen S
- Prefer iter over into_iter where appropriate - Cut down on cloning
2014-11-24I like aligning thingsBen S
2014-11-24Reduce unnecessary String allocationsBen S
- Remove uses of to_string() on a &str where it wasn't necessary - Use SendStr to reduce allocations further
2014-11-23Upgrade to latest Rust nightlyBen S
2014-06-30Simplify alignment codeBen S
2014-06-28Move to CargoBen S