Commit graph

15 commits

Author SHA1 Message Date
Jason Lee
21dbaffcf4
input: Add Cursor and Selection type and export line number, cursor. (#1012) 2025-06-27 20:48:26 +08:00
Jason Lee
89c210c4ca
highlighter: Avoid crash when language not registered. (#954)
Close #952 

Fallback to use plain text to display.
2025-06-12 19:45:29 +08:00
Jason Lee
d61b0d2510
highlighter: Fix highlight offset and reset highlight when replace all text. (#950)
- Improve JSON highlights.

<img width="839" alt="image"
src="https://github.com/user-attachments/assets/3f28ae1c-9f07-4df4-a477-f875a26d4c7d"
/>
2025-06-12 14:11:01 +08:00
Jason Lee
6ea427549a
input: Add focus_bordered method to toggle Input focus border. (#946) 2025-06-11 21:34:37 +08:00
Jason Lee
79ff6ba9cc
highlighter: Fix injection language highlight. (#931)
Still have a bit bug for highlight:

<img width="1012" alt="image"
src="https://github.com/user-attachments/assets/7ec39c85-c20c-4231-8752-b2a7a80f5570"
/>
2025-06-11 15:26:27 +08:00
Jason Lee
6aab9d3345
code-editor: Show hover popover for diagnostics. (#924)
<img width="719" alt="image"
src="https://github.com/user-attachments/assets/75fa9737-09e1-4baa-b7ac-304e847005c8"
/>
2025-06-09 16:16:15 +08:00
Jason Lee
c3ec1deb97
code-editor: Update CodeEditor to support external language. (#928)
Add [Navi](https://navi-lang.org) language for example to external
language for CodeEditor.

<img width="864" alt="image"
src="https://github.com/user-attachments/assets/73afa56d-31bd-4867-a9f2-0a8cf790af0f"
/>
2025-06-09 14:27:33 +08:00
Jason Lee
a8f5ced4e6
code-editor: Add markers for display diagnostics to CodeEditor. (#920)
Ref:
https://microsoft.github.io/monaco-editor/typedoc/functions/editor.setModelMarkers.html

![image](https://github.com/user-attachments/assets/aad6a813-54a2-43d5-9623-c57a662f7125)
![image](https://github.com/user-attachments/assets/a88b9ac9-293f-4d1e-a525-49bfa0466885)
2025-06-05 23:04:01 +08:00
Duane Bester
4477cca969
highlighter: Adding tree-sitter-sequel for SQL support. (#917)
📦 Adding dependency:
[tree-sitter-sequel](https://github.com/derekstride/tree-sitter-sql)

### Previews

<img width="1398" alt="Screenshot 2025-06-04 at 9 27 08 PM"
src="https://github.com/user-attachments/assets/4aee67be-6fb3-4c57-95be-20792639851a"
/>
<img width="1398" alt="Screenshot 2025-06-04 at 9 34 02 PM"
src="https://github.com/user-attachments/assets/730e148f-2bc9-481d-8eea-8110f7884e69"
/>
2025-06-05 11:54:52 +08:00
Jason Lee
2b796c94e9
highlighter: Improve performance for large file. (#911)
Still need to improve.

This version can work smooth when the file lines are less than 5000
lines.

> cargo run --release on MacBook Pro, Apple M3 CPU

- Editing at 110 FPS+
- Display at 120 FPS.

<img width="977" alt="image"
src="https://github.com/user-attachments/assets/37958bcb-20d8-486b-8c50-2728d16f971b"
/>
2025-06-03 23:20:33 +08:00
Jason Lee
a4aff404ce
highlighter: Use tree-sitter to highlight code. (#904)
<img width="1318" alt="image"
src="https://github.com/user-attachments/assets/4a8e7b93-a7e7-4648-b8da-c5a6e7ede4f9"
/>
<img width="1318" alt="image"
src="https://github.com/user-attachments/assets/bfc35845-719f-4c97-bf50-087feb0f6775"
/>
2025-05-29 19:54:52 +08:00
Jason Lee
1cbbf6ef18
code-editor: Improve CodeEditor to has default themes. (#900) 2025-05-26 18:17:15 +08:00
Jason Lee
1c11b5fb55
inspector: Add Inspector. (#897)
<img width="1434" alt="image"
src="https://github.com/user-attachments/assets/f6ec2e1d-ff1c-4798-90fe-d29bef20fa9d"
/>
2025-05-26 16:44:11 +08:00
Jason Lee
c99e696cb1
code-editor: Update code highlight theme colors. (#888) 2025-05-25 10:21:37 +08:00
Jason Lee
5658db42c7
input: Add CodeEditor mode. (#863)
## TODO

- [x] Cache highlight result.
- [x] Add a `code-editor` example with more languages test.
- [x] Support setup font to Input (Base on window scope text style).
- [x] Line number
- [x] Change font size and font family.
- [x] Enter newline to keep indent.
- [x] Height with flex_1
- [x] Add to support press `up`, `down` to move cursor to start or end
of the selection, if there is selected.
- [x] Add `Tab`, `Shift-Tab` to indent or outdent for cursor and
selection.
- [x] Double click to select at least 1 char.


https://github.com/user-attachments/assets/af74862d-15a9-4802-b4b4-2aeb606227ec
2025-05-20 15:51:00 +08:00