This allows users to create simple configuration file
(`~/.config/bat/config` on Linux) that has the following format:
```bash
--flag1
--flag2
--option1=value1
# lines beginning with '#' are ignored
--option2=value2
# empty lines and trailing whitespace are also ignored
--option3=value3
```
Windows does not support wildcard expansion in cmd, this adds 'wild' crate (as discussed in #309) that handles everything transparently, so wildcards work everywhere.
Fixes#309
* Generate shell completions with clap during build
* Updated ci release script, added SHELL_COMPLETIONS_DIR override to build.rs and fixed dependency version
Now if a cache file exists in the current directory, and the user passes
no arguments to the cache command, the cache file would be displayed.
If however the user uses cache command with arguments, the cache command
would be executed as normal regardless of whether the file cache exists
in the current directory or not.
Though now there won't be an error message displayed if the user uses the cache sub command without arguments in any directory that contains a file named cache.
This changes a few things:
- All syntaxes and themes are now stored (as submodules) under
assets/syntaxes and assets/themes
- The default directories for syntaxes and themes are "syntaxes"
and "themes" (used to be "syntax" and "themes")
- The "bat cache" command can now take a `--source <dir>` and
`--target <dir>` option.
- The cached files have been renamed to "themes.bin" and "syntaxes.bin"
This commit tries to simply the change. Instead of separating an
`OutputComponent` and a `PredefinedStyle`, I have combined the two into
just `OutputComponent`.
To still have the styles work, I added an impl to `OutputComponent` with
a function `components` which returns the components related to the
specified component.
For a simple output component this is trivial, but for the predefined
styles this is a list of other components.
The evaluating of the command-line parameter simplified significantly,
making use of Claps `values_t!` macro to parse the supplied parameters
into a `Vec<OutputComponent>`. After that it is simply a task of
combining all supplied output components into one vector.
Important: this means that the styles are now additive, rather than one
of the predefined styles overruling other parameters supplied.