Fix text entity generation when separating entities with slashes

This commit is contained in:
Ilya Laktyushin
2019-10-28 17:55:32 +04:00
parent af8c6c7e57
commit a960811eac

View File

@@ -22,12 +22,11 @@ private let identifierDelimiterSet: CharacterSet = {
var set = CharacterSet.punctuationCharacters
set.formUnion(CharacterSet.whitespacesAndNewlines)
set.insert("|")
set.insert("/")
return set
}()
private let externalIdentifierDelimiterSet: CharacterSet = {
var set = CharacterSet.punctuationCharacters
set.formUnion(CharacterSet.whitespacesAndNewlines)
set.insert("|")
var set = identifierDelimiterSet
set.remove(".")
return set
}()
@@ -196,8 +195,10 @@ public func generateTextEntities(_ text: String, enabledTypes: EnabledEntityType
if let scalar = scalar {
if scalar == "/" {
notFound = false
if previousScalar != nil && !delimiterSet.contains(previousScalar!) {
currentEntity = nil
if let previousScalar = previousScalar, !delimiterSet.contains(previousScalar) {
if let entity = currentEntity, entity.0 == .command {
currentEntity = nil
}
} else {
if let (type, range) = currentEntity {
commitEntity(utf16, type, range, enabledTypes, &entities)