diff --git a/android/src/main/java/com/swmansion/enriched/textinput/utils/ShortcutsHandler.kt b/android/src/main/java/com/swmansion/enriched/textinput/utils/ShortcutsHandler.kt index a957d6281..d63466903 100644 --- a/android/src/main/java/com/swmansion/enriched/textinput/utils/ShortcutsHandler.kt +++ b/android/src/main/java/com/swmansion/enriched/textinput/utils/ShortcutsHandler.kt @@ -46,7 +46,7 @@ class ShortcutsHandler( val resolvedStyle = resolveStyleName(styleName) ?: continue s.replace(effectiveTriggerStart, effectiveTriggerStart + trigger.length, "") - view.toggleStyle(resolvedStyle) + view.verifyAndToggleStyle(resolvedStyle) return } } diff --git a/ios/utils/ShortcutsUtils.mm b/ios/utils/ShortcutsUtils.mm index 871e02251..bd084ad17 100644 --- a/ios/utils/ShortcutsUtils.mm +++ b/ios/utils/ShortcutsUtils.mm @@ -407,10 +407,12 @@ + (BOOL)tryHandlingParagraphShortcutsInRange:(NSRange)range input->blockEmitting = NO; - // Drop conflicting inline typing attrs (e.g. italic) at the cursor before - // applying the codeblock style. + // Drop conflicting inline styles (e.g. italic) across the whole paragraph + // before applying the block style. + NSRange paragraphRange = [input->textView.textStorage.string + paragraphRangeForRange:input->textView.selectedRange]; [StyleUtils handleStyleBlocksAndConflicts:type - range:input->textView.selectedRange + range:paragraphRange forHost:input]; [ParagraphAttributesUtils resetTypingAttributes:input