summaryrefslogtreecommitdiffstats
path: root/src/file.rs
AgeCommit message (Collapse)Author
2015-05-16Replace the tests for File with the working subsetBen S
2015-05-16Rename 'stat' -> 'metadata'Ben S
2015-05-16Add some more comments and spacingsBen S
2015-05-12Lifetime-renaming action!Ben S
2015-05-12Move File fields to their own moduleBen S
2015-05-12Remove redundant importsBen S
2015-05-11Turn File into simply a data sourceBen S
And move all the rendering, ansi_term, colourful stuff into the output modules, which is the only place they should be used!
2015-05-10Finally, do the same for the Git column.Ben S
2015-05-10Do the same for the Git columnBen S
2015-05-10Update most of the other columns to use coloursBen S
2015-05-10Straighten quotesBen S
2015-05-09Add colours module, and disable them sometimesBen S
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-09Clean up filetype-detecting codeBen S
2015-05-07Highlight executable files in greenBen S
This was intended from the start, but the dead_code checker was dulled by the module being public!
2015-05-06The timestamp fields are now in seconds!Ben S
Fixes #62.
2015-05-03Remove broken conversionBen S
2015-05-03Use OS-defined permission bits typeBen S
2015-05-03Continue using new metadata fieldsBen S
2015-05-03Start following symlinks againBen S
This was my favourite feature, so I'm glad to see it back!
2015-05-03Re-implement no-longer-missing metadata fieldsBen S
2015-05-03Permissions are back!Ben S
2015-05-03This comment is no longer relevantBen S
2015-05-03Update the type of Unix permission bitsBen S
2015-04-23Temporarily disable tests (!)Ben S
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-26Move all optional features into features moduleBen S
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-22Missed a feature flag...Ben S
2015-03-22Upgrade to latest RustBen S
- old_path::Path isn't imported by default anymore - range -> ..
2015-03-22The path_filename function/method isn't declared public. If the declaration ↵Eirik Schwenke
is changed, rustc complains about a conflict. This seems to be the minimal change needed for tests to run.
2015-03-01current_dir -> getcwdBen S
current_dir returns a new PathBuf, but getcwd returns an old Path. One day I'll have to upgrade to the new Path library. One day. Fixes #41.
2015-02-26Add --group-directories-first optionBen S
Closes #27.
2015-02-24Fix a missing '/' in symlink targetsJonny Gilchrist
In cases where symlink targets were more than a single directory down, exa did not print the '/' targets when separating directories, resulting in the following output: symlink => dirAdirBdirC/file Instead of symlink => dirA/dirB/dirC/file By adding a '/' character after each component of the filename, this error is fixed.
2015-02-23Merge branch 'nwin:add-xattr-linux'Ben S
Conflicts: src/file.rs
2015-02-23Fix overflowing UIDs and GIDsBen S
Fixes #26.
2015-02-23Fix panic when previewing symlink to ., .., or /Ben S
The old implementation blindly assumed that a symlink target would have a directory compoment, which the current directory, parent directory, and root directory technically don't have. Fixes #20.
2015-02-23Merge pull request #21 from coyotebush/git-pathsBen S
Improve matching of Git status entries to files
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-22Improve matching of Git status entries to filesCorey Ford
The challenge is that the paths returned from libgit2's status listing are from the perspective of the Git repository and thus effectively relative to the working tree root, while the other paths we're manipulating are (potentially) relative to our current working directory. So, if those two aren't identical (if running from outside the working tree, or from a subdirectory), the paths won't match up. A reasonably reliable way around this is to resolve both types of paths to absolute paths before comparing them. This fixes #15 at a basic level, anyway. What still doesn't work: referring to the working tree or one of its descendants via a symlink. For that, we'd probably need to fully resolve symlinks in the file path. (The unwrap_or()'s are messy and will probably just result in missing status information, but then, what information could you hope to get without having both a current working directory and a Git working tree?)
2015-02-22Using the same alignment as ls.nwin
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-22Rename attr to xattrnwin
2015-02-22Implement display of extended attributesnwin
2015-02-21Upgrade to latest RustBen S
- Feature flags changes (old_io, old_path) - Slice syntax changes ([] -> [..])
2015-02-13DetabBen S
2015-02-13Use ansi_term's awesome new continuation coloursBen S
2015-02-12Upgrade to latest RustBen S
- Update package versions - locale::default -> locale::english - Argument handling changes