Safe Haskell | None |
---|---|
Language | Haskell98 |
ShellCheck.AnalyzerLib
Documentation
type AnalyzerM a = RWS Parameters [TokenComment] Cache a #
nullCheck :: b -> RWST Parameters [TokenComment] Cache Identity () #
runChecker :: Parameters -> Checker -> [TokenComment] #
composeAnalyzers :: (a -> Analysis) -> (a -> Analysis) -> a -> Analysis #
data Parameters #
Constructors
Parameters | |
Fields
|
Instances
Show Parameters # | |
Defined in ShellCheck.AnalyzerLib Methods showsPrec :: Int -> Parameters -> ShowS # show :: Parameters -> String # showList :: [Parameters] -> ShowS # |
Constructors
SubshellScope String | |
NoneScope |
Constructors
StackScope Scope | |
StackScopeEnd | |
Assignment (Token, Token, String, DataType) | |
Reference (Token, Token, String) |
Constructors
DataString DataSource | |
DataArray DataSource |
data DataSource #
Constructors
SourceFrom [Token] | |
SourceExternal | |
SourceDeclaration | |
SourceInteger | |
SourceChecked |
Instances
Show DataSource # | |
Defined in ShellCheck.AnalyzerLib Methods showsPrec :: Int -> DataSource -> ShowS # show :: DataSource -> String # showList :: [DataSource] -> ShowS # |
data VariableState #
Instances
Show VariableState # | |
Defined in ShellCheck.AnalyzerLib Methods showsPrec :: Int -> VariableState -> ShowS # show :: VariableState -> String # showList :: [VariableState] -> ShowS # |
defaultSpec :: ParseResult -> AnalysisSpec #
pScript :: [Char] -> ParseResult #
makeComment :: Severity -> Id -> Code -> String -> TokenComment #
addComment :: (NFData a, MonadWriter [a] m) => a -> m () #
warn :: MonadWriter [TokenComment] m => Id -> Code -> String -> m () #
err :: MonadWriter [TokenComment] m => Id -> Code -> String -> m () #
info :: MonadWriter [TokenComment] m => Id -> Code -> String -> m () #
style :: MonadWriter [TokenComment] m => Id -> Code -> String -> m () #
errWithFix :: MonadWriter [TokenComment] m => Id -> Code -> String -> Fix -> m () #
warnWithFix :: MonadWriter [TokenComment] m => Id -> Code -> String -> Fix -> m () #
infoWithFix :: MonadWriter [TokenComment] m => Id -> Code -> String -> Fix -> m () #
styleWithFix :: MonadWriter [TokenComment] m => Id -> Code -> String -> Fix -> m () #
addCommentWithFix :: MonadWriter [TokenComment] m => Severity -> Id -> Code -> String -> Fix -> m () #
makeCommentWithFix :: Severity -> Id -> Code -> String -> Fix -> TokenComment #
containsSetE :: Token -> Bool #
containsPipefail :: Token -> Bool #
containsShopt :: [Char] -> Token -> Bool #
containsInheritErrexit :: Token -> Bool #
containsLastpipe :: Token -> Bool #
determineShellTest :: [Char] -> Shell #
getClosestCommandM :: MonadReader Parameters m => Token -> m (Maybe Token) #
getPathM :: MonadReader Parameters m => Token -> m [Token] #
parents :: Parameters -> Token -> [Token] #
tokenIsJustCommandOutput :: Token -> Bool #
getVariableFlow :: Parameters -> Token -> [StackData] #
leadType :: Parameters -> Token -> Scope #
isClosingFileOp :: Token -> Bool #
getIndexReferences :: String -> [String] #
getVariableForTestDashV :: Token -> Maybe String #
getOffsetReferences :: String -> [String] #
isDereferencingBinaryOp :: [Char] -> Bool #
dataTypeFrom :: (DataSource -> DataType) -> Token -> DataType #
isUnqualifiedCommand :: Token -> String -> Bool #
isConfusedGlobRegex :: String -> Bool #
isVariableStartChar :: Char -> Bool #
isVariableChar :: Char -> Bool #
isSpecialVariableChar :: Char -> Bool #
isVariableName :: [Char] -> Bool #
getVariablesFromLiteralToken :: Token -> [String] #
getVariablesFromLiteral :: String -> [String] #
getBracedReference :: [Char] -> [Char] #
getBracedModifier :: [Char] -> [Char] #
headOrDefault :: p -> [p] -> p #
lastOrDefault :: p -> [p] -> p #
whenShell :: (MonadReader Parameters m, Foldable t) => t Shell -> m () -> m () #
filterByAnnotation :: AnalysisSpec -> Parameters -> [TokenComment] -> [TokenComment] #
shouldIgnoreCode :: Parameters -> Integer -> Token -> Bool #
isCountingReference :: Token -> Bool #
supportsArrays :: Shell -> Bool #
isBashLike :: Parameters -> Bool #
isTrueAssignmentSource :: DataType -> Bool #
modifiesVariable :: Parameters -> Token -> [Char] -> Bool #