Jason Lee
69b21142dc
root: Improve new method argument to use into <AnyView>. ( #1594 )
2025-11-14 11:02:44 +08:00
Jason Lee
a176408d81
Revert "root: Render overlays inside Root element by default. ( #1570 )" ( #1584 )
...
Revert #1573 , #1570
2025-11-13 13:37:05 +08:00
Jason Lee
1074f78fb0
root: Fix Root use text size may override default text color. ( #1576 )
2025-11-12 19:05:30 +08:00
Jason Lee
8c2d4de435
story: Add unique notification to story. ( #1575 )
2025-11-12 10:19:59 +00:00
Jason Lee
3500e5d5bc
label: Fix Label highlight may crash of not a char boundary. ( #1574 )
2025-11-12 10:19:43 +00:00
Jason Lee
cbd4346b87
root: Impl Styled for Root. ( #1573 )
2025-11-12 17:57:15 +08:00
Jason Lee
a2c16bfae6
popover: Revert defer_to focus on Popover open. ( #1571 )
...
Revert #1559 added defer to focus.
Removed the behavior of focus back to was focused handle on close
Popover, this is not correct for Popover.
2025-11-12 17:29:22 +08:00
Jason Lee
f26f01909e
root: Render overlays inside Root element by default. ( #1570 )
...
## Break Change
- The `Root::render_notification_layer`, `Root::render_sheet_layer`,
`Root::render_dialog_layer` has been removed, we don't need it now, the
Root element has default rendered them.
2025-11-12 08:04:54 +00:00
Jason Lee
f88b547b70
Bump v0.4.0-preview2
2025-11-12 15:16:49 +08:00
Jason Lee
214d3f6622
notification: Add &mut Self to content and action method. ( #1569 )
2025-11-12 15:10:42 +08:00
Jason Lee
b3c0188940
context_menu: Fix ContextMenu to cover parent element area. ( #1566 )
...
Close #1541
2025-11-12 06:19:52 +00:00
ihavecoke
838fd6411a
webview: Add inspector feature to enable WebView developer tools ( #1564 )
2025-11-12 11:11:18 +08:00
Jason Lee
2dbfba3490
popover: Improve Popover API. ( #1545 )
...
- Add `open`, `on_open_change` method to control open state.
- Add `default_open` method.
## Break Change
This PR to rewrite the API of Popover API to make it easy to use.
- The `content` method now can receive an element directly.
```diff
- .content(|window, cx| {
- cx.new(|cx| {
- PopoverContent::new(window, cx, |_, _| {
- div().child("This popover content.")
- })
- })
- })
+ .content(|state, window, cx| {
+ div().child("This popover content.")
+ })
```
- And you can also just use `child` and `children` to add child
elements.
```rs
Popover::new("my-popover")
.trigger(Button::new("trigger").label("Open Popover"))
.child("This popover content.")
```
- Removed `PopoverContent`, and changed `Popover` default paddings to
`p_3`.
2025-11-11 17:45:30 +08:00
ihavecoke
1a5dd46acd
tiles: Add to support panel auto-snap while drag movement ( #1552 )
...
Before:
https://github.com/user-attachments/assets/b9171a47-e21b-4132-8b13-7d9bf06f083a
After:
https://github.com/user-attachments/assets/e06c8353-41f8-4124-b9f4-1c44e462ab72
2025-11-11 11:56:58 +08:00
Floyd Wang
74f23bfca8
tab: Refactor creation to use builder pattern ( #1553 )
...
## Breaking change
```diff
- Tab::new("Account")
+ Tab::new().label("Account")
```
We can currently create a tab item without a label, such as only an
icon.
2025-11-11 10:35:00 +08:00
Nico Gründel
2cba6e8be9
slider: Add option to choose between linear and logarithmic scale ( #1543 )
...
Adds the ability to choose between a linear and a logarithmic scale for
the slider. A logarithmic scale is the right and intuitive choice for
many different slider applications. Building this right into the
component has two advantages:
- The user doesn't have to convert at every point where they might use
or update the slider value
- On a logarithmic scale, the distance between steps varies over the
sliders range. This implementation respects that
---------
Co-authored-by: Jason Lee <huacnlee@gmail.com>
2025-11-10 02:56:09 +00:00
Jason Lee
a2c55dda46
form: Rename FormField to Field. ( #1539 )
2025-11-07 18:43:01 +08:00
Jason Lee
945db0be56
dialog: Rename Modal to Dialog. ( #1538 )
...
## Break Change
- Renamed `Modal` to `Dialog`.
```diff
- window.open_modal(...)
+ window.open_dialog(...)
- window.close_modal(...);
+ window.close_dialog(...);
```
- Renamed `show_close` method to `close_button` in Dialog.
```diff
- .show_close(false)
+ .close_button(true)
```
2025-11-07 17:25:55 +08:00
Moulberry
c78811c4b9
button_group: Add vertical ( #1537 )
...
Adds a vertical option to the button group
Also added an example of the vertical button group to the story
Also fixed button rounding only working when both tl/bl and tr/br are
both set, now they can be set individually
I'm not sure if the justify_center in `.when(self.vertical, |this|
this.flex_col().justify_center())` is needed, but I added it to match
the behaviour of `.items_center()` when the flex direction is row.
2025-11-07 16:48:14 +08:00
Jason Lee
001107438f
story: Add lazy load option to List story. ( #1535 )
2025-11-06 15:23:45 +00:00
Jason Lee
34c589d45b
Bump v0.4.0-preview1.
2025-11-06 22:27:26 +08:00
Jason Lee
80689264e2
sheet: Rename Drawer to Sheet. ( #1527 )
...
## Break Change
- Renamed `Drawer` to `Sheet`, also renamed relative method contains
`drawer` to `sheet`.
- Renamed `ContextModal` to `WindowExt`.
```diff
- use gpui_component::drawer::Drawer
+ use gpui_component::sheet::Sheet
- use gpui_component::ContextModal
+ use gpui_component::WindowExt
```
2025-11-06 07:19:10 +00:00
Jason Lee
4dc10165fb
spinner: Rename Indicator to Spinner. ( #1526 )
...
## Break Change
- Renamed `Indicator` to `Spinner`.
```diff
- use gpui_component::indicator::Indicator;
+ use gpui_component::spinner::Spinner;
```
2025-11-06 11:36:39 +08:00
Jason Lee
c06e91101e
collapsible: Add Collapsible. ( #1525 )
...
Close #1479
<img width="1171" height="791" alt="image"
src="https://github.com/user-attachments/assets/eac5cd9f-ef8c-4eb4-b93d-f63c9302c99a "
/>
2025-11-06 10:57:18 +08:00
Jason Lee
4b3fb51fb8
editor: Fix indent guides render position. ( #1524 )
2025-11-05 13:17:32 +00:00
Jason Lee
998a5fd922
chore: Standardize the overall API and improve docs. ( #1516 )
2025-11-05 19:10:30 +08:00
Jason Lee
469b53178b
form: Renamed column to columns. ( #1522 )
...
## Break Change
- Renamed `column` to `columns` and receive `usize` type.
2025-11-05 07:32:15 +00:00
Jason Lee
2093046942
clipboard: Removed content method from Clipboard. ( #1520 )
...
## Break Change
- The `content` method has been removed from `Clipboard`, if you want
display something, you can wrap it in a h_flex.
2025-11-05 07:17:58 +00:00
Jason Lee
d3ec1f29f8
breadcrumb: Rename item to child and add children method. ( #1519 )
2025-11-05 15:13:29 +08:00
Jason Lee
b08f5be97c
radio: Rename on_change to on_click for RadioGroup. ( #1517 )
...
## Break Change
- Renamed `on_change` to `on_click` for RadioGroup.
```diff
- RadioGroup::horizontal("radio_group_1").on_change(...)
+ RadioGroup::horizontal("radio_group_1").on_click(...)
```
2025-11-05 02:53:22 +00:00
Jason Lee
0524c51b3e
toggle: Refactor Toggle, ToggleGroup API. ( #1515 )
...
## Break Changes
- Refactor `Toggle` new API to require a `id`, and renamed `on_change`
to `on_click.
- Renamed `on_change` method to `on_click` for `ToggleGroup`.
```diff
- Toggle::label("Hello").id("hello").on_change(..)
+ Toggle::new("hello).label("Hello").on_click(..)
- ToggleGroup::new("group1).on_change(..)
+ ToggleGroup::new("group1).on_click(..)
```
2025-11-05 10:47:55 +08:00
Moulberry
a4e93132f1
input, select, date_picker: Refactor cleanable to have argument and default to false. ( #1506 )
...
https://github.com/longbridge/gpui-component/pull/1502#issuecomment-3485354324
## Break Change
- The `DatePicker` and `Select` has changed `cleanable` default from
`true` to `false`.
- Updated `Input`, `DatePicker` and `Select` the `cleanable` to have a
argument.
```diff
- pub fn cleanable(mut self)
+ pub fn cleanable(mut self, cleanable: bool)
```
---------
Co-authored-by: Jason Lee <huacnlee@gmail.com>
2025-11-05 09:33:31 +08:00
Jason Lee
4b8775f7d3
chore: Remove unused image example. ( #1510 )
...
Close #1494
2025-11-04 14:55:02 +00:00
Jason Lee
5f39b99fe4
list: Avoid select item when selectable(false). ( #1508 )
...
Close #1500
2025-11-04 14:12:31 +00:00
Jason Lee
d037f074dc
chore: Move searchable to ListState and SelectState. ( #1507 )
2025-11-04 21:26:11 +08:00
Jason Lee
087cb70d00
select, list: Update searchable default to false. ( #1504 )
...
Continue #1503 to update the `searchable` default to `false`.
2025-11-04 20:59:38 +08:00
Jason Lee
2870bc6e36
list: Add searchable, search_placeholder option to List and Select. ( #1503 )
...
## Break Change
- Removed `set_query_input`, `query_input` and `no_query` method from
List. Now use `List::new(&state).searchable(false)` to intead of
`no_query`.
- Removed `searchable` method from `SelectDelegate`, use
`Select::searchable` instead.
2025-11-04 19:06:50 +08:00
ihavecoke
fbaddbe9e3
tiles: Add scrollbar_show option to Tiles ( #1496 )
2025-11-04 17:42:46 +08:00
Jason Lee
893e323692
Fix state internal update to refresh for List, Tree, Table and Select. ( #1492 )
...
This to fix #1468 , #1449 changes broken the state (e.g.: `SelectState`
to call `cx.notify()`) update not notify parent element (e.g.: `Select`)
to rerender.
2025-11-04 16:25:37 +08:00
Jason Lee
faee23eef8
table: Change context_menu method in TableDelegate to mutable window and cx. ( #1487 )
...
## Break Change
- The `window`, `cx` has changed from `&Window`, `&App` to `&mut
Window`, `&mut App`.
```diff
- fn context_menu(&self, row_ix: usize, menu: PopupMenu, window: &Window, cx: &App)
+ fn context_menu(&self, row_ix: usize, menu: PopupMenu, window: &mut Window, cx: &mut App)
```
2025-11-03 18:06:29 +08:00
Jason Lee
9fa2669ff4
list, table: Refactor List, Table to have ListState, TableState. ( #1468 )
...
## Break Change
- Like Select, Input API design, now `List`, `Table` also has ListState
and TableState.
```diff
- let table = cx.new(|_| Table::new(delegate, window, cx).stripe(true).border(true))
+ let table = cx.new(|_| TableState::new(delegate, window, cx))
+ Table::new(&table).stripe(true).border(true) // for render
- let list = cx.new(|_| List::new(delegate, window, cx))
+ let list = cx.new(|_| ListState::new(delegate, window, cx))
+ List::new(&list) // for render
```
- ListDelegate, TableDelegate methods has changed some argument type:
- If first argument is `&mut self`, the `cx` has been changed to `&mut
Context<ListState<Self>>` or `&mut Context<TableState<Self>>`.
```diff
- fn confirm(&mut self, _secondary: bool, _: &mut Window, cx: &mut
Context<List<Self>>)
+ fn confirm(&mut self, _secondary: bool, _: &mut Window, cx: &mut
Context<ListState<Self>>)
```
- If first argument is `&self`, the `cx` has been changed to `&mut App`.
```diff
- fn render_item(&self, ix: IndexPath, _: &mut Window, _: &mut
Context<List<Self>>)
+ fn render_item(&self, ix: IndexPath, _: &mut Window, _: &mut App)
```
2025-11-02 12:59:37 +00:00
Floyd Wang
123934237a
Bump v0.4.0-preview0
2025-10-30 15:50:45 +08:00
Jason Lee
e75c37a1ac
chore: Update List, Tree, Kbd exports. ( #1467 )
...
## Break Change
- Removed `Kbd` from root export, use `gpui_component::kbd::Kbd`
instead.
- Removed `List` from root export, use `gpui_component::list::*`
instead.
- Removed `Tree` from root export, use `gpui_component::tree:*` instead.
2025-10-30 07:19:39 +00:00
Jason Lee
2727a65494
resizable: Simplify Resizable API. ( #1459 )
...
- Added `on_resize` callback method to `ResizabelPanelGroup`.
## Break Changes
- Remove `state` argument from `h_resizable`, `v_resizable` method.
```diff
- v_resizable("resizable-1", state)
+ v_resizable("resizable-1")
```
- Removed `group` method from `ResizabelPanelGroup`, use `child`
instead.
```diff
- v_resizable(..).group(..)
+ v_resizable(..).child(..)
```
2025-10-29 23:01:05 +08:00
Jason Lee
a1ca8624af
example: Add file tree to Editor example. ( #1457 )
...
<img width="1205" height="861" alt="image"
src="https://github.com/user-attachments/assets/4b3814cd-7dc0-4fc1-8f0f-d98d7cc29294 "
/>
2025-10-29 12:58:40 +00:00
Jason Lee
7036415662
chore: Keep spawn task on it owner. ( #1456 )
2025-10-29 19:11:49 +08:00
Jason Lee
55db53a46d
select: Impl SelectItem for &'static str. ( #1451 )
2025-10-28 13:37:00 +00:00
Jason Lee
34ef0ff6d0
chore: Rename Dropdown to Select, TextInput to Input. ( #1449 )
...
## Break Change
- The `Dropdown` has been renamed to `Select`.
- The `TextInput` has been renamed to `Input`.
| Before | After |
| --- | --- |
| TextInput | Input |
| Dropdown | Select |
| DropdownItem | SelectItem |
| DropdownItemGroup | SelectGroup |
| DropdownState | SelectState |
| DropdownEvent | SelectEvent |
| DropdownDelegate | SelectDelegate |
| dropdown::ListEvent | ~~Removed~~ |
- Renamed `PopupMenuExt` to `DropdownMenu`.
- Removed pub mod `menu::popup_menu`, `menu::context_menu`, they are
moved into `menu` mod.
- Renamed `popup_menu` method to `dropdown_menu` for `DropdownMenu`,
`Panel`, `PanelView` and `DropdownButton`.
| Before | After |
| --- | --- |
| popup_menu::PopupMenuExt | menu::DropdownMenu |
| popup_menu | dropdown_menu |
| popup_menu_with_anchor | dropdown_menu_with_anchor |
2025-10-28 21:22:31 +08:00
Jason Lee
38a10fe05c
menu: Add item and export PopupMenuItem with builder methods to PopupMenu. ( #1445 )
...
Now we can be easy to add a menu item without define `action`, just use
`on_click` callback.
## Break Changes
- Removed complex methods: `menu_element_with_check_and_disabled`,
`menu_element_with_icon_and_disabled`, you can use `item` and
`PopupMenuItem` instead.
2025-10-28 14:42:56 +08:00
Floyd Wang
19a54d6065
chart(pie): Support dynamic inner and outer radius ( #1444 )
...
## ⚠️ Breaking Change
Add `inner_radius` and `outer_radius` options for `Arc` paint function.
```diff
- arc.paint(a, "#9d9d9d", bounds, window)
+ arc.paint(a, "#9d9d9d", Some(20.), Some(30.), bounds, window)
```
## Demo
<img width="410" height="442" alt="SCR-20251028-kohu"
src="https://github.com/user-attachments/assets/8b849053-22e6-4d6f-933f-b9fb2a47f5e3 "
/>
2025-10-28 13:53:28 +08:00
Jason Lee
904c9f3fa7
theme: Export more theme options for schema. ( #1442 )
...
- Fix theme switch to support other UI settings (e.g.: radius, shadow,
font_size).
- Update `matrix` theme to use rounded 0px.
<img width="1380" height="1139" alt="image"
src="https://github.com/user-attachments/assets/24832fde-5b5e-4508-9b38-6c3c2890aedb "
/>
2025-10-28 03:28:18 +00:00
Jason Lee
cc0f936348
tiles: Add tile_radius theme option and default 0px. ( #1441 )
2025-10-28 02:54:41 +00:00
Floyd Wang
183d17731d
Bump v0.3.1
2025-10-27 13:52:29 +08:00
Jason Lee
6ebb9418a0
editor: Use measure_indent_width for indent guides width. ( #1428 )
...
Continue #1426 , this changes I was forgotten to push before #1426
merged.
2025-10-24 20:18:30 +08:00
Jason Lee
178269be63
editor: Add indent guides. ( #1426 )
...
<img width="1070" height="1006" alt="image"
src="https://github.com/user-attachments/assets/a456b055-b45f-45ae-84b0-452a952cc19c "
/>
2025-10-24 19:03:09 +08:00
Jason Lee
ab7af9c01d
Bump v0.3.0
2025-10-24 10:47:04 +08:00
Jason Lee
6dd857a7f7
input: Fix may flash scroll when move cursor in auto grow mode. ( #1419 )
2025-10-23 17:43:33 +08:00
Floyd Wang
b80fca28c1
Bump v0.3.0-preview2
2025-10-23 16:36:23 +08:00
Jason Lee
17ec395853
Bump v0.3.0-preview0
2025-10-17 10:37:49 +08:00
Jason Lee
f16487a2cb
chore: Fix license link in crate meta. ( #1393 )
...
Close #1392
2025-10-17 10:32:09 +08:00
Jason Lee
1adaf3ec55
tree: Add Tree. ( #1373 )
...
Close #318
https://github.com/user-attachments/assets/1fed12e2-df53-4213-a3f5-c57bd8b4cadb
2025-10-15 18:39:47 +08:00
Copilot
4fef96e407
story: Fix story panic when save state failed. ( #1384 )
...
Close #1383
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: huacnlee <5518+huacnlee@users.noreply.github.com>
2025-10-15 08:20:44 +00:00
han
1bc5ff03df
story: Add interactive brush drawing canvas ( #1370 )
...
<img width="2175" height="1358" alt="image"
src="https://github.com/user-attachments/assets/41716d72-655f-440a-ac9e-cdb91e1b4417 "
/>
---------
Co-authored-by: hl <hl@nmcsoft.com>
2025-10-15 15:27:59 +08:00
Jason Lee
59f4e26c7b
input: Fix Input panics when masked have non-ASCII characters. ( #1382 )
...
Close #1377
2025-10-15 07:15:50 +00:00
Jason Lee
0c0c36cb87
menu: Fix trigger action with context. ( #1372 )
...
Fix previous #1338 broken trigger action with context.
2025-10-14 19:58:11 +08:00
Floyd Wang
47978bc50e
button: Support specified anchor to dropdown button ( #1367 )
2025-10-14 11:19:22 +08:00
Jason Lee
5b2fed0ccb
markdown: Use list for Markdown render and add scrollbar. ( #1357 )
2025-10-13 22:06:07 +08:00
Jason Lee
2574e7f812
story: Add open file to Markdown and Editor example. ( #1363 )
...
Close #1352
2025-10-13 11:52:16 +08:00
Jason Lee
97df4efd46
input: Fix set_value when Input is disabled. ( #1362 )
...
Close #1350
2025-10-13 11:15:32 +08:00
Sunli
8a63fd67ab
chore: Fix webview example ( #1360 )
2025-10-13 10:10:35 +08:00
Martí Gimeno Ortí
32b8d65075
plot: Add StepAfter kind to StokeStrike ( #1356 )
...
Implements new `StokeStrike::StepAfter` for plot component
<img width="1700" height="1030" alt="step-after-plot-stoke-style"
src="https://github.com/user-attachments/assets/89252ba9-2834-4c9a-9020-7977ffea6865 "
/>
2025-10-13 09:59:51 +08:00
Jason Lee
6817c8d3cc
menu: Add AppMenuBar. ( #1338 )
...
- input: Change Input to not unselect when blur.
- popup_menu: Fix get key binding on PopupMenu with action context.
<img width="935" height="694" alt="image"
src="https://github.com/user-attachments/assets/295fa84e-f1d8-4f6f-8a77-601a45f8ad6d "
/>
## TODO
- [x] Keyboard support.
- [x] Add submenu to example.
- [ ] ~~Icon~~ and check support. Wait
https://github.com/zed-industries/zed/pull/39876
2025-10-10 21:03:16 +08:00
ihavecoke
9d01ac26bc
menu: Fix submenu item selection when multiple submenus exist ( #1342 )
...
Before:
https://github.com/user-attachments/assets/8653953e-4e9d-49e6-946a-1696ea6abee0
After:
https://github.com/user-attachments/assets/f5bfbf19-69e1-4e64-81c1-072c61e8a8f7
---------
Co-authored-by: Jason Lee <huacnlee@gmail.com>
2025-10-09 21:32:51 +08:00
Floyd Wang
7a8be9a628
button: Add Support for on_hover event ( #1341 )
2025-10-09 18:43:50 +08:00
Jason Lee
ca9d5b77e2
chore: Release v0.2.0
2025-10-09 15:21:10 +08:00
Jason Lee
6ca9ac46fa
chore: Bump crate version. ( #1340 )
2025-10-09 15:20:34 +08:00
Jason Lee
d0396d779e
editor: Add document_colors LSP. ( #1329 )
2025-10-06 18:08:12 +08:00
Floyd Wang
1358b2906e
Bump gpui ( #1324 )
...
* Wireup the `Pixels` change
https://github.com/zed-industries/zed/pull/39367 .
2025-10-03 14:32:29 +08:00
Jason Lee
cfd060b66d
editor: Split Input and Editor background color. ( #1323 )
...
Keep input to use window background color, the `editor.background` only
for Editor mode.
2025-10-03 11:20:01 +08:00
Jason Lee
e84e8ebaad
button: Fix button label display has overflow hidden. ( #1322 )
2025-10-03 10:18:00 +08:00
Carlo Corradini
908c022efe
chore: Assets interpolate folder path via rust embed ( #1318 )
...
Use `rust-embed` feature `interpolate-folder-path` to always
(`debug`/`release`) load assets from the correct `assets` directory
2025-10-02 16:04:33 +08:00
Jason Lee
935cd93f5a
chore: Fix rust logo URL in test.md.
2025-09-30 16:29:56 +08:00
Jason Lee
f92944546f
chore: Disable tab stop for some popover elements. ( #1306 )
2025-09-29 18:11:25 +08:00
Jason Lee
5e504d10bb
chore: Refactor tab key to switch focus. ( #991 )
...
Wait https://github.com/zed-industries/zed/pull/33008 ,
https://github.com/zed-industries/zed/pull/34804 to merge.
https://github.com/user-attachments/assets/3c21ebc9-44a0-4311-bb0f-5f63fe8d4bb3
- Improved `focus_ring` to render like an outline.
- Added to support press `Enter`, `Space` key to trigger Checkbox,
Button, Radio.
## Break Changes
- The `FocusableExt` has been changed to only for crate internal.
- The `FocusableCycle` has been removed, now GPUI has it own tab stop
implementation.
2025-09-29 16:48:24 +08:00
Sunli
34b570cd8f
text_view: Refactor TextView, SyntaxHighlighter to use async to parsing. ( #1299 )
...
1. Parse content in the background thread
2. Remove unnecessary clones
3. `TextViewStyle` and `LanguageRegistry` can now be used across threads
2025-09-29 14:04:24 +08:00
Jason Lee
13e2b08873
editor: Improve line number width by max lines. ( #1291 )
2025-09-25 22:21:09 +08:00
Jason Lee
a6a14fd57b
input: Disable context menu item for disabled input. ( #1280 )
2025-09-25 16:36:57 +08:00
Jason Lee
1c3eca93b8
editor: Revert to use ropey. ( #1284 )
...
For the License reason.
- The performance is slow down, before version can handle 200K lines,
now 150K lines is good.
2025-09-24 20:52:18 +08:00
Jason Lee
bd3bffaf67
editor: Fix completion width align to longest item. ( #1281 )
2025-09-24 11:43:59 +08:00
Jason Lee
993ce34bd8
editor: Avoid scroll on select all. ( #1277 )
...
- Add `replace_text_in_range_silent` for some case to avoid show
completion, for example on cut, paster ...
- Improve to only call validation, mask on single line mode.
- Improve move cursor to scroll to visible to keep edge 3 lines.
https://github.com/user-attachments/assets/ca8bcca8-a55b-4c98-af7c-7639d1c34923
- Fix `RopeExt::offset_to_position` may crash.
- Add deffered_scroll_offset to improve paste to scroll to cursor.
https://github.com/user-attachments/assets/1af09a50-37f0-47c8-8185-4b78820d064a
2025-09-23 15:59:48 +08:00
Jason Lee
f93e9a9475
editor: Change to pass cursor as offset for completions method. ( #1271 )
...
And to support `filter_text` as completion item highlight match.
2025-09-22 16:29:51 +08:00
Jason Lee
62748aad9b
editor: Update CompletionProvider return type. ( #1270 )
2025-09-22 14:31:21 +08:00
Jason Lee
aa0f6d6222
editor: Improve range_to_utf16 and range_from_utf16 by use Rope. ( #1268 )
...
Now, we can work on 200K lines (editing).
--------
Now, all cost are on tree-sitter parse.
<img width="1091" height="672" alt="image"
src="https://github.com/user-attachments/assets/b111bc58-1334-40b2-9920-7006ad86bb3c "
/>
2025-09-22 14:07:30 +08:00
Jason Lee
692057f799
editor: Update completions to support CompletionTextEdit. ( #1267 )
...
- Fix completion menu width to longest item.
2025-09-22 11:39:50 +08:00
Jason Lee
5e7a2cb37f
editor: Add DefinitionProvider. ( #1261 )
...
https://github.com/user-attachments/assets/f8234a3f-3075-48ce-ae46-8ea869b6a13d
- Hold `cmd` to hover on a word to trigger definition check.
2025-09-19 13:49:24 +08:00
Jason Lee
6a817d6a05
editor: Add to support HoverPopover. ( #1260 )
...
<img width="725" height="631" alt="image"
src="https://github.com/user-attachments/assets/0f4aba90-82cc-43c8-916b-b4a446b8abae "
/>
2025-09-18 18:18:54 +08:00
Jason Lee
a942c57627
editor: Refactor the LSP config.
2025-09-18 14:17:18 +08:00
Jason Lee
3fe9bc8de0
example: Fix lint performance in CodeEditor example. ( #1259 )
...
Move AutoCorrect lint to background.
2025-09-18 11:25:53 +08:00
Jason Lee
8a3ef51ea1
input: Add to support search and replace. ( #1252 )
...
<img width="806" height="765" alt="image"
src="https://github.com/user-attachments/assets/5e2a7144-f814-4874-b9c1-89ebf5d942ec "
/>
- Close #1212 to support search for Input.
- Fix #1235 to support scroll to cursor when go to line.
2025-09-17 19:02:00 +08:00
Jason Lee
e01b139995
input: Fix completions API to assign Rope.
2025-09-17 14:37:21 +08:00