Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
12 changes: 11 additions & 1 deletion shellcheck.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -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*...]

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
8 changes: 8 additions & 0 deletions src/ShellCheck/Parser.hs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down