Commit graph

11204 commits

Author SHA1 Message Date
Julia
d551b41aae zed2: Mostly port breadcrumbs & improve StyledText api
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-11-27 16:09:31 -05:00
Kirill Bulatov
cd4ea344a6 Slightly less errors in terminal_element2 2023-11-27 16:55:48 +02:00
Nate Butler
56d3d663a5
UI progress (#3405)
[[PR Description]]

- Start outlining unfinished elements in `gpui::red()`
- Update tabs so they don't jump when activated
- Mock out a number of ui elements we haven't started yet.

Release Notes:

- N/A
2023-11-27 09:25:52 -05:00
Antonio Scandurra
0d1d01687b
Finish autocomplete (#3404)
![image](https://github.com/zed-industries/zed/assets/482957/f1f40bec-4e8b-457b-8801-ce10ecb6fc80)


TODO:

- [x] Respect max height imposed by editor element
- [x] Ensure mouse down event handler in `EditorElement` doesn't prevent
links from being clicked

Release Notes:

- N/A
2023-11-27 15:24:59 +01:00
Antonio Scandurra
3ba5dbb9e8 Prevent mousedown on docs from being propagated to the editor 2023-11-27 15:15:57 +01:00
Nate Butler
c40ab3c3da Update theme2.rs 2023-11-27 09:11:51 -05:00
Antonio Scandurra
eb647be685 Pass max height manually 2023-11-27 14:56:46 +01:00
Nate Butler
2e61a84bd6 Update tab borders 2023-11-24 16:57:50 -05:00
Nate Butler
48a9f2be4c Update one theme colors 2023-11-24 16:57:35 -05:00
Antonio Scandurra
682712f132 Account for previous line lengths when returning index 2023-11-24 18:32:48 +01:00
Antonio Scandurra
047cfe5108 Fix painting when underlines and quads appeared after a wrap boundary 2023-11-24 18:23:08 +01:00
Antonio Scandurra
f227c3284d Consume newline from run if it spans it 2023-11-24 17:53:48 +01:00
Antonio Scandurra
0baa9a782b Start on wiring up render_parsed_markdown 2023-11-24 17:28:59 +01:00
Antonio Scandurra
d31b53b912 Extract a gpui::combine_highlights function 2023-11-24 16:31:38 +01:00
Nate Butler
d965ddba27 Start debugging tab borders 2023-11-24 09:33:44 -05:00
Nate Butler
6a3925c3e1 Add copilot icons 2023-11-24 09:22:31 -05:00
Nate Butler
31565a810d Outline statusbar items 2023-11-24 09:16:19 -05:00
Antonio Scandurra
e5b6b0ee9e WIP 2023-11-24 15:05:04 +01:00
Nate Butler
3c46e81533 More outlines 2023-11-24 09:03:14 -05:00
Nate Butler
7e61d340ce Outline some unfinished elements 2023-11-24 08:58:49 -05:00
Antonio Scandurra
19bfed165b Show single-line docs in autocomplete and apply completion on mousedown 2023-11-24 13:22:25 +01:00
Antonio Scandurra
54357d6553 Syntax highlight completions 2023-11-24 13:10:56 +01:00
Antonio Scandurra
bf39968105 Return TextRuns in combine_syntax_and_fuzzy_match_highlights 2023-11-24 13:00:20 +01:00
Kirill Bulatov
e19860d3b0 Avoid binary target name conflicts 2023-11-24 13:29:01 +02:00
Kirill Bulatov
879a069b35 Port to gpui2 2023-11-24 13:05:53 +02:00
Kirill Bulatov
31a4acf98a Fix collab tests 2023-11-24 12:56:58 +02:00
Kirill Bulatov
95a413847a Properly ignore FS events of excluded files 2023-11-24 11:59:13 +02:00
Kirill Bulatov
4a060db801 Add a test 2023-11-24 11:59:13 +02:00
Joseph T. Lyons
18d3b1c397 Add app close events 2023-11-23 21:14:59 -05:00
Antonio Scandurra
510320bb47
Introduce InteractiveText (#3397)
This new element will let us react to click events on arbitrary ranges
of some rendered text, e.g.:

```rs
InteractiveText::new(
    "element-id",
    StyledText::new("Hello world, how is it going?").with_runs(vec![
        cx.text_style().to_run(6),
        TextRun {
            background_color: Some(green()),
            ..cx.text_style().to_run(5)
        },
        cx.text_style().to_run(18),
    ]),
)
.on_click(vec![2..4, 1..3, 7..9], |range_ix, cx| {
    println!("Clicked range {range_ix}");
})
```

As part of this, I also added the ability to give text runs a background
color.

Release Notes:

- N/A
2023-11-23 19:35:03 +01:00
Antonio Scandurra
7eeb8078f6 Allow setting text background color via TextStyle 2023-11-23 19:22:18 +01:00
Antonio Scandurra
1ad22231d2 Allow providing a background color in a TextRun 2023-11-23 18:55:16 +01:00
Kirill Bulatov
df7b89b6cb
Allow to include gitignored files into project search (#3394) 2023-11-23 19:28:11 +02:00
Antonio Scandurra
56d043f671 Allow finding which ranges were clicked on an InteractiveText 2023-11-23 18:08:49 +01:00
Antonio Scandurra
3b918bfee8 Merge branch 'main' into rename-element-traits
# Conflicts:
#	crates/gpui2/src/elements/uniform_list.rs
#	crates/ui2/src/components/context_menu.rs
#	crates/ui2/src/components/list.rs
2023-11-23 12:47:46 +01:00
Kirill Bulatov
cee6fd8dd3 Port to gpui2 2023-11-23 10:44:05 +02:00
Kirill Bulatov
eee63835fb Exclude more ignored/worktree-less/project-less buffers from inlay hint requests 2023-11-23 10:30:52 +02:00
Kirill Bulatov
c2751c717e Parallelize ignored entries for search lookup 2023-11-23 09:53:00 +02:00
Joseph T. Lyons
f33c0e80a6
Add app events (#3372)
Adds app events (`first open` and `open`). For the time being, I'm
abandonding trying to add `close`, after running into many issues
trying. The code is in place for me to continue on that work, but at the
moment, we require having the telemetry settings in hand when calling
any of the methods that log an event, so we can honor the user's
preference for sending telemetry or not, but when running the
`on_app_close` method, to send off an app `close` event, the settings
are no longer available (probably the order of teardown?), which causes
some tests to end up failing. I'm not sure how to solve this. Maybe we
keep the settings on the telemetry struct and update it each time any
event is logged, then, on app shutdown, when logging the app `close`
event, we can use the stored version (idk).

Release Notes:

- N/A
2023-11-22 23:16:28 -05:00
Joseph T. Lyons
35f35dd476 Remove unused import 2023-11-22 23:03:11 -05:00
Joseph T. Lyons
575ab81409 Disable app close event 2023-11-22 23:01:31 -05:00
Joseph T. Lyons
a876b6f700 Remove comments 2023-11-22 23:01:18 -05:00
Julia
88af458f62
zed2(ish) Cancel completion resolution when new list (#3391)
Release Notes:

- N/A
2023-11-22 18:44:34 -05:00
Mikayla
6e84d8fbc0
Merge branch 'main' into panic-hunting 2023-11-22 13:47:17 -08:00
Mikayla
eb74ad7caa
Fix failing test 2023-11-22 13:41:48 -08:00
Piotr Osiewicz
6da57cbc6e
Decouple workspace from call (#3380)
This PR decouples `call2` from `workspace2` in order to improve our
compile times.
Why pick such a small, innocent crate as `call`? It depends on
`live_kit_client`, which is not-so-innocent and is in fact stalling our
clean builds.
In this PR, `call2` depends on `workspace2`; workspace crate defines a
`CallHandler` trait for which the implementation resides in `call`; it
it then all tied together in `zed`, which passes a factory of `Box<dyn
CallHandler>` into workspace's `AppState`.
Clean debug build before this change: ~1m45s
Clean debug build after this change: ~1m25s

Clean release build before this change: ~6m30s
Clean release build after this change: ~4m30s

~Gonna follow up with release timings where I expect the change to be
more impactful (as this allows 2/3 of the infamous trio of
"project-workspace-editor" long pole to proceed quicker, without being
blocked on live-kit-client build script)~.
This should have little effect (if any) in incremental scenarios, where
live_kit_client is already built.
[release
timings.zip](https://github.com/zed-industries/zed/files/13431121/release.timings.zip)

Release Notes:
- N/A
2023-11-22 22:31:47 +01:00
Julia
37e3cc1291 zed2(ish) Cancel completion resolution when new list 2023-11-22 16:26:27 -05:00
Joseph T. Lyons
0def2bc0d2 Remove dbg 2023-11-22 16:26:15 -05:00
Joseph T. Lyons
ee2b6834bd Revert "Convert telemetry into a model"
This reverts commit 6e4268a471.
2023-11-22 16:16:44 -05:00
Joseph T. Lyons
c86e99928b Merge branch 'main' into add-app-events 2023-11-22 16:16:11 -05:00