-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Shell script analysis tool -- @package ShellCheck @version 0.4.1 module ShellCheck.Regex mkRegex :: String -> Regex matches :: String -> Regex -> Bool matchRegex :: Regex -> String -> Maybe [String] matchAllStrings :: Regex -> String -> [String] matchAllSubgroups :: Regex -> String -> [[String]] subRegex :: Regex -> String -> String -> String splitOn :: String -> Regex -> [String] 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 CaseType CaseBreak :: CaseType CaseFallThrough :: CaseType CaseContinue :: CaseType data Token TA_Binary :: Id -> String -> Token -> Token -> Token TA_Expansion :: Id -> [Token] -> Token TA_Index :: 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_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 -> [Token] -> 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_DollarBraceCommandExpansion :: Id -> [Token] -> 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 -> 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 T_CoProc :: Id -> (Maybe String) -> Token -> Token T_CoProcBody :: Id -> Token -> Token T_Include :: Id -> Token -> Token -> Token data Annotation DisableComment :: Integer -> Annotation SourceOverride :: String -> Annotation data ConditionType DoubleBracket :: ConditionType SingleBracket :: ConditionType tokenEquals :: Token -> Token -> Bool 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 FunctionKeyword instance Eq FunctionKeyword instance Show FunctionParentheses instance Eq FunctionParentheses 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.ASTLib isLoop :: Token -> Bool willSplit :: Token -> Bool isGlob :: Token -> Bool isConstant :: Token -> Bool isEmpty :: Token -> Bool oversimplify :: Token -> [[Char]] getFlagsUntil :: ([Char] -> Bool) -> Token -> [(Token, [Char])] getAllFlags :: Token -> [(Token, [Char])] getLeadingFlags :: Token -> [(Token, [Char])] bracedString :: Token -> [Char] isArrayExpansion :: Token -> Bool mayBecomeMultipleArgs :: Token -> Bool willBecomeMultipleArgs :: Token -> Bool willConcatInAssignment :: Token -> Bool getLiteralString :: Token -> Maybe String onlyLiteralString :: Token -> String getUnquotedLiteral :: Token -> Maybe [Char] getGlobOrLiteralString :: Token -> Maybe String getLiteralStringExt :: (Token -> Maybe String) -> Token -> Maybe String isLiteral :: Token -> Bool getWordParts :: Token -> [Token] braceExpand :: Token -> [Token] getCommandName :: Token -> Maybe String getCommandBasename :: Token -> Maybe [Char] isAssignment :: Token -> Bool getCommandSequences :: Token -> [[Token]] module ShellCheck.Interface data SystemInterface m SystemInterface :: (String -> m (Either ErrorMessage String)) -> SystemInterface m siReadFile :: SystemInterface m -> String -> m (Either ErrorMessage String) data CheckSpec CheckSpec :: String -> String -> [Integer] -> Maybe Shell -> CheckSpec csFilename :: CheckSpec -> String csScript :: CheckSpec -> String csExcludedWarnings :: CheckSpec -> [Integer] csShellTypeOverride :: CheckSpec -> Maybe Shell data CheckResult CheckResult :: String -> [PositionedComment] -> CheckResult crFilename :: CheckResult -> String crComments :: CheckResult -> [PositionedComment] emptyCheckSpec :: CheckSpec data ParseSpec ParseSpec :: String -> String -> ParseSpec psFilename :: ParseSpec -> String psScript :: ParseSpec -> String data ParseResult ParseResult :: [PositionedComment] -> Map Id Position -> Maybe Token -> ParseResult prComments :: ParseResult -> [PositionedComment] prTokenPositions :: ParseResult -> Map Id Position prRoot :: ParseResult -> Maybe Token data AnalysisSpec AnalysisSpec :: Token -> Maybe Shell -> ExecutionMode -> AnalysisSpec asScript :: AnalysisSpec -> Token asShellType :: AnalysisSpec -> Maybe Shell asExecutionMode :: AnalysisSpec -> ExecutionMode data AnalysisResult AnalysisResult :: [TokenComment] -> AnalysisResult arComments :: AnalysisResult -> [TokenComment] data Shell Ksh :: Shell Sh :: Shell Bash :: Shell data ExecutionMode Executed :: ExecutionMode Sourced :: ExecutionMode type ErrorMessage = String type Code = Integer data Severity ErrorC :: Severity WarningC :: Severity InfoC :: Severity StyleC :: Severity data Position Position :: String -> Integer -> Integer -> Position posFile :: Position -> String posLine :: Position -> Integer posColumn :: Position -> Integer data Comment Comment :: Severity -> Code -> String -> Comment data PositionedComment PositionedComment :: Position -> Comment -> PositionedComment data TokenComment TokenComment :: Id -> Comment -> TokenComment mockedSystemInterface :: [(String, String)] -> SystemInterface Identity instance Show ParseSpec instance Eq ParseSpec instance Show Shell instance Eq Shell instance Show CheckSpec instance Eq CheckSpec instance Show ExecutionMode instance Eq ExecutionMode instance Show Severity instance Eq Severity instance Ord Severity instance Show Position instance Eq Position instance Show Comment instance Eq Comment instance Show PositionedComment instance Eq PositionedComment instance Show ParseResult instance Eq ParseResult instance Show CheckResult instance Eq CheckResult instance Show TokenComment instance Eq TokenComment module ShellCheck.Data shellcheckVersion :: String internalVariables :: [[Char]] variablesWithoutSpaces :: [[Char]] commonCommands :: [[Char]] sampleWords :: [[Char]] shellForExecutable :: String -> Maybe Shell module ShellCheck.Parser parseScript :: Monad m => SystemInterface m -> ParseSpec -> m ParseResult runTests :: IO Bool instance Show Note instance Eq Note instance Show ParseNote instance Eq ParseNote instance Show Context module ShellCheck.Analytics runAnalytics :: AnalysisSpec -> AnalysisResult runTests :: IO Bool instance Show Scope instance Eq Scope instance Show DataSource instance Show DataType instance Show StackData instance Show VariableState module ShellCheck.Analyzer analyzeScript :: AnalysisSpec -> AnalysisResult module ShellCheck.Checker checkScript :: Monad m => SystemInterface m -> CheckSpec -> m CheckResult runTests :: IO Bool module ShellCheck.Formatter.Format data Formatter Formatter :: IO () -> (CheckResult -> String -> IO ()) -> (FilePath -> ErrorMessage -> IO ()) -> IO () -> Formatter header :: Formatter -> IO () onResult :: Formatter -> CheckResult -> String -> IO () onFailure :: Formatter -> FilePath -> ErrorMessage -> IO () footer :: Formatter -> IO () lineNo :: PositionedComment -> Integer colNo :: PositionedComment -> Integer codeNo :: PositionedComment -> Code messageText :: PositionedComment -> String severityText :: PositionedComment -> String makeNonVirtual :: [PositionedComment] -> String -> [PositionedComment] module ShellCheck.Formatter.CheckStyle format :: IO Formatter module ShellCheck.Formatter.GCC format :: IO Formatter module ShellCheck.Formatter.JSON format :: IO Formatter instance JSON PositionedComment module ShellCheck.Formatter.TTY format :: IO Formatter