v0.2.0

longbridge/gpui-kitv0.2.0Oct 9, 2025by huacnlee

AI Summary

First release to crates.io featuring major refactoring of TextView/SyntaxHighlighter with async parsing, comprehensive improvements to Editor, Input, and Theme components, and numerous bug fixes.

Key Highlights

  • First release published to crates.io
  • TextView/SyntaxHighlighter refactored with async parsing for better performance
  • Editor: Add document_colors LSP support, improve soft wrap and performance
  • Input: Multiple fixes including blur unselect, scroll on select all, number input styling
  • Theme: Fix Ayu theme comment color, update macos-classic dark theme, schema changes
  • Bug fixes for input mark text, empty editor crash, context menu leak

Breaking Changes

  • Theme schema: removed `card`, added `group_box`

New Features

  • Document colors LSP support
  • Async parsing for syntax highlighting
  • Custom code block style support
  • Styled implementation for number input
  • Support for move vertical on soft wrapped lines

Full Release Notes

🚀 First release version to crates.io.

## Improvements

- Refactor `tab` key to switch focus by @huacnlee (#991)

### Input & Text
- Disable context menu item for disabled input by @huacnlee (#1280)
- Use shape line for soft wrap lines by @huacnlee (#1293)
- Fix RopeExt replace method may not on a char boundary by @huacnlee (#1295)
- Update RopeExt to use LF style for line calc when `\r` present by @huacnlee (#1296)
- Fix Input to unselect on blur by @huacnlee (#1303)
- Avoid scroll on select all by @huacnlee (#1305)
- Clean to reset selection and scroll offset by @huacnlee (#1326)
- Implement styled for number input by @madcodelife (#1333)

### Editor

- Add document_colors LSP by @huacnlee (#1329)
- Add to support move vertical for soft wrapped lines by @huacnlee (#1312)
- Avoid trigger hover on selection by @huacnlee (#1287)
- Improve `slice_line` method performance by @huacnlee (#1290)
- Improve TextWrapper performance by @huacnlee (#1292)
- Improve line number width by max lines by @huacnlee (#1291)
- Improve enter indent level performance by @huacnlee (#1304)
- Fix hover definition to hide immediately by @huacnlee (#1309)
- Fix Editor crash when content is empty by @huacnlee (#1314)
- Split Input and Editor background color by @huacnlee (#1323)

### TextView & Highlight

- Refactor TextView/SyntaxHighlighter with async parsing to improve performance by @sunli829 (#1299)
- Support custom code block style by @huacnlee (#1288)

### Theme & Style
- Fix Ayu theme comment color by @huacnlee (#1316)
- Update macos-classic dark theme color by @huacnlee (#1320)
- Update theme schema: remove `card`, add `group_box` by @huacnlee (#1321)
- Fix button label overflow by @huacnlee (#1322)
- Bind element ID after button creation by @madcodelife (#1325)
- Let normal/active tabs share border to prevent flash by @huacnlee (#1327)

### Menu & Context

- Better handle hover for menu item by @huacnlee (#1332)
- Add flex property to custom popup menu items by @ihavecoke (#1335)
- Improve MenuItem paddings by @huacnlee (#1339)

## Bug Fixes

- Fix input mark text render by @huacnlee (#1298)
- Fix Editor crash when empty string triggers placeholder by @huacnlee (#1314)
- Fix context menu subscription leak by @huacnlee (#1337)
- Fix UTF-8 boundary in highlighter using `clip_offset` by @xudesheng (#1317)

## Chores & Internal

- use async-wry by @sunli829 (#1300)
- Remove unnecessary RefCell by @sunli829 (#1301)
- Remove Wef code (moved to external crate) by @Copilot (#1302)
- Interpolate folder path via rust embed by @carlocorradini (#1318)
- Implement styled for custom style by @madcodelife (#1319)

## New Contributors
* @xudesheng made their first contribution in https://github.com/longbridge/gpui-component/pull/1317
* @carlocorradini made their first contribution in https://github.com/longbridge/gpui-component/pull/1318

**Full Changelog**: https://github.com/longbridge/gpui-component/compare/v20250925...v0.2.0