Repository: sharkdp/bat (language: rust)

Issue:
--style=auto isn't the default despite documentation
**Describe the bug you encountered:**

The manpage and `--help` output document that `--style=auto` is the default behavior. But this does not appear to be the case. Instead it appears that `--style=full` is the default.

Example:

```bash
> BAT_CONFIG_PATH= bat -f nix-homepage | cat
───────┬────────────────────────────────────────────────────────────────────────
       │ File: nix-homepage
───────┼────────────────────────────────────────────────────────────────────────
   1   │ #!/usr/bin/env bash
   2   │ 
   3   │ set -euo pipefail
…
```


**What did you expect to happen instead?**

It should have looked like

```bash
> BAT_CONFIG_PATH= bat --style=auto -f nix-homepage | cat
#!/usr/bin/env bash

set -euo pipefail
…
```

**How did you install `bat`?**

Nix

---

**bat version and environment**

#### Software version

bat 0.18.0

#### Operating system

Darwin 20.5.0

#### Command-line

```bash
/Users/lily/.nix-profile/bin/bat -f nix-homepage --diagnostic 
```

#### Environment variables

```bash
SHELL=/Users/lily/.local/share/home-manager/bin/fish
PAGER='less -R'
BAT_PAGER=<not set>
BAT_CACHE_PATH=<not set>
BAT_CONFIG_PATH=
BAT_OPTS=<not set>
BAT_STYLE=<not set>
BAT_TABS=<not set>
BAT_THEME=<not set>
XDG_CONFIG_HOME=<not set>
XDG_CACHE_HOME=<not set>
COLORTERM=<not set>
NO_COLOR=<not set>
MANPAGER=<not set>
```

#### Config file

Could not read contents of '': No such file or directory (os error 2).

[**Note**: Specifying `BAT_CONFIG_PATH=/dev/null` removes this diagnostic error but doesn't change the observed behavior. Maybe bat should just test if `BAT_CONFIG_PATH` is set to the empty string before trying to open it? This should still disable the config file of course]

#### Compile time information

- Profile: release
- Target triple: x86_64-apple-darwin
- Family: unix
- OS: macos
- Architecture: x86_64
- Pointer width: 64
- Endian: little
- CPU features: fxsr,sse,sse2,sse3,ssse3
- Host: x86_64-apple-darwin

#### Less version

```
> less --version 
less 563 (POSIX regular expressions)
Copyright (C) 1984-2020  Mark Nudelman

less comes with NO WARRANTY, to the extent permitted by law.
For information about the terms of redistribution,
see the file named README in the less distribution.
Home page: http://www.greenwoodsoftware.com/less
```



Discussion / hints:
I'm guessing right now that `--style=full` is the default because otherwise `bat -f filename | cat` wouldn't show decorations and that's the confusing. But this needs to be documented properly.
Thanks a lot for taking the time to write a bug report.

It is correct that "full" is default: https://github.com/sharkdp/bat/blob/master/src/bin/bat/app.rs#L319

So we should update the docs.

Fix patch:
diff --git a/assets/manual/bat.1.in b/assets/manual/bat.1.in
index a3e3c464d3..82a4302cb9 100644
--- a/assets/manual/bat.1.in
+++ b/assets/manual/bat.1.in
@@ -142,7 +142,7 @@ Configure which elements (line numbers, file headers, grid borders, Git modifica
 of components to display (e.g. 'numbers,changes,grid') or a pre\-defined style ('full').
 To set a default style, add the '\-\-style=".."' option to the configuration file or
 export the BAT_STYLE environment variable (e.g.: export BAT_STYLE=".."). Possible
-values: *auto*, full, plain, changes, header, grid, rule, numbers, snip.
+values: *full*, auto, plain, changes, header, grid, rule, numbers, snip.
 .HP
 \fB\-r\fR, \fB\-\-line\-range\fR <N:M>...
 .IP
diff --git a/src/bin/bat/clap_app.rs b/src/bin/bat/clap_app.rs
index 37016f6244..57e070afbd 100644
--- a/src/bin/bat/clap_app.rs
+++ b/src/bin/bat/clap_app.rs
@@ -394,8 +394,8 @@ pub fn build_app(interactive_output: bool) -> ClapApp<'static, 'static> {
                      '--style=\"..\"' option to the configuration file or export the \
                      BAT_STYLE environment variable (e.g.: export BAT_STYLE=\"..\").\n\n\
                      Possible values:\n\n  \
-                     * full: enables all available components.\n  \
-                     * auto: same as 'full', unless the output is piped (default).\n  \
+                     * full: enables all available components (default).\n  \
+                     * auto: same as 'full', unless the output is piped.\n  \
                      * plain: disables all available components.\n  \
                      * changes: show Git modification markers.\n  \
                      * header: show filenames before the content.\n  \


Test patch: