Commit Graph
2288 Commits
Author SHA1 Message Date
1cbdf2ba22 Fix overlapping block headers when using custom line height
This fixes block headers overlapping over text in the buffer when using
a custom line height of 1.25.

It fixes the issue by making the parent container a v-flex,
vertically-justifying the content and moving from relative padding to
absolute padding for the header itself.

Co-authored-by: antonio <antonio@zed.dev>
Co-authored-by: julia <julia@zed.dev>
Co-authored-by: marshall <marshall@zed.dev>
2024-01-16 17:20:27 +01:00
Kirill Bulatov ec3cfc33d6 Adds a way to select items under multiple carets (#4067)
Deals with https://github.com/zed-industries/community/issues/2374

Release Notes:

- Added a way to select items under multiple carets with
`editor::SelectNext` and `editor::SelectPrevious` commands
2024-01-16 11:08:48 +02:00
Kirill Bulatov 25abe8f981 Fix the tests 2024-01-16 10:58:27 +02:00
Kirill Bulatov fbb363e83a Add tests 2024-01-16 10:07:31 +02:00
Max Brunsfeld 8f262892a0 Notify editors on buffer font size changes 2024-01-15 14:53:24 -08:00
Kirill Bulatov 55671eac40 Select next/previous word for multiple carets if possible 2024-01-15 23:42:36 +02:00
Joseph T. Lyons ba9a9f4f17 Add more open events
project search
diagnostics
welcome page
2024-01-15 16:26:04 -05:00
Kirill Bulatov 92add99260 Add LSP logs into the end of the editor, not after its caret
Also prevent tabs from being added in readonly editors
2024-01-15 22:12:52 +02:00
Marshall Bowers 90f4c70a82 Rename h_stack and v_stack to h_flex and v_flex, respectively (#4053)
This PR renames the `h_stack` and `v_stack` to `h_flex` and `v_flex`,
respectively.

We were previously using `h_stack` and `v_stack` to match SwiftUI, but
`h_flex` and `v_flex` fit better with the web/flexbox terminology that
the rest of GPUI uses.

Additionally, we were already calling the utility functions used to
implement `h_stack` and `v_stack` by the new names.

Release Notes:

- N/A
2024-01-15 11:34:06 -05:00
Kirill Bulatov fc294ce0b1 Disable copilot for feedback and lsp log editors (#4048)
LSP log editor caused recursive flood of messages, and feedback editor
is better with people writing their own feedback.

Release Notes:

- Fixed hanging due to excessive logs when browsing Copilot LSP logs
2024-01-15 15:59:27 +02:00
Kirill Bulatov 253c8dbe8e Disable copilot for feedback and lsp log editors
LSP log editor caused recursive flood of messages, and feedback editor is better with people writing their own feedback.
2024-01-15 15:49:23 +02:00
Thorsten Ball 80c0d09b15 Fix editor stealing click events from copy-error button (#4046)
This fixes the click event on the "copy error message" button by
changing the `editor` element to ignore mouse-down events when the
default was prevented. That's similar to how `div` does it.

Release Notes:

- Fixed a bug that prevented "copy error message" button from being
clicked.
2024-01-15 14:03:15 +01:00
Thorsten BallandAntonio 74f3366f42 Fix editor stealing click events from copy-error button
Co-authored-by: Antonio <antonio@zed.dev>
2024-01-15 13:47:09 +01:00
Antonio Scandurra 4ff514ca7e Merge remote-tracking branch 'origin/main' into cache
# Conflicts:
#	crates/gpui/src/elements/div.rs
2024-01-15 11:37:46 +01:00
Mikayla 3a836b8026 Remove some comments 2024-01-12 20:10:40 -08:00
Max Brunsfeld 7dc28aad78 Forbid paste, undo, redo on read-only editors 2024-01-12 10:38:05 -08:00
Antonio Scandurra f4a7f6f4c3 Fix warning 2024-01-12 18:06:18 +01:00
817b641c17 Ensure editor elements invalidate their parent views on notify
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Conrad Irwin <conrad@zed.dev>
2024-01-12 17:36:11 +01:00
Antonio Scandurra a32ad3f907 Fix editor tests 2024-01-12 14:50:42 +01:00
Max Brunsfeld 258c2fdad4 Fix routing of leader updates from unshared projects
Previously, leader updates in unshared projects would be sent to
all followers regardless of project, as if they were not scoped
to any project.
2024-01-11 13:47:31 -08:00
Max Brunsfeld cb11fb68cb Avoid bright green separators when displaying untitled buffers in multi-buffers (#4024)
Release notes:

- Fixed unstyled excerpt separators when showing untitled buffers in
multi-buffers.
2024-01-11 12:19:55 -08:00
Max Brunsfeld 5feae86900 Avoid bright green separators when displaying untitled buffers in multi-buffers 2024-01-11 09:55:16 -08:00
a98d048905 gpui: Make TextSystem::line_wrapper non-fallible. (#4022)
Editors WrapMap could become desynchronised if user had an invalid font
specified in their config. Compared to Zed1, WrapMap ignored the
resolution failure instead of panicking. Now, if there's an invalid font
in the user config, we just fall back to an arbitrary default.


Release Notes:
- Fixed the editor panic in presence of invalid font name in the config
(fixes https://github.com/zed-industries/community/issues/2397)

---------

Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
2024-01-11 18:52:00 +01:00
Kirill BulatovandMarshall Bowers ba83623c84 Fix whitespace symbol colors in the editor, use zed1 one
co-authored-by: Marshall Bowers <marshall@zed.dev>
2024-01-11 17:43:49 +02:00
Kirill Bulatov 9bb50a5ded Restore hover action in the editor 2024-01-11 16:19:44 +02:00
Joseph T. Lyons 75cb409d2e Instrument edit events (#4006)
The goal of this PR is to send up events that contain the duration of
keyboard activity within Zed. I built the `EventCoalescer`, which gets
called called each time a key is pressed, within any environment (in the
case of this PR, within "editor" and "terminal). The" `EventCoalescer`
holds a start and end DateTime and adjusts the end instant as events
come in, until a timeout from the last event is hit.

I did my best to keep this mechanism efficient (avoiding vectors to
store moments in time, avoiding spawning timers threads, etc.), because
I know this is going to be per keystroke, but its behind a lock on the
telemetry struck, since it has to know when the environment changes, in
which point, it will automatically end the activity period, even if
there is no timeout. Because we have to have access to it from different
parts of the system, we have to go through the lock, which worried me a
bit (@mikayla-maki's intuition is that it should be fine).

As for the event, I take the time between the durations reported by the
event coalescer and send that up to zed - the indention is to
reconstruct the start and end times on zed.dev, in the same way we use
the event offset times and the time on zed.dev to get the official event
timestamp, and avoid the issue of the user having their system clocks
set wrong.

I'd really appreciate it if @nathansobo or @maxbrunsfeld could check
this out.

Release Notes:

- N/A
2024-01-11 08:19:29 -05:00
Piotr Osiewicz 0db7559e96 editor: extend diff hunk range for custom transform blocks. (#4012)
Reported by Mikayla:

![image](https://github.com/zed-industries/zed/assets/24362066/b744d82e-328f-4554-becf-96f9fa92bfc8)
Note how the line with rust analyzer error does not have a git diff
hunk.
vs:

![image](https://github.com/zed-industries/zed/assets/24362066/e285af7a-b8ab-40e9-a9c6-b4ab8d6c4cd0)

Release Notes:
- N/A
2024-01-11 12:26:12 +01:00
Mikayla Maki 44969460cd Remove remaining port related todos (#3994)
TODO:
- [x] Audit all TODO comments in Zed source and mark port related ones
with a !
- [x] Resolve all todos written as `todo!`

Release Notes:

- N/A
2024-01-10 17:31:05 -08:00
Conrad Irwin 766a869208 Fix fold-related panic 2024-01-10 15:51:13 -07:00
Joseph T. Lyons b26a468820 Merge branch 'main' into instrument-keyboard-events 2024-01-10 16:03:01 -05:00
Mikayla 7ef88397c9 Fix seg fault when using the WindowContext::on_window_should_close() API 2024-01-10 11:26:11 -08:00
Mikayla c98d7adf83 Audit all TODOs in Zed and mark port related todos 2024-01-10 11:26:11 -08:00
Piotr Osiewicz 282184a673 editor: Use inclusive ranges for git diff resolution. (#3999)
The culprit was in display map which was resolving next valid point for
the editor, without regard for whether that point belongs to the same excerpt. We now make an end point a minimum of the end point passed in and the start of excerpt header, if there are any. 
This bug existed in Zed1 as well.

Fixes: Diff markers in multibuffer search overlap with dividers between
excepts (shouldn't extend all the way into the divider region)


Release Notes:
- Fixed diff markers being drawn incorrectly near headers in multibuffer
views.
2024-01-10 18:11:05 +01:00
Marshall Bowers aff119b80a Fix possessive "its" in docs and comments (#3998)
This PR fixes a number of places where we were incorrectly using "it's"
where we needed to use the possessive "its".

Release Notes:

- N/A
2024-01-10 10:09:48 -05:00
Joseph T. Lyons d3d6b53a74 WIP 2024-01-10 02:05:42 -05:00
Mikayla Maki 45baad2825 Remove or fix stale todos (#3990)
The software equivalent of dusting

Release Notes:

-
2024-01-09 18:37:35 -08:00
Mikayla 80790d921d Fix / remove small todos 2024-01-09 14:16:46 -08:00
Conrad Irwin a46947d5d7 Fix panic in set_scroll_anchor_remote 2024-01-09 14:19:48 -07:00
Julia 5b1894a9b1 Take into account multiple scroll deltas within a single frame (#3982)
Release Notes:

- Fixed an issue where all but the last scroll event would be dropped if
there were multiple within a single frame.
2024-01-09 14:51:26 -05:00
JuliaandAntonio Scandurra 463270ed36 Take into account multiple scroll deltas within a single frame
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2024-01-09 14:32:43 -05:00
Nathan SoboandConrad 42cbd103fb Even more docs
Co-authored-by: Conrad <conrad@zed.dev>
2024-01-09 12:02:12 -07:00
Marshall Bowers 824d06e2b2 Remove Default impl for StatusColors (#3977)
This PR removes the `Default` impl for `StatusColors`.

Since we need default light and dark variants for `StatusColors`, we
can't use a single `Default` impl.

Release Notes:

- N/A
2024-01-09 11:31:19 -05:00
Marshall Bowers fa53353c57 Rename IconElement to just Icon (#3974)
This PR renames the `IconElement` component to just `Icon`.

This better matches the rest of our components, as `IconElement` was the
only one using this naming convention.

The `Icon` enum has been renamed to `IconName` to free up the name.

I was trying to come up with a way that would allow rendering an
`Icon::Zed` directly (and thus make the `IconElement` a hidden part of
the API), but I couldn't come up with a way to do this cleanly.

Release Notes:

- N/A
2024-01-09 10:11:20 -05:00
Kirill Bulatov 625c9d8980 Remove some todo!'s 2024-01-09 11:36:36 +02:00
Piotr OsiewiczandMarshall Bowers e4b1c76895 Display setting documentation in settings.json (#3936)
Let this screenshot of settings.json speak for itself: 

![image](https://github.com/zed-industries/zed/assets/24362066/fca60383-1788-43f9-803b-00f083394c8a)

Release Notes:
- Added code completion & on-hover documentation to Zed's settings.json
file.

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-01-08 19:30:18 +01:00
Marshall Bowers a8c193c7a6 Remove resolved TODO (#3943)
This PR removes a resolved TODO in drawing diff hunk status.

Release Notes:

- N/A
2024-01-08 13:08:44 -05:00
Marshall Bowers 46a99feb97 Use correct color for folded diff indicator (#3942)
This PR updates the indicator for changes within a fold to use the
correct color from the theme:

<img width="380" alt="Screenshot 2024-01-08 at 12 52 56 PM"
src="https://github.com/zed-industries/zed/assets/1486634/b8bf6bf3-6acc-43a4-8c4b-a02c975c7f02">

Release Notes:

- Updated the color of the indicator for a fold containing modified
lines.
2024-01-08 12:58:04 -05:00
Piotr Osiewicz d475f1373a gpui: Further docs refinement & moved some reexports into 'private' module (#3935)
This commit mostly fixes invalid URLs in docstrings. It also
encapsulates crates we reexport (serde stuff + linkme) into a public
module named "private" in order to reduce the API surfaced through docs.
Moreover, I fixed up a bunch of crates that were pulling serde_json in
through gpui explicitly instead of using Cargo manifest.

Release Notes:
- N/A
2024-01-07 14:14:21 +01:00
Joseph T. Lyons ea1770254d Merge branch 'main' into instrument-welcome-screen 2024-01-06 15:23:06 -05:00
Joseph T. Lyons 167a0b590f Add event for welcome page close 2024-01-06 15:17:28 -05:00