Commit Graph
247 Commits
Author SHA1 Message Date
Max Brunsfeld a694715cc8 Address some TODOs in editor2 crate (#3445)
* Fix crash when jumping to definition
* Enabling resolution of completions
* Make links in interactive text clickable
* Enable code paths that use `select_anchors`
2023-11-29 16:32:02 -08:00
Marshall Bowers b0bc31b883 Add new Button and IconButton components (#3448)
This PR adds new `Button` and `IconButton` components built on top of
our new button abstractions.

Both of these buttons are built from the common `ButtonLike` base, and
implement the `ButtonCommon` (name TBD) trait in order to provide a
common interface.

There are still some visual tweaks that we'll need to make to the new
buttons, but those should be straightforward to make after we land this.

Release Notes:

- N/A
2023-11-29 17:41:44 -05:00
Max Brunsfeld dd4b7d564f Implement highlighting of go-to-definition links 2023-11-29 14:30:31 -08:00
Max Brunsfeld c97c407d1c Implement completion-resolution in editor2
Enable the completion tests in editor2.
2023-11-29 14:20:47 -08:00
Max Brunsfeld 13201a5c0f Use pointer cursor style for clickable ranges in InteractiveText 2023-11-29 12:42:09 -08:00
Max Brunsfeld 41d3616720 Implement SelectionsCollection::select_anchor_ranges 2023-11-29 12:41:22 -08:00
Nate Butler ecf4228443 Style hover popover 2023-11-29 14:56:23 -05:00
Conrad Irwin 0e2bb68b2c Fix mouse events when element is occluded (#3417)
This commit adds a depth map to the frame so we can find the "top most"
opaque layer by stacking order for a given point.

This lets us determine whether the element being hovered was part of the
given layer in the previous frame, which fixes the hover issue.

Still to do:
* [ ] Fix up mouse events too (I tried this, but it's not working yet,
and I want to understand why)

Release Notes:

- N/A
2023-11-28 15:57:22 -07:00
Conrad Irwin 5b5206ab64 More mouse occlusion work 2023-11-28 09:59:58 -07:00
Nate Butler 88aefa344a Merge branch 'main' into completions-styles 2023-11-27 19:22:07 -05:00
Conrad Irwin 54793808a6 Fix esc in command palette
Also: add editor.register_action
2023-11-27 14:32:22 -07:00
Conrad Irwin 501d6f16f9 Use editor's overlay implementation 2023-11-27 11:49:51 -07:00
Conrad Irwin 87e2899002 Merge branch 'main' into completions-styles 2023-11-27 11:49:39 -07:00
Conrad Irwin 88dbbe535a Break content mask for hoverables 2023-11-27 11:43:14 -07:00
Antonio Scandurra 8a7717282e Remove commented out code 2023-11-27 19:19:56 +01:00
Antonio Scandurra f988ee2b7a Use element_hover instead of red 2023-11-27 19:16:06 +01:00
Antonio Scandurra 6c4294d030 Uncomment hover popover tests 2023-11-27 19:14:58 +01:00
Antonio Scandurra 9ea337f290 Show diagnostic hover popover 2023-11-27 19:08:25 +01:00
Antonio Scandurra 5cb61e69bd Start on hover popover 2023-11-27 18:56:37 +01:00
Nate Butler bbd52e9f26 Checkpoint - try using overlay for completions popover
[no ci]
2023-11-27 11:22:19 -05:00
Nate Butler de108334cb Start on completions styles 2023-11-27 10:29:29 -05:00
Antonio Scandurra b010dedcc5 Prevent mousedown on docs from being propagated to the editor 2023-11-27 15:15:57 +01:00
Antonio Scandurra 067e9244f9 Pass max height manually 2023-11-27 14:56:46 +01:00
Antonio Scandurra 04a30cbbb7 Start on wiring up render_parsed_markdown 2023-11-24 17:28:59 +01:00
Antonio Scandurra e5fc79b768 Extract a gpui::combine_highlights function 2023-11-24 16:31:38 +01:00
Antonio Scandurra e570add4cf WIP 2023-11-24 15:05:04 +01:00
Antonio Scandurra 7b28cbfe91 Show single-line docs in autocomplete and apply completion on mousedown 2023-11-24 13:22:25 +01:00
Antonio Scandurra 3929532d0f Syntax highlight completions 2023-11-24 13:10:56 +01:00
Antonio Scandurra 78403feee1 Return TextRuns in combine_syntax_and_fuzzy_match_highlights 2023-11-24 13:00:20 +01:00
Antonio Scandurra 0510d63b59 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 11117a43af Allow setting text background color via TextStyle 2023-11-23 19:22:18 +01:00
Kirill Bulatov 7e0e979c7b Allow to include gitignored files into project search (#3394) 2023-11-23 19:28:11 +02:00
Antonio Scandurra 8d1bfd142c 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 794007d171 Exclude more ignored/worktree-less/project-less buffers from inlay hint requests 2023-11-23 10:30:52 +02:00
Julia e3e29009bf zed2(ish) Cancel completion resolution when new list 2023-11-22 16:26:27 -05:00
Nathan Sobo d50a688a33 Reorganize element-related traits 2023-11-22 11:19:43 -07:00
Antonio Scandurra 496e54b117 Correctly swap position of context menu 2023-11-22 19:02:44 +01:00
Antonio Scandurra b2fa7da14d Track scroll in editor's context menu 2023-11-22 17:58:00 +01:00
Antonio Scandurra 9a8ba5cabe Don't perform wrapping in completions 2023-11-22 14:23:09 +01:00
Antonio Scandurra b2f147463a Avoid holding borrow to editor while painting child elements 2023-11-22 11:40:38 +01:00
Antonio Scandurra bdb99a4466 Merge branch 'main' into editor2-autocomplete
# Conflicts:
#	crates/editor2/src/editor.rs
2023-11-21 17:43:09 +01:00
Nate Butler 374d4b9557 TextColor -> Color 2023-11-21 01:05:29 -05:00
Piotr Osiewicz b05280f8cb Merge remote-tracking branch 'origin/callback-handles' into search2 2023-11-21 00:40:20 +01:00
42dfefd738 WIP
co-authored-by: conrad <conrad@zed.dev>
co-authored-by: Nathan <nathan@zed.dev>
2023-11-20 14:46:01 -08:00
Piotr Osiewicz 7629099e79 Merge branch 'main' into search2 2023-11-20 19:23:35 +01:00
Piotr Osiewicz 9fc3540a43 Merge branch 'main' into search2 2023-11-20 18:37:41 +01:00
Piotr Osiewicz ecfcfa158f fixup! Remove dbg statements 2023-11-20 18:35:39 +01:00
Piotr Osiewicz 79e6b0c127 Fix up tests once and for good 2023-11-20 18:24:37 +01:00
Conrad Irwin 7147bff519 Merge followup mess 2023-11-20 09:58:05 -07:00
Conrad Irwin 16cca67638 Merge branch 'main' into derive-element-redux 2023-11-20 09:15:38 -07:00