capacitor-sora-editor 1.0.10 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (641) hide show
  1. package/DEPENDENCY_SOLUTION.md +87 -0
  2. package/DEVELOPMENT.md +152 -0
  3. package/WORDWRAP_FLICKER_FIX.md +205 -0
  4. package/android/build.gradle +52 -13
  5. package/android/sora-editor/editor/src/main/AndroidManifest.xml +27 -0
  6. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/I18nConfig.java +69 -0
  7. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/annotations/Experimental.java +41 -0
  8. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/annotations/InvalidateRequired.java +40 -0
  9. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/annotations/UnsupportedUserUsage.java +39 -0
  10. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/ClickEvent.java +49 -0
  11. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/ColorSchemeUpdateEvent.kt +43 -0
  12. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/ContentChangeEvent.java +122 -0
  13. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/DoubleClickEvent.java +50 -0
  14. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/EditorKeyEvent.java +157 -0
  15. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/EditorMotionEvent.java +212 -0
  16. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/Event.java +132 -0
  17. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/EventManager.java +328 -0
  18. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/EventReceiver.java +33 -0
  19. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/HandleStateChangeEvent.java +67 -0
  20. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/InterceptTarget.java +44 -0
  21. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/KeyBindingEvent.java +77 -0
  22. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/LongPressEvent.java +53 -0
  23. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/ResultedEvent.java +63 -0
  24. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/ScrollEvent.java +126 -0
  25. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/SelectionChangeEvent.java +155 -0
  26. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/SideIconClickEvent.kt +37 -0
  27. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/SnippetEvent.java +92 -0
  28. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/SubscriptionReceipt.java +67 -0
  29. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/Unsubscribe.java +60 -0
  30. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/Utils.kt +37 -0
  31. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/editorMinorEvents.kt +162 -0
  32. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/BubbleHelper.java +76 -0
  33. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/BufferedDrawPoints.java +66 -0
  34. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/GraphemeBoundsBreaker.java +55 -0
  35. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/GraphicCharacter.java +52 -0
  36. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/GraphicsCompat.java +55 -0
  37. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/Paint.java +159 -0
  38. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/RectUtils.java +39 -0
  39. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/SingleCharacterWidths.java +160 -0
  40. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/TextRow.java +1402 -0
  41. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/TextRowParams.kt +73 -0
  42. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/inlayHint/ColorInlayHintRenderer.kt +91 -0
  43. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/inlayHint/InlayHintRenderer.kt +129 -0
  44. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/inlayHint/InlayHintRendererProvider.kt +32 -0
  45. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/inlayHint/TextInlayHintRenderer.kt +116 -0
  46. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/EmptyLanguage.java +159 -0
  47. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/Language.java +215 -0
  48. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/QuickQuoteHandler.java +78 -0
  49. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/analysis/AnalyzeManager.java +97 -0
  50. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/analysis/AsyncIncrementalAnalyzeManager.java +604 -0
  51. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/analysis/IncrementalAnalyzeManager.java +120 -0
  52. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/analysis/SequenceUpdateRange.kt +43 -0
  53. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/analysis/SimpleAnalyzeManager.java +238 -0
  54. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/analysis/StyleReceiver.java +90 -0
  55. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/analysis/StyleUpdateRange.kt +44 -0
  56. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/brackets/BracketsProvider.java +49 -0
  57. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/brackets/OnlineBracketsMatcher.java +112 -0
  58. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/brackets/PairedBracket.java +57 -0
  59. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/brackets/SimpleBracketsCollector.java +83 -0
  60. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/CompletionCancelledException.java +44 -0
  61. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/CompletionHelper.java +72 -0
  62. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/CompletionItem.java +163 -0
  63. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/CompletionItemKind.kt +67 -0
  64. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/CompletionPublisher.java +284 -0
  65. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/IdentifierAutoComplete.java +359 -0
  66. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/MatchHelper.java +131 -0
  67. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/SimpleCompletionIconDrawer.kt +99 -0
  68. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/SimpleCompletionItem.java +112 -0
  69. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/SimpleSnippetCompletionItem.java +71 -0
  70. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/SnippetDescription.kt +38 -0
  71. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/comparators.kt +320 -0
  72. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/filters.kt +709 -0
  73. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/CodeSnippet.java +223 -0
  74. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/ConditionalFormat.java +68 -0
  75. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/FormatString.java +30 -0
  76. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/InterpolatedShellItem.java +55 -0
  77. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/NextUpperCaseFormat.java +28 -0
  78. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/NoFormat.java +43 -0
  79. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/PlaceHolderElement.kt +32 -0
  80. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/PlaceholderDefinition.kt +35 -0
  81. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/PlaceholderItem.java +58 -0
  82. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/PlainPlaceholderElement.kt +32 -0
  83. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/PlainTextItem.java +56 -0
  84. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/SnippetItem.java +70 -0
  85. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/Transform.java +54 -0
  86. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/VariableItem.java +81 -0
  87. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/parser/CodeSnippetParser.java +571 -0
  88. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/parser/CodeSnippetTokenizer.java +131 -0
  89. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/parser/Token.java +47 -0
  90. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/parser/TokenType.java +59 -0
  91. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/diagnostic/DiagnosticDetail.kt +37 -0
  92. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/diagnostic/DiagnosticRegion.java +95 -0
  93. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/diagnostic/DiagnosticsContainer.java +148 -0
  94. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/diagnostic/Quickfix.kt +51 -0
  95. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/folding/FoldingRegion.java +89 -0
  96. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/format/AsyncFormatter.java +198 -0
  97. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/format/Formatter.java +104 -0
  98. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/smartEnter/NewlineHandleResult.java +47 -0
  99. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/smartEnter/NewlineHandler.java +60 -0
  100. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/BlocksUpdater.java +60 -0
  101. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/CodeBlock.java +182 -0
  102. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/EmptyReader.java +66 -0
  103. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/HighlightTextContainer.kt +345 -0
  104. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/MappedSpanUpdater.java +190 -0
  105. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/MappedSpans.java +264 -0
  106. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/Span.java +203 -0
  107. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/SpanFactory.java +73 -0
  108. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/SpanPool.kt +91 -0
  109. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/Spans.java +133 -0
  110. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/Styles.java +280 -0
  111. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/StylesUtils.java +108 -0
  112. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/TextStyle.java +141 -0
  113. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/TextStyle.kt +37 -0
  114. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/color/ConstColor.kt +56 -0
  115. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/color/EditorColor.kt +40 -0
  116. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/color/ResolvableColor.kt +40 -0
  117. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/inlayHint/InlayHint.kt +52 -0
  118. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/inlayHint/InlayHintsContainer.kt +32 -0
  119. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/inlayHint/IntSetUpdateRange.kt +58 -0
  120. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/inlayHint/SparseUpdateRange.kt +52 -0
  121. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/inlayHint/inlayHints.kt +57 -0
  122. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/line/LineAnchorStyle.kt +66 -0
  123. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/line/LineBackground.kt +61 -0
  124. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/line/LineGutterBackground.kt +37 -0
  125. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/line/LineSideIcon.kt +35 -0
  126. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/line/LineStyles.kt +85 -0
  127. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/patching/SparseStylePatches.kt +115 -0
  128. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/patching/StylePatch.kt +60 -0
  129. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/SpanClickableUrl.kt +41 -0
  130. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/SpanColorResolver.kt +48 -0
  131. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/SpanConstColorResolver.kt +48 -0
  132. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/SpanExt.kt +35 -0
  133. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/SpanExtAttrs.java +67 -0
  134. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/SpanExternalRenderer.kt +70 -0
  135. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/SpanInteractionInfo.kt +40 -0
  136. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/internal/NoExtSpanImpl.java +165 -0
  137. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/internal/SpanImpl.java +188 -0
  138. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/util/PointAnchorContainer.kt +168 -0
  139. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/util/BaseAnalyzeManager.java +95 -0
  140. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/util/PlainTextAnalyzeManager.java +65 -0
  141. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/util/PlainTextSpans.java +78 -0
  142. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/AndroidEmoji.java +95 -0
  143. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/CachedIndexer.java +458 -0
  144. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/CharArrayWrapper.java +81 -0
  145. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/CharPosition.java +150 -0
  146. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/CharSequenceIterator.java +109 -0
  147. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/ComposingText.java +91 -0
  148. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/Content.java +1306 -0
  149. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/Content.kt +38 -0
  150. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/ContentIO.java +173 -0
  151. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/ContentLine.java +405 -0
  152. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/ContentListener.java +81 -0
  153. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/ContentReference.java +212 -0
  154. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/Cursor.java +374 -0
  155. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/FunctionCharacters.java +71 -0
  156. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/ICUUtils.java +85 -0
  157. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/Indexer.java +92 -0
  158. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/InsertTextHelper.java +117 -0
  159. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/LineSeparator.java +123 -0
  160. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/SpanRecycler.java +103 -0
  161. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/TextLayoutHelper.java +122 -0
  162. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/TextRange.java +85 -0
  163. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/TextReference.java +132 -0
  164. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/TextUtils.java +196 -0
  165. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/TextUtilsP.java +236 -0
  166. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/UndoManager.java +750 -0
  167. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/UnicodeIterator.java +106 -0
  168. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/bidi/BidiRequirementChecker.java +31 -0
  169. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/bidi/ContentBidi.java +143 -0
  170. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/bidi/Directions.java +79 -0
  171. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/bidi/IDirections.java +39 -0
  172. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/bidi/TextBidi.java +93 -0
  173. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/bidi/VisualDirections.java +88 -0
  174. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/breaker/WordBreaker.java +47 -0
  175. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/breaker/WordBreakerEmpty.java +38 -0
  176. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/breaker/WordBreakerIcu.java +62 -0
  177. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/breaker/WordBreakerProgram.java +54 -0
  178. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/method/KeyMetaStates.java +93 -0
  179. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/BinaryHeap.java +239 -0
  180. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/BlockIntList.java +366 -0
  181. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/CharCode.kt +132 -0
  182. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/Chars.kt +151 -0
  183. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/ClipDataUtils.java +55 -0
  184. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/EditorHandler.kt +30 -0
  185. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/Floats.java +33 -0
  186. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/IntPair.java +96 -0
  187. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/KeyboardUtils.kt +55 -0
  188. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/Logger.java +109 -0
  189. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/LongArrayList.java +132 -0
  190. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/MutableInt.java +43 -0
  191. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/MyCharacter.java +143 -0
  192. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/Numbers.java +123 -0
  193. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/ObjectPool.java +77 -0
  194. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/RegionIterator.java +162 -0
  195. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/RendererUtils.kt +66 -0
  196. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/ReversedListView.kt +36 -0
  197. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/SegmentList.java +323 -0
  198. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/ShareableData.kt +50 -0
  199. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/TemporaryCharBuffer.java +52 -0
  200. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/TemporaryFloatBuffer.java +68 -0
  201. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/ThemeUtils.java +38 -0
  202. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/TrieTree.java +177 -0
  203. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/ViewUtils.java +67 -0
  204. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/regex/RegexBackrefGrammar.java +40 -0
  205. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/regex/RegexBackrefHelper.java +53 -0
  206. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/regex/RegexBackrefParser.java +119 -0
  207. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/regex/RegexBackrefToken.java +65 -0
  208. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/CodeEditor.java +5433 -0
  209. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/CursorBlink.java +98 -0
  210. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/DirectAccessProps.java +561 -0
  211. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/Editor.kt +67 -0
  212. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorInputConnection.java +714 -0
  213. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorKeyEventHandler.java +646 -0
  214. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorRenderer.java +2620 -0
  215. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorScroller.java +119 -0
  216. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorSearcher.java +553 -0
  217. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorStyleDelegate.java +143 -0
  218. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorTouchEventHandler.java +1306 -0
  219. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/LanguageHelper.java +66 -0
  220. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/RegionResolver.kt +66 -0
  221. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/SelectionMovement.kt +252 -0
  222. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/SymbolInputView.java +154 -0
  223. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/SymbolPairMatch.java +334 -0
  224. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/base/EditorPopupWindow.java +351 -0
  225. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/CompletionLayout.java +89 -0
  226. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/DefaultCompletionItemAdapter.java +76 -0
  227. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/DefaultCompletionLayout.java +206 -0
  228. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/DefaultDiagnosticTooltipLayout.kt +165 -0
  229. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/DiagnosticTooltipLayout.kt +43 -0
  230. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/EditorAutoCompletion.java +684 -0
  231. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/EditorBuiltinComponent.java +48 -0
  232. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/EditorCompletionAdapter.java +118 -0
  233. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/EditorContextMenuCreator.kt +221 -0
  234. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/EditorDiagnosticTooltipWindow.kt +332 -0
  235. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/EditorTextActionWindow.java +362 -0
  236. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/Magnifier.java +396 -0
  237. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/ext/EditorSpanInteractionHandler.kt +157 -0
  238. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/AbstractLayout.java +158 -0
  239. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/Layout.java +185 -0
  240. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/LineBreakLayout.java +393 -0
  241. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/Row.java +77 -0
  242. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/RowElement.java +70 -0
  243. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/RowElementTypes.java +41 -0
  244. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/RowIterator.java +67 -0
  245. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/ViewMeasureHelper.java +123 -0
  246. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/WordwrapLayout.java +683 -0
  247. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/rendering/MeasureCacheItem.kt +35 -0
  248. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/rendering/RenderCache.kt +109 -0
  249. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/rendering/RenderContext.kt +79 -0
  250. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/rendering/RenderNodeHolder.kt +178 -0
  251. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/rendering/RenderingConstants.java +79 -0
  252. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/rendering/TextAdvancesCache.java +122 -0
  253. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/rendering/package-info.java +30 -0
  254. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/schemes/EditorColorScheme.java +544 -0
  255. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/schemes/SchemeDarcula.java +70 -0
  256. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/schemes/SchemeEclipse.java +60 -0
  257. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/schemes/SchemeGitHub.java +54 -0
  258. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/schemes/SchemeNotepadXX.java +60 -0
  259. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/schemes/SchemeVS2019.java +70 -0
  260. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/SnippetController.kt +561 -0
  261. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/TransformApplier.java +134 -0
  262. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/ClipboardBasedSnippetVariableResolver.java +61 -0
  263. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/CommentBasedSnippetVariableResolver.java +77 -0
  264. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/CompositeSnippetVariableResolver.java +79 -0
  265. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/EditorBasedSnippetVariableResolver.java +76 -0
  266. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/FileBasedSnippetVariableResolver.java +39 -0
  267. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/ISnippetVariableResolver.java +49 -0
  268. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/RandomBasedSnippetVariableResolver.java +55 -0
  269. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/TimeBasedSnippetVariableResolver.java +101 -0
  270. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/WorkspaceBasedSnippetVariableResolver.java +39 -0
  271. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/CursorAnimator.java +78 -0
  272. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/DiagnosticIndicatorStyle.java +37 -0
  273. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/LineInfoPanelPosition.java +33 -0
  274. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/LineInfoPanelPositionMode.java +30 -0
  275. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/LineNumberTipTextProvider.kt +44 -0
  276. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/SelectionHandleStyle.java +98 -0
  277. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/builtin/DefaultLineNumberTip.kt +34 -0
  278. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/builtin/FadeCursorAnimator.java +179 -0
  279. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/builtin/HandleStyleDrop.java +80 -0
  280. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/builtin/HandleStyleNone.java +28 -0
  281. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/builtin/HandleStyleSideDrop.java +60 -0
  282. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/builtin/MoveCursorAnimator.java +159 -0
  283. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/builtin/ScaleCursorAnimator.java +166 -0
  284. package/android/sora-editor/editor/src/main/res/anim/anim_diagnostic_tooltip_window_enter.xml +39 -0
  285. package/android/sora-editor/editor/src/main/res/anim/anim_diagnostic_tooltip_window_exit.xml +41 -0
  286. package/android/sora-editor/editor/src/main/res/anim/anim_text_action_popup_enter.xml +33 -0
  287. package/android/sora-editor/editor/src/main/res/anim/anim_text_action_popup_exit.xml +33 -0
  288. package/android/sora-editor/editor/src/main/res/drawable/baseline_more_vert_24.xml +37 -0
  289. package/android/sora-editor/editor/src/main/res/drawable/editor_text_select_start.xml +35 -0
  290. package/android/sora-editor/editor/src/main/res/drawable/ic_more_vert_black_20dp.xml +29 -0
  291. package/android/sora-editor/editor/src/main/res/drawable/ic_sora_handle_drop.xml +37 -0
  292. package/android/sora-editor/editor/src/main/res/drawable/line_break.xml +43 -0
  293. package/android/sora-editor/editor/src/main/res/drawable/magnifier_background.xml +29 -0
  294. package/android/sora-editor/editor/src/main/res/drawable/round_content_copy_20.xml +36 -0
  295. package/android/sora-editor/editor/src/main/res/drawable/round_content_cut_20.xml +39 -0
  296. package/android/sora-editor/editor/src/main/res/drawable/round_content_paste_20.xml +36 -0
  297. package/android/sora-editor/editor/src/main/res/drawable/round_save_20.xml +35 -0
  298. package/android/sora-editor/editor/src/main/res/drawable/round_select_all_20.xml +84 -0
  299. package/android/sora-editor/editor/src/main/res/drawable/softwrap_left.xml +49 -0
  300. package/android/sora-editor/editor/src/main/res/drawable/softwrap_right.xml +50 -0
  301. package/android/sora-editor/editor/src/main/res/layout/default_completion_result_item.xml +71 -0
  302. package/android/sora-editor/editor/src/main/res/layout/diagnostic_tooltip_window.xml +98 -0
  303. package/android/sora-editor/editor/src/main/res/layout/magnifier_popup.xml +31 -0
  304. package/android/sora-editor/editor/src/main/res/layout/text_compose_panel.xml +91 -0
  305. package/android/sora-editor/editor/src/main/res/values/attrs.xml +74 -0
  306. package/android/sora-editor/editor/src/main/res/values/colors.xml +29 -0
  307. package/android/sora-editor/editor/src/main/res/values/dimens.xml +27 -0
  308. package/android/sora-editor/editor/src/main/res/values/strings.xml +42 -0
  309. package/android/sora-editor/editor/src/main/res/values/style.xml +34 -0
  310. package/android/sora-editor/editor/src/main/res/values-night/colors.xml +28 -0
  311. package/android/sora-editor/editor/src/main/res/values-zh/strings.xml +39 -0
  312. package/android/sora-editor/language-textmate/src/main/AndroidManifest.xml +27 -0
  313. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/MyState.java +46 -0
  314. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/TextMateAnalyzer.java +301 -0
  315. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/TextMateColorScheme.java +369 -0
  316. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/TextMateLanguage.java +314 -0
  317. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/TextMateNewlineHandler.java +547 -0
  318. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/TextMateSymbolPairMatch.java +240 -0
  319. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/folding/FoldingHelper.java +35 -0
  320. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/folding/FoldingRegion.java +51 -0
  321. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/folding/FoldingRegions.java +96 -0
  322. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/folding/IndentRange.java +169 -0
  323. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/folding/PreviousRegion.java +41 -0
  324. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/folding/RangesCollector.java +71 -0
  325. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/FileProviderRegistry.java +83 -0
  326. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/GrammarRegistry.java +321 -0
  327. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/ThemeRegistry.java +186 -0
  328. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/dsl/GrammarDefinitionDSL.kt +94 -0
  329. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/model/DefaultGrammarDefinition.java +121 -0
  330. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/model/GrammarDefinition.java +51 -0
  331. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/model/ThemeModel.java +106 -0
  332. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/provider/AssetsFileResolver.java +58 -0
  333. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/provider/FileResolver.java +56 -0
  334. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/reader/LanguageDefinitionReader.java +133 -0
  335. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/utils/ColorUtils.java +79 -0
  336. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/utils/MatcherUtils.java +54 -0
  337. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/utils/StringUtils.java +64 -0
  338. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/TMException.java +29 -0
  339. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/grammar/IGrammar.java +125 -0
  340. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/grammar/IStateStack.java +27 -0
  341. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/grammar/IToken.java +40 -0
  342. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/grammar/ITokenizeLineResult.java +40 -0
  343. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/AttributedScopeStack.java +204 -0
  344. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/BalancedBracketSelectors.java +76 -0
  345. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/BasicScopeAttributes.java +32 -0
  346. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/BasicScopeAttributesProvider.java +141 -0
  347. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/Grammar.java +389 -0
  348. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/Injection.java +50 -0
  349. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/LineTokenizer.java +570 -0
  350. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/LineTokens.java +248 -0
  351. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/ScopeStack.java +118 -0
  352. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/StateStack.java +344 -0
  353. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/TokenTypeMatcher.java +38 -0
  354. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/TokenizeLineResult.java +50 -0
  355. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/dependencies/AbsoluteRuleReference.java +62 -0
  356. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/dependencies/IncludeReference.java +65 -0
  357. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/dependencies/ScopeDependencyProcessor.java +256 -0
  358. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/raw/IRawCaptures.java +29 -0
  359. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/raw/IRawGrammar.java +56 -0
  360. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/raw/IRawRepository.java +51 -0
  361. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/raw/IRawRule.java +77 -0
  362. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/raw/RawCaptures.java +27 -0
  363. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/raw/RawGrammar.java +158 -0
  364. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/raw/RawGrammarReader.java +67 -0
  365. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/raw/RawRepository.java +67 -0
  366. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/raw/RawRule.java +177 -0
  367. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/tokenattrs/EncodedTokenAttributes.java +100 -0
  368. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/tokenattrs/EncodedTokenDataConsts.java +61 -0
  369. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/tokenattrs/OptionalStandardTokenType.java +44 -0
  370. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/grammar/tokenattrs/StandardTokenType.java +33 -0
  371. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/matcher/Matcher.java +34 -0
  372. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/matcher/MatcherBuilder.java +199 -0
  373. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/matcher/MatcherWithPriority.java +28 -0
  374. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/matcher/NameMatcher.java +65 -0
  375. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/oniguruma/OnigCaptureIndex.java +64 -0
  376. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/oniguruma/OnigRegExp.java +23 -0
  377. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/oniguruma/OnigResult.java +24 -0
  378. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/oniguruma/OnigScanner.java +21 -0
  379. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/oniguruma/OnigScannerMatch.java +20 -0
  380. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/oniguruma/OnigString.java +194 -0
  381. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/oniguruma/Oniguruma.java +59 -0
  382. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/oniguruma/impl/OnigScannerMatchImpl.java +105 -0
  383. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/oniguruma/impl/joni/JoniOnigRegExp.java +133 -0
  384. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/oniguruma/impl/joni/JoniOnigResult.java +65 -0
  385. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/oniguruma/impl/joni/JoniOnigScanner.java +46 -0
  386. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/oniguruma/impl/joni/JoniOnigSearcher.java +81 -0
  387. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/oniguruma/impl/onig/NativeOnigConfig.java +47 -0
  388. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/oniguruma/impl/onig/NativeOnigRegExp.java +86 -0
  389. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/oniguruma/impl/onig/NativeOnigResult.java +53 -0
  390. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/oniguruma/impl/onig/NativeOnigScanner.java +41 -0
  391. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/oniguruma/impl/onig/NativeOnigSearcher.java +83 -0
  392. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/parser/PropertySettable.java +42 -0
  393. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/parser/TMParser.java +70 -0
  394. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/parser/TMParserJSON.java +84 -0
  395. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/parser/TMParserPList.java +221 -0
  396. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/parser/TMParserPropertyPath.java +75 -0
  397. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/parser/TMParserYAML.java +39 -0
  398. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/registry/IGrammarRepository.java +44 -0
  399. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/registry/IThemeProvider.java +29 -0
  400. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/registry/SyncRegistry.java +134 -0
  401. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/rule/BeginEndRule.java +116 -0
  402. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/rule/BeginWhileRule.java +116 -0
  403. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/rule/CaptureRule.java +51 -0
  404. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/rule/CompilePatternsResult.java +33 -0
  405. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/rule/CompiledRule.java +40 -0
  406. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/rule/IGrammarRegistry.java +32 -0
  407. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/rule/IRuleFactoryHelper.java +26 -0
  408. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/rule/IRuleRegistry.java +34 -0
  409. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/rule/IncludeOnlyRule.java +69 -0
  410. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/rule/MatchRule.java +67 -0
  411. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/rule/RegExpSource.java +189 -0
  412. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/rule/RegExpSourceList.java +102 -0
  413. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/rule/Rule.java +80 -0
  414. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/rule/RuleFactory.java +255 -0
  415. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/rule/RuleId.java +79 -0
  416. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/theme/ColorMap.java +96 -0
  417. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/theme/FontStyle.java +63 -0
  418. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/theme/IThemeSetting.java +26 -0
  419. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/theme/ParsedThemeRule.java +84 -0
  420. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/theme/StyleAttributes.java +63 -0
  421. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/theme/Theme.java +306 -0
  422. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/theme/ThemeTrieElement.java +191 -0
  423. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/theme/ThemeTrieElementRule.java +98 -0
  424. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/theme/raw/IRawTheme.java +26 -0
  425. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/theme/raw/IRawThemeSetting.java +34 -0
  426. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/theme/raw/RawTheme.java +67 -0
  427. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/theme/raw/RawThemeReader.java +63 -0
  428. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/utils/AbstractListeners.java +68 -0
  429. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/utils/MoreCollections.java +121 -0
  430. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/utils/NullSafetyHelper.java +76 -0
  431. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/utils/ObjectCloner.java +117 -0
  432. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/utils/RegexSource.java +128 -0
  433. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/utils/ScopeNames.java +49 -0
  434. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/internal/utils/StringUtils.java +201 -0
  435. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/registry/IGrammarConfiguration.java +51 -0
  436. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/registry/IGrammarSource.java +176 -0
  437. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/registry/IRegistryOptions.java +51 -0
  438. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/registry/IThemeSource.java +179 -0
  439. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/core/registry/Registry.java +247 -0
  440. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/languageconfiguration/internal/model/AutoClosingPair.java +30 -0
  441. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/languageconfiguration/internal/model/AutoClosingPairConditional.java +42 -0
  442. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/languageconfiguration/internal/model/CharacterPair.java +57 -0
  443. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/languageconfiguration/internal/model/CommentRule.java +49 -0
  444. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/languageconfiguration/internal/model/CompleteEnterAction.java +43 -0
  445. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/languageconfiguration/internal/model/EnterAction.java +100 -0
  446. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/languageconfiguration/internal/model/FoldingRules.java +47 -0
  447. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/languageconfiguration/internal/model/IndentForEnter.java +45 -0
  448. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/languageconfiguration/internal/model/IndentationRules.java +58 -0
  449. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/languageconfiguration/internal/model/LanguageConfiguration.java +459 -0
  450. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/languageconfiguration/internal/model/OnEnterRule.java +78 -0
  451. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/languageconfiguration/internal/model/RegExPattern.java +137 -0
  452. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/languageconfiguration/internal/supports/CharacterPairSupport.java +95 -0
  453. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/languageconfiguration/internal/supports/CommentSupport.java +83 -0
  454. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/languageconfiguration/internal/supports/IndentRulesSupport.java +79 -0
  455. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/languageconfiguration/internal/supports/OnEnterSupport.java +138 -0
  456. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/languageconfiguration/internal/utils/RegExpUtils.java +52 -0
  457. package/android/sora-editor/language-textmate/src/main/java/org/eclipse/tm4e/languageconfiguration/internal/utils/TextUtils.java +216 -0
  458. package/android/sora-editor/oniguruma-native/src/main/AndroidManifest.xml +4 -0
  459. package/android/sora-editor/oniguruma-native/src/main/cpp/CMakeLists.txt +12 -0
  460. package/android/sora-editor/oniguruma-native/src/main/cpp/binding.cpp +227 -0
  461. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/.github/workflows/cifuzz.yml +36 -0
  462. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/.github/workflows/codeql.yml +41 -0
  463. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/.travis.yml +17 -0
  464. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/AUTHORS +1 -0
  465. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/CMakeLists.txt +262 -0
  466. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/COPYING +26 -0
  467. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/ChangeLog +0 -0
  468. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/HISTORY +2521 -0
  469. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/INSTALL +368 -0
  470. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/Makefile.am +87 -0
  471. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/NEWS +0 -0
  472. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/README +203 -0
  473. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/README.md +268 -0
  474. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/README_japanese +183 -0
  475. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/autogen.sh +9 -0
  476. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/cmake/Config.cmake.in +4 -0
  477. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/compile +348 -0
  478. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/config.guess +1687 -0
  479. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/config.sub +1851 -0
  480. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/configure.ac +102 -0
  481. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/depcomp +791 -0
  482. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/doc/API +1105 -0
  483. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/doc/API.ja +1108 -0
  484. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/doc/CALLOUTS.API +397 -0
  485. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/doc/CALLOUTS.API.ja +393 -0
  486. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/doc/CALLOUTS.BUILTIN +104 -0
  487. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/doc/CALLOUTS.BUILTIN.ja +101 -0
  488. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/doc/FAQ +12 -0
  489. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/doc/FAQ.ja +22 -0
  490. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/doc/RE +597 -0
  491. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/doc/RE.ja +604 -0
  492. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/doc/SYNTAX.md +1126 -0
  493. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/doc/UNICODE_PROPERTIES +873 -0
  494. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/doc/onig_syn_md.c +693 -0
  495. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/harnesses/ascii_compatible.dict +113 -0
  496. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/harnesses/base.c +749 -0
  497. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/harnesses/deluxe.c +206 -0
  498. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/harnesses/dict_conv.py +72 -0
  499. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/harnesses/fuzzer.options +2 -0
  500. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/harnesses/libfuzzer-onig.cpp +45 -0
  501. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/harnesses/regset.c +392 -0
  502. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/index.html +192 -0
  503. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/index_ja.html +195 -0
  504. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/install-sh +541 -0
  505. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/m4/.whatever +0 -0
  506. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/make_win.bat +5 -0
  507. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/make_win32.bat +5 -0
  508. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/make_win64.bat +5 -0
  509. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/missing +215 -0
  510. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/onig-config.cmake.in +80 -0
  511. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/onig-config.in +78 -0
  512. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/oniguruma.pc.cmake.in +13 -0
  513. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/oniguruma.pc.in +13 -0
  514. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/sample/CMakeLists.txt +35 -0
  515. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/sample/Makefile.am +53 -0
  516. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/sample/bug_fix.c +93 -0
  517. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/sample/callback_each_match.c +166 -0
  518. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/sample/callout.c +268 -0
  519. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/sample/count.c +125 -0
  520. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/sample/crnl.c +129 -0
  521. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/sample/echo.c +136 -0
  522. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/sample/encode.c +215 -0
  523. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/sample/listcap.c +118 -0
  524. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/sample/names.c +79 -0
  525. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/sample/posix.c +107 -0
  526. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/sample/regset.c +95 -0
  527. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/sample/scan.c +102 -0
  528. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/sample/simple.c +63 -0
  529. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/sample/sql.c +81 -0
  530. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/sample/syntax.c +77 -0
  531. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/sample/user_property.c +92 -0
  532. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/sbom.cdx.json +44 -0
  533. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/Makefile.am +84 -0
  534. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/Makefile.windows +196 -0
  535. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/ascii.c +125 -0
  536. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/big5.c +200 -0
  537. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/config.h.cmake.in +68 -0
  538. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/config.h.win32 +56 -0
  539. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/config.h.win64 +56 -0
  540. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/config.h.windows.in +62 -0
  541. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/cp1251.c +213 -0
  542. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/euc_jp.c +308 -0
  543. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/euc_jp_prop.c +158 -0
  544. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/euc_jp_prop.gperf +26 -0
  545. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/euc_kr.c +200 -0
  546. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/euc_tw.c +194 -0
  547. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/gb18030.c +596 -0
  548. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/gperf_fold_key_conv.py +74 -0
  549. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/gperf_unfold_key_conv.py +60 -0
  550. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/iso8859_1.c +280 -0
  551. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/iso8859_10.c +230 -0
  552. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/iso8859_11.c +105 -0
  553. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/iso8859_13.c +215 -0
  554. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/iso8859_14.c +231 -0
  555. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/iso8859_15.c +221 -0
  556. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/iso8859_16.c +228 -0
  557. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/iso8859_2.c +226 -0
  558. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/iso8859_3.c +222 -0
  559. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/iso8859_4.c +225 -0
  560. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/iso8859_5.c +226 -0
  561. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/iso8859_6.c +105 -0
  562. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/iso8859_7.c +214 -0
  563. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/iso8859_8.c +105 -0
  564. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/iso8859_9.c +215 -0
  565. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/koi8.c +244 -0
  566. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/koi8_r.c +212 -0
  567. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/make_property.sh +21 -0
  568. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/make_unicode_egcb.sh +7 -0
  569. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/make_unicode_egcb_data.py +268 -0
  570. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/make_unicode_fold.sh +36 -0
  571. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/make_unicode_fold_data.py +486 -0
  572. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/make_unicode_property.sh +27 -0
  573. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/make_unicode_property_data.py +645 -0
  574. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/make_unicode_wb.sh +7 -0
  575. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/make_unicode_wb_data.py +268 -0
  576. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/mktable.c +1188 -0
  577. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/onig_init.c +45 -0
  578. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/oniggnu.h +87 -0
  579. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/onigposix.h +193 -0
  580. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/oniguruma.h +1102 -0
  581. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/regcomp.c +8589 -0
  582. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/regenc.c +998 -0
  583. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/regenc.h +286 -0
  584. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/regerror.c +416 -0
  585. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/regexec.c +7002 -0
  586. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/regext.c +202 -0
  587. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/reggnu.c +143 -0
  588. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/regint.h +1070 -0
  589. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/regparse.c +9493 -0
  590. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/regparse.h +494 -0
  591. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/regposerr.c +145 -0
  592. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/regposix.c +389 -0
  593. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/regsyntax.c +373 -0
  594. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/regtrav.c +76 -0
  595. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/regversion.c +59 -0
  596. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/sjis.c +312 -0
  597. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/sjis_prop.c +158 -0
  598. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/sjis_prop.gperf +26 -0
  599. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/st.c +562 -0
  600. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/st.h +64 -0
  601. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/unicode.c +1240 -0
  602. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/unicode_egcb_data.c +1424 -0
  603. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/unicode_fold1_key.c +3138 -0
  604. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/unicode_fold2_key.c +227 -0
  605. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/unicode_fold3_key.c +137 -0
  606. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/unicode_fold_data.c +1619 -0
  607. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/unicode_property_data.c +33967 -0
  608. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/unicode_property_data_posix.c +5975 -0
  609. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/unicode_unfold_key.c +3498 -0
  610. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/unicode_wb_data.c +1138 -0
  611. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/utf16_be.c +277 -0
  612. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/utf16_le.c +277 -0
  613. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/utf32_be.c +166 -0
  614. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/utf32_le.c +167 -0
  615. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/src/utf8.c +290 -0
  616. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/test/CMakeLists.txt +55 -0
  617. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/test/Makefile.am +83 -0
  618. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/test/test.sh +17 -0
  619. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/test/test_back.c +1450 -0
  620. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/test/test_options.c +228 -0
  621. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/test/test_regset.c +466 -0
  622. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/test/test_syntax.c +417 -0
  623. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/test/test_utf8.c +1801 -0
  624. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/test/testc.c +914 -0
  625. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/test/testp.c +613 -0
  626. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/test/testu.c +963 -0
  627. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/test-driver +150 -0
  628. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/tis-ci/stub.c +3 -0
  629. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/tis-ci/test_back.config +26 -0
  630. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/tis-ci/test_regset.config +20 -0
  631. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/tis-ci/test_syntax.config +26 -0
  632. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/tis-ci/test_utf8.config +25 -0
  633. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/tis-ci/testc.config +26 -0
  634. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/tis-ci/testu.config +24 -0
  635. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/tis.config +1336 -0
  636. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/windows/CMakeLists.txt +8 -0
  637. package/android/sora-editor/oniguruma-native/src/main/cpp/oniguruma/windows/testc.c +865 -0
  638. package/android/sora-editor/oniguruma-native/src/main/java/io/github/abc15018045126/oniguruma/OnigNative.java +121 -0
  639. package/android/src/main/java/com/abc15018045126/capacitor/soraeditor/compose/ui/EditorScreen.kt +27 -14
  640. package/package.json +1 -1
  641. package/android/libs/editor-release.aar +0 -0
@@ -0,0 +1,87 @@
1
+ # Dependency Solution: Full Source Integration (Standalone Mode)
2
+
3
+ ## Problem Statement
4
+
5
+ This Capacitor plugin (`capacitor-sora-editor`) needs to include the `sora-editor` library. We initially tried:
6
+ 1. **Local Project Dependency** ❌ (Fails for end-users without source)
7
+ 2. **JitPack Build** ❌ (Unreliable, environment errors)
8
+ 3. **Remote AAR via Ivy** ❌ (Requires manual GitHub Release uploads and complex Gradle configuration for consumers)
9
+ 4. **Local AAR Bundling** ❌ (Strict Gradle restriction for Library modules)
10
+
11
+ ## Final (Best) Solution: Full Source Integration
12
+
13
+ We have integrated the primary modules of `sora-editor` directly into the plugin as source code. This makes the plugin **completely standalone** and **zero-configuration** for users.
14
+
15
+ ### Architecture
16
+
17
+ The following modules from `sora-editor` have been copied into `capacitor-sora-editor/android/sora-editor/`:
18
+ - `editor`: The core editor UI and logic.
19
+ - `language-textmate`: TextMate grammar support.
20
+ - `oniguruma-native`: JNI bindings for the Oniguruma regex engine.
21
+
22
+ ### Implementation Details
23
+
24
+ #### 1. Source Sets Configuration
25
+ In the plugin's `android/build.gradle`, we manually include these source directories in the `main` sourceSet:
26
+
27
+ ```gradle
28
+ sourceSets {
29
+ main {
30
+ java.srcDirs = [
31
+ 'src/main/java',
32
+ 'sora-editor/editor/src/main/java',
33
+ 'sora-editor/language-textmate/src/main/java',
34
+ 'sora-editor/oniguruma-native/src/main/java'
35
+ ]
36
+ res.srcDirs = [
37
+ 'src/main/res',
38
+ 'sora-editor/editor/src/main/res',
39
+ 'sora-editor/language-textmate/src/main/res',
40
+ 'sora-editor/oniguruma-native/src/main/res'
41
+ ]
42
+ assets.srcDirs = [
43
+ 'src/main/assets',
44
+ 'sora-editor/editor/src/main/assets',
45
+ 'sora-editor/language-textmate/src/main/assets',
46
+ 'sora-editor/oniguruma-native/src/main/assets'
47
+ ]
48
+ }
49
+ }
50
+ ```
51
+
52
+ #### 2. Native Build (C++)
53
+ The Oniguruma engine is compiled using CMake directly from the integrated source:
54
+
55
+ ```gradle
56
+ externalNativeBuild {
57
+ cmake {
58
+ path = file("sora-editor/oniguruma-native/src/main/cpp/CMakeLists.txt")
59
+ version = "3.22.1"
60
+ }
61
+ }
62
+ ndkVersion = "29.0.14206865"
63
+ ```
64
+
65
+ #### 3. Module Namespace
66
+ To match the existing source code packagename and resource references, the plugin's `namespace` is set to:
67
+ `io.github.abc15018045126.sora`
68
+
69
+ ## Why This is the Best Approach
70
+
71
+ | Feature | Remote AAR | Source Integration |
72
+ |---------|------------|--------------------|
73
+ | **Setup for Users** | Complex (Requires Ivy repo config) | **Zero (Standard npm install)** |
74
+ | **Development** | Slow (Build -> Upload -> Download) | **Fast (Direct source edits)** |
75
+ | **Stability** | Depends on remote server | **Self-contained** |
76
+ | **Binary Size** | Fixed | Optimized by user's proguard/R8 |
77
+ | **Sync Issues** | Common (missing AAR in build cache) | **None** |
78
+
79
+ ## Maintenance
80
+
81
+ As the author, you can now modify the editor code directly within the plugin's `sora-editor` directory. These changes will be picked up immediately by any app using the local plugin (e.g., the `notes` app).
82
+
83
+ When you are ready to release, simply:
84
+ 1. `npm version patch`
85
+ 2. `npm publish`
86
+
87
+ The complete source code will be packaged into the npm tarball, and Gradle will compile it on the user's machine during their app's build process.
package/DEVELOPMENT.md ADDED
@@ -0,0 +1,152 @@
1
+ # Development Workflow
2
+
3
+ This document describes the development workflow for `capacitor-sora-editor` and its integration with the Notes applications.
4
+
5
+ ## Project Structure
6
+
7
+ ```
8
+ notes/
9
+ ├── capacitor-sora-editor/ # Plugin source code (standalone)
10
+ │ └── android/sora-editor/ # Integrated sora-editor source (CORE)
11
+ ├── sora-editor/ # Original Android library source (External)
12
+ ├── notes/ # Development app (uses local plugin)
13
+ └── notes-new/ # Testing app (uses npm published plugin)
14
+ ```
15
+
16
+ ## Development Environments
17
+
18
+ ### `notes` - Development Environment
19
+
20
+ **Purpose**: Active development and debugging of `capacitor-sora-editor`.
21
+
22
+ **Configuration**:
23
+ ```json
24
+ {
25
+ "dependencies": {
26
+ "capacitor-sora-editor": "file:capacitor-sora-editor"
27
+ }
28
+ }
29
+ ```
30
+
31
+ **Usage**:
32
+ - Modify plugin code directly in `capacitor-sora-editor/android/src`
33
+ - Modify core editor code in `capacitor-sora-editor/android/sora-editor/`
34
+ - Changes are immediately reflected upon rebuilding the app.
35
+
36
+ ### `notes-new` - Testing Environment
37
+
38
+ **Purpose**: Validate published npm package as end-users would experience it.
39
+
40
+ **Configuration**:
41
+ ```json
42
+ {
43
+ "dependencies": {
44
+ "capacitor-sora-editor": "^1.1.0"
45
+ }
46
+ }
47
+ ```
48
+
49
+ **Usage**:
50
+ - Install from npm registry.
51
+ - Test the exact package users will receive.
52
+ - No special Gradle configuration required for users.
53
+
54
+ ## Development Workflow
55
+
56
+ ### 1. Developing New Features
57
+
58
+ Work in the `notes` project for rapid iteration. You can modify either the plugin wrapper or the editor core:
59
+
60
+ ```bash
61
+ cd notes
62
+
63
+ # 1. Edit code in capacitor-sora-editor/android/
64
+ # - Wrapper: src/main/java/...
65
+ # - Core Editor: sora-editor/editor/...
66
+
67
+ # 2. Build and test
68
+ npm run build
69
+ npx cap sync android
70
+ cd android && ./gradlew.bat assembleDebug
71
+
72
+ # 3. Install to device
73
+ ./gradlew.bat installDebug
74
+ ```
75
+
76
+ ### 2. Updating Core Logic (sora-editor)
77
+
78
+ Since the source is integrated, you no longer need to build AARs or upload to GitHub Releases for functional updates. Simply editing the files in `capacitor-sora-editor/android/sora-editor/` is enough for local development.
79
+
80
+ ## Publishing Workflow
81
+
82
+ When you are satisfied with your changes and want to release to npm:
83
+
84
+ ### Step 1: Bump Version & Build
85
+
86
+ ```bash
87
+ cd capacitor-sora-editor
88
+
89
+ # Update version (e.g., 1.1.0 -> 1.1.1)
90
+ npm version patch
91
+
92
+ # Build the web part of the plugin
93
+ npm run build
94
+ ```
95
+
96
+ ### Step 2: Publish to npm
97
+
98
+ ```bash
99
+ cd capacitor-sora-editor
100
+ npm publish
101
+ ```
102
+
103
+ The entire `android/sora-editor` source tree will be included in the npm package.
104
+
105
+ ### Step 3: Validate in notes-new
106
+
107
+ ```bash
108
+ cd notes-new
109
+
110
+ # Install the latest version
111
+ npm install capacitor-sora-editor@latest
112
+
113
+ # Standard Capacitor sync and build
114
+ npx cap sync android
115
+ cd android && ./gradlew.bat assembleDebug
116
+ ```
117
+
118
+ ## Troubleshooting
119
+
120
+ ### Issue: "Unresolved reference: R"
121
+
122
+ **Cause**: Package namespace mismatch.
123
+ **Solution**: The plugin namespace is set to `io.github.abc15018045126.sora` in `android/build.gradle` to match the core editor's resource usage. Ensure all new activity/fragment code uses the correct R import if necessary.
124
+
125
+ ### Issue: C++ Compilation Errors
126
+
127
+ **Cause**: Missing NDK or CMake issues.
128
+ **Solution**: Ensure you have NDK `29.0.14206865` installed via Android Studio SDK Manager. The build will automatically compile the Oniguruma engine using CMake.
129
+
130
+ ### Issue: Changes not reflected
131
+
132
+ **Cause**: Gradle cache.
133
+ **Solution**:
134
+ ```bash
135
+ cd android
136
+ ./gradlew.bat clean
137
+ ```
138
+
139
+ ## Quick Reference
140
+
141
+ | Task | Command |
142
+ |------|---------|
143
+ | Local Test | `cd notes && npm run build && npx cap sync android` |
144
+ | Sync Android | `npx cap sync android` |
145
+ | Build (Dev) | `cd android && ./gradlew.bat assembleDebug` |
146
+ | Install | `cd android && ./gradlew.bat installDebug` |
147
+ | Publish | `cd capacitor-sora-editor && npm publish` |
148
+
149
+ ## Related Documentation
150
+
151
+ - [DEPENDENCY_SOLUTION.md](./DEPENDENCY_SOLUTION.md) - Why we use source integration.
152
+ - [NO_JITPACK_WARNING.md](./NO_JITPACK_WARNING.md) - Why we avoid JitPack.
@@ -0,0 +1,205 @@
1
+ # Sora Editor Word Wrap Flicker Bug Fix
2
+
3
+ ## Issue Description
4
+
5
+ In the Compose UI implementation of `capacitor-sora-editor`, when word wrap mode is enabled, users experience noticeable flickering with every keystroke. Specifically:
6
+ - The entire editor interface flickers rapidly when typing characters
7
+ - It appears as if word wrap is being disabled and immediately re-enabled
8
+ - Only occurs in word wrap mode; normal mode works fine
9
+ - Severely impacts user experience
10
+
11
+ ## Root Cause Analysis
12
+
13
+ ### Problem Chain
14
+
15
+ ```
16
+ User Input
17
+
18
+ ContentChangeEvent Triggered
19
+
20
+ Call onContentChange(newText)
21
+
22
+ Update React/Compose State
23
+
24
+ Trigger AndroidView update Block
25
+
26
+ Call multiple layout-triggering methods:
27
+ - setLineSpacing()
28
+ - setWrapLineSpacing() ← Most critical!
29
+ - setDividerMargin()
30
+ - setExtraMarginRight()
31
+ - setLineNumberMarginLeft()
32
+
33
+ Editor Recalculates All Line Wraps
34
+
35
+ Visual Flicker
36
+ ```
37
+
38
+ ### Core Issues
39
+
40
+ 1. **Unnecessary State Update Loop**
41
+ - When user types, the editor internally updates the text correctly
42
+ - However, `ContentChangeEvent` triggers the `onContentChange` callback
43
+ - This causes React/Compose state to update
44
+ - State update triggers the `update` block to re-execute
45
+
46
+ 2. **Expensive Operations in update Block**
47
+ - The `update` block executes on every state change
48
+ - It calls multiple methods that trigger layout recalculation
49
+ - Particularly `setWrapLineSpacing()` causes the entire document to recalculate wrap points
50
+ - This is a very expensive operation, especially noticeable in word wrap mode
51
+
52
+ 3. **Side Effects of CodeEditor Methods**
53
+ ```java
54
+ // CodeEditor.java
55
+ public void setWrapLineSpacing(float add, float mult) {
56
+ wrapLineSpacingAdd = add;
57
+ wrapLineSpacingMultiplier = mult;
58
+ requestLayout(); // ← Triggers layout recalculation
59
+ invalidate(); // ← Triggers redraw
60
+ }
61
+ ```
62
+
63
+ ## Fix Solution
64
+
65
+ ### Solution 1: Disable ContentChangeEvent Callback (Final Approach)
66
+
67
+ **File**: `EditorScreen.kt`
68
+
69
+ **Location**: `SoraEditorView` factory block
70
+
71
+ ```kotlin
72
+ // DISABLED: ContentChangeEvent causes update loop and flicker
73
+ // User typing -> ContentChangeEvent -> onContentChange -> React state update
74
+ // -> update block -> setText -> layout recalculation -> FLICKER
75
+ // The editor already has the correct text from user input, no need to update state
76
+ /*
77
+ subscribeEvent(io.github.abc15018045126.sora.event.ContentChangeEvent::class.java) { _, _ ->
78
+ if (!isSettingTextProgrammatically.value) {
79
+ val newText = text.toString()
80
+ currentOnContentChange(newText)
81
+ }
82
+ }
83
+ */
84
+ ```
85
+
86
+ **Rationale**:
87
+ - When user types, the editor internally updates the text correctly
88
+ - No need to sync text through state updates
89
+ - Only external modifications (e.g., from settings page) need to pass new content via props
90
+ - Completely avoids the update loop
91
+
92
+ ### Solution 2: Remove Layout-Triggering Methods from update Block
93
+
94
+ **File**: `EditorScreen.kt`
95
+
96
+ **Location**: `SoraEditorView` update block
97
+
98
+ ```kotlin
99
+ update = { view ->
100
+ // ... other updates ...
101
+
102
+ // REMOVED: These methods trigger expensive layout recalculation on every update
103
+ // They should only be set in factory or when settings actually change
104
+ // view.setLineSpacing(lineSpacingExtra, lineSpacingMultiplier)
105
+ // view.setWrapLineSpacing(wrapLineSpacingExtra, wrapLineSpacingMultiplier)
106
+ // view.setDividerMargin(0f, horizontalPadding * dp)
107
+ // view.setExtraMarginRight(horizontalPadding * dp)
108
+ // view.setLineNumberMarginLeft(horizontalPadding * dp)
109
+
110
+ // ... other updates ...
111
+ }
112
+ ```
113
+
114
+ **Rationale**:
115
+ - These layout-related settings only need to be set once during initialization (factory block)
116
+ - Or when user modifies settings
117
+ - Should not be reset on every content change
118
+ - Reduces unnecessary layout recalculations
119
+
120
+ ### Solution 3: Add wordWrap Change Detection
121
+
122
+ **File**: `EditorScreen.kt`
123
+
124
+ ```kotlin
125
+ // Only update wordwrap if it actually changed to avoid layout recalculation flicker
126
+ if (view.isWordwrap != wordWrap) {
127
+ view.isWordwrap = wordWrap
128
+ }
129
+ ```
130
+
131
+ **Rationale**:
132
+ - Even when the value is the same, resetting `isWordwrap` triggers layout recalculation
133
+ - Adding a check avoids unnecessary operations
134
+
135
+ ## Fix Results
136
+
137
+ ✅ **Completely eliminated flickering in word wrap mode**
138
+ - User input is smooth with no visual jitter
139
+ - Significant performance improvement (no layout recalculation on every keystroke)
140
+ - Word wrap functionality works normally
141
+ - Settings modifications still work correctly
142
+
143
+ ## Technical Insights
144
+
145
+ ### 1. AndroidView factory vs update
146
+
147
+ - **factory**: Executes only once when view is created
148
+ - Suitable for: Initialization, event subscriptions
149
+ - Does not re-execute when props change
150
+
151
+ - **update**: Executes every time props change
152
+ - Suitable for: Properties that need to respond to prop changes
153
+ - Should avoid: Expensive operations, unnecessary repeated settings
154
+
155
+ ### 2. Avoiding State Update Loops
156
+
157
+ ```
158
+ User Input → Editor Updates ✓
159
+
160
+ ✗ Don't trigger state update
161
+ ✗ Don't trigger update block
162
+ ✗ Don't call setText again
163
+ ```
164
+
165
+ Correct data flow:
166
+ - **User Input**: Handled internally by editor, no state update
167
+ - **External Modification**: Passed via props, triggers update block
168
+
169
+ ### 3. Performance Optimization Principles
170
+
171
+ - Only update when value actually changes
172
+ - Avoid expensive operations in high-frequency events (like input)
173
+ - Place one-time settings in factory
174
+ - Place reactive updates in update, but be cautious
175
+
176
+ ## Related Files
177
+
178
+ - `capacitor-sora-editor/android/src/main/java/com/abc15018045126/capacitor/soraeditor/compose/ui/EditorScreen.kt`
179
+ - `SoraEditorView` component
180
+ - Main modification location
181
+
182
+ - `capacitor-sora-editor/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/CodeEditor.java`
183
+ - Sora Editor core class
184
+ - Contains methods that trigger layout recalculation
185
+
186
+ ## Backup Information
187
+
188
+ Backups created during debugging:
189
+ - `backups/widget_backup_from_build_failure/`: Original working version of widget folder
190
+ - `backups/widget_from_0.24.4_failed/`: Failed attempt to upgrade to version 0.24.4
191
+
192
+ ## Summary
193
+
194
+ The essence of this issue is a **performance problem caused by unnecessary state update loops**. By:
195
+ 1. Disabling state updates during user input
196
+ 2. Removing expensive operations from the update block
197
+ 3. Adding value change detection
198
+
199
+ Successfully resolved the flickering issue in word wrap mode while maintaining full functionality.
200
+
201
+ ---
202
+
203
+ **Fix Date**: 2026-01-30
204
+ **Affected Version**: capacitor-sora-editor (Compose UI implementation)
205
+ **Status**: ✅ Fixed and Verified
@@ -21,12 +21,18 @@ apply plugin: 'kotlin-android'
21
21
  apply plugin: 'org.jetbrains.kotlin.plugin.compose'
22
22
 
23
23
  android {
24
- namespace "com.abc15018045126.capacitor.soraeditor"
24
+ namespace "io.github.abc15018045126.sora"
25
25
  compileSdk project.ext.compileSdkVersion
26
26
 
27
27
  defaultConfig {
28
28
  minSdk project.ext.minSdkVersion
29
29
  targetSdk project.ext.targetSdkVersion
30
+
31
+ externalNativeBuild {
32
+ cmake {
33
+ cppFlags ""
34
+ }
35
+ }
30
36
  }
31
37
 
32
38
  compileOptions {
@@ -47,33 +53,66 @@ android {
47
53
 
48
54
  buildFeatures {
49
55
  compose true
56
+ buildConfig true
57
+ }
58
+
59
+ sourceSets {
60
+ main {
61
+ java.srcDirs = [
62
+ 'src/main/java',
63
+ 'sora-editor/editor/src/main/java',
64
+ 'sora-editor/language-textmate/src/main/java',
65
+ 'sora-editor/oniguruma-native/src/main/java'
66
+ ]
67
+ res.srcDirs = [
68
+ 'src/main/res',
69
+ 'sora-editor/editor/src/main/res',
70
+ 'sora-editor/language-textmate/src/main/res',
71
+ 'sora-editor/oniguruma-native/src/main/res'
72
+ ]
73
+ assets.srcDirs = [
74
+ 'src/main/assets',
75
+ 'sora-editor/editor/src/main/assets',
76
+ 'sora-editor/language-textmate/src/main/assets',
77
+ 'sora-editor/oniguruma-native/src/main/assets'
78
+ ]
79
+ }
80
+ }
81
+
82
+ externalNativeBuild {
83
+ cmake {
84
+ path = file("sora-editor/oniguruma-native/src/main/cpp/CMakeLists.txt")
85
+ version = "3.22.1"
86
+ }
50
87
  }
88
+
89
+ // Required NDK version for Oniguruma-native
90
+ ndkVersion = "29.0.14206865"
51
91
  }
52
92
 
53
93
  repositories {
54
94
  google()
55
95
  mavenCentral()
56
- ivy {
57
- url 'https://github.com/abc15018045126/sora-editor/releases/download/v0.0.7/'
58
- patternLayout {
59
- artifact '[artifact].[ext]'
60
- }
61
- metadataSources { artifact() }
62
- }
63
96
  }
64
97
 
65
98
  dependencies {
66
99
  implementation fileTree(dir: 'libs', include: ['*.jar'])
67
100
  implementation project(':capacitor-android')
101
+
102
+ // Core Android dependencies
68
103
  implementation "androidx.appcompat:appcompat:1.7.0"
69
104
  implementation "androidx.core:core-ktx:1.15.0"
105
+ implementation "androidx.annotation:annotation:1.9.1"
106
+ implementation "androidx.collection:collection:1.4.5"
70
107
 
71
- implementation 'sora-editor:editor-release:v0.0.7@aar'
72
-
73
- // Local Sora Editor project for local builds (commented for distribution)
74
- // implementation project(':sora-editor')
108
+ // Editor dependencies (extracted from sora-editor modules)
109
+ implementation "com.google.code.gson:gson:2.13.2"
110
+ implementation "org.snakeyaml:snakeyaml-engine:3.0.1"
111
+ implementation "org.eclipse.jdt:org.eclipse.jdt.annotation:2.4.100"
75
112
 
76
-
113
+ // Textmate engine components
114
+ implementation "org.jruby.jcodings:jcodings:1.0.63"
115
+ implementation "org.jruby.joni:joni:2.2.6"
77
116
 
78
117
  // Compose
79
118
  def composeBom = platform('androidx.compose:compose-bom:2024.12.01')
@@ -0,0 +1,27 @@
1
+ <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2
+ ~ sora-editor - the awesome code editor for Android
3
+ ~ https://github.com/abc15018045126/sora-editor
4
+ ~ Copyright (C) 2020-2024 abc15018045126
5
+ ~
6
+ ~ This library is free software; you can redistribute it and/or
7
+ ~ modify it under the terms of the GNU Lesser General Public
8
+ ~ License as published by the Free Software Foundation; either
9
+ ~ version 2.1 of the License, or (at your option) any later version.
10
+ ~
11
+ ~ This library is distributed in the hope that it will be useful,
12
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ ~ Lesser General Public License for more details.
15
+ ~
16
+ ~ You should have received a copy of the GNU Lesser General Public
17
+ ~ License along with this library; if not, write to the Free Software
18
+ ~ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
19
+ ~ USA
20
+ ~
21
+ ~ Please contact abc15018045126 by email 2073412493@qq.com if you need
22
+ ~ additional information or have any questions
23
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
24
+
25
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android">
26
+
27
+ </manifest>
@@ -0,0 +1,69 @@
1
+ /*
2
+ * sora-editor - the awesome code editor for Android
3
+ * https://github.com/abc15018045126/sora-editor
4
+ * Copyright (C) 2020-2024 abc15018045126
5
+ *
6
+ * This library is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU Lesser General Public
8
+ * License as published by the Free Software Foundation; either
9
+ * version 2.1 of the License, or (at your option) any later version.
10
+ *
11
+ * This library is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ * Lesser General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU Lesser General Public
17
+ * License along with this library; if not, write to the Free Software
18
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
19
+ * USA
20
+ *
21
+ * Please contact abc15018045126 by email 2073412493@qq.com if you need
22
+ * additional information or have any questions
23
+ */
24
+ package io.github.abc15018045126.sora;
25
+
26
+ import android.content.Context;
27
+ import android.util.SparseIntArray;
28
+
29
+ import androidx.annotation.NonNull;
30
+
31
+ /**
32
+ * Map editor built-in string resources to your given string resource. Editor string resource has
33
+ * limited i18n function, as it only contains English and Chinese.
34
+ * <p>
35
+ * Note that you should configure this before creating editor instances
36
+ *
37
+ * @author abc15018045126
38
+ */
39
+ public class I18nConfig {
40
+
41
+ private static final SparseIntArray mapping = new SparseIntArray();
42
+
43
+ /**
44
+ * Map the given editor resId to new one
45
+ */
46
+ public static void mapTo(int originalResId, int newResId) {
47
+ mapping.put(originalResId, newResId);
48
+ }
49
+
50
+ /**
51
+ * Get mapped resource id or itself
52
+ */
53
+ public static int getResourceId(int resId) {
54
+ int newResource = mapping.get(resId);
55
+ if (newResource == 0) {
56
+ return resId;
57
+ }
58
+ return newResource;
59
+ }
60
+
61
+ /**
62
+ * Get mapped resource string
63
+ */
64
+ public static String getString(@NonNull Context context, int resId) {
65
+ return context.getString(getResourceId(resId));
66
+ }
67
+
68
+ }
69
+
@@ -0,0 +1,41 @@
1
+ /*
2
+ * sora-editor - the awesome code editor for Android
3
+ * https://github.com/abc15018045126/sora-editor
4
+ * Copyright (C) 2020-2024 abc15018045126
5
+ *
6
+ * This library is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU Lesser General Public
8
+ * License as published by the Free Software Foundation; either
9
+ * version 2.1 of the License, or (at your option) any later version.
10
+ *
11
+ * This library is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ * Lesser General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU Lesser General Public
17
+ * License along with this library; if not, write to the Free Software
18
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
19
+ * USA
20
+ *
21
+ * Please contact abc15018045126 by email 2073412493@qq.com if you need
22
+ * additional information or have any questions
23
+ */
24
+ package io.github.abc15018045126.sora.annotations;
25
+
26
+ import java.lang.annotation.ElementType;
27
+ import java.lang.annotation.Retention;
28
+ import java.lang.annotation.RetentionPolicy;
29
+ import java.lang.annotation.Target;
30
+
31
+ /**
32
+ * This annotation marks those fields, methods and constructors experimentally created.
33
+ * <p>
34
+ * Methods, fields and constructors with this annotation is very subject to keep or delete.
35
+ * For that reason, they are not stable for production use.
36
+ */
37
+ @Target({ElementType.FIELD, ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.TYPE})
38
+ @Retention(RetentionPolicy.SOURCE)
39
+ public @interface Experimental {
40
+ }
41
+