Merge branch 'issue_1393_quiet_flag' of https://github.com/Gandalf-/shellcheck
This commit is contained in:
commit
3c94d8b3eb
|
@ -80,6 +80,7 @@ library
|
||||||
ShellCheck.Formatter.GCC
|
ShellCheck.Formatter.GCC
|
||||||
ShellCheck.Formatter.JSON
|
ShellCheck.Formatter.JSON
|
||||||
ShellCheck.Formatter.TTY
|
ShellCheck.Formatter.TTY
|
||||||
|
ShellCheck.Formatter.Quiet
|
||||||
ShellCheck.Interface
|
ShellCheck.Interface
|
||||||
ShellCheck.Parser
|
ShellCheck.Parser
|
||||||
ShellCheck.Regex
|
ShellCheck.Regex
|
||||||
|
|
|
@ -137,6 +137,12 @@ not warn at all, as `ksh` supports decimals in arithmetic contexts.
|
||||||
...
|
...
|
||||||
]
|
]
|
||||||
|
|
||||||
|
*quiet*
|
||||||
|
|
||||||
|
: Suppress all normal output. Exit with zero if no issues are found,
|
||||||
|
otherwise exit with one. Stops processing after the first issue.
|
||||||
|
|
||||||
|
|
||||||
# DIRECTIVES
|
# DIRECTIVES
|
||||||
ShellCheck directives can be specified as comments in the shell script
|
ShellCheck directives can be specified as comments in the shell script
|
||||||
before a command or block:
|
before a command or block:
|
||||||
|
|
|
@ -27,6 +27,7 @@ import ShellCheck.Formatter.Format
|
||||||
import qualified ShellCheck.Formatter.GCC
|
import qualified ShellCheck.Formatter.GCC
|
||||||
import qualified ShellCheck.Formatter.JSON
|
import qualified ShellCheck.Formatter.JSON
|
||||||
import qualified ShellCheck.Formatter.TTY
|
import qualified ShellCheck.Formatter.TTY
|
||||||
|
import qualified ShellCheck.Formatter.Quiet
|
||||||
|
|
||||||
import Control.Exception
|
import Control.Exception
|
||||||
import Control.Monad
|
import Control.Monad
|
||||||
|
@ -125,7 +126,8 @@ formats options = Map.fromList [
|
||||||
("checkstyle", ShellCheck.Formatter.CheckStyle.format),
|
("checkstyle", ShellCheck.Formatter.CheckStyle.format),
|
||||||
("gcc", ShellCheck.Formatter.GCC.format),
|
("gcc", ShellCheck.Formatter.GCC.format),
|
||||||
("json", ShellCheck.Formatter.JSON.format),
|
("json", ShellCheck.Formatter.JSON.format),
|
||||||
("tty", ShellCheck.Formatter.TTY.format options)
|
("tty", ShellCheck.Formatter.TTY.format options),
|
||||||
|
("quiet", ShellCheck.Formatter.Quiet.format options)
|
||||||
]
|
]
|
||||||
|
|
||||||
formatList = intercalate ", " names
|
formatList = intercalate ", " names
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
{-
|
||||||
|
Copyright 2019 Austin Voecks
|
||||||
|
|
||||||
|
This file is part of ShellCheck.
|
||||||
|
https://www.shellcheck.net
|
||||||
|
|
||||||
|
ShellCheck is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
ShellCheck is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
-}
|
||||||
|
module ShellCheck.Formatter.Quiet (format) where
|
||||||
|
|
||||||
|
import ShellCheck.Interface
|
||||||
|
import ShellCheck.Formatter.Format
|
||||||
|
|
||||||
|
import Control.Monad
|
||||||
|
import Data.IORef
|
||||||
|
import System.Exit
|
||||||
|
|
||||||
|
format :: FormatterOptions -> IO Formatter
|
||||||
|
format options = do
|
||||||
|
topErrorRef <- newIORef []
|
||||||
|
return Formatter {
|
||||||
|
header = return (),
|
||||||
|
footer = return (),
|
||||||
|
onFailure = \ _ _ -> exitFailure,
|
||||||
|
onResult = \ result _ -> unless (null $ crComments result) exitFailure
|
||||||
|
}
|
Loading…
Reference in New Issue