* Fix handling of `--tree` and `--all` / `--allmost_all` flags
When using `:tree` mode, the `:allmost_all` was always enabled unconditionally.
* Add example for combining short options
* Allow specifying mutual exlusive flags
Warning about flags that seem mutual exclusive prevents using default
flags in Shell aliases which later could be overriden.
When parsing the command line options, the last given option for a
setting (think "mode") or (light vs. dark) counts.
Since colorls errors out when `--tree` is used together with `--all`, the
`--all` option is relaxed to `--almost-all`.
This is exactly how it works for `ls` and e.g. the famous curl tool.
Related to #103, in order to make colorls more compatible to `ls`.
* Fix rubocop error: sort dependencies
```
Offenses:
colorls.gemspec:25:3: C: Gemspec/OrderedDependencies: Dependencies should be sorted in an alphabetical order within their section of the gemspec. Dependency filesize should appear before ruby-terminfo.
spec.add_runtime_dependency 'filesize'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
colorls.gemspec:32:3: C: Gemspec/OrderedDependencies: Dependencies should be sorted in an alphabetical order within their section of the gemspec. Dependency diffy should appear before rubocop.
spec.add_development_dependency 'diffy'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```
* Revert commit d3e0cd3bb8
The help will be generated automatically.
* Use optparse module for options parsing
Use the `optparse` module instead of open coding the options parsing.
It can automatically generate a help message about available options, can
generate completion code for Bash and Zsh and also supports clubbed flags like
GNU's `getopt`.
* 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