@@ -26,8 +26,6 @@ @implementation EnrichedTextInputView {
2626 EnrichedTextInputViewShadowNode::ConcreteState::Shared _state;
2727 int _componentViewHeightUpdateCounter;
2828 NSMutableSet <NSNumber *> *_activeStyles;
29- NSDictionary <NSNumber *, NSArray <NSNumber *> *> *_conflictingStyles;
30- NSDictionary <NSNumber *, NSArray <NSNumber *> *> *_blockingStyles;
3129 LinkData *_recentlyActiveLinkData;
3230 NSRange _recentlyActiveLinkRange;
3331 NSString *_recentlyEmittedString;
@@ -98,7 +96,7 @@ - (void)setDefaults {
9896 @([CodeBlockStyle getStyleType ]): [[CodeBlockStyle alloc ] initWithInput: self ]
9997 };
10098
101- _conflictingStyles = @{
99+ conflictingStyles = @{
102100 @([BoldStyle getStyleType ]) : @[],
103101 @([ItalicStyle getStyleType ]) : @[],
104102 @([UnderlineStyle getStyleType ]) : @[],
@@ -116,7 +114,7 @@ - (void)setDefaults {
116114 @([BoldStyle getStyleType ]), @([ItalicStyle getStyleType ]), @([UnderlineStyle getStyleType ]), @([StrikethroughStyle getStyleType ]), @([UnorderedListStyle getStyleType ]), @([OrderedListStyle getStyleType ]), @([BlockQuoteStyle getStyleType ]), @([InlineCodeStyle getStyleType ]), @([MentionStyle getStyleType ]), @([LinkStyle getStyleType ])]
117115 };
118116
119- _blockingStyles = @{
117+ blockingStyles = @{
120118 @([BoldStyle getStyleType ]) : @[@([CodeBlockStyle getStyleType ])],
121119 @([ItalicStyle getStyleType ]) : @[@([CodeBlockStyle getStyleType ])],
122120 @([UnderlineStyle getStyleType ]) : @[@([CodeBlockStyle getStyleType ])],
@@ -945,13 +943,13 @@ - (void)startMentionWithIndicator:(NSString *)indicator {
945943// returns false when style shouldn't be applied and true when it can be
946944- (BOOL )handleStyleBlocksAndConflicts : (StyleType)type range : (NSRange )range {
947945 // handle blocking styles: if any is present we do not apply the toggled style
948- NSArray <NSNumber *> *blocking = [self getPresentStyleTypesFrom: _blockingStyles [@(type)] range: range];
946+ NSArray <NSNumber *> *blocking = [self getPresentStyleTypesFrom: blockingStyles [@(type)] range: range];
949947 if (blocking.count != 0 ) {
950948 return NO ;
951949 }
952950
953951 // handle conflicting styles: all of their occurences have to be removed
954- NSArray <NSNumber *> *conflicting = [self getPresentStyleTypesFrom: _conflictingStyles [@(type)] range: range];
952+ NSArray <NSNumber *> *conflicting = [self getPresentStyleTypesFrom: conflictingStyles [@(type)] range: range];
955953 if (conflicting.count != 0 ) {
956954 for (NSNumber *style in conflicting) {
957955 id <BaseStyleProtocol> styleClass = stylesDict[style];
@@ -1212,7 +1210,9 @@ - (bool)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range r
12121210 [h2Style handleNewlinesInRange: range replacementText: text] ||
12131211 [h3Style handleNewlinesInRange: range replacementText: text] ||
12141212 [ZeroWidthSpaceUtils handleBackspaceInRange: range replacementText: text input: self ] ||
1215- [ParagraphAttributesUtils handleBackspaceInRange: range replacementText: text input: self ]
1213+ [ParagraphAttributesUtils handleBackspaceInRange: range replacementText: text input: self ] ||
1214+ // this callback HAS TO be always evaluated last
1215+ [ParagraphAttributesUtils handleNewlineBackspaceInRange: range replacementText: text input: self ]
12161216 ) {
12171217 [self anyTextMayHaveBeenModified ];
12181218 return NO ;
0 commit comments