Safe Haskell | None |
---|
Documentation
genericChecks :: [Token -> [(Id, Note)]]Source
determineShell :: Token -> ShellSource
addNoteFor :: MonadState [(t, t1)] m => t -> t1 -> m ()Source
warn :: MonadState [(t, Note)] m => t -> Code -> String -> m ()Source
err :: MonadState [(t, Note)] m => t -> Code -> String -> m ()Source
info :: MonadState [(t, Note)] m => t -> Code -> String -> m ()Source
style :: MonadState [(t, Note)] m => t -> Code -> String -> m ()Source
isVariableChar :: Char -> BoolSource
isVariableName :: [Char] -> BoolSource
wouldHaveBeenGlob :: [Char] -> BoolSource
isConfusedGlobRegex :: [Char] -> BoolSource
headOrDefault :: t -> [t] -> tSource
isConstant :: Token -> BoolSource
makeSimple :: Token -> TokenSource
deadSimple :: Token -> [[Char]]Source
verifyFull :: (Token -> [a]) -> [Char] -> BoolSource
verifyNotFull :: (Token -> [a]) -> [Char] -> BoolSource
checkEchoWc :: MonadState [(Id, Note)] m => Token -> m ()Source
checkEchoSed :: MonadState [(Id, Note)] m => Token -> m ()Source
checkPipedAssignment :: MonadState [(Id, Note)] m => Token -> m ()Source
checkAssignAteCommand :: MonadState [(Id, Note)] m => Token -> m ()Source
checkArithmeticOpCommand :: MonadState [(Id, Note)] m => Token -> m ()Source
checkWrongArithmeticAssignment :: Token -> [(Id, Note)]Source
checkNeedlessCommands :: MonadState [(Id, Note)] m => Token -> m ()Source
checkPipePitfalls :: MonadState [(Id, Note)] m => Token -> m ()Source
indexOfSublists :: Num a => [[Char]] -> [[Char]] -> [a]Source
bracedString :: Token -> [Char]Source
isMagicInQuotes :: Token -> BoolSource
checkShebang :: Token -> [(Id, Note)]Source
checkForInQuoted :: MonadState [(Id, Note)] m => Token -> m ()Source
checkForInCat :: MonadState [(Id, Note)] m => Token -> m ()Source
checkForInLs :: MonadState [(Id, Note)] m => Token -> m ()Source
checkFindExec :: MonadState [(Id, Note)] m => Token -> m ()Source
checkUnquotedExpansions :: MonadState [(Id, Note)] m => Token -> Map Id Token -> m ()Source
checkRedirectToSame :: MonadState [(Id, Note)] m => Token -> Map Id Token -> m ()Source
checkShorthandIf :: MonadState [(Id, Note)] m => Token -> m ()Source
checkDollarStar :: MonadState [(Id, Note)] m => Token -> m ()Source
checkUnquotedDollarAt :: MonadState [(Id, Note)] m => Token -> m ()Source
checkStderrRedirect :: MonadState [(Id, Note)] m => Token -> m ()Source
checkSingleQuotedVariables :: MonadState [(Id, Note)] m => Token -> Map Id Token -> m ()Source
checkUnquotedN :: MonadState [(Id, Note)] m => Token -> m ()Source
checkNumberComparisons :: MonadState [(Id, Note)] m => Token -> m ()Source
checkSingleBracketOperators :: MonadState [(Id, Note)] m => Token -> m ()Source
checkDoubleBracketOperators :: MonadState [(Id, Note)] m => Token -> m ()Source
checkQuotedCondRegex :: MonadState [(Id, Note)] m => Token -> m ()Source
checkGlobbedRegex :: MonadState [(Id, Note)] m => Token -> m ()Source
checkConstantIfs :: MonadState [(Id, Note)] m => Token -> m ()Source
checkNoaryWasBinary :: MonadState [(Id, Note)] m => Token -> m ()Source
checkConstantNoary :: MonadState [(Id, Note)] m => Token -> m ()Source
checkBraceExpansionVars :: MonadState [(Id, Note)] m => Token -> m ()Source
checkForDecimals :: MonadState [(Id, Note)] m => Token -> m ()Source
checkDivBeforeMult :: MonadState [(Id, Note)] m => Token -> m ()Source
checkArithmeticDeref :: MonadState [(Id, Note)] m => Token -> m ()Source
checkArithmeticBadOctal :: MonadState [(Id, Note)] m => Token -> m ()Source
checkComparisonAgainstGlob :: MonadState [(Id, Note)] m => Token -> m ()Source
checkCommarrays :: MonadState [(Id, Note)] m => Token -> m ()Source
checkOrNeq :: MonadState [(Id, Note)] m => Token -> m ()Source
allModifiedVariables :: Token -> [(Token, Token, String, DataSource)]Source
checkValidCondOps :: MonadState [(Id, Note)] m => Token -> m ()Source
getLiteralString :: Token -> Maybe [Char]Source
getGlobOrLiteralString :: Token -> Maybe [Char]Source
isUnqualifiedCommand :: Token -> [Char] -> BoolSource
getCommandName :: Token -> Maybe [Char]Source
getCommandBasename :: Token -> Maybe [Char]Source
isAssignment :: Token -> BoolSource
checkTestRedirects :: MonadState [(Id, Note)] m => Token -> m ()Source
checkSudoRedirect :: MonadState [(Id, Note)] m => Token -> m ()Source
checkPS1Assignments :: MonadState [(Id, Note)] m => Token -> m ()Source
checkBackticks :: MonadState [(Id, Note)] m => Token -> m ()Source
checkIndirectExpansion :: MonadState [(Id, Note)] m => Token -> m ()Source
checkInexplicablyUnquoted :: MonadState [(Id, Note)] m => Token -> m ()Source
checkLonelyDotDash :: MonadState [(Id, Note)] m => Token -> m ()Source
checkSpuriousExpansion :: MonadState [(Id, Note)] m => Token -> m ()Source
checkDollarBrackets :: MonadState [(Id, Note)] m => Token -> m ()Source
checkSshHereDoc :: MonadState [(Id, Note)] m => Token -> m ()Source
subshellAssignmentCheck :: Token -> [(Id, Note)]Source
getModifiedVariables :: Token -> [(Token, Token, String, DataSource)]Source
getModifiedVariableCommand :: Token -> [(Token, Token, [Char], DataSource)]Source
getBracedReference :: [Char] -> [Char]Source
getVariableFlow :: Token -> [StackData]Source
findSubshelled :: MonadState [(Id, Note)] m => [StackData] -> [(String, [(Token, Token, String, DataSource)])] -> Map String VariableState -> m ()Source
doVariableFlowAnalysis :: (Token -> Token -> String -> StateT b Identity [a]) -> (Token -> Token -> String -> DataSource -> StateT b Identity [a]) -> b -> Token -> [a]Source
checkSpacefulness :: Token -> [(Id, Note)]Source
checkQuotesInLiterals :: Token -> [(Id, Note)]Source
checkFunctionsUsedExternally :: Token -> [(Id, Note)]Source
checkUnusedAssignments :: Token -> [(Id, Note)]Source
checkGlobsAsOptions :: MonadState [(Id, Note)] m => Token -> m ()Source
checkWhileReadPitfalls :: MonadState [(Id, Note)] m => Token -> m ()Source
checkPrefixAssignmentReference :: MonadState [(Id, Note)] m => Token -> Map Id Token -> m ()Source
checkCharRangeGlob :: MonadState [(Id, Note)] m => Token -> m ()Source
checkCdAndBack :: MonadState [(Id, Note)] m => Shell -> Token -> m ()Source