Commit graph

49 commits

Author SHA1 Message Date
Claudio Bley
81dfa058af travis: Fix bundler deprecation warning
```
The `--path` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set path vendor/bundle`, and stop using this flag
```
2020-11-02 08:45:07 +01:00
Claudio Bley
d4110e4ac7 Officially support Windows
On Windows, MRI Ruby uses the `FindFirstFileW` et. al. kind of functions with
wide character paths and constantly converts from multi-byte to wide character
encoding back and forth when calling any methods on `File` or `Dir`.

This means that when using `Encoding::ASCII_8BIT` for reading directory entries,
that this does not round trip properly, if a file name contains unicode
characters. That is because Ruby assumes the path string is encoded in Windows
Codepage 1252[1].

* skip symlink test if files were checked out from git as textual symlinks on
  Windows
* use UTF-8 encoding on Windows, since this properly round-trips between
  multi-byte and wide character encoding
* travis: windows job no longer is allowed to fail

[1]: 946cd6c534/win32/file.c (L131-L134)
2020-10-09 18:26:50 +02:00
Claudio Bley
3fd9081b88 travis: Fix job configuration for windows
* call `bundle clean` before caching
* explicitely specify path for `bundle install`
* create a `--msys2--` file as a marker to skip msys2 & ridk install
2020-10-09 18:26:50 +02:00
Claudio Bley
905b0e8584 travis: Use 'spec' folder for --tree to reduce output 2020-10-09 18:26:50 +02:00
t-mangoe
64b1891c2c Set exit status code when specified path doesn't exist
Similar to GNU ls, status code `2` is reported if an argument given on the
command line does not exist.

Close #397
2020-10-07 09:58:01 +02:00
Claudio Bley
e05e771bdc Add osx to build matrix 2020-09-26 21:28:53 +02:00
Claudio Bley
61e19dfded Add Windows to build matrix 2020-09-26 11:03:12 +02:00
Igor Victor
6279a3deac
Add Truffleruby head to CI (#393)
Co-authored-by: Claudio Bley <claudio.bley@gmail.com>
2020-09-25 13:35:23 +02:00
Claudio Bley
86cfa2f5cf Drop support for Ruby 2.4
It reached EOL on March 31, 2020, and no longer receives patches.

See https://www.ruby-lang.org/en/news/2020/04/05/support-of-ruby-2-4-has-ended/
2020-04-16 22:49:54 +02:00
Claudio Bley
73e4de9378 Use ASCII_8BIT for paths and directory entries
On Unix systems the encoding of file names is specified by the user via the
locale settings.

In order to avoid encoding problems simply read file names in ASCII 8 bit
encoding and try to convert to the external encoding while replacing undefined
characters.

Also, does not show an icon if the external encoding does not support it and
shows a `=` instead of a check mark for git status.

Fixes #352.
2020-04-16 21:58:39 +02:00
Claudio Bley
ee54e9ba22 travis: Add Ruby 2.7 to build matrix
Ruby 2.7.0 has been relased on 25th Dec 2019.
2020-01-07 22:06:47 +01:00
Claudio Bley
fc3a91bffe travis: Do not upgrade gem any more
This lets the build timeout:

```
Installing RubyGems 3.1.1
  Successfully built RubyGem
  Name: bundler
  Version: 2.1.0
  File: bundler-2.1.0.gem

bundler's executable "bundle" conflicts with /home/travis/.rvm/rubies/ruby-2.4.6/bin/bundle

Overwrite the executable? [yN]
```
2019-12-20 12:53:06 +01:00
Claudio Bley
55423123a1 Drop support for Ruby 2.3
It reached EOL on March 31, 2019, and no longer receives patches.

See https://www.ruby-lang.org/en/news/2019/03/31/support-of-ruby-2-3-has-ended/
2019-07-01 23:34:18 +02:00
Claudio Bley
4ffd056c15 travis: Fix deployment condition
When building a tag on travis, the tag name is used as the branch.

By default, only the `master` branch triggers a deployment, so for a version
tag the deployment to rubygems will be skipped.

This commit fixes it, by directly matching on the `TRAVIS_BRANCH` and
`TRAVIS_TAG` variables.
2019-04-09 20:04:39 +02:00
Claudio Bley
b354c01031 travis: Automatically deploy to rubygems 2019-02-26 21:42:09 +01:00
Alex Cano
c60a2ebec8 Add the option to handle depth for the tree flag (#253)
* Add the option to handle depth for the tree flag

* Update README to describe the new option for the tree flag

* Add tests
2019-01-11 07:36:02 +01:00
Claudio Bley
e02b30a111 Drop support for Ruby 2.2
It reached EOL on 20th Jun 2018 and no longer receives patches.

* set required Ruby version to >= 2.3 in spec file
* set rubocop's TargetRubyVersion to 2.3 and fix all the offenses
2019-01-04 12:08:06 +01:00
Claudio Bley
b6a5366159 travis: Upgrade RubyGems to the latest version and install bundler 2
This fixes build failures due to Bundler 2.0 requires rubygems >= 3.0.0
2019-01-04 12:08:06 +01:00
Claudio Bley
c6d1b44e11 travis: Add Ruby 2.6 to build matrix
Ruby 2.6 has been released on 25th Dec 2018.
2018-12-29 17:23:07 +01:00
Claudio Bley
d3541c1afc travis: Only build pushes on master, PRs to master and tags
This avoids duplicate builds for PRs of branches for the origin repository (e.g.
from dependabot).
2018-12-29 17:23:07 +01:00
Claudio Bley
3e53464ddf Enable warnings when running RSpec from rake
- travis: Use rake to run specs to generate warnings.
2018-12-29 16:46:51 +01:00
Claudio Bley
9c8a93565e Drop support for Ruby 2.1
It reached EOL already and rubocop > 0.60 no longer supports it.
2018-12-09 09:23:52 +01:00
Claudio Bley
ffa8e86a52 Use latest Ruby release per minor version 2018-10-20 14:10:25 +02:00
Claudio Bley
6bb67f19f2 Fix build failure on rake install
```
$ rake install
rake aborted!
Gem::LoadError: You have already activated rake 12.3.0, but your Gemfile requires rake 12.3.1. Prepending `bundle exec` to your command may solve this.d
```

* use `bundle exec rake install` instead as suggested
* generate binstubs with bundler and prepend `bin/` to `PATH`
2018-10-20 14:05:39 +02:00
Claudio Bley
01148a90ac Cache installed bundle on Travis to speed up builds 2018-10-20 13:38:26 +02:00
Claudio Bley
63dc465fc6 Remove install section from .travis.yml
According to the docs[1], "bundle install" is done automatically.

[1]: https://docs.travis-ci.com/user/languages/ruby/#Bundler
2018-10-20 13:38:26 +02:00
Claudio Bley
6b972de57d Add --color option
This option works the same as for GNU ls, although if not specified colorization
is on by default (the `auto` mode).

Using `--color` is equivalent to `--color=always`.
2018-10-20 00:01:31 +02:00
Claudio Bley
8428efa010 Add --hyperlink option
This generates `file://` links using ANSI escape sequences which opens the
given file using the default application for the file type on your system.

A terminal emulator supporting hyperlinks is required, otherwise the links
will be ignored.
2018-08-17 23:00:55 +02:00
Claudio Bley
ab21ee6976 Add Ruby 2.5.0 to travis CI config 2018-01-08 14:18:28 +01:00
Matthew Vincent
ba257b970b Add support for sorting by size
* add `--sort=size` flag
* add `-S` flag
* adjust `.travis.yml` to check the new flags
2017-11-07 22:38:42 +01:00
Claudio Bley
2df30f7f33 Add support for sorting by mtime
* add `--sort=WORD` option, which sorts by modification "time" or not at all

* add short option `-U` to mean `--sort=none` (`ls` compatibility)

* `-t` now has the same effect as `--sort=time` which is also mentioned in the
  post install mesage

* add checks for `--sort=time` and `--sort=none` to .travis.yml
2017-11-06 08:42:02 +01:00
Metamist
3af107627b Added clubbed flags and renamed multi-character shorthand arguments (#125)
* Added clubbed flags and renamed multi-character shorthand arguments to not interfere with clubbed flags

* Cleaned up code

* Fixed parsing arguments without dash

* Made -h flag clubbable

* Minor text fixes

* Cleaned up incompatible flags method
2017-10-07 17:28:13 +05:30
rohitner
72f3424a0d added -gs flag 2017-08-26 21:40:15 +05:30
Claudio Bley
6fa9ca2112 Only filter hidden files when listing a directory
* add `.hidden-file` to fixtures
* add check that `.hidden-file` is found to .travis.yml

Fixes #101.
2017-08-18 08:41:47 +02:00
Rohit Ner
d3e0cd3bb8 Adds support for -h / --help flag (#97)
* added help flag

* updated .travis.yml

* added the list of all use-case commands

* changed rubocop

* made the necessary minor changes in helplog method and changed rubocop
2017-08-16 07:39:02 +05:30
Vladislav Isakov
9b21e7a29f Fixes bug with -l and path to file. Close #89 (#90)
* Fixes bug with -l and path to file. Close #89

* Add use case for -l with path to file
2017-07-27 16:47:25 +05:30
Athitya
4313a25771 Merges branch 2017-07-12 22:16:22 +05:30
Athitya
13ade6acb0 Updates travis.yml 2017-07-12 22:15:12 +05:30
Oskar
1565333cb8 Adds symlink display for -l (#77) 2017-07-12 20:15:23 +05:30
Ace Dimasuhid
d62da43586 Adds -A flag, edits -a flag (#75)
Changes:

* Add -A | --almost-all flag

* Update functionality for -a | --all
2017-07-11 16:08:29 +05:30
sergeant-wizard
d50fcac738 Uses one_per_line if not in TTY environments (#70)
* Use one_per_line if not in TTY environments

* Adds stdout pipe to  command to travis scripts.
2017-07-11 10:00:25 +05:30
Oskar
56f9cad47c Merge branch 'master' into master 2017-07-10 14:00:34 +02:00
Tomasz
10b2198ec8 Adds support for handling files and globs as input (#65)
* Added support for handling files as input (#58)

* Added usage case to Travis config (#58)
2017-07-10 17:29:34 +05:30
GladOSkar
e75637168d updated gemfile & travis, made rubocop happy 2017-07-10 13:39:52 +02:00
Athitya
69ce52e1ac Adds -a / --all flag support 2017-07-07 21:58:10 +05:30
Athitya
6479092635 Updated markdown and travis files 2017-07-07 20:25:38 +05:30
Athitya
31eb53966b Updates travis.yml with more lc flag tests 2017-07-05 22:24:37 +05:30
Athitya
b0edf5fd9b Updates travis.yml 2017-07-05 22:20:49 +05:30
Athitya
cf5eb0c07f Adds travis CI config 2017-06-29 22:44:41 +05:30