mirror of
https://github.com/realm/SwiftLint.git
synced 2026-06-06 20:18:40 +00:00
512c3c695d
before: 6056.5ms after: 28.2ms
32 lines
1.0 KiB
Swift
32 lines
1.0 KiB
Swift
//
|
|
// XcodeReporter.swift
|
|
// SwiftLint
|
|
//
|
|
// Created by JP Simard on 9/19/15.
|
|
// Copyright © 2015 Realm. All rights reserved.
|
|
//
|
|
|
|
public struct XcodeReporter: Reporter {
|
|
public static let identifier = "xcode"
|
|
public static let isRealtime = true
|
|
|
|
public var description: String {
|
|
return "Reports violations in the format Xcode uses to display in the IDE. (default)"
|
|
}
|
|
|
|
public static func generateReport(violations: [StyleViolation]) -> String {
|
|
return violations.map(generateForSingleViolation).joinWithSeparator("\n")
|
|
}
|
|
|
|
internal static func generateForSingleViolation(violation: StyleViolation) -> String {
|
|
// {full_path_to_file}{:line}{:character}: {error,warning}: {content}
|
|
return [
|
|
"\(violation.location): ",
|
|
"\(violation.severity.rawValue.lowercaseString): ",
|
|
"\(violation.ruleDescription.name) Violation: ",
|
|
(violation.reason ?? ""),
|
|
" (\(violation.ruleDescription.identifier))"
|
|
].joinWithSeparator("")
|
|
}
|
|
}
|