Skip to content

editor: Add minimap #26893

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 121 commits into from
May 7, 2025
Merged

Conversation

esimkowitz
Copy link
Contributor

@esimkowitz esimkowitz commented Mar 17, 2025

Overview

This PR adds the minimap feature to the Zed editor, closely following the design from Visual Studio Code. When configured, a second instance of the editor will appear to the left of the scrollbar. This instance is not interactive and it has a slimmed down set of annotations, but it is otherwise just a zoomed-out version of the main editor instance. A thumb shows the line boundaries of the main viewport, as well as the progress through the document. Clicking on a section of code in the minimap will jump the editor to that code. Dragging the thumb will act like the scrollbar, moving sequentially through the document.

screenshot of Zed with three editors open and the minimap enabled, showing the slider

New settings

This adds a minimap section to the editor settings with the following keys:

show

When to show the minimap in the editor.
This setting can take three values:

  1. Show the minimap if the editor's scrollbar is visible: "auto"
  2. Always show the minimap: "always"
  3. Never show the minimap: "never" (default)

thumb

When to show the minimap thumb.
This setting can take two values:

  1. Show the minimap thumb if the mouse is over the minimap: "hover"
  2. Always show the minimap thumb: "always" (default)

width

The width of the minimap in pixels.

Default: 100

font_size

The font size of the minimap in pixels.

Default: 2

Providing feedback

In order to keep the PR focused on development updates, please use the discussion thread for feature suggestions and usability feedback: #26894

Features left to add

  • fix scrolling performance
  • user settings for enable/disable, width, text size, etc.
  • show overview of visible lines in minimap
  • clicking on minimap should navigate to the corresponding section of code
  • [ ] more prominent highlighting in the minimap editor
  • [ ] override scrollbar auto setting to always when minimap is set to always show

Release Notes:

  • Added minimap for high-level overview and quick navigation of editor contents.

Copy link

cla-bot bot commented Mar 17, 2025

We require contributors to sign our Contributor License Agreement, and we don't have @esimkowitz on file. You can sign our CLA at https://zed.dev/cla. Once you've signed, post a comment here that says '@cla-bot check'.

@esimkowitz
Copy link
Contributor Author

@cla-bot check

@cla-bot cla-bot bot added the cla-signed The user has signed the Contributor License Agreement label Mar 17, 2025
Copy link

cla-bot bot commented Mar 17, 2025

The cla-bot has been summoned, and re-checked this pull request!

@maxdeviant maxdeviant changed the title editor: add minimap feature editor: Add minimap feature Mar 17, 2025
@maxdeviant maxdeviant changed the title editor: Add minimap feature editor: Add minimap Mar 17, 2025
@SomeoneToIgnore SomeoneToIgnore self-assigned this Mar 17, 2025
Copy link
Contributor

@SomeoneToIgnore SomeoneToIgnore left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then you a lot for coming with the proposal, quite exciting to see a prototype that looks nice.

Have left a few notes in the PR and below, but overall the approach seems working to me, I've run the profiler along the release build of this branch and saw no issue with anything editor-related.

Can you elaborate on the performance issues you observe?

Overall, the last big missing piece of functionality is mouse click handlers, what do you think?
If so, let's concentrate on that and the rest "functional" items first, so we can polish the design a bit later, using the help of the designers?


There's a bug causing the minimap to bounce off the edge:

jump.mov

Seems related, as we also have a centered layout feature, which makes the minimap hover over the code:
image

While noted in the PR description, I'd like to emphasize for the bright themes, how now would be to have a background/border to visually separate minimap from the rest of the text.
I like Sublime Text 2's approach, where the viewport is surrounded with the border (notice the thumb placement too)
image

@esimkowitz
Copy link
Contributor Author

esimkowitz commented Mar 17, 2025

I think the performance implication with scrolling that I was noticing was actually just a standard degradation of the debug environment vs the release environment - I don't notice it when I run a release build so no concern there. I do notice some jumping, though, I think it may be related to the issue you noted where the minimap detaches. I'll take a look at this and the other notes you've made, thank you for such a detailed review!

@esimkowitz
Copy link
Contributor Author

esimkowitz commented Mar 17, 2025

which has very simplified rendering

Thinking some more on this, what if we swap every character for a block that is the full width of the em?

I also like the idea of the bracketed highlighting, will look into this. I think this can work well

@esimkowitz
Copy link
Contributor Author

esimkowitz commented Mar 17, 2025

Thankfully the bouncing issue was simple to fix, I was using window.with_absolute_element_offset when I should have used window.with_element_offset

@esimkowitz
Copy link
Contributor Author

Okay big update, I have the display logic working I think, including the slider thumb. It isn't interactive yet, but if folks could try it out and let me know if they notice any spookies, I'd really appreciate it!

@esimkowitz
Copy link
Contributor Author

esimkowitz commented Mar 18, 2025

I'm noticing that even though I'm using the scrollbar bounds as the basis for the minimap bounds, sometimes the height is off. I'll dig into this some more with the debugger
image

Copy link
Contributor

@SomeoneToIgnore SomeoneToIgnore left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you again @esimkowitz for validating the originally posted approach description: that have indeed worked and hopefully was not that hard and fun to work on.

And thank you again @MrSubidubi for those gnarly scroll-related issues tackled — ironically, the hardest part of the PR.

Ready to merge it when the conflicts & CI are dealt with.

@mocenigo
Copy link

mocenigo commented May 7, 2025

Currently, the source code art evan's repo fails to compile

error[E0432]: unresolved import zed_llm_client::WebSearchCitation
--> crates/assistant_tools/src/web_search_tool.rs:18:22
|
18 | use zed_llm_client::{WebSearchCitation, WebSearchResponse};
| ^^^^^^^^^^^^^^^^^ no WebSearchCitation in the root

error[E0560]: struct WebSearchResponse has no field named summary
--> crates/assistant_tools/src/web_search_tool.rs:272:9
|
272 | summary: r#"Toronto boasts a vibrant culinary scene with a diverse array of..."#
| ^^^^^^^ WebSearchResponse does not have this field
|
= note: all struct fields are already assigned

Some errors have detailed explanations: E0432, E0560.
For more information about an error, try rustc --explain E0432.
error: could not compile assistant_tools (lib) due to 2 previous errors

And before that I had a crash the moment I opened a file to edit it.

@MrSubidubi
Copy link
Contributor

MrSubidubi commented May 7, 2025

See #30049 as well as #30138 . Once these are in (or something similar is agreed upon), we should be ready to go. Please note that both PRs are currently blocking, as seen in the comment above (and the description below).

@mocenigo This is currently expected and happens due to b574129 and #30049 not being in yet, which are needed because of #26893 (comment). Once we have these two issues sorted out, we are good to go again.

@mocenigo
Copy link

mocenigo commented May 7, 2025

See #30049 as well as #30138 . Once these are in (or something similar is agreed upon), we should be ready to go. Please note that both PRs are currently blocking, as seen in the comment above (and the description below).

@mocenigo This is currently expected and happens due to b574129 and #30049 not being in yet, which are needed because of #26893 (comment). Once we have these two issues sorted out, we are good to go again.

Ok. When do you expect to have the minimap merged into zed’s main?

SomeoneToIgnore pushed a commit that referenced this pull request May 7, 2025
… horizontal content padding (#30138)

This PR changes the way a horizontal margin is added in editors. It
removes the possibility to set a custom `horizontal_padding` for an
editor and utilizes the default `gutter_dimension` instead.

This change is made to ensure that no issues with soft-wrapping occurs
for any editor that has a `horizontal_margin` set (see #26893 for more
context on the implications here`. Furthermore, it ensures that the text
actually renders properly when scrolling horizontally and is not
cut-off.

### Horizontal padding:

| `main` | This PR |
| --- | --- |
| ![main
padding](https://github.com/user-attachments/assets/4e7ea020-f92d-4f28-8cc1-89d0b0350683)
| ![PR
padding](https://github.com/user-attachments/assets/a05bae17-c384-431b-bb79-a1fffe7a29d7)
|

### Editor horizontally scrolled:

| `main` | This PR |
| --- | --- |
| ![main
scrolled](https://github.com/user-attachments/assets/1a30156f-6c08-4cf9-94aa-9d087c0408cc)
| ![pr
scrolled](https://github.com/user-attachments/assets/d0daa72e-3b02-479b-aea0-41e1a376c567)
|

Notice the difference at the horizontal borders.

The margin added for the `edit_file_tool` was 4 pixels. The `descent`,
whilst not exactly, is roughly the same here and also scales with the
font size nicely. Furthermore, it seems that the
`gutter_dimensions.margin` should be present anyway, given the following
comment


https://github.com/zed-industries/zed/blob/0b00256f5884fd17b4f834730b31f365613f3683/crates/editor/src/element.rs#L6887-L6889

so ensuring this property is actually set and not 0 seems to be
reasonable given the circumstances.

Please note though that this will apply to all editors in the app.
Again, this seems like it should be the case anyway, just wanted to
mention this again.

Should the fix like this not be wanted, I can change this here so that
the `horizontal_margin` is better accounted for when soft-wrapping in an
editor. Feel free to let me know in this case.

Release Notes:

- N/A
@MrSubidubi
Copy link
Contributor

Ok. When do you expect to have the minimap merged into zed’s main?

We are good to go once #30049 is reviewed and approved.

cole-miller pushed a commit that referenced this pull request May 7, 2025
Noticed this whilst working on #26893 

This PR prevents that single line and auto height editors have a
conflict addon attached (and are observed for any excerpt changes).


From how I understand it, it does not really make sense to register the
conflict addon for single line or auto height editors.

These editors will never show a conflict nor will they be used to
resolve one. Furthermore, neither of these ever have a project attached
upon creation:


https://github.com/zed-industries/zed/blob/00c5f57575b5de69a5007ba724b4a8fb10db91ac/crates/editor/src/editor.rs#L1385


https://github.com/zed-industries/zed/blob/00c5f57575b5de69a5007ba724b4a8fb10db91ac/crates/editor/src/editor.rs#L1403


https://github.com/zed-industries/zed/blob/00c5f57575b5de69a5007ba724b4a8fb10db91ac/crates/editor/src/editor.rs#L1415

so their buffers will never be added here:


https://github.com/zed-industries/zed/blob/00c5f57575b5de69a5007ba724b4a8fb10db91ac/crates/git_ui/src/conflict_view.rs#L116-L120

Thus, we could potentially even extend the check with an additional `||
editor.project.is_none()`. Yet, as I am not entirely sure how all of
this exactly works, I left this out for now, but I can definitely add
this if wanted.

Release Notes:

- N/A
@SomeoneToIgnore SomeoneToIgnore merged commit 607a944 into zed-industries:main May 7, 2025
19 checks passed
@mocenigo
Copy link

mocenigo commented May 7, 2025

Yay! Lots of love to you guys!

SomeoneToIgnore pushed a commit that referenced this pull request May 8, 2025
…maller than viewport (#30189)

As discussed and explained in
#26893 (comment)

This PR fixes an issue where we would have zero-divisions during
scrollbar layouting for small files.

This happened due to the fact that for small files, 


https://github.com/zed-industries/zed/blob/9c1b2afa492755a1e8cb0a77f929845941c97cdc/crates/editor/src/element.rs#L8562-L8563

would be `NaN`, since `(total_text_units - text_units_per_page).max(0.)`
would return `0.`, which we would divide by.

However, this was neccessary to be in place, as this prevented the
scroll thumb from being rendered for small files: Due to this being
`NaN`, the thumb origin would be `Pixels(NaN)`, which prevented the
rendering of the scrollbar thumb.

This PR fixes this behavior by accounting for this scenario and changing
the thumb bounds to be an `Option<Bounds<Pixels>>` instead. This
furthermore has the advantage that we have to compute the thumb only
once and storing it in the layout, which was previously not possible.

Most notably, this enables scrollbar markers to show for smaller files:


https://github.com/user-attachments/assets/9fa5d240-8795-4fae-9933-aed144df4f5e

Currently, no markers are shown due to the fact that `Pixels(NaN)` is
set as the origin point.

Also, I changed that the cursor style will only be changed on the
scrollbar hitbox when we will actually show a thumb. This way, for small
files (where viewport > content size) the cursor will not change when a
user hovers with their mouse over the scrollbars hitbox.

Theoretically, I could also include the change mentioned in
#26893 (comment)
here. Given the introduction of the minimap as well as #29316 and the
cursor style taken care of here, removing the guard would not change
anything and creates the possibility to soon introduce scrollbars for
auto height editors. Please let me know whether we want to have this in
this PR or whether I shall create a seperate one.

Release Notes:

- Enabled scrollbar marker rendering for small files.
@shenjackyuanjie
Copy link
Contributor

I have notice that you forget to implement the width config

Comment on lines +397 to +400
// The width of the minimap in pixels.
"width": 100,
// The font size of the minimap in pixels.
"font_size": 2
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no code to use these config

SomeoneToIgnore added a commit that referenced this pull request May 8, 2025
SomeoneToIgnore added a commit that referenced this pull request May 8, 2025
Follow-up of #26893

Release Notes:

- N/A
lj3954 pushed a commit to lj3954/zed that referenced this pull request May 9, 2025
… horizontal content padding (zed-industries#30138)

This PR changes the way a horizontal margin is added in editors. It
removes the possibility to set a custom `horizontal_padding` for an
editor and utilizes the default `gutter_dimension` instead.

This change is made to ensure that no issues with soft-wrapping occurs
for any editor that has a `horizontal_margin` set (see zed-industries#26893 for more
context on the implications here`. Furthermore, it ensures that the text
actually renders properly when scrolling horizontally and is not
cut-off.

### Horizontal padding:

| `main` | This PR |
| --- | --- |
| ![main
padding](https://github.com/user-attachments/assets/4e7ea020-f92d-4f28-8cc1-89d0b0350683)
| ![PR
padding](https://github.com/user-attachments/assets/a05bae17-c384-431b-bb79-a1fffe7a29d7)
|

### Editor horizontally scrolled:

| `main` | This PR |
| --- | --- |
| ![main
scrolled](https://github.com/user-attachments/assets/1a30156f-6c08-4cf9-94aa-9d087c0408cc)
| ![pr
scrolled](https://github.com/user-attachments/assets/d0daa72e-3b02-479b-aea0-41e1a376c567)
|

Notice the difference at the horizontal borders.

The margin added for the `edit_file_tool` was 4 pixels. The `descent`,
whilst not exactly, is roughly the same here and also scales with the
font size nicely. Furthermore, it seems that the
`gutter_dimensions.margin` should be present anyway, given the following
comment


https://github.com/zed-industries/zed/blob/0b00256f5884fd17b4f834730b31f365613f3683/crates/editor/src/element.rs#L6887-L6889

so ensuring this property is actually set and not 0 seems to be
reasonable given the circumstances.

Please note though that this will apply to all editors in the app.
Again, this seems like it should be the case anyway, just wanted to
mention this again.

Should the fix like this not be wanted, I can change this here so that
the `horizontal_margin` is better accounted for when soft-wrapping in an
editor. Feel free to let me know in this case.

Release Notes:

- N/A
lj3954 pushed a commit to lj3954/zed that referenced this pull request May 9, 2025
…tries#30049)

Noticed this whilst working on zed-industries#26893 

This PR prevents that single line and auto height editors have a
conflict addon attached (and are observed for any excerpt changes).


From how I understand it, it does not really make sense to register the
conflict addon for single line or auto height editors.

These editors will never show a conflict nor will they be used to
resolve one. Furthermore, neither of these ever have a project attached
upon creation:


https://github.com/zed-industries/zed/blob/00c5f57575b5de69a5007ba724b4a8fb10db91ac/crates/editor/src/editor.rs#L1385


https://github.com/zed-industries/zed/blob/00c5f57575b5de69a5007ba724b4a8fb10db91ac/crates/editor/src/editor.rs#L1403


https://github.com/zed-industries/zed/blob/00c5f57575b5de69a5007ba724b4a8fb10db91ac/crates/editor/src/editor.rs#L1415

so their buffers will never be added here:


https://github.com/zed-industries/zed/blob/00c5f57575b5de69a5007ba724b4a8fb10db91ac/crates/git_ui/src/conflict_view.rs#L116-L120

Thus, we could potentially even extend the check with an additional `||
editor.project.is_none()`. Yet, as I am not entirely sure how all of
this exactly works, I left this out for now, but I can definitely add
this if wanted.

Release Notes:

- N/A
lj3954 pushed a commit to lj3954/zed that referenced this pull request May 9, 2025
## Overview

This PR adds the minimap feature to the Zed editor, closely following
the [design from Visual Studio
Code](https://code.visualstudio.com/docs/getstarted/userinterface#_minimap).
When configured, a second instance of the editor will appear to the left
of the scrollbar. This instance is not interactive and it has a slimmed
down set of annotations, but it is otherwise just a zoomed-out version
of the main editor instance. A thumb shows the line boundaries of the
main viewport, as well as the progress through the document. Clicking on
a section of code in the minimap will jump the editor to that code.
Dragging the thumb will act like the scrollbar, moving sequentially
through the document.

![screenshot of Zed with three editors open and the minimap enabled,
showing the
slider](https://github.com/user-attachments/assets/4178d23a-a5ea-4e38-b871-06dd2a8f9560)

## New settings

This adds a `minimap` section to the editor settings with the following
keys:

### `show`

When to show the minimap in the editor.
This setting can take three values:
1. Show the minimap if the editor's scrollbar is visible: `"auto"`
2. Always show the minimap: `"always"`
3. Never show the minimap: `"never"` (default)

### `thumb`

When to show the minimap thumb.
This setting can take two values:
1. Show the minimap thumb if the mouse is over the minimap: `"hover"`
2. Always show the minimap thumb: `"always"` (default)

### `width`

The width of the minimap in pixels.

Default: `100`

### `font_size`

The font size of the minimap in pixels.

Default: `2`

## Providing feedback

In order to keep the PR focused on development updates, please use the
discussion thread for feature suggestions and usability feedback: zed-industries#26894


## Features left to add

- [x] fix scrolling performance
- [x] user settings for enable/disable, width, text size, etc.
- [x] show overview of visible lines in minimap
- [x] clicking on minimap should navigate to the corresponding section
of code
- ~[ ] more prominent highlighting in the minimap editor~
- ~[ ] override scrollbar auto setting to always when minimap is set to
always show~

Release Notes:

- Added minimap for high-level overview and quick navigation of editor
contents.

---------

Co-authored-by: MrSubidubi <[email protected]>
Co-authored-by: Kirill Bulatov <[email protected]>
lj3954 pushed a commit to lj3954/zed that referenced this pull request May 9, 2025
…maller than viewport (zed-industries#30189)

As discussed and explained in
zed-industries#26893 (comment)

This PR fixes an issue where we would have zero-divisions during
scrollbar layouting for small files.

This happened due to the fact that for small files, 


https://github.com/zed-industries/zed/blob/9c1b2afa492755a1e8cb0a77f929845941c97cdc/crates/editor/src/element.rs#L8562-L8563

would be `NaN`, since `(total_text_units - text_units_per_page).max(0.)`
would return `0.`, which we would divide by.

However, this was neccessary to be in place, as this prevented the
scroll thumb from being rendered for small files: Due to this being
`NaN`, the thumb origin would be `Pixels(NaN)`, which prevented the
rendering of the scrollbar thumb.

This PR fixes this behavior by accounting for this scenario and changing
the thumb bounds to be an `Option<Bounds<Pixels>>` instead. This
furthermore has the advantage that we have to compute the thumb only
once and storing it in the layout, which was previously not possible.

Most notably, this enables scrollbar markers to show for smaller files:


https://github.com/user-attachments/assets/9fa5d240-8795-4fae-9933-aed144df4f5e

Currently, no markers are shown due to the fact that `Pixels(NaN)` is
set as the origin point.

Also, I changed that the cursor style will only be changed on the
scrollbar hitbox when we will actually show a thumb. This way, for small
files (where viewport > content size) the cursor will not change when a
user hovers with their mouse over the scrollbars hitbox.

Theoretically, I could also include the change mentioned in
zed-industries#26893 (comment)
here. Given the introduction of the minimap as well as zed-industries#29316 and the
cursor style taken care of here, removing the guard would not change
anything and creates the possibility to soon introduce scrollbars for
auto height editors. Please let me know whether we want to have this in
this PR or whether I shall create a seperate one.

Release Notes:

- Enabled scrollbar marker rendering for small files.
lj3954 pushed a commit to lj3954/zed that referenced this pull request May 9, 2025
lj3954 pushed a commit to lj3954/zed that referenced this pull request May 9, 2025
JosephTLyons pushed a commit that referenced this pull request May 9, 2025
… horizontal content padding (#30138)

This PR changes the way a horizontal margin is added in editors. It
removes the possibility to set a custom `horizontal_padding` for an
editor and utilizes the default `gutter_dimension` instead.

This change is made to ensure that no issues with soft-wrapping occurs
for any editor that has a `horizontal_margin` set (see #26893 for more
context on the implications here`. Furthermore, it ensures that the text
actually renders properly when scrolling horizontally and is not
cut-off.

### Horizontal padding:

| `main` | This PR |
| --- | --- |
| ![main
padding](https://github.com/user-attachments/assets/4e7ea020-f92d-4f28-8cc1-89d0b0350683)
| ![PR
padding](https://github.com/user-attachments/assets/a05bae17-c384-431b-bb79-a1fffe7a29d7)
|

### Editor horizontally scrolled:

| `main` | This PR |
| --- | --- |
| ![main
scrolled](https://github.com/user-attachments/assets/1a30156f-6c08-4cf9-94aa-9d087c0408cc)
| ![pr
scrolled](https://github.com/user-attachments/assets/d0daa72e-3b02-479b-aea0-41e1a376c567)
|

Notice the difference at the horizontal borders.

The margin added for the `edit_file_tool` was 4 pixels. The `descent`,
whilst not exactly, is roughly the same here and also scales with the
font size nicely. Furthermore, it seems that the
`gutter_dimensions.margin` should be present anyway, given the following
comment


https://github.com/zed-industries/zed/blob/0b00256f5884fd17b4f834730b31f365613f3683/crates/editor/src/element.rs#L6887-L6889

so ensuring this property is actually set and not 0 seems to be
reasonable given the circumstances.

Please note though that this will apply to all editors in the app.
Again, this seems like it should be the case anyway, just wanted to
mention this again.

Should the fix like this not be wanted, I can change this here so that
the `horizontal_margin` is better accounted for when soft-wrapping in an
editor. Feel free to let me know in this case.

Release Notes:

- N/A
JosephTLyons pushed a commit that referenced this pull request May 9, 2025
… horizontal content padding (#30138)

This PR changes the way a horizontal margin is added in editors. It
removes the possibility to set a custom `horizontal_padding` for an
editor and utilizes the default `gutter_dimension` instead.

This change is made to ensure that no issues with soft-wrapping occurs
for any editor that has a `horizontal_margin` set (see #26893 for more
context on the implications here`. Furthermore, it ensures that the text
actually renders properly when scrolling horizontally and is not
cut-off.

### Horizontal padding:

| `main` | This PR |
| --- | --- |
| ![main
padding](https://github.com/user-attachments/assets/4e7ea020-f92d-4f28-8cc1-89d0b0350683)
| ![PR
padding](https://github.com/user-attachments/assets/a05bae17-c384-431b-bb79-a1fffe7a29d7)
|

### Editor horizontally scrolled:

| `main` | This PR |
| --- | --- |
| ![main
scrolled](https://github.com/user-attachments/assets/1a30156f-6c08-4cf9-94aa-9d087c0408cc)
| ![pr
scrolled](https://github.com/user-attachments/assets/d0daa72e-3b02-479b-aea0-41e1a376c567)
|

Notice the difference at the horizontal borders.

The margin added for the `edit_file_tool` was 4 pixels. The `descent`,
whilst not exactly, is roughly the same here and also scales with the
font size nicely. Furthermore, it seems that the
`gutter_dimensions.margin` should be present anyway, given the following
comment


https://github.com/zed-industries/zed/blob/0b00256f5884fd17b4f834730b31f365613f3683/crates/editor/src/element.rs#L6887-L6889

so ensuring this property is actually set and not 0 seems to be
reasonable given the circumstances.

Please note though that this will apply to all editors in the app.
Again, this seems like it should be the case anyway, just wanted to
mention this again.

Should the fix like this not be wanted, I can change this here so that
the `horizontal_margin` is better accounted for when soft-wrapping in an
editor. Feel free to let me know in this case.

Release Notes:

- N/A
@esimkowitz
Copy link
Contributor Author

Thank you @MrSubidubi @SomeoneToIgnore @shenjackyuanjie for pushing this through, sorry for disappearing at the end, I started a new job and unfortunately couldn't dedicate as much time to this. I love how it turned out!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla-signed The user has signed the Contributor License Agreement
Projects
None yet
Development

Successfully merging this pull request may close these issues.