Allow specifying color= in shellcheckrc (closes #2350)

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
This commit is contained in:
Olliver Schinagl 2021-10-07 21:33:00 +02:00
commit ba5c415942
No known key found for this signature in database
GPG key ID: B5F59D698AD07D57
3 changed files with 20 additions and 1 deletions

View file

@ -1,5 +1,6 @@
## Git (0.8.0)
### Added
- `color=` directive can be added to .shellceckrc
- `disable=all` now conveniently disables all warnings
- `external-sources=true` directive can be added to .shellcheckrc to make
shellcheck behave as if `-x` was specified.

View file

@ -41,7 +41,10 @@ not warn at all, as `ksh` supports decimals in arithmetic contexts.
: For TTY output, enable colors *always*, *never* or *auto*. The default
is *auto*. **--color** without an argument is equivalent to
**--color=always**.
**--color=auto**.
This option may also be enabled using `color=` in
`.shellcheckrc`. This flag takes precedence.
**-i**\ *CODE1*[,*CODE2*...],\ **--include=***CODE1*[,*CODE2*...]
@ -232,6 +235,10 @@ Here a shell brace group is used to suppress a warning on multiple lines:
Valid keys are:
**color**
: Set to `auto`, `never` or `always` in `.shellcheckrc` to automatically
detect, never or always use color output with the `tty` output format.
**disable**
: Disables a comma separated list of error codes for the following command.
The command can be a simple command like `echo foo`, or a compound command
@ -277,6 +284,9 @@ it will read `key=value` pairs from it and treat them as file-wide directives.
Here is an example `.shellcheckrc`:
# Always force color output on the tty output
color=always
# Look for 'source'd files relative to the checked script,
# and also look for absolute paths in /mnt/chroot
source-path=SCRIPTDIR

View file

@ -1005,6 +1005,14 @@ readAnnotationWithoutPrefix sandboxed = do
key <- many1 (letter <|> char '-')
char '=' <|> fail "Expected '=' after directive key"
annotations <- case key of
"color" -> do
color <- many1 $ noneOf " \n"
option <- parseColorOption color
return options {
formatterOptions = (formatterOptions options) {
foColorOption = option
}
}
"disable" -> readElement `sepBy` char ','
where
readElement = readRange <|> readAll