Skip to content

Releases: Rosemoe/sora-editor

0.10.4

05 Mar 10:02
bfae1f6
Compare
Choose a tag to compare
0.10.4 Pre-release
Pre-release

Bug fix

  • Fix line editing issue (#154 )

Improvement

  • Avoid some measure errors when spans generated by language are invalid

0.10.3

04 Mar 05:37
5a64058
Compare
Choose a tag to compare
0.10.3 Pre-release
Pre-release

Bug fix

  • Fix stack overflow on some Samsung Galaxy ROMs
  • Fix a nullptr bug in AsyncIncrementalAnalyzeManager

0.10.2

26 Feb 15:25
c07ed3b
Compare
Choose a tag to compare
0.10.2 Pre-release
Pre-release

Emergency fix

  • Wrong Paint object used for problem indicator drawing

0.10.1

26 Feb 15:10
36212bf
Compare
Choose a tag to compare
0.10.1 Pre-release
Pre-release

Improvements

  • Event can be intercepted separately for different receivers
  • Event subscription now has a receipt for unsubscribing outside the receiver it self
  • Add MatchHelper
  • Optimize multiple line deletion performance
  • ContentCreator for loading text from reader or input stream
  • CodeEditor reuses the text object given by setText() by default if it is an instance of Content
  • Scrollbars are now not awaked by default when editor size changes (#150)
  • Add options for problem indicators drawing parameters (#149)

Bug fix

  • Fix unusual crash when editor size changes

Contributed updates

  • Fixed flickering of completion window when invoked multiple times. by @tyron12233 in #148
  • Separate rendering logic with the View by @tyron12233 in #151

New Contributors

Full Changelog: 0.10.0...0.10.1

0.10.0

05 Feb 09:53
65acd1a
Compare
Choose a tag to compare
0.10.0 Pre-release
Pre-release

Improvements

  • Better support for content searching (case insensitive, regular expressions)
  • Enhance position visibility with line number pinned

0.9.3

04 Feb 16:06
f4ebed8
Compare
Choose a tag to compare
0.9.3 Pre-release
Pre-release

Bug fix

  • Fix wrongly positioned background for span

Improvements

  • Better support for selection moving and performance in wordwrap mode
  • Optional automatically scrolling when editor's height changed
  • Adapte InputConnection implementation to API 31
  • Parcelable and public UndoManager instance for data saving

0.9.2

03 Feb 14:12
fbfeedd
Compare
Choose a tag to compare
0.9.2 Pre-release
Pre-release

Improvements

  • Do not block scaling when reached max/min size
  • Optional thread-safe for Content
  • Optimize avoidable allocations in textmate
  • Remove unnecessary Span copying in AsyncIncrementalAnalyzeManager
  • Cancellable code block analysis for AsyncIncrementalAnalyzeManager
  • Incremental language-java available

Bug fix

  • Fix unability to delete line without deleteEmptyLineFast on

0.9.1

03 Feb 14:08
96fd6a5
Compare
Choose a tag to compare
0.9.1 Pre-release
Pre-release

API Update

  • Add getCharOffsetX and getCharOffsetY to get character on screen
  • Remove final flags of built-in components and allow them to be replaced by replaceComponent
  • Expose more fields to subclass of EditorAutoCompletion

0.9.0

03 Feb 13:57
f0f702d
Compare
Choose a tag to compare
0.9.0 Pre-release
Pre-release

0.9.0

A major update for sora-editor

Improvements

  • Selected text is optional to be painted in another color (set SELECTED_TEXT color to 0)
  • Option for drawing whitespaces in selected region
  • Scale text with focus
  • Draw short background for selected empty lines
  • Completion window scrolls as text scrolls
  • Updated selection handle style
  • Selection handle follow thumb when held
  • Optimized text action popup
  • Better support for ligatures
  • Event system with various events
  • Add check to avoid OOM when the width of view is too small to display content in wordwrap mode
  • Delete empty line quickly
  • Delete batch spaces by one DEL press
  • Async and customizable auto-completion APIs
  • Add option to remove keyboard suggestions forcibly
  • Open code analysis framework
  • Incremental highlighting analysis for textmate
  • Thread-safe support for Content
  • Control editor's IPC text length max
  • Better schedule for auto-completion
  • Set no completion flag for some regions
  • Removable built-in components
  • Improved cursor shifting for RTL natural languages
  • Interrupt auto-completion threads in time
  • Expose more public APIs

Bug fix

  • Invalid code block lines in language-textmate

Breaking changes

Almost everything has changed. lol...
But, some IMPORTANT Tips:

  • Migrate your legacy addIfNeeded() invocations directly with a colorId to a checked one generated by TextStyle#makeStyle(...) to specify your styles and some other attributes (such as no completion). Unless you are confident that your values are valid (for fear that the bit count for foregroundColorId can be decreased in future releases. currently is 20 bits, far from we needed).
  • Legacy analysis can be quickly migrated by using SimpleAnalyzeManager
  • Spans are not always stored by an internal List<List<Span>>. Use Reader and Modifier APIs to get access to its content, unless you are sure about the instance's implementation.
  • It's recommended that you use only one Spans.Reader and one Spans.Modifier at the same time.
  • New completion system provides nothing but the exact position to complete in text. How to do the completion is up to you.
  • The SimpleCompletionItem can not take the place of the old CompletionItem
  • Shared data between auto-completion and analysis thread is not maintained by editor. You have to manage that by yourself
  • CodeEditor adds a new method release() to stop completion threads and the analysis. It's recommended to invoke this method when the editor is no longer used(such as being removed from view forever or when activity ends).
  • Avoid use CodeEditor's protected drawXxx() methods, they are likely to be changed. Also, methods or fields marked by annotation @UnsupportedUserUsage should not be used. Classes related to drawing should not be used (HwAccerelatedRenderer and GraphicTextRow).
  • EditorPopupWindow provides some useful actions to create your own window in editor with good support
  • NavigationItem is removed. It should be implemented by your Language
  • BlockLine is renamed to CodeBlock
  • Fields in DirectAccessProps can be directly modified. They are not required by editor at the time they are set. Modification takes effect the next time the actual value is accessed by editor.

Thanks to

  • People who contribute to this project
  • People who test the application and provide feedback
  • People who star this repo

0.8.4

14 Nov 15:11
78a4c64
Compare
Choose a tag to compare
0.8.4 Pre-release
Pre-release

This includes a set of bug fixes and small improvements.

Bug fix

  • Fix Textmate illegal display in some conditions (@Coyamo )
  • Fix cursor animation position and add switch
  • Fix composing text prevents auto-completion
  • Hide completion panel when undo/redo
  • Fix crash bug when click enter with the completion window shown
  • Fix text style rendering on devices before Android Q (API 29)
  • Fix invalid parameter passed to ContentListener#afterDelete
  • Fix unreported modification in Content
  • Fix text can be modified by action window when not editable
  • Fix that mis-colored text is shown when modification is made but analysis is not done
  • Fix error layout offset in CodeEditor#getOffset

Improvements

  • Hide completion panel when undo/redo
  • Magnifier will not show, when text size is big
  • Color of EdgeEffect is automatically extracted from context theme's colorPrimary
  • Supports 4-char emoji display and edit
  • Improve performance of magnifier on old devices
  • Draw shadow for divider if line number is pinned
  • Maintain code blocks on edit