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 | |
Constructors
StackScope Scope | |
StackScopeEnd | |
Assignment (Token, Token, String, DataType) | |
Reference (Token, Token, String) |
data DataSource #
Constructors
SourceFrom [Token] | |
SourceExternal | |
SourceDeclaration | |
SourceInteger |
Instances
defaultSpec :: Token -> AnalysisSpec #
makeComment :: Severity -> Id -> Code -> String -> TokenComment #
addComment :: MonadWriter [t] m => t -> m () #
determineShell :: Token -> Shell #
executableFromShebang :: String -> String #
getClosestCommandM :: MonadReader Parameters m => Token -> m (Maybe Token) #
getPathM :: MonadReader Parameters m => Token -> m [Token] #
parents :: Parameters -> Token -> [Token] #
pathTo :: MonadReader Parameters m => Token -> m [Token] #
tokenIsJustCommandOutput :: Token -> Bool #
isClosingFileOp :: Token -> Bool #
getIndexReferences :: String -> [String] #
getOffsetReferences :: String -> [String] #
dataTypeFrom :: (DataSource -> DataType) -> Token -> DataType #
isUnqualifiedCommand :: Token -> String -> Bool #
isConfusedGlobRegex :: [Char] -> Bool #
isVariableStartChar :: Char -> Bool #
isVariableChar :: Char -> Bool #
variableNameRegex :: Regex #
isVariableName :: [Char] -> Bool #
getVariablesFromLiteralToken :: Token -> [String] #
getVariablesFromLiteral :: String -> [String] #
getBracedReference :: [Char] -> [Char] #
getBracedModifier :: [Char] -> [Char] #
potentially :: Monad m => Maybe (m ()) -> m () #
headOrDefault :: t -> [t] -> t #
whenShell :: (Foldable t, MonadReader Parameters m) => t Shell -> m () -> m () #
filterByAnnotation :: Token -> [TokenComment] -> [TokenComment] #