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,646 +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.util.Log;
27
- import android.view.KeyCharacterMap;
28
- import android.view.KeyEvent;
29
-
30
- import androidx.annotation.NonNull;
31
- import androidx.annotation.Nullable;
32
-
33
- import java.util.Objects;
34
-
35
- import io.github.abc15018045126.sora.event.EditorKeyEvent;
36
- import io.github.abc15018045126.sora.event.InterceptTarget;
37
- import io.github.abc15018045126.sora.event.KeyBindingEvent;
38
- import io.github.abc15018045126.sora.event.SelectionChangeEvent;
39
- import io.github.abc15018045126.sora.lang.smartEnter.NewlineHandler;
40
- import io.github.abc15018045126.sora.text.Content;
41
- import io.github.abc15018045126.sora.text.Cursor;
42
- import io.github.abc15018045126.sora.text.method.KeyMetaStates;
43
-
44
- /**
45
- * Handles {@link KeyEvent}s in editor.
46
- *
47
- * <p>
48
- * <strong>This is for internal use only.</strong>
49
- * </p>
50
- *
51
- * @author Rose
52
- * @author Akash Yadav
53
- */
54
- public class EditorKeyEventHandler {
55
-
56
- private static final String TAG = "EditorKeyEventHandler";
57
- private final CodeEditor editor;
58
- private final KeyMetaStates keyMetaStates;
59
-
60
- EditorKeyEventHandler(CodeEditor editor) {
61
- Objects.requireNonNull(editor, "Cannot setup KeyEvent with null editor instance.");
62
- this.editor = editor;
63
- this.keyMetaStates = new KeyMetaStates(editor);
64
- }
65
-
66
- /**
67
- * Check if the given {@link KeyEvent} is a key binding event.
68
- * {@link EditorKeyEventHandler#keyMetaStates} must be notified about the key event before this
69
- * method is called.
70
- *
71
- * @param keyCode The keycode.
72
- * @param event The key event.
73
- * @return <code>true</code> if the event is a key binding event. <code>false</code> otherwise.
74
- */
75
- private boolean isKeyBindingEvent(int keyCode, KeyEvent event) {
76
-
77
- // These keys must be pressed for the key event to be a key binding event
78
- if (!(keyMetaStates.isShiftPressed() || keyMetaStates.isAltPressed() || event.isCtrlPressed())) {
79
- return false;
80
- }
81
-
82
- // Any alphabet key
83
- if (keyCode >= KeyEvent.KEYCODE_A && keyCode <= KeyEvent.KEYCODE_Z) {
84
- return true;
85
- }
86
-
87
- // Other key combinations
88
- return keyCode == KeyEvent.KEYCODE_ENTER
89
- || keyCode == KeyEvent.KEYCODE_DPAD_UP
90
- || keyCode == KeyEvent.KEYCODE_DPAD_DOWN
91
- || keyCode == KeyEvent.KEYCODE_DPAD_LEFT
92
- || keyCode == KeyEvent.KEYCODE_DPAD_RIGHT
93
- || keyCode == KeyEvent.KEYCODE_MOVE_HOME
94
- || keyCode == KeyEvent.KEYCODE_MOVE_END;
95
- }
96
-
97
- /**
98
- * Get the {@link KeyMetaStates} instance.
99
- *
100
- * @return The {@link KeyMetaStates} instance.
101
- */
102
- @NonNull
103
- public KeyMetaStates getKeyMetaStates() {
104
- return keyMetaStates;
105
- }
106
-
107
- /**
108
- * Called by editor in {@link CodeEditor#onKeyDown(int, KeyEvent)}.
109
- *
110
- * @param keyCode The key code.
111
- * @param event The key event.
112
- * @return <code>true</code> if the event was handled, <code>false</code> otherwise.
113
- */
114
- public boolean onKeyDown(int keyCode, @NonNull KeyEvent event) {
115
- keyMetaStates.onKeyDown(event);
116
- final var editor = this.editor;
117
- final var eventManager = editor.eventManager;
118
-
119
- final var editorKeyEvent = new EditorKeyEvent(editor, event, EditorKeyEvent.Type.DOWN);
120
- final var keybindingEvent =
121
- new KeyBindingEvent(editor,
122
- event,
123
- EditorKeyEvent.Type.DOWN,
124
- editor.canHandleKeyBinding(keyCode, event.isCtrlPressed(), keyMetaStates.isShiftPressed(), keyMetaStates.isAltPressed()));
125
- if ((eventManager.dispatchEvent(editorKeyEvent) & InterceptTarget.TARGET_EDITOR) != 0) {
126
- return editorKeyEvent.result(false);
127
- }
128
-
129
- final var isShiftPressed = keyMetaStates.isShiftPressed();
130
- final var isAltPressed = keyMetaStates.isAltPressed();
131
- final var isCtrlPressed = event.isCtrlPressed();
132
-
133
- // Currently, KeyBindingEvent is triggered only for (Shift | Ctrl | Alt) + alphabet keys
134
- // Should we add support for more keys?
135
- if (isKeyBindingEvent(keyCode, event)) {
136
- if ((eventManager.dispatchEvent(keybindingEvent) & InterceptTarget.TARGET_EDITOR) != 0) {
137
- return keybindingEvent.result(false) || editorKeyEvent.result(false);
138
- }
139
- }
140
-
141
- switch (keyCode) {
142
- case KeyEvent.KEYCODE_DPAD_DOWN:
143
- case KeyEvent.KEYCODE_DPAD_UP:
144
- case KeyEvent.KEYCODE_DPAD_LEFT:
145
- case KeyEvent.KEYCODE_DPAD_RIGHT:
146
- case KeyEvent.KEYCODE_MOVE_HOME:
147
- case KeyEvent.KEYCODE_MOVE_END:
148
- keyMetaStates.adjustAfterKeyPress();
149
- }
150
-
151
- Boolean result = handleKeyEvent(event, editorKeyEvent, keybindingEvent, keyCode, isShiftPressed, isAltPressed, isCtrlPressed);
152
- if (result != null) {
153
- return editorKeyEvent.result(result);
154
- }
155
-
156
- return editorKeyEvent.result(editor.onSuperKeyDown(keyCode, event));
157
- }
158
-
159
- private Boolean handleKeyEvent(KeyEvent event,
160
- EditorKeyEvent editorKeyEvent,
161
- KeyBindingEvent keybindingEvent,
162
- int keyCode,
163
- boolean isShiftPressed,
164
- boolean isAltPressed,
165
- boolean isCtrlPressed
166
- ) {
167
- final var connection = editor.inputConnection;
168
- final var editorCursor = editor.getCursor();
169
- final var editorText = editor.getText();
170
- switch (keyCode) {
171
- case KeyEvent.KEYCODE_BACK: {
172
- if (editorCursor.isSelected()) {
173
- editor.setSelection(editorCursor.getLeftLine(), editorCursor.getLeftColumn());
174
- return editorKeyEvent.result(true);
175
- }
176
- if (editor.isInLongSelect()) {
177
- editor.endLongSelect();
178
- return editorKeyEvent.result(true);
179
- }
180
- return editorKeyEvent.result(false);
181
- }
182
- case KeyEvent.KEYCODE_DEL:
183
- if (editor.isEditable()) {
184
- if (editor.isTextSelected()) {
185
- editor.deleteText();
186
- } else {
187
- if (isCtrlPressed) {
188
- editor.extendSelection(SelectionMovement.PREVIOUS_WORD_BOUNDARY);
189
- if (editor.isTextSelected()) {
190
- editor.deleteText();
191
- }
192
- } else {
193
- editor.deleteText();
194
- }
195
- }
196
- editor.notifyIMEExternalCursorChange();
197
- }
198
- return editorKeyEvent.result(true);
199
- case KeyEvent.KEYCODE_FORWARD_DEL: {
200
- if (editor.isEditable()) {
201
- if (editor.isTextSelected()) {
202
- editor.deleteText();
203
- } else {
204
- if (isCtrlPressed) {
205
- editor.extendSelection(SelectionMovement.NEXT_WORD_BOUNDARY);
206
- if (editor.isTextSelected()) {
207
- editor.deleteText();
208
- }
209
- } else {
210
- connection.deleteSurroundingText(0, 1);
211
- }
212
- }
213
- editor.notifyIMEExternalCursorChange();
214
- }
215
- return editorKeyEvent.result(true);
216
- }
217
- case KeyEvent.KEYCODE_ENTER: {
218
- return handleEnterKeyEvent(editorKeyEvent, keybindingEvent, isShiftPressed, isAltPressed, isCtrlPressed);
219
- }
220
- case KeyEvent.KEYCODE_DPAD_DOWN:
221
- if (isCtrlPressed) {
222
- if (isShiftPressed) {
223
- final var left = editorCursor.left();
224
- final var right = editorCursor.right();
225
- final var lines = editorText.getLineCount();
226
- if (right.line == lines - 1) {
227
- // last line, cannot move down
228
- return editorKeyEvent.result(true);
229
- }
230
-
231
- final var next = editorText.getLine(right.line + 1).toString();
232
- editorText.beginBatchEdit();
233
- editorText.delete(right.line, editorText.getColumnCount(right.line), right.line + 1, next.length());
234
- editorText.insert(left.line, 0, next.concat(editor.getLineSeparator().getContent()));
235
- editorText.endBatchEdit();
236
-
237
- // Update selection
238
- final var newLeft = editorText.getIndexer().getCharPosition(left.line + 1, left.column);
239
- final var newRight = editorText.getIndexer().getCharPosition(right.line + 1, right.column);
240
- if (left.index != right.index) {
241
- var backupAnchor = editor.selectionAnchor;
242
- editor.setSelectionRegion(newLeft.line, newLeft.column, newRight.line, newRight.column);
243
- if (backupAnchor != null) {
244
- if (backupAnchor.equals(left)) {
245
- editor.selectionAnchor = newLeft;
246
- } else {
247
- editor.selectionAnchor = newRight;
248
- }
249
- }
250
- } else {
251
- editor.setSelection(newLeft.line, newLeft.column);
252
- }
253
-
254
- return editorKeyEvent.result(true);
255
- }
256
- editor.getEventHandler().scrollBy(0, editor.getRowHeight());
257
- return editorKeyEvent.result(true);
258
- }
259
- editor.moveOrExtendSelection(SelectionMovement.DOWN, isShiftPressed);
260
- return editorKeyEvent.result(true);
261
- case KeyEvent.KEYCODE_DPAD_UP:
262
- if (isCtrlPressed) {
263
- if (isShiftPressed) {
264
- final var left = editorCursor.left();
265
- final var right = editorCursor.right();
266
- if (left.line == 0) {
267
- // first line, cannot move up
268
- return editorKeyEvent.result(true);
269
- }
270
-
271
- final var prev = editorText.getLine(left.line - 1).toString();
272
- editorText.beginBatchEdit();
273
- editorText.delete(left.line - 1, 0, left.line, 0);
274
- editorText.insert(right.line - 1, editorText.getColumnCount(right.line - 1), editor.getLineSeparator().getContent().concat(prev));
275
- editorText.endBatchEdit();
276
-
277
- // Update selection
278
- final var newLeft = editorText.getIndexer().getCharPosition(left.line - 1, left.column);
279
- final var newRight = editorText.getIndexer().getCharPosition(right.line - 1, right.column);
280
- if (left.index != right.index) {
281
- var backupAnchor = editor.selectionAnchor;
282
- editor.setSelectionRegion(newLeft.line, newLeft.column, newRight.line, newRight.column);
283
- if (backupAnchor != null) {
284
- if (backupAnchor.equals(left)) {
285
- editor.selectionAnchor = newLeft;
286
- } else {
287
- editor.selectionAnchor = newRight;
288
- }
289
- }
290
- } else {
291
- editor.setSelection(newLeft.line, newLeft.column);
292
- }
293
-
294
- return editorKeyEvent.result(true);
295
- }
296
- editor.getEventHandler().scrollBy(0, -editor.getRowHeight());
297
- return editorKeyEvent.result(true);
298
- }
299
- editor.moveOrExtendSelection(SelectionMovement.UP, isShiftPressed);
300
- return editorKeyEvent.result(true);
301
- case KeyEvent.KEYCODE_DPAD_LEFT:
302
- if (isCtrlPressed) {
303
- editor.moveOrExtendSelection(SelectionMovement.PREVIOUS_WORD_BOUNDARY, isShiftPressed);
304
- } else {
305
- editor.moveOrExtendSelection(SelectionMovement.LEFT, isShiftPressed);
306
- }
307
- return editorKeyEvent.result(true);
308
- case KeyEvent.KEYCODE_DPAD_RIGHT:
309
- if (isCtrlPressed) {
310
- editor.moveOrExtendSelection(SelectionMovement.NEXT_WORD_BOUNDARY, isShiftPressed);
311
- } else {
312
- editor.moveOrExtendSelection(SelectionMovement.RIGHT, isShiftPressed);
313
- }
314
- return editorKeyEvent.result(true);
315
- case KeyEvent.KEYCODE_MOVE_END:
316
- if (isCtrlPressed) {
317
- editor.moveOrExtendSelection(SelectionMovement.TEXT_END, isShiftPressed);
318
- } else {
319
- var movement = editor.getProps().rowBasedHomeEnd ? SelectionMovement.ROW_END : SelectionMovement.LINE_END;
320
- editor.moveOrExtendSelection(movement, isShiftPressed);
321
- }
322
- return editorKeyEvent.result(true);
323
- case KeyEvent.KEYCODE_MOVE_HOME:
324
- if (isCtrlPressed) {
325
- editor.moveOrExtendSelection(SelectionMovement.TEXT_START, isShiftPressed);
326
- } else {
327
- var movement = editor.getProps().rowBasedHomeEnd ? SelectionMovement.ROW_START : SelectionMovement.LINE_START;
328
- editor.moveOrExtendSelection(movement, isShiftPressed);
329
- }
330
- return editorKeyEvent.result(true);
331
- case KeyEvent.KEYCODE_PAGE_DOWN:
332
- if (isCtrlPressed) {
333
- editor.moveOrExtendSelection(SelectionMovement.PAGE_BOTTOM, isShiftPressed);
334
- } else {
335
- editor.moveOrExtendSelection(SelectionMovement.PAGE_DOWN, isShiftPressed);
336
- }
337
- return editorKeyEvent.result(true);
338
- case KeyEvent.KEYCODE_PAGE_UP:
339
- if (isCtrlPressed) {
340
- editor.moveOrExtendSelection(SelectionMovement.PAGE_TOP, isShiftPressed);
341
- } else {
342
- editor.moveOrExtendSelection(SelectionMovement.PAGE_UP, isShiftPressed);
343
- }
344
- return editorKeyEvent.result(true);
345
- case KeyEvent.KEYCODE_TAB:
346
- if (editor.isEditable()) {
347
- if (!isAltPressed && !isCtrlPressed) {
348
- if (editor.getSnippetController().isInSnippet()) {
349
- if (isShiftPressed) {
350
- editor.getSnippetController().shiftToPreviousTabStop();
351
- } else {
352
- editor.getSnippetController().shiftToNextTabStop();
353
- }
354
- } else {
355
- if (isShiftPressed) {
356
- // Shift + TAB -> unindent the [selected] lines
357
- editor.unindentSelection();
358
- } else {
359
- editor.indentOrCommitTab();
360
- }
361
- }
362
- }
363
- }
364
- return editorKeyEvent.result(true);
365
- case KeyEvent.KEYCODE_PASTE:
366
- if (editor.isEditable()) {
367
- editor.pasteText();
368
- }
369
- return editorKeyEvent.result(true);
370
- case KeyEvent.KEYCODE_COPY:
371
- editor.copyText();
372
- return editorKeyEvent.result(true);
373
- case KeyEvent.KEYCODE_SPACE:
374
- if (editor.isEditable()) {
375
- editor.commitText(" ");
376
- editor.notifyIMEExternalCursorChange();
377
- }
378
- return editorKeyEvent.result(true);
379
- case KeyEvent.KEYCODE_ESCAPE:
380
- if (editorCursor.isSelected()) {
381
- final var newPosition = editor.getProps().positionOfCursorWhenExitSelecting ? editorCursor.right() : editorCursor.left();
382
- editor.setSelection(newPosition.line, newPosition.column, true);
383
- }
384
- return editorKeyEvent.result(true);
385
- default:
386
- if (event.isCtrlPressed() && !event.isAltPressed()) {
387
- return handleCtrlKeyBinding(editorKeyEvent, keybindingEvent, keyCode, isShiftPressed);
388
- }
389
- }
390
- var result = handlePrintingKey(event, keyCode);
391
- if (result) {
392
- keyMetaStates.adjustAfterKeyPress();
393
- }
394
- return editorKeyEvent.result(result);
395
- }
396
-
397
- private boolean handlePrintingKey(KeyEvent event, int keyCode) {
398
- final var editorText = this.editor.getText();
399
- final var editorCursor = this.editor.getCursor();
400
- int charCode = event.getUnicodeChar(keyMetaStates.getMetaState(event));
401
- if (charCode != 0 && editor.isEditable()) {
402
- if (charCode == KeyCharacterMap.HEX_INPUT || charCode == KeyCharacterMap.PICKER_DIALOG_INPUT) {
403
- // unsupported: character picker dialog and hex input
404
- return editor.onSuperKeyDown(keyCode, event);
405
- }
406
- // #547 Dead Keys
407
- boolean dead = false;
408
- if ((charCode & KeyCharacterMap.COMBINING_ACCENT) != 0) {
409
- charCode = charCode & KeyCharacterMap.COMBINING_ACCENT_MASK;
410
- dead = true;
411
- }
412
-
413
- if (editorCursor.getLeft() + 1 == editorCursor.getRight()) {
414
- char base = editorText.charAt(editorCursor.getLeft());
415
- var composed = KeyCharacterMap.getDeadChar(base, charCode);
416
- if (composed != base && event.getRepeatCount() == 0) {
417
- charCode = composed;
418
- dead = false;
419
- }
420
- }
421
-
422
- if (dead) {
423
- var cursor = editor.getCursor();
424
- if (!editor.isTextSelected() || editorCursor.getLeft() + 1 == editorCursor.getRight() && editorText.charAt(editorCursor.getLeft()) == charCode) {
425
- editor.setSelection(editorCursor.getRightLine(), editorCursor.getRightColumn(), SelectionChangeEvent.CAUSE_DEAD_KEYS);
426
- editor.commitText(String.valueOf(Character.toChars(charCode)));
427
- var charCount = Character.charCount(Character.codePointBefore(editor.getText().getLine(cursor.getRightLine()), cursor.getRightColumn()));
428
- editor.setSelectionRegion(cursor.getRightLine(), cursor.getRightColumn() - charCount, cursor.getRightLine(), cursor.getRightColumn(), SelectionChangeEvent.CAUSE_DEAD_KEYS);
429
- }
430
- return true;
431
- }
432
-
433
- String text = new String(Character.toChars(charCode));
434
-
435
- editor.commitText(text);
436
- editor.notifyIMEExternalCursorChange();
437
- return true;
438
- } else {
439
- return editor.onSuperKeyDown(keyCode, event);
440
- }
441
- }
442
-
443
- @Nullable
444
- private Boolean handleCtrlKeyBinding(
445
- EditorKeyEvent e,
446
- KeyBindingEvent keybindingEvent,
447
- int keyCode,
448
- boolean isShiftPressed) {
449
- final var editor = this.editor;
450
- final var connection = editor.inputConnection;
451
- final var editorText = editor.getText();
452
- final var editorCursor = editor.getCursor();
453
- var editorResult = true;
454
- switch (keyCode) {
455
- case KeyEvent.KEYCODE_V:
456
- if (editor.isEditable()) {
457
- editor.pasteText();
458
- }
459
- break;
460
- case KeyEvent.KEYCODE_C:
461
- editor.copyText();
462
- break;
463
- case KeyEvent.KEYCODE_X:
464
- if (editor.isEditable()) {
465
- editor.cutText();
466
- } else {
467
- editor.copyText();
468
- }
469
- break;
470
- case KeyEvent.KEYCODE_A:
471
- editor.selectAll();
472
- break;
473
- case KeyEvent.KEYCODE_Z:
474
- if (editor.isEditable()) {
475
- editor.undo();
476
- }
477
- break;
478
- case KeyEvent.KEYCODE_Y:
479
- if (editor.isEditable()) {
480
- editor.redo();
481
- }
482
- break;
483
- case KeyEvent.KEYCODE_D:
484
- if (editor.isEditable()) {
485
- editor.duplicateLine();
486
- }
487
- break;
488
- case KeyEvent.KEYCODE_W:
489
- editor.selectCurrentWord();
490
- break;
491
- case KeyEvent.KEYCODE_J:
492
- if (!isShiftPressed || editorCursor.isSelected()) {
493
- // TODO If the cursor is selected, then the selected lines must be joined.
494
- editorResult = false;
495
- break;
496
- }
497
-
498
- final var line = editorCursor.getLeftLine();
499
- editor.setSelection(line, editorText.getColumnCount(line));
500
- connection.deleteSurroundingText(0, 1);
501
- editor.ensureSelectionVisible();
502
- break;
503
- default:
504
- return null;
505
- }
506
- return keybindingEvent.result(editorResult) || e.result(editorResult);
507
- }
508
-
509
- @NonNull
510
- private Boolean handleEnterKeyEvent(
511
- EditorKeyEvent editorKeyEvent,
512
- KeyBindingEvent keybindingEvent,
513
- boolean isShiftPressed,
514
- boolean isAltPressed,
515
- boolean isCtrlPressed) {
516
- final var editor = this.editor;
517
- final var editorCursor = editor.getCursor();
518
- final var editorText = editor.getText();
519
- if (editor.isEditable()) {
520
- var lineSeparator = editor.getLineSeparator().getContent();
521
- final var editorLanguage = editor.getEditorLanguage();
522
-
523
- if (isShiftPressed && !isAltPressed && !isCtrlPressed) {
524
- // Shift + Enter
525
- return startNewLine(editor, editorCursor, editorText, editorKeyEvent, keybindingEvent);
526
- }
527
-
528
- if (isCtrlPressed && !isShiftPressed) {
529
- if (isAltPressed) {
530
- // Ctrl + Alt + Enter
531
- var line = editorCursor.left().line;
532
- if (line == 0) {
533
- editorText.insert(0, 0, lineSeparator);
534
- editor.setSelection(0, 0);
535
- editor.ensureSelectionVisible();
536
- return keybindingEvent.result(true) || editorKeyEvent.result(true);
537
- } else {
538
- line--;
539
- editor.setSelection(line, editorText.getColumnCount(line));
540
- return startNewLine(editor, editorCursor, editorText, editorKeyEvent, keybindingEvent);
541
- }
542
- }
543
-
544
- // Ctrl + Enter
545
- final var left = editorCursor.left().fromThis();
546
- editor.commitText(lineSeparator);
547
- editor.setSelection(left.line, left.column);
548
- editor.ensureSelectionVisible();
549
- return keybindingEvent.result(true) || editorKeyEvent.result(true);
550
- }
551
-
552
- NewlineHandler[] handlers = editorLanguage.getNewlineHandlers();
553
- if (handlers == null || editorCursor.isSelected()) {
554
- editor.commitText(lineSeparator, true);
555
- } else {
556
- boolean consumed = false;
557
- for (NewlineHandler handler : handlers) {
558
- if (handler != null) {
559
- if (handler.matchesRequirement(editorText, editorCursor.left(), editor.getStyles())) {
560
- try {
561
- var result = handler.handleNewline(editorText, editorCursor.left(), editor.getStyles(), editor.getTabWidth());
562
- editor.commitText(result.text, false);
563
- int delta = result.shiftLeft;
564
- if (delta != 0) {
565
- int newSel = Math.max(editorCursor.getLeft() - delta, 0);
566
- var charPosition = editorCursor.getIndexer().getCharPosition(newSel);
567
- editor.setSelection(charPosition.line, charPosition.column);
568
- }
569
- consumed = true;
570
- } catch (Exception ex) {
571
- Log.w(TAG, "Error occurred while calling Language's NewlineHandler", ex);
572
- }
573
- break;
574
- }
575
- }
576
- }
577
- if (!consumed) {
578
- editor.commitText(lineSeparator, true);
579
- }
580
- }
581
- editor.notifyIMEExternalCursorChange();
582
- }
583
- return editorKeyEvent.result(true);
584
- }
585
-
586
- private boolean startNewLine(CodeEditor editor, Cursor editorCursor, Content
587
- editorText, EditorKeyEvent e, KeyBindingEvent keybindingEvent) {
588
- final var line = editorCursor.right().line;
589
- editor.setSelection(line, editorText.getColumnCount(line));
590
- editor.commitText(editor.getLineSeparator().getContent());
591
- editor.ensureSelectionVisible();
592
- return keybindingEvent.result(true) || e.result(true);
593
- }
594
-
595
- /**
596
- * Called by editor in {@link CodeEditor#onKeyUp(int, KeyEvent)}.
597
- *
598
- * @param keyCode The key code.
599
- * @param event The key event.
600
- * @return <code>true</code> if the event was handled, <code>false</code> otherwise.
601
- */
602
- public boolean onKeyUp(int keyCode, @NonNull KeyEvent event) {
603
- keyMetaStates.onKeyUp(event);
604
-
605
- final var eventManager = this.editor.eventManager;
606
- final var cursor = this.editor.getCursor();
607
-
608
- var e = new EditorKeyEvent(this.editor, event, EditorKeyEvent.Type.UP);
609
- if ((eventManager.dispatchEvent(e) & InterceptTarget.TARGET_EDITOR) != 0) {
610
- return e.result(false);
611
- }
612
-
613
- if (isKeyBindingEvent(keyCode, event)) {
614
- final var keybindingEvent =
615
- new KeyBindingEvent(editor,
616
- event,
617
- EditorKeyEvent.Type.UP,
618
- editor.canHandleKeyBinding(keyCode, event.isCtrlPressed(), keyMetaStates.isShiftPressed(), keyMetaStates.isAltPressed()));
619
-
620
- if ((eventManager.dispatchEvent(keybindingEvent) & InterceptTarget.TARGET_EDITOR) != 0) {
621
- return keybindingEvent.result(false) || e.result(false);
622
- }
623
- }
624
-
625
- return e.result(this.editor.onSuperKeyUp(keyCode, event));
626
- }
627
-
628
- /**
629
- * Called by editor in {@link CodeEditor#onKeyMultiple(int, int, KeyEvent)}.
630
- *
631
- * @param keyCode The key code.
632
- * @param repeatCount The repeat count.
633
- * @param event The key event.
634
- * @return <code>true</code> if the event was handled, <code>false</code> otherwise.
635
- */
636
- public boolean onKeyMultiple(int keyCode, int repeatCount, @NonNull KeyEvent event) {
637
- final var e = new EditorKeyEvent(this.editor, event, EditorKeyEvent.Type.MULTIPLE);
638
- final var eventManager = this.editor.eventManager;
639
- if ((eventManager.dispatchEvent(e) & InterceptTarget.TARGET_EDITOR) != 0) {
640
- return e.result(false);
641
- }
642
-
643
- return e.result(this.editor.onSuperKeyMultiple(keyCode, repeatCount, event));
644
- }
645
- }
646
-