Commit graph

14400 commits

Author SHA1 Message Date
Kirill Bulatov
2e957bc564 Do not propose prettier formatters for documents in node_modules/ 2023-11-09 14:49:37 +02:00
Kirill Bulatov
ce40d5e0c5 Adjust the tests 2023-11-09 14:40:32 +02:00
Kirill Bulatov
8be07eddcc Change locate prettier method signature 2023-11-09 14:23:33 +02:00
Mikayla
656eb9d455
WIP 2023-11-09 00:18:00 -08:00
Mikayla
43eb7f28d1
checkpoint 2023-11-08 23:16:04 -08:00
Nate Butler
bdeb32c34b Extend VSCode theme importer 2023-11-09 01:39:31 -05:00
Nate Butler
25c8b19dfb WIP 2023-11-09 01:21:22 -05:00
Mikayla
f569628088
Merge branch 'more-gpui2-apis' into editor-tests 2023-11-08 22:19:11 -08:00
Mikayla
86630bbe59
Add extra clone 2023-11-08 22:16:08 -08:00
Mikayla
269c3ea244
Uncomment tests 2023-11-08 22:11:51 -08:00
Mikayla
7a7ef1025d
Add Context::read_window, WindowHandle::root, and change ViewContext.view() to return a reference 2023-11-08 22:11:19 -08:00
Nate Butler
b5f60b7e50 Merge branch 'main' into update-workspace-styles 2023-11-09 00:38:06 -05:00
Mikayla
4404e76a2d
Merge branch 'main' into editor-integration 2023-11-08 21:33:14 -08:00
Mikayla
0bfd18ba09
WIP 2023-11-08 21:32:59 -08:00
Mikayla Maki
ad3b0bd227
port notifications2 and integration tests (#3283)
Release Notes:

- N/A
2023-11-08 21:32:33 -08:00
Nathan Sobo
8c44f6a814
Simplify input handling (#3282)
This PR takes a different approach to input handling.

Rather than returning the optional input handler, focus handle pair from
the element trait, we instead allow you to register an input handler
imperatively on the window context with `WindowContext::handle_input`.
You pass a focus handle reference and any implementer of
`PlatformInputHandler`. There's an `ElementInputHandler<V>` that
implements `PlatformWindowHandler` so long as `V` implements
`InputHandler`.

Release Notes:

- N/A
2023-11-08 22:27:36 -07:00
Mikayla
7888dc4592
Add notifications2 2023-11-08 21:23:31 -08:00
Nathan Sobo
d52c5646b4 Add docs 2023-11-08 22:03:26 -07:00
Nathan Sobo
7c922ad6ee Remove comments 2023-11-08 21:49:21 -07:00
Nathan Sobo
8278a07354 Actually set the input handler 2023-11-08 21:43:14 -07:00
Mikayla Maki
8330fb5f10
port rope2 to zed2 (#3224)
port rope2 to zed2

Release Notes:

- NA
2023-11-08 20:19:05 -08:00
Mikayla Maki
e2130ca444
Switch from associated type to generic on EventEmitter trait (#3281)
This removes a lot of ad-hoc event translation code in the workspace and
replaces it with a GPUI feature and trait bounds.

TODO:
- [x] Proof out idea
- [x] Convert the workspace
- [x] Convert the rest of the app

Release Notes:

- N/A
2023-11-08 20:16:33 -08:00
Mikayla
2c67cc80ba
Merge branch 'main' into event-emitter 2023-11-08 20:10:38 -08:00
Nathan Sobo
9a022671a2 Simplify IME support 2023-11-08 21:06:00 -07:00
Mikayla
3c57b912b9
Update editor to use new event emitter 2023-11-08 19:52:43 -08:00
Mikayla
a97c8bf58f
Get workspace compiling with new event emitters 2023-11-08 19:29:00 -08:00
Conrad Irwin
97ce9e9586
de-dbg (#3280)
Remove some debugging from GoToLine

Release Notes:

- N/A
2023-11-08 18:45:42 -07:00
Max Brunsfeld
2bf8616a48
Implement bounds_for_range, so that text input windows are positioned correctly (#3278)
![Screenshot 2023-11-08 at 5 33
10 PM](https://github.com/zed-industries/zed/assets/326587/09efd785-2c43-41b2-9429-c17067497fd2)

![Screenshot 2023-11-08 at 5 33
28 PM](https://github.com/zed-industries/zed/assets/326587/14a9faee-3547-40b6-a31f-16f653cdcb36)
2023-11-08 17:38:11 -08:00
Conrad Irwin
47a63d5cb7 de-dbg 2023-11-08 18:36:12 -07:00
Max Brunsfeld
4350801399 Merge branch 'main' into bounds-for-range 2023-11-08 17:31:00 -08:00
Max Brunsfeld
277fbda356 Fix vertical position in first_rect_for_character_range 2023-11-08 17:27:32 -08:00
Max Brunsfeld
86865431b9 Assign gutter widht on editor view when painting element 2023-11-08 17:01:50 -08:00
Mikayla
26fc36ee0e
First pass at allowing multiple event types to be emitted by an entity 2023-11-08 16:34:38 -08:00
Marshall Bowers
15f6fbf53b Merge branch 'bounds-for-range' of github.com:zed-industries/zed into bounds-for-range 2023-11-08 19:25:18 -05:00
Marshall Bowers
9a41c58779 Hard-code the gutter margin temporarily 2023-11-08 19:25:12 -05:00
Max Brunsfeld
b77fab0fae 🎨 2023-11-08 16:24:11 -08:00
Conrad Irwin
b90e34aeb2
go to line2 (#3261)
- MODAL
- center a div
- MOAR CODE
- Beautiful go to line modal


Release Notes:
- N/A
2023-11-08 17:16:00 -07:00
Max Brunsfeld
7a8f219251 Account for element's bounds in Editor::bounds_for_range
Co-authored-by: Marshall <marshall@zed.dev>
2023-11-08 16:15:10 -08:00
Conrad Irwin
cef8fa5570 tidy tidy 2023-11-08 17:09:38 -07:00
Max Brunsfeld
1a37d9edc6 Register text input handlers via new element hook
Provide element bounds to the input handler's `bounds_for_rect` method.

Co-authored-by: Marshall <marshall@zed.dev>
2023-11-08 15:48:55 -08:00
Conrad Irwin
1b9f76c01d Refactor GoToLine to use cx.observe_new_views() 2023-11-08 16:23:05 -07:00
Max Brunsfeld
d273fa6dd0 Fix DisplaySnapshot::x_for_point always returning 0
Co-authored-by: Marshall <marshall@zed.dev>
2023-11-08 13:55:39 -08:00
Max Brunsfeld
c81440424b
Fix blinking in editor2 (#3272)
This also introduces new APIs in `ViewContext` for observing window
focus changes.

Release Notes:

- N/A
2023-11-08 13:53:43 -08:00
Julia
c7139db39e Get tsserver running again 2023-11-08 16:51:54 -05:00
Conrad Irwin
cbdd4aca89 Merge branch 'main' into go-to-line2 2023-11-08 14:46:52 -07:00
Conrad Irwin
6a802e2fda Make Modals dismissable in theory 2023-11-08 14:45:54 -07:00
Nate Butler
e505fb330c WIP 2023-11-08 16:43:32 -05:00
Nate Butler
23a97f5b61
Document ColorScaleSteps (#3271)
[[PR Description]]

Adds documentation to ColorScaleSteps:

```rust
/// Returns the specified step in the [`ColorScale`].
    #[inline]
    pub fn step(&self, step: ColorScaleStep) -> Hsla {
        // Steps are one-based, so we need convert to the zero-based vec index.
        self.0[step.0 - 1]
    }

    /// `Step 1` - Used for main application backgrounds.
    ///
    /// This step provides a neutral base for any overlaying components, ideal for applications' main backdrop or empty spaces such as canvas areas.
    ///
    #[inline]
    pub fn step_1(&self) -> Hsla {
        self.step(ColorScaleStep::ONE)
    }

    /// `Step 2` - Used for both main application backgrounds and subtle component backgrounds.
    ///
    /// Like `Step 1`, this step allows variations in background styles, from striped tables, sidebar backgrounds, to card backgrounds.
    #[inline]
    pub fn step_2(&self) -> Hsla {
        self.step(ColorScaleStep::TWO)
    }

    /// `Step 3` - Used for UI component backgrounds in their normal states.
    ///
    /// This step maintains accessibility by guaranteeing a contrast ratio of 4.5:1 with steps 11 and 12 for text. It could also suit hover states for transparent components.
    #[inline]
    pub fn step_3(&self) -> Hsla {
        self.step(ColorScaleStep::THREE)
    }

    /// `Step 4` - Used for UI component backgrounds in their hover states.
    ///
    /// Also suited for pressed or selected states of components with a transparent background.
    #[inline]
    pub fn step_4(&self) -> Hsla {
        self.step(ColorScaleStep::FOUR)
    }

    /// `Step 5` - Used for UI component backgrounds in their pressed or selected states.
    #[inline]
    pub fn step_5(&self) -> Hsla {
        self.step(ColorScaleStep::FIVE)
    }

    /// `Step 6` - Used for subtle borders on non-interactive components.
    ///
    /// Its usage spans from sidebars' borders, headers' dividers, cards' outlines, to alerts' edges and separators.
    #[inline]
    pub fn step_6(&self) -> Hsla {
        self.step(ColorScaleStep::SIX)
    }

    /// `Step 7` - Used for subtle borders on interactive components.
    ///
    /// This step subtly delineates the boundary of elements users interact with.
    #[inline]
    pub fn step_7(&self) -> Hsla {
        self.step(ColorScaleStep::SEVEN)
    }

    /// `Step 8` - Used for stronger borders on interactive components and focus rings.
    ///
    /// It strengthens the visibility and accessibility of active elements and their focus states.
    #[inline]
    pub fn step_8(&self) -> Hsla {
        self.step(ColorScaleStep::EIGHT)
    }

    /// `Step 9` - Used for solid backgrounds.
    ///
    /// `Step 9` is the most saturated step, having the least mix of white or black.
    ///
    /// Due to its high chroma, `Step 9` is versatile and particularly useful for semantic colors such as
    /// error, warning, and success indicators.
    #[inline]
    pub fn step_9(&self) -> Hsla {
        self.step(ColorScaleStep::NINE)
    }

    /// `Step 10` - Used for hovered or active solid backgrounds, particularly when `Step 9` is their normal state.
    #[inline]
    pub fn step_10(&self) -> Hsla {
        self.step(ColorScaleStep::TEN)
    }

    /// `Step 11` - Used for text and icons requiring low contrast or less emphasis.
    #[inline]
    pub fn step_11(&self) -> Hsla {
        self.step(ColorScaleStep::ELEVEN)
    }

    /// `Step 12` - Used for text and icons requiring high contrast or prominence.
    #[inline]
    pub fn step_12(&self) -> Hsla {
        self.step(ColorScaleStep::TWELVE)
    }
```

Release Notes:

- N/A
2023-11-08 16:25:17 -05:00
Nate Butler
208f5f5182
Extend Styled for Zed-specific methods (#3276)
[[PR Description]]

- Adds `StyledExt` for Zed-specific methods like `ui_text`, `v_flex`,
etc.
- Updates components previously using `text_*` methods.

Release Notes:

- N/A
2023-11-08 16:04:46 -05:00
Mikayla
097efdebc5
WIP 2023-11-08 12:49:09 -08:00