     static func lint(
         danger: DangerDSL,
         shellExecutor: ShellExecutor,
+        inline: Bool = false,
         directory: String? = nil,
         configFile: String? = nil,
-        markdown: (String) -> Void = markdown,
-        fail: (String) -> Void = fail) -> [Violation] {
+        markdownAction: (String) -> Void = markdown,
+        failAction: (String) -> Void = fail,
+        failInlineAction: (String, String, Int) -> Void = fail,
+        warnInlineAction: (String, String, Int) -> Void = warn) -> [Violation] {
         // Gathers modified+created files, invokes SwiftLint on each, and posts collected errors+warnings to Danger.
 
         var files = danger.git.createdFiles + danger.git.modifiedFiles

            do {
                return try decoder.decode([Violation].self, from: outputJSON.data(using: String.Encoding.utf8)!)
            } catch let error {
                fail("Error deserializing SwiftLint JSON response (\(outputJSON)): \(error)")
                return []
            }
        }

        if !violations.isEmpty {
            var markdownMessage = """
            ### SwiftLint found issues

            | Severity | File | Reason |
            | -------- | ---- | ------ |\n
            """
            markdownMessage += violations.map { $0.toMarkdown() }.joined(separator: "\n")
            markdown(markdownMessage)
        }

        return violations

    /// This is the main entry point for linting Swift in PRs using Danger-Swift.
    /// Call this function anywhere from within your Dangerfile.swift.
    @discardableResult
    public static func lint(inline: Bool = false, directory: String? = nil, configFile: String? = nil) -> [Violation] {
        // First, for debugging purposes, print the working directory.
        print("Working directory: \(shellExecutor.execute("pwd"))")
        return self.lint(danger: danger, shellExecutor: shellExecutor, inline: inline, directory: directory, configFile: configFile)
    }
}

