Commit Graph

1129 Commits

Author SHA1 Message Date
Cookie
1864b4ff5c calendar: Fixed cross year name and multi month linkage click issues (#1241)
<img width="864" height="298" alt="image"
src="https://github.com/user-attachments/assets/7f0a34d7-e000-4756-b1ae-0e6511679660"
/>

(cherry picked from commit feabb748ec)
2025-09-12 10:48:01 +08:00
ihavecoke
cb6f165971 chore: Specify gpui commit to fix panic when creating WebView in window 2025-09-12 10:45:26 +08:00
Jason Lee
2a918bf4de input: Improve TextWrapper data structure. (#1237) 2025-09-10 18:52:35 +08:00
Jason Lee
db5ba1e04c input: Fix horizontal scroll to match the longest line width. (#1238)
Close #1234
2025-09-10 18:17:15 +08:00
Jason Lee
5beaed2a9e input: Pause blink and keep show cursor on moving or editing. (#1236)
https://github.com/user-attachments/assets/751d0b62-18f9-41c8-80a0-e11439e3b91e
2025-09-10 14:49:14 +08:00
Jason Lee
43c848893c input: Refactor start_of_line, end_of_line by use Rope. (#1232)
- Removed `Cursor` struct, now use `usize` for selection offset.
2025-09-10 14:43:11 +08:00
Jason Lee
844574befc input: Fix track scroll to selected end on drag move. (#1231) 2025-09-10 13:59:02 +08:00
Jason Lee
7998d64501 highlighter: Improve Syntax Highlighter performance. (#1230)
Now can support up to 50K lines with code highlight.


https://github.com/user-attachments/assets/3bbba2cd-ea56-4778-b471-6beea323fbaa

----

Ref Links

- https://zed.dev/blog/syntax-aware-editing
2025-09-10 00:11:53 +08:00
Floyd Wang
ab98e53a5a plot(tooltip): Fix the dots not centered (#1229) 2025-09-09 18:01:01 +08:00
Jason Lee
e1dede93b4 docs: Add profile guide. (#1227) 2025-09-09 14:56:42 +08:00
Floyd Wang
51caf932db plot(tooltip): Add support for custom appearance (#1226) 2025-09-09 14:47:07 +08:00
Jason Lee
03c2327cdb input: Improve Input performance by only shape visible lines. (#1222)
Close #1193

Ref issue #1220 

This PR aim to shape text in visible ranges to reduce `shape_text` time
for large document case.

- Fix rendering might be delayed and cause blanks when scrolling to
follow the selection.
- Fix `RopeExt::lines` method to avoid call `line` method on skipped
iter.
2025-09-09 14:41:52 +08:00
Floyd Wang
84b2d2a6f5 plot(scale): Add least index support for linear (#1225) 2025-09-09 11:40:09 +08:00
Jason Lee
d71a32d0e4 input: Fix move to to skip \r on Windows. (#1223)
This PR for continue #1214 to fix move cursor to ignore` `\r` for
Windows.
2025-09-09 09:40:07 +08:00
Jason Lee
413eac3385 docs: Update HTML Rendering support in README (#1221) 2025-09-08 17:42:42 +08:00
Jason Lee
a9953a9349 input: Use zed's Rope (#1214)
Now with 10K lines plain text, in release mode on macOS. The
`large-text` example can work with:

- 120 FPS for display.
- 90 FPS for update text.

```
MTL_HUD_ENABLED=1 cargo run --example large-text --release
```

- Fixed the cursor position at end of line, also support at start of
line.


https://github.com/user-attachments/assets/1de52f6c-e138-4ed3-a600-06372a807ed8

### Check list

- [x] Modifying Text with Rope
- [x] LineColumn, GoToLine
- [x] Code Highlight
- [x] Delete word, select word
- [x] Delete line
- [x] Move left, right, up, down
2025-09-08 16:44:52 +08:00
Jason Lee
a9e6b49a15 highlighter: Fix #1204 changes cause to incorrect highlight result. (#1218)
This PR for fix some incorrect changes in #1204 

## Before

<img width="854" height="864" alt="image"
src="https://github.com/user-attachments/assets/eebd07e5-3437-444d-a55d-2941228e3b08"
/>

## After

<img width="954" height="962" alt="image"
src="https://github.com/user-attachments/assets/60761848-8d4f-4fe9-88b9-f0b0f0985d2f"
/>
<img width="1515" height="867" alt="image"
src="https://github.com/user-attachments/assets/3d4654a7-f977-4919-9c9e-f013fcdd8fde"
/>
2025-09-08 16:14:07 +08:00
Floyd Wang
78dccd4d79 plot: Apply linear scale based on the direction of given range (#1219)
## Breaking Change
- Apply linear scale based on the direction of given range.

```diff
- ScaleLinear::new(vec![1., 2., 3.], vec![0., 100.])
+ ScaleLinear::new(vec![1., 2., 3.], vec![100., 0.])
```

Currently, you can draw the linear scale from minimum to maximum or from
maximum to minimum; it depends on the direction of the range.
2025-09-08 15:56:58 +08:00
Floyd Wang
5e302866ce inspector: Improve UI details (#1217) 2025-09-08 13:29:54 +08:00
Floyd Wang
00dd457441 drawer: Ensure the drawer’s height matches the application (#1216) 2025-09-08 10:36:13 +08:00
Jason Lee
62122d5f41 docs: Update contributing for UI guides. (#1215) 2025-09-08 10:16:11 +08:00
Jason Lee
f35398d797 input: Fix some Rope method call will crash. (#1213) 2025-09-05 19:09:46 +08:00
Jason Lee
cfc2449820 input: Fix column position update when text added, to support move vertical keep column. (#1211)
Refactor this logic by use Rope line, column.
2025-09-05 18:47:24 +08:00
Jason Lee
344e4407ff input: Use Rope for InputState. (#1208)
This PR to change the Input to use
[ropey](https://github.com/cessen/ropey) to store the text.

## Break Changes

- The `value` method of `InputState` now returns a `SharedString` type.

```diff
- pub fn value(&self) -> &SharedString
+ pub fn value(&self) -> SharedString
```

Ref links:

- https://github.com/cessen/ropey
- https://zed.dev/blog/zed-decoded-rope-sumtree
- https://github.com/helix-editor/helix/blob/master/docs/architecture.md
2025-09-05 18:20:47 +08:00
Floyd Wang
19be9b8d96 inspector: Trim the diagnostic error at the end (#1210) 2025-09-05 15:21:25 +08:00