-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Shell script analysis tool
--
-- The goals of ShellCheck are:
--
--
-- - To point out and clarify typical beginner's syntax issues, that
-- causes a shell to give cryptic error messages.
-- - To point out and clarify typical intermediate level semantic
-- problems, that causes a shell to behave strangely and
-- counter-intuitively.
-- - To point out subtle caveats, corner cases and pitfalls, that may
-- cause an advanced user's otherwise working script to fail under future
-- circumstances.
--
@package ShellCheck
@version 0.3.4
module ShellCheck.Data
shellcheckVersion :: String
internalVariables :: [[Char]]
variablesWithoutSpaces :: [[Char]]
commonCommands :: [[Char]]
sampleWords :: [[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 FunctionKeyword
FunctionKeyword :: Bool -> FunctionKeyword
data FunctionParentheses
FunctionParentheses :: Bool -> FunctionParentheses
data ForInType
NormalForIn :: ForInType
ShortForIn :: ForInType
data CaseType
CaseBreak :: CaseType
CaseFallThrough :: CaseType
CaseContinue :: CaseType
data Token
TA_Binary :: Id -> String -> Token -> Token -> Token
TA_Expansion :: Id -> [Token] -> Token
TA_Sequence :: Id -> [Token] -> Token
TA_Trinary :: Id -> Token -> Token -> Token -> Token
TA_Unary :: Id -> String -> Token -> 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_IndexedElement :: Id -> Token -> Token -> Token
T_ :: 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 -> [(CaseType, [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 -> ForInType -> [String] -> [Token] -> [Token] -> Token
T_Function :: Id -> FunctionKeyword -> FunctionParentheses -> 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] -> 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
T_Annotation :: Id -> [Annotation] -> Token -> Token
T_Pipe :: Id -> String -> Token
data Annotation
DisableComment :: Integer -> Annotation
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
isLoop :: Token -> Bool
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 FunctionKeyword
instance Eq FunctionKeyword
instance Show FunctionParentheses
instance Eq FunctionParentheses
instance Show ForInType
instance Eq ForInType
instance Show CaseType
instance Eq CaseType
instance Show Annotation
instance Eq Annotation
instance Show ConditionType
instance Eq ConditionType
instance Show Token
instance Eq Token
module ShellCheck.Parser
data Note
Note :: Id -> Severity -> Code -> String -> Note
data Severity
ErrorC :: Severity
WarningC :: Severity
InfoC :: Severity
StyleC :: Severity
parseShell :: SourceName -> [Char] -> ParseResult
data ParseResult
ParseResult :: Maybe (Token, Map Id SourcePos) -> [ParseNote] -> ParseResult
parseResult :: ParseResult -> Maybe (Token, Map Id SourcePos)
parseNotes :: ParseResult -> [ParseNote]
data ParseNote
ParseNote :: SourcePos -> Severity -> Code -> String -> ParseNote
sortNotes :: [ParseNote] -> [ParseNote]
noteToParseNote :: Map Id SourcePos -> Note -> ParseNote
runTests :: IO Bool
instance Show Severity
instance Eq Severity
instance Ord Severity
instance Show Context
instance Show ParseNote
instance Eq ParseNote
instance Show Note
instance Eq Note
instance Show ParseResult
module ShellCheck.Analytics
data AnalysisOption
ForceShell :: Shell -> AnalysisOption
filterByAnnotation :: Token -> [Note] -> [Note]
runAnalytics :: [AnalysisOption] -> Token -> [Note]
shellForExecutable :: [Char] -> Maybe Shell
runTests :: IO Bool
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 -> [AnalysisOption] -> [ShellCheckComment]
data ShellCheckComment
scLine :: ShellCheckComment -> Int
scColumn :: ShellCheckComment -> Int
scSeverity :: ShellCheckComment -> String
scCode :: ShellCheckComment -> Int
scMessage :: ShellCheckComment -> String
runTests :: IO Bool
instance Show ShellCheckComment