-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Shell script analysis tool
@package ShellCheck
@version 0.2.0

module ShellCheck.Data
internalVariables :: [[Char]]
commonCommands :: [[Char]]

module ShellCheck.AST
data Id
Id :: Int -> Id
data Quoted
Quoted :: Quoted
Unquoted :: Quoted
data Dashed
Dashed :: Dashed
Undashed :: Dashed
data AssignmentMode
Assign :: AssignmentMode
Append :: AssignmentMode
data Token
TA_Base :: Id -> String -> Token -> Token
TA_Binary :: Id -> String -> Token -> Token -> Token
TA_Expansion :: Id -> Token -> Token
TA_Literal :: Id -> String -> Token
TA_Sequence :: Id -> [Token] -> Token
TA_Trinary :: Id -> Token -> Token -> Token -> Token
TA_Unary :: Id -> String -> Token -> Token
TA_Variable :: Id -> String -> Token
TC_And :: Id -> ConditionType -> String -> Token -> Token -> Token
TC_Binary :: Id -> ConditionType -> String -> Token -> Token -> Token
TC_Group :: Id -> ConditionType -> Token -> Token
TC_Noary :: Id -> ConditionType -> Token -> Token
TC_Or :: Id -> ConditionType -> String -> Token -> Token -> Token
TC_Unary :: Id -> ConditionType -> String -> Token -> Token
T_AND_IF :: Id -> Token
T_AndIf :: Id -> (Token) -> (Token) -> Token
T_Arithmetic :: Id -> Token -> Token
T_Array :: Id -> [Token] -> Token
T_Assignment :: Id -> AssignmentMode -> String -> (Maybe Token) -> Token -> Token
T_Backgrounded :: Id -> Token -> Token
T_Backticked :: Id -> [Token] -> Token
T_Bang :: Id -> Token
T_Banged :: Id -> Token -> Token
T_BraceExpansion :: Id -> String -> Token
T_BraceGroup :: Id -> [Token] -> Token
T_CLOBBER :: Id -> Token
T_Case :: Id -> Token
T_CaseExpression :: Id -> Token -> [([Token], [Token])] -> Token
T_Condition :: Id -> ConditionType -> Token -> Token
T_DGREAT :: Id -> Token
T_DLESS :: Id -> Token
T_DLESSDASH :: Id -> Token
T_DSEMI :: Id -> Token
T_Do :: Id -> Token
T_DollarArithmetic :: Id -> Token -> Token
T_DollarBraced :: Id -> Token -> Token
T_DollarBracket :: Id -> Token -> Token
T_DollarDoubleQuoted :: Id -> [Token] -> Token
T_DollarExpansion :: Id -> [Token] -> Token
T_DollarSingleQuoted :: Id -> String -> Token
T_Done :: Id -> Token
T_DoubleQuoted :: Id -> [Token] -> Token
T_EOF :: Id -> Token
T_Elif :: Id -> Token
T_Else :: Id -> Token
T_Esac :: Id -> Token
T_Extglob :: Id -> String -> [Token] -> Token
T_FdRedirect :: Id -> String -> Token -> Token
T_Fi :: Id -> Token
T_For :: Id -> Token
T_ForArithmetic :: Id -> Token -> Token -> Token -> [Token] -> Token
T_ForIn :: Id -> String -> [Token] -> [Token] -> Token
T_Function :: Id -> String -> Token -> Token
T_GREATAND :: Id -> Token
T_Glob :: Id -> String -> Token
T_Greater :: Id -> Token
T_HereDoc :: Id -> Dashed -> Quoted -> String -> [Token] -> Token
T_HereString :: Id -> Token -> Token
T_If :: Id -> Token
T_IfExpression :: Id -> [([Token], [Token])] -> [Token] -> Token
T_In :: Id -> Token
T_IoFile :: Id -> Token -> Token -> Token
T_LESSAND :: Id -> Token
T_LESSGREAT :: Id -> Token
T_Lbrace :: Id -> Token
T_Less :: Id -> Token
T_Literal :: Id -> String -> Token
T_Lparen :: Id -> Token
T_NEWLINE :: Id -> Token
T_NormalWord :: Id -> [Token] -> Token
T_OR_IF :: Id -> Token
T_OrIf :: Id -> (Token) -> (Token) -> Token
T_Pipeline :: Id -> [Token] -> Token
T_ProcSub :: Id -> String -> [Token] -> Token
T_Rbrace :: Id -> Token
T_Redirecting :: Id -> [Token] -> Token -> Token
T_Rparen :: Id -> Token
T_Script :: Id -> String -> [Token] -> Token
T_Select :: Id -> Token
T_SelectIn :: Id -> String -> [Token] -> [Token] -> Token
T_Semi :: Id -> Token
T_SimpleCommand :: Id -> [Token] -> [Token] -> Token
T_SingleQuoted :: Id -> String -> Token
T_Subshell :: Id -> [Token] -> Token
T_Then :: Id -> Token
T_Until :: Id -> Token
T_UntilExpression :: Id -> [Token] -> [Token] -> Token
T_While :: Id -> Token
T_WhileExpression :: Id -> [Token] -> [Token] -> Token
data ConditionType
DoubleBracket :: ConditionType
SingleBracket :: ConditionType
lolHax :: Show a => a -> String
analyze :: Monad m => (Token -> m ()) -> (Token -> m ()) -> (Token -> Token) -> Token -> m Token
getId :: Token -> Id
blank :: Monad m => Token -> m ()
doAnalysis :: Monad m => (Token -> m ()) -> Token -> m Token
doStackAnalysis :: Monad m => (Token -> m ()) -> (Token -> m ()) -> Token -> m Token
doTransform :: (Token -> Token) -> Token -> Token
instance Show Id
instance Eq Id
instance Ord Id
instance Show Quoted
instance Eq Quoted
instance Show Dashed
instance Eq Dashed
instance Show AssignmentMode
instance Eq AssignmentMode
instance Show ConditionType
instance Eq ConditionType
instance Show Token
instance Eq Token

module ShellCheck.Parser
data Note
Note :: Severity -> String -> Note
data Severity
ErrorC :: Severity
WarningC :: Severity
InfoC :: Severity
StyleC :: Severity
parseShell :: SourceName -> String -> ParseResult
data ParseResult
ParseResult :: Maybe (Token, Map Id Metadata) -> [ParseNote] -> ParseResult
parseResult :: ParseResult -> Maybe (Token, Map Id Metadata)
parseNotes :: ParseResult -> [ParseNote]
data ParseNote
ParseNote :: SourcePos -> Severity -> String -> ParseNote
notesFromMap :: Map k Metadata -> [ParseNote]
data Metadata
Metadata :: SourcePos -> [Note] -> Metadata
sortNotes :: [ParseNote] -> [ParseNote]
instance Show Severity
instance Eq Severity
instance Ord Severity
instance Show ParseNote
instance Eq ParseNote
instance Show Note
instance Eq Note
instance Show Metadata
instance Show ParseResult

module ShellCheck.Analytics
data Shell
Ksh :: Shell
Zsh :: Shell
Sh :: Shell
Bash :: Shell
genericChecks :: [Token -> [(Id, Note)]]
checksFor :: Shell -> [Token -> [(Id, Note)]]
runAllAnalytics :: Token -> Map Id Metadata -> Map Id Metadata
checkList :: [t -> [b]] -> t -> [b]
addToMap :: Ord k => [(k, Note)] -> Map k Metadata -> Map k Metadata
prop_determineShell0 :: Bool
prop_determineShell1 :: Bool
prop_determineShell2 :: Bool
determineShell :: Token -> Shell
runBasicAnalysis :: (Token -> StateT [a] Identity ()) -> Token -> [a]
basicChecks :: [Token -> StateT [(Id, Note)] Identity ()]
treeChecks :: [Token -> Map Id Token -> StateT [(Id, Note)] Identity ()]
runBasicTreeAnalysis :: [Token -> Map Id Token -> StateT [b] Identity ()] -> Token -> [b]
addNoteFor :: MonadState [(t, t1)] m => t -> t1 -> m ()
warn :: MonadState [(t, Note)] m => t -> String -> m ()
err :: MonadState [(t, Note)] m => t -> String -> m ()
info :: MonadState [(t, Note)] m => t -> String -> m ()
style :: MonadState [(t, Note)] m => t -> String -> m ()
isVariableStartChar :: Char -> Bool
isVariableChar :: Char -> Bool
prop_isVariableName1 :: Bool
prop_isVariableName2 :: Bool
prop_isVariableName3 :: Bool
isVariableName :: [Char] -> Bool
willSplit :: Token -> Bool
isGlob :: Token -> Bool
wouldHaveBeenGlob :: [Char] -> Bool
isConfusedGlobRegex :: [Char] -> Bool
isPotentiallyConfusedGlobRegex :: String -> Bool
matches :: String -> Regex -> Bool
headOrDefault :: t -> [t] -> t
isConstant :: Token -> Bool
isEmpty :: Token -> Bool
makeSimple :: Token -> Token
simplify :: Token -> Token
deadSimple :: Token -> [[Char]]
verify :: (Token -> StateT [a] Identity ()) -> String -> Bool
verifyNot :: (Token -> StateT [a] Identity ()) -> String -> Bool
verifyFull :: (Token -> [a]) -> String -> Bool
verifyNotFull :: (Token -> [a]) -> String -> Bool
verifyTree :: (Token -> Map Id Token -> StateT [a] Identity ()) -> String -> Bool
verifyNotTree :: (Token -> Map Id Token -> StateT [a] Identity ()) -> String -> Bool
checkBasic :: (Token -> StateT [a] Identity ()) -> String -> Maybe Bool
checkTree :: (Token -> Map Id Token -> StateT [a] Identity ()) -> String -> Maybe Bool
checkFull :: (Token -> [a]) -> String -> Maybe Bool
prop_checkEchoWc3 :: Bool
checkEchoWc :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkEchoSed1 :: Bool
prop_checkEchoSed2 :: Bool
checkEchoSed :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkPipedAssignment1 :: Bool
prop_checkPipedAssignment2 :: Bool
prop_checkPipedAssignment3 :: Bool
checkPipedAssignment :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkAssignAteCommand1 :: Bool
prop_checkAssignAteCommand2 :: Bool
prop_checkAssignAteCommand3 :: Bool
prop_checkAssignAteCommand4 :: Bool
prop_checkAssignAteCommand5 :: Bool
checkAssignAteCommand :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkUuoc1 :: Bool
prop_checkUuoc2 :: Bool
prop_checkUuoc3 :: Bool
prop_checkUuoc4 :: Bool
checkUuoc :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkNeedlessCommands :: Bool
prop_checkNeedlessCommands2 :: Bool
checkNeedlessCommands :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkPipePitfalls3 :: Bool
prop_checkPipePitfalls4 :: Bool
prop_checkPipePitfalls5 :: Bool
prop_checkPipePitfalls6 :: Bool
checkPipePitfalls :: MonadState [(Id, Note)] m => Token -> m ()
indexOfSublists :: Num a => [[Char]] -> [[Char]] -> [a]
bracedString :: Token -> [Char]
isMagicInQuotes :: Token -> Bool
prop_checkShebang1 :: Bool
prop_checkShebang2 :: Bool
checkShebang :: Token -> [(Id, Note)]
prop_checkBashisms :: Bool
prop_checkBashisms2 :: Bool
prop_checkBashisms3 :: Bool
prop_checkBashisms4 :: Bool
prop_checkBashisms5 :: Bool
prop_checkBashisms6 :: Bool
prop_checkBashisms7 :: Bool
prop_checkBashisms8 :: Bool
prop_checkBashisms9 :: Bool
prop_checkBashisms10 :: Bool
prop_checkBashisms11 :: Bool
prop_checkBashisms12 :: Bool
prop_checkBashisms13 :: Bool
prop_checkBashisms14 :: Bool
prop_checkBashisms15 :: Bool
prop_checkBashisms16 :: Bool
prop_checkBashisms17 :: Bool
prop_checkBashisms18 :: Bool
checkBashisms :: Token -> StateT [(Id, Note)] Identity ()
prop_checkForInQuoted :: Bool
prop_checkForInQuoted2 :: Bool
prop_checkForInQuoted2a :: Bool
prop_checkForInQuoted2b :: Bool
prop_checkForInQuoted3 :: Bool
prop_checkForInQuoted4 :: Bool
prop_checkForInQuoted5 :: Bool
checkForInQuoted :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkForInCat1 :: Bool
prop_checkForInCat1a :: Bool
prop_checkForInCat2 :: Bool
prop_checkForInCat2a :: Bool
prop_checkForInCat3 :: Bool
checkForInCat :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkForInLs :: Bool
prop_checkForInLs2 :: Bool
prop_checkForInLs3 :: Bool
checkForInLs :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkFindExec1 :: Bool
prop_checkFindExec2 :: Bool
prop_checkFindExec3 :: Bool
prop_checkFindExec4 :: Bool
prop_checkFindExec5 :: Bool
prop_checkFindExec6 :: Bool
checkFindExec :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkUnquotedExpansions1 :: Bool
prop_checkUnquotedExpansions1a :: Bool
prop_checkUnquotedExpansions2 :: Bool
prop_checkUnquotedExpansions3 :: Bool
prop_checkUnquotedExpansions3a :: Bool
prop_checkUnquotedExpansions4 :: Bool
prop_checkUnquotedExpansions5 :: Bool
prop_checkUnquotedExpansions6 :: Bool
prop_checkUnquotedExpansions7 :: Bool
checkUnquotedExpansions :: MonadState [(Id, Note)] m => Token -> Map Id Token -> m ()
prop_checkRedirectToSame :: Bool
prop_checkRedirectToSame2 :: Bool
prop_checkRedirectToSame3 :: Bool
prop_checkRedirectToSame4 :: Bool
checkRedirectToSame :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkShorthandIf :: Bool
prop_checkShorthandIf2 :: Bool
checkShorthandIf :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkDollarStar :: Bool
checkDollarStar :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkUnquotedDollarAt :: Bool
prop_checkUnquotedDollarAt1 :: Bool
prop_checkUnquotedDollarAt2 :: Bool
prop_checkUnquotedDollarAt3 :: Bool
prop_checkUnquotedDollarAt4 :: Bool
prop_checkUnquotedDollarAt5 :: Bool
checkUnquotedDollarAt :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkStderrRedirect :: Bool
prop_checkStderrRedirect2 :: Bool
checkStderrRedirect :: MonadState [(Id, Note)] m => Token -> m ()
lt :: Show a => a -> a
ltt :: Show a1 => a1 -> a -> a
prop_checkSingleQuotedVariables :: Bool
prop_checkSingleQuotedVariables2 :: Bool
prop_checkSingleQuotedVariables3 :: Bool
prop_checkSingleQuotedVariables3a :: Bool
prop_checkSingleQuotedVariables3b :: Bool
prop_checkSingleQuotedVariables3c :: Bool
prop_checkSingleQuotedVariables4 :: Bool
prop_checkSingleQuotedVariables5 :: Bool
checkSingleQuotedVariables :: MonadState [(Id, Note)] m => Token -> Map Id Token -> m ()
prop_checkUnquotedN :: Bool
prop_checkUnquotedN2 :: Bool
prop_checkUnquotedN3 :: Bool
checkUnquotedN :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkNumberComparisons1 :: Bool
prop_checkNumberComparisons2 :: Bool
prop_checkNumberComparisons3 :: Bool
prop_checkNumberComparisons4 :: Bool
prop_checkNumberComparisons5 :: Bool
prop_checkNumberComparisons6 :: Bool
checkNumberComparisons :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkSingleBracketOperators1 :: Bool
prop_checkSingleBracketOperators2 :: Bool
prop_checkSingleBracketOperators3 :: Bool
prop_checkSingleBracketOperators5 :: Bool
checkSingleBracketOperators :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkDoubleBracketOperators1 :: Bool
prop_checkDoubleBracketOperators3 :: Bool
checkDoubleBracketOperators :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkQuotedCondRegex1 :: Bool
prop_checkQuotedCondRegex2 :: Bool
prop_checkQuotedCondRegex3 :: Bool
checkQuotedCondRegex :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkGlobbedRegex1 :: Bool
prop_checkGlobbedRegex2 :: Bool
prop_checkGlobbedRegex2a :: Bool
prop_checkGlobbedRegex3 :: Bool
prop_checkGlobbedRegex4 :: Bool
checkGlobbedRegex :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkConstantIfs1 :: Bool
prop_checkConstantIfs2 :: Bool
prop_checkConstantIfs3 :: Bool
prop_checkConstantIfs4 :: Bool
prop_checkConstantIfs5 :: Bool
checkConstantIfs :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkNoaryWasBinary :: Bool
prop_checkNoaryWasBinary2 :: Bool
prop_checkNoaryWasBinary3 :: Bool
checkNoaryWasBinary :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkConstantNoary :: Bool
prop_checkConstantNoary2 :: Bool
prop_checkConstantNoary3 :: Bool
prop_checkConstantNoary4 :: Bool
checkConstantNoary :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkBraceExpansionVars :: Bool
checkBraceExpansionVars :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkForDecimals :: Bool
checkForDecimals :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkDivBeforeMult :: Bool
prop_checkDivBeforeMult2 :: Bool
checkDivBeforeMult :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkArithmeticDeref :: Bool
prop_checkArithmeticDeref2 :: Bool
prop_checkArithmeticDeref3 :: Bool
prop_checkArithmeticDeref4 :: Bool
prop_checkArithmeticDeref5 :: Bool
prop_checkArithmeticDeref6 :: Bool
checkArithmeticDeref :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkArithmeticBadOctal1 :: Bool
prop_checkArithmeticBadOctal2 :: Bool
prop_checkArithmeticBadOctal3 :: Bool
checkArithmeticBadOctal :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkComparisonAgainstGlob :: Bool
prop_checkComparisonAgainstGlob2 :: Bool
prop_checkComparisonAgainstGlob3 :: Bool
prop_checkComparisonAgainstGlob4 :: Bool
checkComparisonAgainstGlob :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkCommarrays1 :: Bool
prop_checkCommarrays2 :: Bool
prop_checkCommarrays3 :: Bool
checkCommarrays :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkOrNeq1 :: Bool
prop_checkOrNeq2 :: Bool
prop_checkOrNeq3 :: Bool
prop_checkOrNeq4 :: Bool
checkOrNeq :: MonadState [(Id, Note)] m => Token -> m ()
allModifiedVariables :: Token -> [(Token, Token, [Char], DataSource)]
prop_checkValidCondOps1 :: Bool
prop_checkValidCondOps2 :: Bool
prop_checkValidCondOps2a :: Bool
prop_checkValidCondOps3 :: Bool
prop_checkValidCondOps4 :: Bool
checkValidCondOps :: MonadState [(Id, Note)] m => Token -> m ()
getParentTree :: Token -> Map Id Token
getTokenMap :: Token -> Map Id Token
inUnquotableContext :: Map Id Token -> Token -> Bool
isParamTo :: Map Id Token -> [Char] -> Token -> Bool
usedAsCommandName :: Map Id Token -> Token -> Bool
getPath :: Map Id Token -> Token -> [Token]
checkCommand :: Monad m => [Char] -> ([Token] -> m ()) -> Token -> m ()
checkUnqualifiedCommand :: Monad m => [Char] -> ([Token] -> m ()) -> Token -> m ()
getLiteralString :: Token -> Maybe [Char]
isLiteral :: Token -> Bool
isCommand :: Token -> [Char] -> Bool
isUnqualifiedCommand :: Token -> [Char] -> Bool
isCommandMatch :: Token -> ([Char] -> Bool) -> Bool
getCommandFor :: Token -> [Char]
prop_checkPrintfVar1 :: Bool
prop_checkPrintfVar2 :: Bool
prop_checkPrintfVar3 :: Bool
checkPrintfVar :: Token -> StateT [(Id, Note)] Identity ()
prop_checkUuoe1 :: Bool
prop_checkUuoe1a :: Bool
prop_checkUuoe2 :: Bool
prop_checkUuoe2a :: Bool
prop_checkUuoe3 :: Bool
checkUuoe :: Token -> StateT [(Id, Note)] Identity ()
prop_checkTr1 :: Bool
prop_checkTr2 :: Bool
prop_checkTr2a :: Bool
prop_checkTr3 :: Bool
prop_checkTr3a :: Bool
prop_checkTr3b :: Bool
prop_checkTr4 :: Bool
prop_checkTr5 :: Bool
prop_checkTr6 :: Bool
prop_checkTr8 :: Bool
prop_checkTr9 :: Bool
prop_checkTr10 :: Bool
prop_checkTr11 :: Bool
checkTr :: Token -> StateT [(Id, Note)] Identity ()
prop_checkFindNameGlob1 :: Bool
prop_checkFindNameGlob2 :: Bool
prop_checkFindNameGlob3 :: Bool
checkFindNameGlob :: Token -> StateT [(Id, Note)] Identity ()
prop_checkGrepRe1 :: Bool
prop_checkGrepRe2 :: Bool
prop_checkGrepRe3 :: Bool
prop_checkGrepRe4 :: Bool
prop_checkGrepRe5 :: Bool
prop_checkGrepRe6 :: Bool
prop_checkGrepRe7 :: Bool
prop_checkGrepRe8 :: Bool
prop_checkGrepRe9 :: Bool
checkGrepRe :: Token -> StateT [(Id, Note)] Identity ()
prop_checkTrapQuotes1 :: Bool
prop_checkTrapQuotes1a :: Bool
prop_checkTrapQuotes2 :: Bool
prop_checkTrapQuotes3 :: Bool
checkTrapQuotes :: Token -> StateT [(Id, Note)] Identity ()
prop_checkTimeParameters1 :: Bool
prop_checkTimeParameters2 :: Bool
prop_checkTimeParameters3 :: Bool
checkTimeParameters :: Token -> StateT [(Id, Note)] Identity ()
prop_checkTestRedirects1 :: Bool
prop_checkTestRedirects2 :: Bool
prop_checkTestRedirects3 :: Bool
checkTestRedirects :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkSudoRedirect1 :: Bool
prop_checkSudoRedirect2 :: Bool
prop_checkSudoRedirect3 :: Bool
prop_checkSudoRedirect4 :: Bool
prop_checkSudoRedirect5 :: Bool
prop_checkSudoRedirect6 :: Bool
prop_checkSudoRedirect7 :: Bool
checkSudoRedirect :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkPS11 :: Bool
prop_checkPS11a :: Bool
prop_checkPSf2 :: Bool
prop_checkPS13 :: Bool
prop_checkPS14 :: Bool
prop_checkPS14a :: Bool
prop_checkPS15 :: Bool
prop_checkPS16 :: Bool
prop_checkPS17 :: Bool
prop_checkPS18 :: Bool
checkPS1Assignments :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkBackticks1 :: Bool
prop_checkBackticks2 :: Bool
checkBackticks :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkIndirectExpansion1 :: Bool
prop_checkIndirectExpansion2 :: Bool
prop_checkIndirectExpansion3 :: Bool
prop_checkIndirectExpansion4 :: Bool
prop_checkIndirectExpansion5 :: Bool
checkIndirectExpansion :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkInexplicablyUnquoted1 :: Bool
prop_checkInexplicablyUnquoted2 :: Bool
prop_checkInexplicablyUnquoted3 :: Bool
checkInexplicablyUnquoted :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkTildeInQuotes1 :: Bool
prop_checkTildeInQuotes2 :: Bool
prop_checkTildeInQuotes4 :: Bool
prop_checkTildeInQuotes5 :: Bool
prop_checkTildeInQuotes6 :: Bool
checkTildeInQuotes :: Token -> StateT [(Id, Note)] Identity ()
prop_checkLonelyDotDash1 :: Bool
prop_checkLonelyDotDash2 :: Bool
checkLonelyDotDash :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkSpuriousExec1 :: Bool
prop_checkSpuriousExec2 :: Bool
prop_checkSpuriousExec3 :: Bool
prop_checkSpuriousExec4 :: Bool
prop_checkSpuriousExec5 :: Bool
prop_checkSpuriousExec6 :: Bool
checkSpuriousExec :: Token -> StateT [(Id, Note)] Identity ()
prop_checkSpuriousExpansion1 :: Bool
prop_checkSpuriousExpansion2 :: Bool
prop_checkSpuriousExpansion3 :: Bool
prop_checkSpuriousExpansion4 :: Bool
checkSpuriousExpansion :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkUnusedEchoEscapes1 :: Bool
prop_checkUnusedEchoEscapes2 :: Bool
prop_checkUnusedEchoEscapes3 :: Bool
prop_checkUnusedEchoEscapes4 :: Bool
checkUnusedEchoEscapes :: Token -> StateT [(Id, Note)] Identity ()
prop_checkDollarBrackets1 :: Bool
prop_checkDollarBrackets2 :: Bool
checkDollarBrackets :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkSshHereDoc1 :: Bool
prop_checkSshHereDoc2 :: Bool
checkSshHereDoc :: MonadState [(Id, Note)] m => Token -> m ()
prop_checkSshCmdStr1 :: Bool
prop_checkSshCmdStr2 :: Bool
prop_checkSshCmdStr3 :: Bool
checkSshCommandString :: Token -> StateT [(Id, Note)] Identity ()
prop_subshellAssignmentCheck :: Bool
prop_subshellAssignmentCheck2 :: Bool
prop_subshellAssignmentCheck3 :: Bool
prop_subshellAssignmentCheck4 :: Bool
prop_subshellAssignmentCheck5 :: Bool
prop_subshellAssignmentCheck6 :: Bool
prop_subshellAssignmentCheck6a :: Bool
prop_subshellAssignmentCheck7 :: Bool
prop_subshellAssignmentCheck8 :: Bool
prop_subshellAssignmentCheck9 :: Bool
prop_subshellAssignmentCheck10 :: Bool
prop_subshellAssignmentCheck11 :: Bool
prop_subshellAssignmentCheck12 :: Bool
subshellAssignmentCheck :: Token -> [(Id, Note)]
data Scope
SubshellScope :: String -> Scope
NoneScope :: Scope
data StackData
StackScope :: Scope -> StackData
StackScopeEnd :: StackData
Assignment :: (Token, Token, String, DataSource) -> StackData
Reference :: (Token, Token, String) -> StackData
data DataSource
DataFrom :: [Token] -> DataSource
DataExternal :: DataSource
data VariableState
Dead :: Token -> String -> VariableState
Alive :: VariableState
leadType :: Token -> Scope
getModifiedVariables :: Token -> [(Token, Token, String, DataSource)]
getReferencedVariableCommand :: Token -> [(Token, Token, String)]
getModifiedVariableCommand :: Token -> [(Token, Token, [Char], DataSource)]
getBracedReference :: [Char] -> [Char]
getReferencedVariables :: Token -> [(Token, Token, [Char])]
getVariableFlow :: Token -> [StackData]
findSubshelled :: MonadState [(Id, Note)] m => [StackData] -> [(String, [(Token, Token, String, DataSource)])] -> Map String VariableState -> m ()
doVariableFlowAnalysis :: (Token -> Token -> String -> StateT b Identity [a]) -> (Token -> Token -> String -> DataSource -> StateT b Identity [a]) -> b -> Token -> [a]
prop_checkSpacefulness0 :: Bool
prop_checkSpacefulness1 :: Bool
prop_checkSpacefulness2 :: Bool
prop_checkSpacefulness3 :: Bool
prop_checkSpacefulness4 :: Bool
prop_checkSpacefulness4a :: Bool
prop_checkSpacefulness5 :: Bool
prop_checkSpacefulness6 :: Bool
prop_checkSpacefulness7 :: Bool
prop_checkSpacefulness8 :: Bool
prop_checkSpacefulnessA :: Bool
prop_checkSpacefulnessB :: Bool
prop_checkSpacefulnessC :: Bool
prop_checkSpacefulnessD :: Bool
prop_checkSpacefulnessE :: Bool
prop_checkSpacefulnessF :: Bool
prop_checkSpacefulnessG :: Bool
prop_checkSpacefulnessH :: Bool
prop_checkSpacefulnessI :: Bool
prop_checkSpacefulnessJ :: Bool
checkSpacefulness :: Token -> [(Id, Note)]
prop_checkQuotesInLiterals1 :: Bool
prop_checkQuotesInLiterals1a :: Bool
prop_checkQuotesInLiterals2 :: Bool
prop_checkQuotesInLiterals3 :: Bool
prop_checkQuotesInLiterals4 :: Bool
checkQuotesInLiterals :: Token -> [(Id, Note)]
prop_checkFunctionsUsedExternally1 :: Bool
prop_checkFunctionsUsedExternally2 :: Bool
prop_checkFunctionsUsedExternally3 :: Bool
checkFunctionsUsedExternally :: Token -> [(Id, Note)]
prop_checkUnused0 :: Bool
prop_checkUnused1 :: Bool
prop_checkUnused2 :: Bool
prop_checkUnused3 :: Bool
prop_checkUnused4 :: Bool
prop_checkUnused5 :: Bool
prop_checkUnused6 :: Bool
prop_checkUnused7 :: Bool
prop_checkUnused8 :: Bool
prop_checkUnused9 :: Bool
prop_checkUnused10 :: Bool
prop_checkUnused11 :: Bool
checkUnusedAssignments :: Token -> [(Id, Note)]
prop_checkGlobsAsOptions1 :: Bool
prop_checkGlobsAsOptions2 :: Bool
prop_checkGlobsAsOptions3 :: Bool
checkGlobsAsOptions :: MonadState [(Id, Note)] m => Token -> m ()
instance Show Shell
instance Eq Shell
instance Show Scope
instance Eq Scope
instance Show DataSource
instance Eq DataSource
instance Show StackData
instance Eq StackData
instance Show VariableState
instance Eq VariableState

module ShellCheck.Simple
shellCheck :: String -> [ShellCheckComment]
data ShellCheckComment
scLine :: ShellCheckComment -> Int
scColumn :: ShellCheckComment -> Int
scSeverity :: ShellCheckComment -> String
scMessage :: ShellCheckComment -> String
instance Show ShellCheckComment
