Skip to content

Releases: Rosemoe/sora-editor

0.16.2

11 Aug 11:52
0e9b87b
Compare
Choose a tag to compare
0.16.2 Pre-release
Pre-release

Updates

  • fix potential bug in ContentCreator when reading CRLF text
  • fix bug in Content#copyText
  • fix occasional concurrent modification error when invoking ContentBidi and CachedIndexer
  • performance enhancement in text copying
  • some internal code style uniformation
  • add some potential combined character clusters

0.16.1

10 Aug 14:03
90ea1f7
Compare
Choose a tag to compare
0.16.1 Pre-release
Pre-release

Updates

  • Specify line separators for new lines when users edit text in editor
  • Fix Content#subSequence bugs in CRLF text
  • Fix composing text bug in a specific situations when trackComposingText is enabled
  • Do not highlight delimiters when text is selected
  • Remove debug logs
  • Performance enhancement in ContentLine#subSequence

0.16.0

10 Aug 06:09
15a6776
Compare
Choose a tag to compare
0.16.0 Pre-release
Pre-release

Performance Enhancements

This release is mainly focused on performance and display correctness. We optimized the speed of highlighting delimiters and the time cost when text is editted. We also add a new mode called "Basic Display Mode", which provides basic display of text and fast measuring speed. However, some features such as RTL and ligatures are disabled when this is enabled.

New Features

  • correct LTR and RTL mixed display
  • customizible round text background factor
  • side icon for lines and its click event are available now
  • mixed CR,LF,CRLF in Content (Note that CodeEditor#setLineSeparator is not complete yet. editor still uses LF for newlines when you edit text in editor)

Bugs fixed

  • fix the width measurement of RTL texts
  • fix bugs in TextRegionIterator

0.15.1

23 Jul 14:59
93d6ea0
Compare
Choose a tag to compare
0.15.1 Pre-release
Pre-release

0.15.1

This is a major update of sora-editor

New features

  • editor-lsp for LSP users, provided by @dingyi222666
  • new selection position can be provided by formatters
  • code completion in language-textmate (optional)
  • specify whether a scheme is dark and some new color ids for completion window (#215)
  • specify line background color from language analyzer and these backgrounds are automatically shifted when text is editted
  • highlight matching delimiters (including underline, bold and background) (optional)

Improvements

  • quicker speed when finding index in text
  • use Android 12 introduced new EdgeEffect
  • reusing layout objects and async loading
  • editor is still partially interactive when formatting
  • draw only visible region of diagnostics
  • optimize shifting logic of diagnostics
  • optimize the speed of deleting texts in editor, especially when deleting text with a lot of lines
  • better display of symbols in wordwrap mode, especially in Chinese and Japanese
  • do not recreate layout when text size is not actually changed when the user finishes scaling
  • better user experience when editor is not editable
  • more switches in DirectAccessProps

Fixed bugs

  • fix potential NPE during destruction of AsyncIncrementalAnalyzeManager
  • fix concurrent issue of InsertTextHelper (critical)
  • fix sometimes wrongly drawn newline markers on high API devices

Notice

From next version of sora-editor, the min SDK version will rise to Android API 24 due to better maintainence.

0.14.0

29 Jun 06:16
ed6faf4
Compare
Choose a tag to compare
0.14.0 Pre-release
Pre-release

Bug fix

  • Fix unnotified text change for IME when undo/redo (#210 )
  • Fix bad scroll range (#212 )
  • Bounds check in Content
  • Reset batch edit when Content object is detached
  • Reset all styles when text or language changes

Improvements

  • Indexer and Content share a lock
  • Content has 8x faster speed when inserting
  • Content now recoginzes newline correctly: CR, LF, CRLF are all considered '\n'

New Features

  • Brackets matching and highlighting in language-java and language-textmate (#194 )

0.13.1

26 Jun 13:37
a4ef1f6
Compare
Choose a tag to compare
0.13.1 Pre-release
Pre-release

Fix some issues in composing text

Fix incorrect sticky selection

0.13.0

25 Jun 14:09
63fc752
Compare
Choose a tag to compare
0.13.0 Pre-release
Pre-release

Improvements

  • Fix unexpectedly created 512 bytes array when drawing
  • Fix text width caching
  • Optimize memory usage of language-java, language-textmate
  • Optimize speed of analyzing code blocks in language-textmate
  • Cache theme colors in textmate
  • Track composing text when external text changes occur (#186 #204)
  • Add new APIs in Layout
  • Fix some deprecations and better RTL support (@PranavPurwar )
  • Add line spacing APIs
  • Add option for round text background

Chores

  • Update dependencies of textmate & testing instrumentations

Breaking changes

  • UIThreadIncrementalAnalyzeManager is removed
  • IdentifierAutoComplete is updated so that it can be used incrementally
  • IncrementalAnalyzeManager now have integer for line index passed in tokenizeLine

0.12.0

21 Jun 11:29
49eda90
Compare
Choose a tag to compare
0.12.0 Pre-release
Pre-release

Bug fix

  • Fix parent view of Magnifier
  • Fix missing invalidate() call in setFontFeatureSettings()
  • Remove unnecessary string resource items
  • Adapt Mircosoft Swift Key
  • Fix potential invalid state of SHIFT and ALT in EditorKeyEvent
  • Fix invalid error indicator line display (invalid phi for the wavy lines)
  • Fix 1 char invisible at line ending sometimes when wordwrap is enabled

New & Improvements

  • Custom scale factor in Magnifier
  • Add time limit for merging undo actions (can be modified by UndoManager#setMergeTimeLimit(long))
  • Better magnifier image quality (@massivemadness )
  • Better magnifer position when sticky cursor is enabled (@massivemadness )
  • KeyBindingEvent and some new built-in keybindings (@itsaky )
  • Improved cursor animation (ScaleCursorAnimation)
  • Diagnostics APIs
  • More diagnostic indicator styles (DiagnosticIndicatorStyle)
  • Approriate default size for diagnostic indicator lines

Breaking changes

  • Span#problemFlags, MappedSpans#markProblemRegion and MappedSpans.Builder#markProblemRegion are removed. Instead, you are expected to replace them with Diagnostic APIs
  • In order to catch up with the updates from tm4e in time, some packages in language-textmate are moved to its original package in tm4e project.

Migration Guide

->Mainly, your work will be miragting your problem marking logic to the new diagnostic API.
Now, the diagnostics are sent by calling StyleReceiver#setDiagnostics(DiagnosticContainer). You are expected to add your DiagnosticRegion objects to the DiagnosticContainer. The container will maintain the positions of those added regions. And also, DiagnosticRegion is described by the start index and end index of the diagnostic item, but not by (line, column) pairs. So you need to compute the index by shadowed Content.
Note that it is not recommended to add new regions to a container that is already being used by editor though the class is thread-safe.
See package io.github.rosemoe.sora.lang.diagnostic.

->package io.github.rosemoe.langs.textmate.core and io.github.rosemoe.langs.textmate.languageconfiguration are moved to org.eclipse.tm4e.core and org.eclipse.tm4e.languageconfiguration

More information

Now editor will show diagnostics with zero length. The editor will show the indicator with a width of the character 'a'.

Note

Maven artifact language-textmate 0.12.0 is broken. Use 0.12.0-1 instead.

0.11.4

21 Jun 10:57
1bbd18f
Compare
Choose a tag to compare
0.11.4 Pre-release
Pre-release

Bug fix

  • Fix invalid position of editor windows
  • Fix unexpected cursor update notification to IME when composing text

0.11.3

22 May 05:26
c11dbe4
Compare
Choose a tag to compare
0.11.3 Pre-release
Pre-release

Fix

  • Fix comosing text not removed
  • Fix position of editor windows

Improvements

  • Longer duration for some cursor animators
  • Magnifier scale factor is set to be Android default

Note

Version 0.11.2's maven repo is broken. Use 0.11.3 instead.