capacitor-sora-editor 1.2.1 → 1.8.2

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 (571) hide show
  1. package/DEPENDENCY_SOLUTION.md +87 -87
  2. package/DEVELOPMENT.md +152 -152
  3. package/NO_JITPACK_WARNING.md +14 -14
  4. package/README.md +36 -0
  5. package/WORDWRAP_FLICKER_FIX.md +268 -205
  6. package/android/sora-editor/editor/src/main/AndroidManifest.xml +1 -1
  7. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/I18nConfig.kt +42 -0
  8. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/annotations/Experimental.kt +16 -0
  9. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/annotations/InvalidateRequired.kt +10 -0
  10. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/annotations/UnsupportedUserUsage.kt +14 -0
  11. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/ClickEvent.kt +22 -0
  12. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/ColorSchemeUpdateEvent.kt +1 -1
  13. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/ContentChangeEvent.kt +41 -0
  14. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/DoubleClickEvent.kt +23 -0
  15. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/EditorKeyEvent.kt +103 -0
  16. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/EditorMotionEvent.kt +111 -0
  17. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/Event.kt +69 -0
  18. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/EventManager.kt +267 -0
  19. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/EventReceiver.kt +5 -0
  20. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/HandleStateChangeEvent.kt +21 -0
  21. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/InterceptTarget.kt +18 -0
  22. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/KeyBindingEvent.kt +34 -0
  23. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/LongPressEvent.kt +25 -0
  24. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/ResultedEvent.kt +21 -0
  25. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/ScrollEvent.kt +48 -0
  26. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/SelectionChangeEvent.kt +81 -0
  27. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/SideIconClickEvent.kt +1 -1
  28. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/SnippetEvent.kt +41 -0
  29. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/SubscriptionReceipt.kt +35 -0
  30. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/Unsubscribe.kt +28 -0
  31. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/Utils.kt +1 -1
  32. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/editorMinorEvents.kt +1 -1
  33. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/BubbleHelper.kt +59 -0
  34. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/BufferedDrawPoints.kt +37 -0
  35. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/GraphemeBoundsBreaker.kt +31 -0
  36. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/GraphicCharacter.kt +28 -0
  37. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/GraphicsCompat.kt +48 -0
  38. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/Paint.kt +191 -0
  39. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/RectUtils.kt +16 -0
  40. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/SingleCharacterWidths.kt +156 -0
  41. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/TextRow.kt +1465 -0
  42. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/TextRowParams.kt +1 -1
  43. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/inlayHint/ColorInlayHintRenderer.kt +1 -1
  44. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/inlayHint/InlayHintRenderer.kt +2 -2
  45. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/inlayHint/InlayHintRendererProvider.kt +1 -1
  46. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/inlayHint/TextInlayHintRenderer.kt +2 -2
  47. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/EmptyLanguage.kt +94 -0
  48. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/Language.kt +188 -0
  49. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/QuickQuoteHandler.kt +46 -0
  50. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/analysis/AnalyzeManager.kt +67 -0
  51. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/analysis/AsyncIncrementalAnalyzeManager.kt +504 -0
  52. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/analysis/IncrementalAnalyzeManager.kt +93 -0
  53. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/analysis/SequenceUpdateRange.kt +1 -1
  54. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/analysis/SimpleAnalyzeManager.kt +194 -0
  55. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/analysis/StyleReceiver.kt +63 -0
  56. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/analysis/StyleUpdateRange.kt +1 -1
  57. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/brackets/BracketsProvider.kt +21 -0
  58. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/brackets/OnlineBracketsMatcher.kt +83 -0
  59. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/brackets/PairedBracket.kt +13 -0
  60. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/brackets/SimpleBracketsCollector.kt +53 -0
  61. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/CompletionCancelledException.kt +14 -0
  62. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/CompletionHelper.kt +48 -0
  63. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/CompletionItem.kt +131 -0
  64. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/CompletionItemKind.kt +1 -1
  65. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/CompletionPublisher.kt +250 -0
  66. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/IdentifierAutoComplete.kt +352 -0
  67. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/MatchHelper.kt +126 -0
  68. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/SimpleCompletionIconDrawer.kt +1 -1
  69. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/SimpleCompletionItem.kt +77 -0
  70. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/SimpleSnippetCompletionItem.kt +35 -0
  71. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/SnippetDescription.kt +1 -1
  72. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/comparators.kt +1 -1
  73. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/filters.kt +3 -3
  74. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/CodeSnippet.kt +171 -0
  75. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/ConditionalFormat.kt +8 -0
  76. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/FormatString.kt +3 -0
  77. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/InterpolatedShellItem.kt +13 -0
  78. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/NextUpperCaseFormat.kt +3 -0
  79. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/NoFormat.kt +3 -0
  80. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/PlaceHolderElement.kt +1 -1
  81. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/PlaceholderDefinition.kt +2 -2
  82. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/PlaceholderItem.kt +22 -0
  83. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/PlainPlaceholderElement.kt +1 -1
  84. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/PlainTextItem.kt +17 -0
  85. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/SnippetItem.kt +33 -0
  86. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/Transform.kt +15 -0
  87. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/VariableItem.kt +15 -0
  88. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/parser/CodeSnippetParser.kt +544 -0
  89. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/parser/CodeSnippetTokenizer.kt +108 -0
  90. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/parser/Token.kt +7 -0
  91. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/parser/TokenType.kt +20 -0
  92. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/diagnostic/DiagnosticDetail.kt +1 -1
  93. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/diagnostic/DiagnosticRegion.kt +56 -0
  94. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/diagnostic/DiagnosticsContainer.kt +109 -0
  95. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/diagnostic/Quickfix.kt +1 -1
  96. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/folding/FoldingRegion.kt +50 -0
  97. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/format/AsyncFormatter.kt +182 -0
  98. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/format/Formatter.kt +72 -0
  99. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/smartEnter/NewlineHandleResult.kt +18 -0
  100. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/smartEnter/NewlineHandler.kt +32 -0
  101. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/BlocksUpdater.kt +34 -0
  102. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/CodeBlock.kt +165 -0
  103. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/EmptyReader.kt +30 -0
  104. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/HighlightTextContainer.kt +1 -1
  105. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/MappedSpanUpdater.kt +180 -0
  106. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/MappedSpans.kt +210 -0
  107. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/Span.kt +139 -0
  108. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/SpanFactory.kt +41 -0
  109. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/SpanPool.kt +1 -1
  110. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/Spans.kt +104 -0
  111. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/Styles.kt +219 -0
  112. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/StylesUtils.kt +82 -0
  113. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/TextStyle.kt +130 -31
  114. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/color/ConstColor.kt +1 -1
  115. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/color/EditorColor.kt +1 -1
  116. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/color/ResolvableColor.kt +1 -1
  117. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/inlayHint/InlayHint.kt +1 -1
  118. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/inlayHint/InlayHintsContainer.kt +1 -1
  119. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/inlayHint/IntSetUpdateRange.kt +1 -1
  120. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/inlayHint/SparseUpdateRange.kt +1 -1
  121. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/inlayHint/inlayHints.kt +1 -1
  122. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/line/LineAnchorStyle.kt +2 -2
  123. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/line/LineBackground.kt +2 -2
  124. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/line/LineGutterBackground.kt +1 -1
  125. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/line/LineSideIcon.kt +1 -1
  126. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/line/LineStyles.kt +1 -1
  127. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/patching/SparseStylePatches.kt +2 -2
  128. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/patching/StylePatch.kt +1 -1
  129. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/SpanClickableUrl.kt +1 -1
  130. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/SpanColorResolver.kt +1 -1
  131. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/SpanConstColorResolver.kt +1 -1
  132. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/SpanExt.kt +1 -1
  133. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/SpanExtAttrs.kt +39 -0
  134. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/SpanExternalRenderer.kt +1 -1
  135. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/SpanInteractionInfo.kt +1 -1
  136. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/internal/NoExtSpanImpl.kt +89 -0
  137. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/internal/SpanImpl.kt +103 -0
  138. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/util/PointAnchorContainer.kt +1 -1
  139. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/util/BaseAnalyzeManager.kt +44 -0
  140. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/util/PlainTextAnalyzeManager.kt +30 -0
  141. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/util/PlainTextSpans.kt +42 -0
  142. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/{AndroidEmoji.java → AndroidEmoji.kt} +29 -27
  143. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/CachedIndexer.kt +408 -0
  144. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/CharArrayWrapper.kt +40 -0
  145. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/CharPosition.kt +97 -0
  146. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/CharSequenceIterator.kt +66 -0
  147. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/ComposingText.kt +72 -0
  148. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/Content.kt +889 -33
  149. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/{widget/component/EditorBuiltinComponent.java → text/ContentExtensions.kt} +14 -24
  150. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/ContentIO.kt +149 -0
  151. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/ContentLine.kt +252 -0
  152. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/ContentListener.kt +67 -0
  153. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/ContentReference.kt +177 -0
  154. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/Cursor.kt +316 -0
  155. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/FunctionCharacters.kt +46 -0
  156. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/ICUUtils.kt +58 -0
  157. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/Indexer.kt +63 -0
  158. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/InsertTextHelper.kt +95 -0
  159. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/LineSeparator.kt +51 -0
  160. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/SpanRecycler.kt +71 -0
  161. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/TextLayoutHelper.kt +105 -0
  162. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/TextRange.kt +48 -0
  163. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/TextReference.kt +91 -0
  164. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/TextUtils.kt +181 -0
  165. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/TextUtilsP.kt +232 -0
  166. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/UndoManager.kt +569 -0
  167. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/UnicodeIterator.kt +69 -0
  168. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/bidi/BidiRequirementChecker.kt +5 -0
  169. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/bidi/ContentBidi.kt +104 -0
  170. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/bidi/Directions.kt +43 -0
  171. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/bidi/IDirections.kt +9 -0
  172. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/bidi/TextBidi.kt +67 -0
  173. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/bidi/VisualDirections.kt +45 -0
  174. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/breaker/WordBreaker.kt +19 -0
  175. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/breaker/WordBreakerEmpty.kt +13 -0
  176. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/breaker/WordBreakerIcu.kt +36 -0
  177. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/breaker/WordBreakerProgram.kt +23 -0
  178. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/method/KeyMetaStates.kt +55 -0
  179. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/BinaryHeap.kt +216 -0
  180. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/BlockIntList.kt +314 -0
  181. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/CharCode.kt +1 -1
  182. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/Chars.kt +1 -1
  183. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/ClipDataUtils.kt +29 -0
  184. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/EditorHandler.kt +1 -1
  185. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/Floats.kt +10 -0
  186. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/IntPair.kt +76 -0
  187. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/KeyboardUtils.kt +1 -1
  188. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/Logger.kt +78 -0
  189. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/LongArrayList.kt +104 -0
  190. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/MutableInt.kt +14 -0
  191. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/MutableIntList.kt +35 -0
  192. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/MutableLongLongMap.kt +36 -0
  193. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/MyCharacter.kt +127 -0
  194. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/Numbers.kt +109 -0
  195. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/ObjectPool.kt +44 -0
  196. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/RegionIterator.kt +123 -0
  197. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/RendererUtils.kt +1 -1
  198. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/ReversedListView.kt +1 -1
  199. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/SegmentList.kt +273 -0
  200. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/ShareableData.kt +1 -1
  201. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/TemporaryCharBuffer.kt +31 -0
  202. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/TemporaryFloatBuffer.kt +44 -0
  203. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/ThemeUtils.kt +14 -0
  204. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/TrieTree.kt +137 -0
  205. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/ViewUtils.kt +39 -0
  206. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/regex/RegexBackrefGrammar.kt +11 -0
  207. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/regex/RegexBackrefHelper.kt +27 -0
  208. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/regex/RegexBackrefParser.kt +89 -0
  209. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/regex/RegexBackrefToken.kt +16 -0
  210. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/CodeEditor.kt +5509 -0
  211. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/CursorBlink.kt +78 -0
  212. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/DirectAccessProps.kt +604 -0
  213. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/Editor.kt +1 -1
  214. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorInputConnection.kt +708 -0
  215. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorKeyEventHandler.kt +678 -0
  216. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorRenderer.kt +3542 -0
  217. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorScroller.kt +89 -0
  218. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorSearcher.kt +531 -0
  219. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorStyleDelegate.kt +109 -0
  220. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorTouchEventHandler.kt +1349 -0
  221. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/LanguageHelper.kt +38 -0
  222. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/RegionResolver.kt +1 -1
  223. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/SelectionMovement.kt +27 -37
  224. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/SymbolInputView.kt +103 -0
  225. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/SymbolPairMatch.kt +261 -0
  226. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/base/EditorPopupWindow.kt +244 -0
  227. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/CompletionLayout.kt +59 -0
  228. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/DefaultCompletionItemAdapter.kt +60 -0
  229. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/DefaultCompletionLayout.kt +225 -0
  230. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/EditorAutoCompletion.kt +300 -0
  231. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/EditorBuiltinComponent.kt +15 -0
  232. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/EditorCompletionAdapter.kt +87 -0
  233. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/EditorContextMenuCreator.kt +6 -28
  234. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/EditorDiagnosticTooltipWindow.kt +27 -20
  235. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/EditorTextActionWindow.kt +358 -0
  236. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/Magnifier.kt +354 -0
  237. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/ext/EditorSpanInteractionHandler.kt +3 -3
  238. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/AbstractLayout.kt +126 -0
  239. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/{Layout.java → Layout.kt} +30 -63
  240. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/LineBreakLayout.kt +370 -0
  241. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/Row.kt +57 -0
  242. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/RowElement.kt +52 -0
  243. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/RowElementTypes.kt +18 -0
  244. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/RowIterator.kt +38 -0
  245. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/ViewMeasureHelper.kt +135 -0
  246. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/WordwrapLayout.kt +703 -0
  247. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/rendering/MeasureCacheItem.kt +1 -1
  248. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/rendering/RenderCache.kt +1 -1
  249. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/rendering/RenderContext.kt +1 -1
  250. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/rendering/RenderNodeHolder.kt +3 -25
  251. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/rendering/RenderingConstants.kt +53 -0
  252. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/rendering/TextAdvancesCache.kt +89 -0
  253. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/schemes/EditorColorScheme.kt +393 -0
  254. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/schemes/SchemeDarcula.kt +40 -0
  255. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/schemes/SchemeEclipse.kt +34 -0
  256. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/schemes/SchemeGitHub.kt +28 -0
  257. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/schemes/SchemeNotepadXX.kt +34 -0
  258. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/schemes/SchemeVS2019.kt +40 -0
  259. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/SnippetController.kt +4 -3
  260. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/TransformApplier.kt +103 -0
  261. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/ClipboardBasedSnippetVariableResolver.kt +21 -0
  262. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/CommentBasedSnippetVariableResolver.kt +23 -0
  263. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/CompositeSnippetVariableResolver.kt +35 -0
  264. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/EditorBasedSnippetVariableResolver.kt +36 -0
  265. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/FileBasedSnippetVariableResolver.kt +11 -0
  266. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/ISnippetVariableResolver.kt +21 -0
  267. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/RandomBasedSnippetVariableResolver.kt +22 -0
  268. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/TimeBasedSnippetVariableResolver.kt +58 -0
  269. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/WorkspaceBasedSnippetVariableResolver.kt +11 -0
  270. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/CursorAnimator.kt +54 -0
  271. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/DiagnosticIndicatorStyle.kt +13 -0
  272. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/LineInfoPanelPosition.kt +9 -0
  273. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/LineInfoPanelPositionMode.kt +6 -0
  274. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/LineNumberTipTextProvider.kt +1 -1
  275. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/SelectionHandleStyle.kt +82 -0
  276. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/builtin/DefaultLineNumberTip.kt +1 -1
  277. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/builtin/FadeCursorAnimator.kt +143 -0
  278. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/builtin/HandleStyleDrop.kt +66 -0
  279. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/builtin/HandleStyleNone.kt +30 -0
  280. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/builtin/HandleStyleSideDrop.kt +62 -0
  281. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/builtin/MoveCursorAnimator.kt +127 -0
  282. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/builtin/ScaleCursorAnimator.kt +134 -0
  283. package/android/sora-editor/editor/src/main/res/anim/anim_diagnostic_tooltip_window_enter.xml +1 -1
  284. package/android/sora-editor/editor/src/main/res/anim/anim_diagnostic_tooltip_window_exit.xml +1 -1
  285. package/android/sora-editor/editor/src/main/res/anim/anim_text_action_popup_enter.xml +1 -1
  286. package/android/sora-editor/editor/src/main/res/anim/anim_text_action_popup_exit.xml +1 -1
  287. package/android/sora-editor/editor/src/main/res/drawable/baseline_more_vert_24.xml +1 -1
  288. package/android/sora-editor/editor/src/main/res/drawable/editor_text_select_start.xml +1 -1
  289. package/android/sora-editor/editor/src/main/res/drawable/ic_more_vert_black_20dp.xml +1 -1
  290. package/android/sora-editor/editor/src/main/res/drawable/ic_sora_handle_drop.xml +1 -1
  291. package/android/sora-editor/editor/src/main/res/drawable/line_break.xml +1 -1
  292. package/android/sora-editor/editor/src/main/res/drawable/magnifier_background.xml +1 -1
  293. package/android/sora-editor/editor/src/main/res/drawable/round_content_copy_20.xml +1 -1
  294. package/android/sora-editor/editor/src/main/res/drawable/round_content_cut_20.xml +1 -1
  295. package/android/sora-editor/editor/src/main/res/drawable/round_content_paste_20.xml +1 -1
  296. package/android/sora-editor/editor/src/main/res/drawable/round_save_20.xml +1 -1
  297. package/android/sora-editor/editor/src/main/res/drawable/round_select_all_20.xml +1 -1
  298. package/android/sora-editor/editor/src/main/res/drawable/softwrap_left.xml +1 -1
  299. package/android/sora-editor/editor/src/main/res/drawable/softwrap_right.xml +1 -1
  300. package/android/sora-editor/editor/src/main/res/layout/default_completion_result_item.xml +1 -1
  301. package/android/sora-editor/editor/src/main/res/layout/diagnostic_tooltip_window.xml +1 -1
  302. package/android/sora-editor/editor/src/main/res/layout/magnifier_popup.xml +1 -1
  303. package/android/sora-editor/editor/src/main/res/layout/text_compose_panel.xml +2 -1
  304. package/android/sora-editor/editor/src/main/res/values/attrs.xml +1 -1
  305. package/android/sora-editor/editor/src/main/res/values/colors.xml +1 -1
  306. package/android/sora-editor/editor/src/main/res/values/dimens.xml +1 -1
  307. package/android/sora-editor/editor/src/main/res/values/strings.xml +1 -1
  308. package/android/sora-editor/editor/src/main/res/values/style.xml +1 -1
  309. package/android/sora-editor/editor/src/main/res/values-night/colors.xml +1 -1
  310. package/android/sora-editor/editor/src/main/res/values-zh/strings.xml +1 -1
  311. package/android/sora-editor/language-textmate/src/main/AndroidManifest.xml +1 -1
  312. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/MyState.kt +11 -0
  313. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/TextMateAnalyzer.kt +269 -0
  314. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/TextMateColorScheme.kt +298 -0
  315. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/TextMateLanguage.kt +219 -0
  316. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/TextMateNewlineHandler.kt +268 -0
  317. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/TextMateSymbolPairMatch.kt +167 -0
  318. package/android/sora-editor/{editor/src/main/java/io/github/abc15018045126/sora/event/EventReceiver.java → language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/folding/FoldingHelper.kt} +7 -6
  319. package/android/sora-editor/{editor/src/main/java/io/github/abc15018045126/sora/util/MutableInt.java → language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/folding/FoldingRegion.kt} +12 -14
  320. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/folding/FoldingRegions.kt +93 -0
  321. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/folding/IndentRange.kt +156 -0
  322. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/folding/PreviousRegion.kt +7 -0
  323. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/folding/RangesCollector.kt +25 -0
  324. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/FileProviderRegistry.kt +53 -0
  325. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/GrammarRegistry.kt +222 -0
  326. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/ThemeRegistry.kt +121 -0
  327. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/dsl/GrammarDefinitionDSL.kt +1 -1
  328. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/model/DefaultGrammarDefinition.kt +68 -0
  329. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/model/GrammarDefinition.kt +12 -0
  330. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/model/ThemeModel.kt +50 -0
  331. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/provider/AssetsFileResolver.java +1 -23
  332. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/provider/FileResolver.java +1 -23
  333. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/reader/LanguageDefinitionReader.java +1 -23
  334. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/utils/ColorUtils.kt +57 -0
  335. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/utils/MatcherUtils.kt +29 -0
  336. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/utils/StringUtils.kt +46 -0
  337. package/android/sora-editor/oniguruma-native/src/main/java/io/github/abc15018045126/oniguruma/OnigNative.kt +95 -0
  338. package/android/src/main/java/com/abc15018045126/capacitor/soraeditor/SoraEditorPlugin.kt +342 -337
  339. package/android/src/main/java/com/abc15018045126/capacitor/soraeditor/compose/ComposeEditorActivity.kt +63 -63
  340. package/android/src/main/java/com/abc15018045126/capacitor/soraeditor/compose/EditorViewModel.kt +141 -5
  341. package/android/src/main/java/com/abc15018045126/capacitor/soraeditor/compose/ui/EditorColorSettings.kt +190 -0
  342. package/android/src/main/java/com/abc15018045126/capacitor/soraeditor/compose/ui/EditorScreen.kt +390 -234
  343. package/android/src/main/java/com/abc15018045126/capacitor/soraeditor/compose/ui/SoraEditorWrapper.kt +104 -104
  344. package/android/src/main/java/com/abc15018045126/capacitor/soraeditor/compose/ui/theme/Theme.kt +38 -38
  345. package/package.json +1 -1
  346. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/I18nConfig.java +0 -69
  347. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/annotations/Experimental.java +0 -41
  348. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/annotations/InvalidateRequired.java +0 -40
  349. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/annotations/UnsupportedUserUsage.java +0 -39
  350. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/ClickEvent.java +0 -49
  351. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/ContentChangeEvent.java +0 -122
  352. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/DoubleClickEvent.java +0 -50
  353. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/EditorKeyEvent.java +0 -157
  354. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/EditorMotionEvent.java +0 -212
  355. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/Event.java +0 -132
  356. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/EventManager.java +0 -328
  357. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/HandleStateChangeEvent.java +0 -67
  358. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/InterceptTarget.java +0 -44
  359. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/KeyBindingEvent.java +0 -77
  360. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/LongPressEvent.java +0 -53
  361. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/ResultedEvent.java +0 -63
  362. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/ScrollEvent.java +0 -126
  363. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/SelectionChangeEvent.java +0 -155
  364. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/SnippetEvent.java +0 -92
  365. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/SubscriptionReceipt.java +0 -67
  366. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/event/Unsubscribe.java +0 -60
  367. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/BubbleHelper.java +0 -76
  368. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/BufferedDrawPoints.java +0 -66
  369. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/GraphemeBoundsBreaker.java +0 -55
  370. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/GraphicCharacter.java +0 -52
  371. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/GraphicsCompat.java +0 -55
  372. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/Paint.java +0 -159
  373. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/RectUtils.java +0 -39
  374. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/SingleCharacterWidths.java +0 -160
  375. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/graphics/TextRow.java +0 -1402
  376. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/EmptyLanguage.java +0 -159
  377. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/Language.java +0 -215
  378. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/QuickQuoteHandler.java +0 -78
  379. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/analysis/AnalyzeManager.java +0 -97
  380. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/analysis/AsyncIncrementalAnalyzeManager.java +0 -604
  381. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/analysis/IncrementalAnalyzeManager.java +0 -120
  382. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/analysis/SimpleAnalyzeManager.java +0 -238
  383. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/analysis/StyleReceiver.java +0 -90
  384. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/brackets/BracketsProvider.java +0 -49
  385. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/brackets/OnlineBracketsMatcher.java +0 -112
  386. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/brackets/PairedBracket.java +0 -57
  387. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/brackets/SimpleBracketsCollector.java +0 -83
  388. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/CompletionCancelledException.java +0 -44
  389. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/CompletionHelper.java +0 -72
  390. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/CompletionItem.java +0 -163
  391. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/CompletionPublisher.java +0 -284
  392. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/IdentifierAutoComplete.java +0 -359
  393. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/MatchHelper.java +0 -131
  394. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/SimpleCompletionItem.java +0 -112
  395. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/SimpleSnippetCompletionItem.java +0 -71
  396. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/CodeSnippet.java +0 -223
  397. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/ConditionalFormat.java +0 -68
  398. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/FormatString.java +0 -30
  399. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/InterpolatedShellItem.java +0 -55
  400. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/NextUpperCaseFormat.java +0 -28
  401. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/NoFormat.java +0 -43
  402. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/PlaceholderItem.java +0 -58
  403. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/PlainTextItem.java +0 -56
  404. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/SnippetItem.java +0 -70
  405. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/Transform.java +0 -54
  406. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/VariableItem.java +0 -81
  407. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/parser/CodeSnippetParser.java +0 -571
  408. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/parser/CodeSnippetTokenizer.java +0 -131
  409. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/parser/Token.java +0 -47
  410. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/completion/snippet/parser/TokenType.java +0 -59
  411. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/diagnostic/DiagnosticRegion.java +0 -95
  412. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/diagnostic/DiagnosticsContainer.java +0 -148
  413. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/folding/FoldingRegion.java +0 -89
  414. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/format/AsyncFormatter.java +0 -198
  415. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/format/Formatter.java +0 -104
  416. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/smartEnter/NewlineHandleResult.java +0 -47
  417. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/smartEnter/NewlineHandler.java +0 -60
  418. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/BlocksUpdater.java +0 -60
  419. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/CodeBlock.java +0 -182
  420. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/EmptyReader.java +0 -66
  421. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/MappedSpanUpdater.java +0 -190
  422. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/MappedSpans.java +0 -264
  423. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/Span.java +0 -203
  424. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/SpanFactory.java +0 -73
  425. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/Spans.java +0 -133
  426. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/Styles.java +0 -280
  427. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/StylesUtils.java +0 -108
  428. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/TextStyle.java +0 -141
  429. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/SpanExtAttrs.java +0 -67
  430. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/internal/NoExtSpanImpl.java +0 -165
  431. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/styling/span/internal/SpanImpl.java +0 -188
  432. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/util/BaseAnalyzeManager.java +0 -95
  433. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/util/PlainTextAnalyzeManager.java +0 -65
  434. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/lang/util/PlainTextSpans.java +0 -78
  435. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/CachedIndexer.java +0 -458
  436. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/CharArrayWrapper.java +0 -81
  437. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/CharPosition.java +0 -150
  438. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/CharSequenceIterator.java +0 -109
  439. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/ComposingText.java +0 -91
  440. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/Content.java +0 -1306
  441. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/ContentIO.java +0 -173
  442. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/ContentLine.java +0 -405
  443. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/ContentListener.java +0 -81
  444. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/ContentReference.java +0 -212
  445. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/Cursor.java +0 -374
  446. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/FunctionCharacters.java +0 -71
  447. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/ICUUtils.java +0 -85
  448. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/Indexer.java +0 -92
  449. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/InsertTextHelper.java +0 -117
  450. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/LineSeparator.java +0 -123
  451. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/SpanRecycler.java +0 -103
  452. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/TextLayoutHelper.java +0 -122
  453. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/TextRange.java +0 -85
  454. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/TextReference.java +0 -132
  455. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/TextUtils.java +0 -196
  456. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/TextUtilsP.java +0 -236
  457. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/UndoManager.java +0 -750
  458. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/UnicodeIterator.java +0 -106
  459. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/bidi/BidiRequirementChecker.java +0 -31
  460. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/bidi/ContentBidi.java +0 -143
  461. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/bidi/Directions.java +0 -79
  462. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/bidi/IDirections.java +0 -39
  463. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/bidi/TextBidi.java +0 -93
  464. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/bidi/VisualDirections.java +0 -88
  465. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/breaker/WordBreaker.java +0 -47
  466. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/breaker/WordBreakerEmpty.java +0 -38
  467. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/breaker/WordBreakerIcu.java +0 -62
  468. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/breaker/WordBreakerProgram.java +0 -54
  469. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/text/method/KeyMetaStates.java +0 -93
  470. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/BinaryHeap.java +0 -239
  471. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/BlockIntList.java +0 -366
  472. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/ClipDataUtils.java +0 -55
  473. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/Floats.java +0 -33
  474. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/IntPair.java +0 -96
  475. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/Logger.java +0 -109
  476. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/LongArrayList.java +0 -132
  477. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/MyCharacter.java +0 -143
  478. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/Numbers.java +0 -123
  479. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/ObjectPool.java +0 -77
  480. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/RegionIterator.java +0 -162
  481. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/SegmentList.java +0 -323
  482. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/TemporaryCharBuffer.java +0 -52
  483. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/TemporaryFloatBuffer.java +0 -68
  484. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/ThemeUtils.java +0 -38
  485. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/TrieTree.java +0 -177
  486. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/ViewUtils.java +0 -67
  487. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/regex/RegexBackrefGrammar.java +0 -40
  488. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/regex/RegexBackrefHelper.java +0 -53
  489. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/regex/RegexBackrefParser.java +0 -119
  490. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/util/regex/RegexBackrefToken.java +0 -65
  491. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/CodeEditor.java +0 -5433
  492. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/CursorBlink.java +0 -98
  493. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/DirectAccessProps.java +0 -561
  494. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorInputConnection.java +0 -714
  495. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorKeyEventHandler.java +0 -646
  496. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorRenderer.java +0 -2620
  497. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorScroller.java +0 -119
  498. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorSearcher.java +0 -553
  499. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorStyleDelegate.java +0 -143
  500. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/EditorTouchEventHandler.java +0 -1306
  501. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/LanguageHelper.java +0 -66
  502. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/SymbolInputView.java +0 -154
  503. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/SymbolPairMatch.java +0 -334
  504. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/base/EditorPopupWindow.java +0 -351
  505. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/CompletionLayout.java +0 -89
  506. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/DefaultCompletionItemAdapter.java +0 -76
  507. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/DefaultCompletionLayout.java +0 -206
  508. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/EditorAutoCompletion.java +0 -684
  509. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/EditorCompletionAdapter.java +0 -118
  510. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/EditorTextActionWindow.java +0 -362
  511. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/component/Magnifier.java +0 -396
  512. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/AbstractLayout.java +0 -158
  513. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/LineBreakLayout.java +0 -393
  514. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/Row.java +0 -77
  515. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/RowElement.java +0 -70
  516. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/RowElementTypes.java +0 -41
  517. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/RowIterator.java +0 -67
  518. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/ViewMeasureHelper.java +0 -123
  519. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/layout/WordwrapLayout.java +0 -683
  520. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/rendering/RenderingConstants.java +0 -79
  521. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/rendering/TextAdvancesCache.java +0 -122
  522. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/rendering/package-info.java +0 -30
  523. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/schemes/EditorColorScheme.java +0 -544
  524. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/schemes/SchemeDarcula.java +0 -70
  525. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/schemes/SchemeEclipse.java +0 -60
  526. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/schemes/SchemeGitHub.java +0 -54
  527. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/schemes/SchemeNotepadXX.java +0 -60
  528. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/schemes/SchemeVS2019.java +0 -70
  529. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/TransformApplier.java +0 -134
  530. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/ClipboardBasedSnippetVariableResolver.java +0 -61
  531. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/CommentBasedSnippetVariableResolver.java +0 -77
  532. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/CompositeSnippetVariableResolver.java +0 -79
  533. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/EditorBasedSnippetVariableResolver.java +0 -76
  534. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/FileBasedSnippetVariableResolver.java +0 -39
  535. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/ISnippetVariableResolver.java +0 -49
  536. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/RandomBasedSnippetVariableResolver.java +0 -55
  537. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/TimeBasedSnippetVariableResolver.java +0 -101
  538. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/snippet/variable/WorkspaceBasedSnippetVariableResolver.java +0 -39
  539. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/CursorAnimator.java +0 -78
  540. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/DiagnosticIndicatorStyle.java +0 -37
  541. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/LineInfoPanelPosition.java +0 -33
  542. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/LineInfoPanelPositionMode.java +0 -30
  543. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/SelectionHandleStyle.java +0 -98
  544. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/builtin/FadeCursorAnimator.java +0 -179
  545. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/builtin/HandleStyleDrop.java +0 -80
  546. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/builtin/HandleStyleNone.java +0 -28
  547. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/builtin/HandleStyleSideDrop.java +0 -60
  548. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/builtin/MoveCursorAnimator.java +0 -159
  549. package/android/sora-editor/editor/src/main/java/io/github/abc15018045126/sora/widget/style/builtin/ScaleCursorAnimator.java +0 -166
  550. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/MyState.java +0 -46
  551. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/TextMateAnalyzer.java +0 -301
  552. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/TextMateColorScheme.java +0 -369
  553. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/TextMateLanguage.java +0 -314
  554. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/TextMateNewlineHandler.java +0 -547
  555. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/TextMateSymbolPairMatch.java +0 -240
  556. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/folding/FoldingHelper.java +0 -35
  557. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/folding/FoldingRegion.java +0 -51
  558. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/folding/FoldingRegions.java +0 -96
  559. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/folding/IndentRange.java +0 -169
  560. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/folding/PreviousRegion.java +0 -41
  561. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/folding/RangesCollector.java +0 -71
  562. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/FileProviderRegistry.java +0 -83
  563. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/GrammarRegistry.java +0 -321
  564. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/ThemeRegistry.java +0 -186
  565. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/model/DefaultGrammarDefinition.java +0 -121
  566. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/model/GrammarDefinition.java +0 -51
  567. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/registry/model/ThemeModel.java +0 -106
  568. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/utils/ColorUtils.java +0 -79
  569. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/utils/MatcherUtils.java +0 -54
  570. package/android/sora-editor/language-textmate/src/main/java/io/github/abc15018045126/sora/langs/textmate/utils/StringUtils.java +0 -64
  571. package/android/sora-editor/oniguruma-native/src/main/java/io/github/abc15018045126/oniguruma/OnigNative.java +0 -121
@@ -1,119 +0,0 @@
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.widget;
25
-
26
- import android.widget.OverScroller;
27
-
28
- import androidx.annotation.NonNull;
29
-
30
- public class EditorScroller {
31
-
32
- private final CodeEditor editor;
33
-
34
- private final OverScroller scroller;
35
-
36
- public EditorScroller(@NonNull CodeEditor editor) {
37
- scroller = new OverScroller(editor.getContext());
38
- this.editor = editor;
39
- }
40
-
41
- public void setEditorOffsets() {
42
- editor.setScrollX(scroller.getCurrX());
43
- editor.setScrollY(scroller.getCurrY());
44
- }
45
-
46
- public void startScroll(int startX, int startY, int dx, int dy) {
47
- startScroll(startX, startY, dx, dy, editor.getProps().scrollAnimationDurationMs);
48
- }
49
-
50
- public void startScroll(int startX, int startY, int dx, int dy, int duration) {
51
- scroller.startScroll(startX, startY, dx, dy, duration);
52
- setEditorOffsets();
53
- }
54
-
55
- public void forceFinished(boolean finished) {
56
- scroller.forceFinished(finished);
57
- setEditorOffsets();
58
- }
59
-
60
- public void abortAnimation() {
61
- scroller.abortAnimation();
62
- setEditorOffsets();
63
- }
64
-
65
- public boolean isFinished() {
66
- return scroller.isFinished();
67
- }
68
-
69
- public int getCurrX() {
70
- return scroller.getCurrX();
71
- }
72
-
73
- public int getCurrY() {
74
- return scroller.getCurrY();
75
- }
76
-
77
- public int getFinalX() {
78
- return scroller.getFinalX();
79
- }
80
-
81
- public int getFinalY() {
82
- return scroller.getFinalY();
83
- }
84
-
85
- public int getStartX() {
86
- return scroller.getStartX();
87
- }
88
-
89
- public int getStartY() {
90
- return scroller.getStartY();
91
- }
92
-
93
- public float getCurrVelocity() {
94
- return scroller.getCurrVelocity();
95
- }
96
-
97
- public boolean computeScrollOffset() {
98
- var computed = scroller.computeScrollOffset();
99
- if (computed) {
100
- setEditorOffsets();
101
- }
102
- return computed;
103
- }
104
-
105
- public void fling(int startX, int startY, int velocityX, int velocityY,
106
- int minX, int maxX, int minY, int maxY, int overX, int overY) {
107
- scroller.fling(startX, startY, velocityX, velocityY, minX, maxX, minY, maxY, overX, overY);
108
- setEditorOffsets();
109
- }
110
-
111
- public boolean isOverScrolled() {
112
- return scroller.isOverScrolled();
113
- }
114
-
115
- public OverScroller getImplScroller() {
116
- return scroller;
117
- }
118
- }
119
-
@@ -1,553 +0,0 @@
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.widget;
25
-
26
- import android.app.ProgressDialog;
27
- import android.widget.Toast;
28
-
29
- import androidx.annotation.IntRange;
30
- import androidx.annotation.NonNull;
31
- import androidx.annotation.Nullable;
32
-
33
- import java.util.List;
34
- import java.util.regex.Matcher;
35
- import java.util.regex.Pattern;
36
-
37
- import io.github.abc15018045126.sora.I18nConfig;
38
- import io.github.abc15018045126.sora.R;
39
- import io.github.abc15018045126.sora.event.ContentChangeEvent;
40
- import io.github.abc15018045126.sora.event.PublishSearchResultEvent;
41
- import io.github.abc15018045126.sora.event.SelectionChangeEvent;
42
- import io.github.abc15018045126.sora.text.Content;
43
- import io.github.abc15018045126.sora.text.TextUtils;
44
- import io.github.abc15018045126.sora.util.IntPair;
45
- import io.github.abc15018045126.sora.util.LongArrayList;
46
- import io.github.abc15018045126.sora.util.regex.RegexBackrefGrammar;
47
- import io.github.abc15018045126.sora.util.regex.RegexBackrefHelper;
48
- import io.github.abc15018045126.sora.util.regex.RegexBackrefParser;
49
- import io.github.abc15018045126.sora.util.regex.RegexBackrefToken;
50
-
51
- /**
52
- * Search text in editor.
53
- * Note that editor searches text in another thread, so results may not be available immediately. Also,
54
- * the searcher does not match empty text. For example, you will never match a single empty
55
- * line by regex '^.*$'. What's more, zero-length pattern is not permitted.
56
- * The searcher updates its search results automatically when editor text is changed, even after {@link CodeEditor#setText(CharSequence)}
57
- * is invoked. So be careful that the search result is changing and {@link PublishSearchResultEvent} is
58
- * re-triggered when search result is available for changed text.
59
- *
60
- * @see PublishSearchResultEvent
61
- * @see SearchOptions
62
- * @author abc15018045126
63
- */
64
- public class EditorSearcher {
65
-
66
- private final CodeEditor editor;
67
- protected String currentPattern;
68
- protected SearchOptions searchOptions;
69
- protected Thread currentThread;
70
- /**
71
- * Search results. Note that it is naturally sorted by start index (and also end index).
72
- * No overlapping region is permitted.
73
- */
74
- protected LongArrayList lastResults;
75
- private boolean cyclicJumping = true;
76
-
77
- EditorSearcher(@NonNull CodeEditor editor) {
78
- this.editor = editor;
79
- this.editor.subscribeEvent(ContentChangeEvent.class, ((event, unsubscribe) -> {
80
- if (hasQuery()) {
81
- executeMatch();
82
- }
83
- }));
84
- }
85
-
86
- /**
87
- * Jump cyclically when calling {@link #gotoNext()} and {@link #gotoPrevious()}
88
- * @see #isCyclicJumping()
89
- */
90
- public void setCyclicJumping(boolean cyclicJumping) {
91
- this.cyclicJumping = cyclicJumping;
92
- }
93
-
94
- /**
95
- * @see #setCyclicJumping(boolean)
96
- */
97
- public boolean isCyclicJumping() {
98
- return cyclicJumping;
99
- }
100
-
101
- /**
102
- * Search text with the given pattern and options. If you use {@link SearchOptions#TYPE_REGULAR_EXPRESSION},
103
- * the pattern will be your regular expression.
104
- * <p>
105
- * {@link #stopSearch()} should be called if you want to stop, instead of invoking this method with nulls.
106
- * <p>
107
- * Note that, the result is not immediately available because we search texts in another thread to
108
- * avoid lags in main thread. If you want to be notified when the results is available, refer to
109
- * {@link PublishSearchResultEvent}. Also be careful that, the event is also triggered when {@link #stopSearch()}
110
- * is called.
111
- * @throws IllegalArgumentException if pattern length is zero
112
- * @throws java.util.regex.PatternSyntaxException if pattern is invalid when regex is enabled.
113
- */
114
- public void search(@NonNull String pattern, @NonNull SearchOptions options) {
115
- if (pattern.isEmpty()) {
116
- throw new IllegalArgumentException("pattern length must be > 0");
117
- }
118
- if (options.type == SearchOptions.TYPE_REGULAR_EXPRESSION) {
119
- // Pre-check
120
- //noinspection ResultOfMethodCallIgnored
121
- Pattern.compile(pattern);
122
- }
123
- currentPattern = pattern;
124
- searchOptions = options;
125
- executeMatch();
126
- editor.postInvalidate();
127
- }
128
-
129
- /**
130
- * Execute current match task. Cancel any previous tasks.
131
- */
132
- private void executeMatch() {
133
- if (currentThread != null && currentThread.isAlive()) {
134
- currentThread.interrupt();
135
- }
136
- var runnable = new SearchRunnable(editor.getText(), searchOptions, currentPattern);
137
- currentThread = new Thread(runnable);
138
- currentThread.start();
139
- }
140
-
141
- /**
142
- * Stop searching.
143
- */
144
- public void stopSearch() {
145
- if (currentThread != null && currentThread.isAlive()) {
146
- currentThread.interrupt();
147
- }
148
- currentThread = null;
149
- lastResults = null;
150
- currentPattern = null;
151
- searchOptions = null;
152
- editor.dispatchEvent(new PublishSearchResultEvent(editor));
153
- }
154
-
155
- /**
156
- * Check if any search is in progress
157
- */
158
- public boolean hasQuery() {
159
- return currentPattern != null;
160
- }
161
-
162
- private void checkState() {
163
- if (!hasQuery()) {
164
- throw new IllegalStateException("pattern not set");
165
- }
166
- }
167
-
168
- /**
169
- * Find current selected region in search results and return the index in search result.
170
- * Or {@code -1} if result is not available or the current selected region is not in result.
171
- * @throws IllegalStateException if no search is in progress
172
- */
173
- public int getCurrentMatchedPositionIndex() {
174
- checkState();
175
- var cur = editor.getCursor();
176
- if (!cur.isSelected()) {
177
- return -1;
178
- }
179
- var left = cur.getLeft();
180
- var right = cur.getRight();
181
-
182
- if (isResultValid()) {
183
- var res = lastResults;
184
- if (res == null) {
185
- return -1;
186
- }
187
- var packed = IntPair.pack(left, right);
188
- int index = res.lowerBound(packed);
189
- if (index < res.size() && res.get(index) == packed) {
190
- return index;
191
- }
192
- }
193
- return -1;
194
- }
195
-
196
- /**
197
- * Get item count of search result. Or {@code 0} if result is not available or no item is found.
198
- * @throws IllegalStateException if no search is in progress
199
- */
200
- public int getMatchedPositionCount() {
201
- checkState();
202
- if (!isResultValid()) {
203
- return 0;
204
- }
205
- var result = lastResults;
206
- return result == null ? 0 : result.size();
207
- }
208
-
209
- /**
210
- * Goto next matched position based on cursor position.
211
- * @see #setCyclicJumping(boolean)
212
- * @return if any jumping action is performed
213
- * @throws IllegalStateException if no search is in progress
214
- */
215
- public boolean gotoNext() {
216
- checkState();
217
- if (isResultValid()) {
218
- var res = lastResults;
219
- if (res == null) {
220
- return false;
221
- }
222
- var right = editor.getCursor().getRight();
223
- var index = res.lowerBoundByFirst(right);
224
- if (index == res.size() && cyclicJumping) {
225
- index = 0;
226
- }
227
- if (index < res.size()) {
228
- var data = res.get(index);
229
- var start = IntPair.getFirst(data);
230
- var pos1 = editor.getText().getIndexer().getCharPosition(start);
231
- var pos2 = editor.getText().getIndexer().getCharPosition(IntPair.getSecond(data));
232
- editor.setSelectionRegion(pos1.line, pos1.column, pos2.line, pos2.column, SelectionChangeEvent.CAUSE_SEARCH);
233
- return true;
234
- }
235
- }
236
- return false;
237
- }
238
-
239
- /**
240
- * Goto last matched position based on cursor position.
241
- * @see #setCyclicJumping(boolean)
242
- * @return if any jumping action is performed
243
- * @throws IllegalStateException if no search is in progress
244
- */
245
- public boolean gotoPrevious() {
246
- checkState();
247
- if (isResultValid()) {
248
- var res = lastResults;
249
- if (res == null || res.size() == 0) {
250
- return false;
251
- }
252
- var left = editor.getCursor().getLeft();
253
- var index = res.lowerBoundByFirst(left);
254
- if (index == res.size() || IntPair.getFirst(res.get(index)) >= index) {
255
- index --;
256
- }
257
- if (index < 0 && cyclicJumping) {
258
- index = res.size() - 1;
259
- }
260
- if (index >= 0 && index < res.size()) {
261
- var data = res.get(index);
262
- var end = IntPair.getSecond(data);
263
- var pos1 = editor.getText().getIndexer().getCharPosition(IntPair.getFirst(data));
264
- var pos2 = editor.getText().getIndexer().getCharPosition(end);
265
- editor.setSelectionRegion(pos1.line, pos1.column, pos2.line, pos2.column, SelectionChangeEvent.CAUSE_SEARCH);
266
- return true;
267
- }
268
- }
269
- return false;
270
- }
271
-
272
- /**
273
- * Check if selected region is exactly a search result
274
- * @throws IllegalStateException if no search is in progress
275
- */
276
- public boolean isMatchedPositionSelected() {
277
- return getCurrentMatchedPositionIndex() > -1;
278
- }
279
-
280
- /**
281
- * Replace currently selected region if the region is exactly a match of searching pattern.
282
- * Otherwise, attempt to jump to next matched position.
283
- *
284
- * @param replacement The text for replacement
285
- * @throws IllegalStateException if no search is in progress
286
- * @deprecated Confusing method name. Use {@link #replaceCurrentMatch(String)} instead.
287
- */
288
- @Deprecated(since = "0.24.0", forRemoval = true)
289
- public void replaceThis(@NonNull String replacement) {
290
- replaceCurrentMatch(replacement);
291
- }
292
-
293
- /**
294
- * Replace currently selected region if the region is exactly a match of searching pattern.
295
- * Otherwise, attempt to jump to next matched position.
296
- *
297
- * @param replacement The text for replacement
298
- * @throws IllegalStateException if no search is in progress
299
- */
300
- public void replaceCurrentMatch(@NonNull String replacement) {
301
- if (!editor.isEditable()) {
302
- return;
303
- }
304
- if (isMatchedPositionSelected()) {
305
- if (replacement.isEmpty()) {
306
- editor.deleteText();
307
- } else {
308
- if (searchOptions.type == SearchOptions.TYPE_REGULAR_EXPRESSION &&
309
- searchOptions.regexBackrefGrammar != null) {
310
- var cursor = editor.getCursor();
311
- String currentText = editor.getText().substring(cursor.getLeft(), cursor.getRight());
312
- var pattern = Pattern.compile(currentPattern, (searchOptions.caseInsensitive ? Pattern.CASE_INSENSITIVE : 0) | Pattern.MULTILINE);
313
- var matcher = pattern.matcher(currentText);
314
- if (!matcher.find()) {
315
- return;
316
- }
317
- replacement = RegexBackrefHelper.computeReplacement(matcher, searchOptions.regexBackrefGrammar, replacement);
318
- }
319
- editor.commitText(replacement, false, false);
320
- }
321
- } else {
322
- gotoNext();
323
- }
324
- }
325
-
326
- /**
327
- * Replace all matched position. Note that after invoking this, a blocking {@link ProgressDialog}
328
- * is shown until the action is done (either succeeded or failed).
329
- * @param replacement The text for replacement
330
- * @throws IllegalStateException if no search is in progress
331
- */
332
- public void replaceAll(@NonNull String replacement) {
333
- replaceAll(replacement, null);
334
- }
335
-
336
- /**
337
- * Replace all matched position. Note that after invoking this, a blocking {@link ProgressDialog}
338
- * is shown until the action is done (either succeeded or failed). The given callback will be executed
339
- * on success.
340
- *
341
- * @param replacement The text for replacement
342
- * @param whenSucceeded Callback when action is succeeded
343
- * @throws IllegalStateException if no search is in progress
344
- */
345
- public void replaceAll(@NonNull String replacement, @Nullable final Runnable whenSucceeded) {
346
- if (!editor.isEditable()) {
347
- return;
348
- }
349
- checkState();
350
- if (!isResultValid()) {
351
- Toast.makeText(editor.getContext(), I18nConfig.getResourceId(R.string.sora_editor_editor_search_busy), Toast.LENGTH_SHORT).show();
352
- return;
353
- }
354
- var context = editor.getContext();
355
- final var dialog = ProgressDialog.show(context, I18nConfig.getString(context, R.string.sora_editor_replaceAll), I18nConfig.getString(context, R.string.sora_editor_editor_search_replacing), true, false);
356
- final var res = lastResults;
357
- final var options = searchOptions;
358
- final var pattern = currentPattern;
359
- new Thread(() -> {
360
- try {
361
- var sb = editor.getText().toStringBuilder();
362
- if (options.type == SearchOptions.TYPE_REGULAR_EXPRESSION && options.regexBackrefGrammar != null) {
363
- var regex = Pattern.compile(pattern, (options.caseInsensitive ? Pattern.CASE_INSENSITIVE : 0) | Pattern.MULTILINE);
364
- Matcher matcher = null;
365
- List<RegexBackrefToken> tokens = null;
366
- int delta = 0;
367
- var text = sb.toString();
368
- for (int i = 0; i < res.size(); i++) {
369
- var region = res.get(i);
370
- var start = IntPair.getFirst(region);
371
- var end = IntPair.getSecond(region);
372
- var regionText = text.substring(start, end);
373
- if (matcher == null) {
374
- matcher = regex.matcher(regionText);
375
- } else {
376
- matcher.reset(regionText);
377
- }
378
- if (!matcher.find()) {
379
- continue;
380
- }
381
- if (tokens == null) {
382
- tokens = new RegexBackrefParser(options.regexBackrefGrammar).parse(replacement, matcher.groupCount());
383
- }
384
- var computedReplacement = RegexBackrefHelper.computeReplacement(matcher, tokens);
385
- var newLength = computedReplacement.length();
386
- var oldLength = end - start;
387
- sb.replace(start + delta, end + delta, computedReplacement);
388
- delta += newLength - oldLength;
389
- }
390
- } else {
391
- int newLength = replacement.length();
392
- int delta = 0;
393
- for (int i = 0; i < res.size(); i++) {
394
- var region = res.get(i);
395
- var start = IntPair.getFirst(region);
396
- var end = IntPair.getSecond(region);
397
- var oldLength = end - start;
398
- sb.replace(start + delta, end + delta, replacement);
399
- delta += newLength - oldLength;
400
- }
401
- }
402
- editor.postInLifecycle(() -> {
403
- var pos = editor.getCursor().left();
404
- editor.getText().replace(0, 0, editor.getLineCount() - 1, editor.getText().getColumnCount(editor.getLineCount() - 1), sb);
405
- editor.setSelectionAround(pos.line, pos.column);
406
- dialog.dismiss();
407
-
408
- if (whenSucceeded != null) {
409
- whenSucceeded.run();
410
- }
411
- });
412
- } catch (Exception e) {
413
-
414
- editor.postInLifecycle(() -> {
415
- Toast.makeText(editor.getContext(), "Replace failed:" + e, Toast.LENGTH_SHORT).show();
416
- dialog.dismiss();
417
- });
418
- }
419
- }).start();
420
- }
421
-
422
- protected boolean isResultValid() {
423
- return currentThread == null || !currentThread.isAlive();
424
- }
425
-
426
- /**
427
- * Search options for {@link EditorSearcher#search(String, SearchOptions)}
428
- */
429
- public static class SearchOptions {
430
-
431
- public final boolean caseInsensitive;
432
- @IntRange(from = 1, to = 3)
433
- public final int type;
434
- public final RegexBackrefGrammar regexBackrefGrammar;
435
- /**
436
- * Normal text searching
437
- */
438
- public final static int TYPE_NORMAL = 1;
439
- /**
440
- * Text searching by whole word
441
- */
442
- public final static int TYPE_WHOLE_WORD = 2;
443
- /**
444
- * Use regular expression for text searching
445
- */
446
- public final static int TYPE_REGULAR_EXPRESSION = 3;
447
-
448
- public SearchOptions(boolean caseInsensitive, boolean useRegex) {
449
- this(useRegex ? TYPE_REGULAR_EXPRESSION : TYPE_NORMAL, caseInsensitive);
450
- }
451
-
452
- /**
453
- * Create a new searching option with the given attributes.
454
- * @param type type of searching method
455
- * @param caseInsensitive Case insensitive
456
- * @see #TYPE_NORMAL
457
- * @see #TYPE_WHOLE_WORD
458
- * @see #TYPE_REGULAR_EXPRESSION
459
- */
460
- public SearchOptions(@IntRange(from = 1, to = 3) int type, boolean caseInsensitive) {
461
- this(type, caseInsensitive, null);
462
- }
463
-
464
- /**
465
- * Create a new searching option with the given attributes.
466
- *
467
- * @param type type of searching method
468
- * @param caseInsensitive Case insensitive
469
- * @param regexBackrefGrammar Back reference grammar in regular expression replace mode
470
- * @see #TYPE_NORMAL
471
- * @see #TYPE_WHOLE_WORD
472
- * @see #TYPE_REGULAR_EXPRESSION
473
- */
474
- public SearchOptions(@IntRange(from = 1, to = 3) int type, boolean caseInsensitive, @Nullable RegexBackrefGrammar regexBackrefGrammar) {
475
- if (type < 1 || type > 3) {
476
- throw new IllegalArgumentException("invalid type");
477
- }
478
- this.type = type;
479
- this.caseInsensitive = caseInsensitive;
480
- this.regexBackrefGrammar = regexBackrefGrammar;
481
- }
482
-
483
- }
484
-
485
- /**
486
- * Run for regex matching
487
- */
488
- private final class SearchRunnable implements Runnable {
489
-
490
- private final StringBuilder text;
491
- private final String pattern;
492
- private final SearchOptions options;
493
- private Thread localThread;
494
-
495
- public SearchRunnable(@NonNull Content content, @NonNull SearchOptions options, @NonNull String pattern) {
496
- this.text = content.toStringBuilder();
497
- this.options = options;
498
- this.pattern = pattern;
499
- }
500
-
501
- private boolean checkNotCancelled() {
502
- return currentThread == localThread && !Thread.interrupted();
503
- }
504
-
505
- @Override
506
- public void run() {
507
- localThread = Thread.currentThread();
508
- var results = new LongArrayList();
509
- var textLength = text.length();
510
- var ignoreCase = options.caseInsensitive;
511
- var pattern = this.pattern;
512
- switch (options.type) {
513
- case SearchOptions.TYPE_NORMAL: {
514
- int nextStart = 0;
515
- var patternLength = pattern.length();
516
- while (nextStart != -1 && nextStart < textLength && checkNotCancelled()) {
517
- nextStart = TextUtils.indexOf(text, pattern, ignoreCase, nextStart);
518
- if (nextStart != -1) {
519
- results.add(IntPair.pack(nextStart, nextStart + patternLength));
520
- nextStart += patternLength;
521
- }
522
- }
523
- break;
524
- }
525
- case SearchOptions.TYPE_WHOLE_WORD:
526
- pattern = "\\b" + Pattern.quote(pattern) + "\\b";
527
- // fall-through
528
- case SearchOptions.TYPE_REGULAR_EXPRESSION:
529
- var regex = Pattern.compile(pattern, (ignoreCase ? Pattern.CASE_INSENSITIVE : 0) | Pattern.MULTILINE);
530
- var string = text.toString();
531
- var matcher = regex.matcher(string);
532
- while (matcher.find() && checkNotCancelled()) {
533
- results.add(IntPair.pack(matcher.start(), matcher.end()));
534
- if (matcher.end() == string.length()) {
535
- break;
536
- }
537
- }
538
- }
539
- if (checkNotCancelled()) {
540
- editor.postInLifecycle(() -> {
541
- if (currentThread == localThread) {
542
- lastResults = results;
543
- editor.invalidate();
544
- editor.dispatchEvent(new PublishSearchResultEvent(editor));
545
- currentThread = null;
546
- }
547
- });
548
- }
549
- }
550
- }
551
-
552
- }
553
-