pre language

This commit is contained in:
Mike Renoir 2023-10-27 08:31:34 +04:00
parent 44e737d837
commit 210635d8a3
3 changed files with 21 additions and 15 deletions

View File

@ -533,8 +533,8 @@ func messageTextEntitiesFromApiEntities(_ entities: [Api.MessageEntity]) -> [Mes
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Italic)) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Italic))
case let .messageEntityCode(offset, length): case let .messageEntityCode(offset, length):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Code)) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Code))
case let .messageEntityPre(offset, length, _): case let .messageEntityPre(offset, length, language):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre)) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre(language: language)))
case let .messageEntityTextUrl(offset, length, url): case let .messageEntityTextUrl(offset, length, url):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .TextUrl(url: url))) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .TextUrl(url: url)))
case let .messageEntityMentionName(offset, length, userId): case let .messageEntityMentionName(offset, length, userId):

View File

@ -732,8 +732,8 @@ private func parseEntities(_ entities: [SecretApi46.MessageEntity]?) -> TextEnti
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Italic)) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Italic))
case let .messageEntityCode(offset, length): case let .messageEntityCode(offset, length):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Code)) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Code))
case let .messageEntityPre(offset, length, _): case let .messageEntityPre(offset, length, language):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre)) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre(language: language)))
case let .messageEntityTextUrl(offset, length, url): case let .messageEntityTextUrl(offset, length, url):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .TextUrl(url: url))) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .TextUrl(url: url)))
case .messageEntityUnknown: case .messageEntityUnknown:
@ -945,8 +945,8 @@ private func parseEntities(_ entities: [SecretApi73.MessageEntity]) -> TextEntit
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Italic)) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Italic))
case let .messageEntityCode(offset, length): case let .messageEntityCode(offset, length):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Code)) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Code))
case let .messageEntityPre(offset, length, _): case let .messageEntityPre(offset, length, language):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre)) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre(language: language)))
case let .messageEntityTextUrl(offset, length, url): case let .messageEntityTextUrl(offset, length, url):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .TextUrl(url: url))) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .TextUrl(url: url)))
case .messageEntityUnknown: case .messageEntityUnknown:
@ -1177,8 +1177,8 @@ private func parseEntities(_ entities: [SecretApi101.MessageEntity]) -> TextEnti
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Italic)) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Italic))
case let .messageEntityCode(offset, length): case let .messageEntityCode(offset, length):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Code)) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Code))
case let .messageEntityPre(offset, length, _): case let .messageEntityPre(offset, length, language):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre)) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre(language: language)))
case let .messageEntityTextUrl(offset, length, url): case let .messageEntityTextUrl(offset, length, url):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .TextUrl(url: url))) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .TextUrl(url: url)))
case let .messageEntityStrike(offset, length): case let .messageEntityStrike(offset, length):
@ -1214,8 +1214,8 @@ private func parseEntities(_ entities: [SecretApi144.MessageEntity]) -> TextEnti
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Italic)) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Italic))
case let .messageEntityCode(offset, length): case let .messageEntityCode(offset, length):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Code)) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Code))
case let .messageEntityPre(offset, length, _): case let .messageEntityPre(offset, length, language):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre)) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre(language: language)))
case let .messageEntityTextUrl(offset, length, url): case let .messageEntityTextUrl(offset, length, url):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .TextUrl(url: url))) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .TextUrl(url: url)))
case let .messageEntityStrike(offset, length): case let .messageEntityStrike(offset, length):

View File

@ -13,7 +13,7 @@ public enum MessageTextEntityType: Equatable {
case Bold case Bold
case Italic case Italic
case Code case Code
case Pre case Pre(language: String?)
case TextUrl(url: String) case TextUrl(url: String)
case TextMention(peerId: PeerId) case TextMention(peerId: PeerId)
case PhoneNumber case PhoneNumber
@ -56,7 +56,7 @@ public struct MessageTextEntity: PostboxCoding, Codable, Equatable {
case 8: case 8:
self.type = .Code self.type = .Code
case 9: case 9:
self.type = .Pre self.type = .Pre(language: decoder.decodeOptionalStringForKey("language"))
case 10: case 10:
self.type = .TextUrl(url: decoder.decodeStringForKey("url", orElse: "")) self.type = .TextUrl(url: decoder.decodeStringForKey("url", orElse: ""))
case 11: case 11:
@ -112,7 +112,7 @@ public struct MessageTextEntity: PostboxCoding, Codable, Equatable {
case 8: case 8:
self.type = .Code self.type = .Code
case 9: case 9:
self.type = .Pre self.type = .Pre(language: try? container.decodeIfPresent(String.self, forKey: "language"))
case 10: case 10:
let url = (try? container.decode(String.self, forKey: "url")) ?? "" let url = (try? container.decode(String.self, forKey: "url")) ?? ""
self.type = .TextUrl(url: url) self.type = .TextUrl(url: url)
@ -163,8 +163,13 @@ public struct MessageTextEntity: PostboxCoding, Codable, Equatable {
encoder.encodeInt32(7, forKey: "_rawValue") encoder.encodeInt32(7, forKey: "_rawValue")
case .Code: case .Code:
encoder.encodeInt32(8, forKey: "_rawValue") encoder.encodeInt32(8, forKey: "_rawValue")
case .Pre: case let .Pre(language):
encoder.encodeInt32(9, forKey: "_rawValue") encoder.encodeInt32(9, forKey: "_rawValue")
if let language = language {
encoder.encodeString(language, forKey: "language")
} else {
encoder.encodeNil(forKey: "language")
}
case let .TextUrl(url): case let .TextUrl(url):
encoder.encodeInt32(10, forKey: "_rawValue") encoder.encodeInt32(10, forKey: "_rawValue")
encoder.encodeString(url, forKey: "url") encoder.encodeString(url, forKey: "url")
@ -221,8 +226,9 @@ public struct MessageTextEntity: PostboxCoding, Codable, Equatable {
try container.encode(7 as Int32, forKey: "_rawValue") try container.encode(7 as Int32, forKey: "_rawValue")
case .Code: case .Code:
try container.encode(8 as Int32, forKey: "_rawValue") try container.encode(8 as Int32, forKey: "_rawValue")
case .Pre: case let .Pre(language):
try container.encode(9 as Int32, forKey: "_rawValue") try container.encode(9 as Int32, forKey: "_rawValue")
try container.encodeIfPresent(language, forKey: "language")
case let .TextUrl(url): case let .TextUrl(url):
try container.encode(10 as Int32, forKey: "_rawValue") try container.encode(10 as Int32, forKey: "_rawValue")
try container.encode(url, forKey: "url") try container.encode(url, forKey: "url")