Skip to content

0.23.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@Rosemoe Rosemoe released this 08 Feb 09:24
· 126 commits to main since this release
329c7c7

Hello, 2024! Here's the first major update of sora-editor in 2024.

Release Notes for 0.23.0

Fixes and Enhancements

Editor Core

  • add more XML attributes
  • optionally report cursor anchor position on screen to input method
  • fix failure in fetching scroll factor (#532 by @dingyi222666 )
  • fix completion window being cut (#420 by @dingyi222666 )
  • fix fuzzyScore sort for completion items (#538 by @dingyi222666 )
  • fix that text styles are still used after editor is released
  • add PlainTextAnalyzeManager for plain text that requires completion
  • fix incorrect rendering order of sticky lines and pinned line numbers (#539 )
  • fix stack overflow when cutting line on last editor line
  • fix thread-safety issues in Content
  • add extended attributes objects for Span, and make Span an interface
  • add span and span range in editor's motion events (click, double-click and long-click) (#540 )
  • add more editor state events for implementing user-side features
  • fix diagnostic tooltip is not dismissed on focus lost
  • add EditorSpanInteractionHandler as base implementation for clickable spans
  • cut line forward or backward (#508)
  • fix scroll position auto-adjust
  • add Ctrl+PgUp, Ctrl+PgDn, Ctrl+Shift+PgUp, Ctrl+Shift+PgDn shortcuts

Language Textmate

  • merge TM4E update from upstream
  • enable symbol pairs by default

Language LSP

  • refactor LSP library by Kotlin (#457 by @dingyi222666 )
  • add Java sample for language-lsp usage

Language Tree-sitter

  • fix access violation to tree-sitter native objects and thread-safety issues (#497 )

Language Java

  • add detection for links

Sample App

  • open links in code editor by double-click on it

Breaking Changes and Migration

Editor Selection API

The legacy moveSelectionUp, moveSelectionDown and other methods for moving/extending selection are removed.
Now selection moving and extending are seperated.

  • moveSelection method: de-select any text and move the cursor based on given movement type
  • extendSelection method: update selected range, based on the movement type passed and anchor for current text selecting
  • selection anchor is updated as selection changes and text updates

For selection movement types, please see SelectionMovement enum.

Span API (for custom languages)

Span is now interface class. To migrate to new API, note:

  • replace your field access with setters and getters
  • do not use builder-like calls to set properties of Span
  • you can not directly get underlineColor because it is resolved when the span is rendered

Release Notes for 0.23.1

Apply a minor fix to selection anchor updating.