1. 03 5月, 2015 6 次提交
  2. 23 4月, 2015 3 次提交
    • B
      Temporarily disable tests (!) · eb8affac
      Ben S 提交于
      eb8affac
    • B
      Use unicode_width crate · d7d11f77
      Ben S 提交于
      d7d11f77
    • B
      Use new io + path + fs libraries (LOTS OF CHANGES) · adbaa51c
      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.
      adbaa51c
  3. 04 4月, 2015 1 次提交
    • B
      Upgrade to latest Rust · f8855681
      Benjamin 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
      f8855681
  4. 26 3月, 2015 1 次提交
    • B
      Move all optional features into features module · 2ffa64cf
      Ben 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.
      2ffa64cf
  5. 23 3月, 2015 2 次提交
  6. 22 3月, 2015 1 次提交
  7. 01 3月, 2015 1 次提交
    • B
      current_dir -> getcwd · 027ca60d
      Ben 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.
      027ca60d
  8. 26 2月, 2015 1 次提交
  9. 24 2月, 2015 1 次提交
    • J
      Fix a missing '/' in symlink targets · 96cab9cd
      Jonny 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.
      96cab9cd
  10. 23 2月, 2015 7 次提交
    • B
      Fix overflowing UIDs and GIDs · 38a78542
      Ben S 提交于
      Fixes #26.
      38a78542
    • B
      Fix panic when previewing symlink to ., .., or / · 1da1142a
      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.
      1da1142a
    • N
      true -> false · beaf8789
      nwin 提交于
      beaf8789
    • C
      Improve matching of Git status entries to files · 6e195638
      Corey 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?)
      6e195638
    • N
      Using the same alignment as ls. · 0082563e
      nwin 提交于
      0082563e
    • N
      8ac16fad
    • S
      Get rid of explicit `as_slice()` calls. · 2b540684
      Steven Allen 提交于
      2b540684
  11. 22 2月, 2015 2 次提交
  12. 21 2月, 2015 1 次提交
    • B
      Upgrade to latest Rust · b2ed264b
      Ben S 提交于
      - Feature flags changes (old_io, old_path)
      - Slice syntax changes ([] -> [..])
      b2ed264b
  13. 14 2月, 2015 2 次提交
  14. 13 2月, 2015 1 次提交
    • B
      Upgrade to latest Rust · ec51867a
      Ben S 提交于
      - Update package versions
      - locale::default -> locale::english
      - Argument handling changes
      ec51867a
  15. 11 2月, 2015 4 次提交
    • B
      Translate month names into the user's locale · 2906b867
      Ben S 提交于
      This has been mostly done with changes in the datetime crate's suddenly
      supporting locales.
      
      It's still important that the user's locale is touched only once and
      cached from that point on, so a struct in output::details has been made
      public, along with that module. This will change later as that object
      gains more and more uses thoughout the codes.
      2906b867
    • B
      Use locale-defined decimal separator · e39a20a5
      Ben S 提交于
      Also, fix the broken tests by just using the default locale at test
      time.
      e39a20a5
    • B
      Add thousands seps to links and blocks columns · 84b18e55
      Ben S 提交于
      84b18e55
    • B
      Format file size in bytes with the user's locale · 21ac16f8
      Ben S 提交于
      Use the `locale` crate as a dependency to read in the set
      thousands-separator character, and pass this to the file size column,
      which uses it to add the separators in.
      
      en_GB uses ","
      fr_FR uses "" and just displays the numbers in one go.
      21ac16f8
  16. 10 2月, 2015 4 次提交
  17. 05 2月, 2015 1 次提交
    • B
      Refactor the code after tree view changes · 42ae7b3d
      Ben 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.
      42ae7b3d
  18. 04 2月, 2015 1 次提交