From bbdac57426490dfe6bdf06a8f7b675c83295749b Mon Sep 17 00:00:00 2001 From: "Ethan P." Date: Sat, 6 Apr 2024 15:04:20 -0700 Subject: [PATCH] Update clap/docs for merging `--style` arguments --- README.md | 10 ++++++++++ doc/long-help.txt | 13 ++++++++++--- src/bin/bat/clap_app.rs | 13 ++++++++++--- 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 57baf2b0..6571c99a 100644 --- a/README.md +++ b/README.md @@ -507,6 +507,16 @@ and line numbers but no grid and no file header. Set the `BAT_STYLE` environment variable to make these changes permanent or use `bat`s [configuration file](https://github.com/sharkdp/bat#configuration-file). +>[!tip] +> If you specify a default style in `bat`'s config file, you can change which components +> are displayed during a single run of `bat` using the `--style` command-line argument. +> By prefixing a component with `+` or `-`, it can be added or removed from the current style. +> +> For example, if your config contains `--style=full,-snip`, you can run bat with +> `--style=-grid,+snip` to remove the grid and add back the `snip` component. +> Or, if you want to override the styles completely, you use `--style=numbers` to +> only show the line numbers. + ### Adding new syntaxes / language definitions Should you find that a particular syntax is not available within `bat`, you can follow these diff --git a/doc/long-help.txt b/doc/long-help.txt index a6ffe962..d2cef456 100644 --- a/doc/long-help.txt +++ b/doc/long-help.txt @@ -125,9 +125,16 @@ Options: --style Configure which elements (line numbers, file headers, grid borders, Git modifications, ..) to display in addition to the file contents. The argument is a comma-separated list 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=".."). + 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=".."). + + When styles are specified in multiple places, the "nearest" set of styles take precedence. + The command-line arguments are the highest priority, followed by the BAT_STYLE environment + variable, and then the configuration file. If any set of styles consists entirely of + components prefixed with "+" or "-", it will modify the previous set of styles instead of + replacing them. By default, the following components are enabled: changes, grid, header-filename, numbers, snip diff --git a/src/bin/bat/clap_app.rs b/src/bin/bat/clap_app.rs index 2e376061..877afd89 100644 --- a/src/bin/bat/clap_app.rs +++ b/src/bin/bat/clap_app.rs @@ -425,9 +425,16 @@ pub fn build_app(interactive_output: bool) -> Command { borders, Git modifications, ..) to display in addition to the \ file contents. The argument is a comma-separated list 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=\"..\").\n\n\ + pre-defined style ('full').\n\n\ + 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=\"..\").\n\n\ + When styles are specified in multiple places, the \"nearest\" set \ + of styles take precedence. The command-line arguments are the highest \ + priority, followed by the BAT_STYLE environment variable, and then \ + the configuration file. If any set of styles consists entirely of \ + components prefixed with \"+\" or \"-\", it will modify the \ + previous set of styles instead of replacing them.\n\n\ By default, the following components are enabled:\n \ changes, grid, header-filename, numbers, snip\n\n\ Possible values:\n\n \