UnoEdit is a desktop-first port of AvalonEdit to Uno Platform and WinUI 3.
Current scope:
- Target Uno Skia Desktop (WinUI 3 port is included but not the primary focus).
- Do not target mobile during the bootstrap phase (v0.x.x).
- Port the document model and editor core as well as the Uno control shell.
- Windows 11 (Windows 10 may work but is not a primary target)
- macOS, 3 most recent versions from 2023-2025
- Ubuntu latest LTS (other Linux distributions may work but are not primary targets)
If you are looking for support of a specific platform, business sponsorship is the way to accelerate that work. Please reach out to us at homepage.
The main deliverable is a few NuGet packages:
The core editor component, including document model, editing engine, and platform-agnostic UI logic.
Optional TextMate integration library built on top of UnoEdit.
The core text rendering and layout engine, shared across UnoEdit and potentially other text-based controls.
Clone this repo and check out the sample projects to see how to use UnoEdit in your own applications (Uno Platform and WinUI 3).
- Public API parity against AvalonEdit currently measures
193/193types and1296/1296members. - Behavioral parity is tracked separately with the local parity detector. The latest stub-aware pass reports
0suspected stubs. - The shared regression suite currently passes
281/281.
- Right-to-left text support
- IME support improvements (currently functional but not fully polished)
- Accessibility support (screen readers, keyboard navigation, etc.)
- Performance optimizations for large documents (virtualization, incremental layout, etc.)
- TextMate integration (functional but needs heavy polishing)
UnoEdit builds on and includes code from the AvalonEdit project (ICSharpCode.AvalonEdit).
AvalonEdit is licensed under the MIT License. See avalonedit/LICENSE and
THIRD_PARTY_NOTICES.md for attribution and full license text. The NuGet packages
produced by this repository also include the third-party license text and notices.

