1
1
mirror of https://github.com/github/semantic.git synced 2024-12-20 13:21:59 +03:00
semantic/prototype/doubt-difftool/Info.swift

37 lines
805 B
Swift
Raw Normal View History

2015-10-29 20:52:21 +03:00
struct Info: Categorizable, CustomJSONConvertible, Equatable {
init(range: Range<Int>, categories: Set<String>) {
self.range = range
self.categories = categories
}
2015-10-30 21:55:02 +03:00
init(range: Range<String.CharacterView.Index>, categories: Set<String>) {
// FIXME: this is terrible. see also https://github.com/github/semantic-diff/issues/136
self.range = Int(String(range.startIndex))!..<Int(String(range.endIndex))!
2015-10-30 21:55:02 +03:00
self.categories = categories
}
2015-10-29 20:52:21 +03:00
let range: Range<Int>
// MARK: Categorizable
let categories: Set<String>
// MARK: CustomJSONConvertible
var JSON: Doubt.JSON {
return [
"range": range.JSON,
"categories": Array(categories).JSON
]
}
}
func == (left: Info, right: Info) -> Bool {
return left.range == right.range && left.categories == right.categories
}
import Doubt