1d46a52
rustdoc_to_markdown: Don't push blank space after newline (#12504)
Click to expand commit body
This PR fixes a small issue in `rustdoc_to_markdown` where we could push
a blank space after a newline, leading to an unwanted leading space.
Release Notes:
- N/A
Marshall Bowers
created
fda975f
Re-subscribe to channels after signing back out
Max Brunsfeld
created
0f32145
Skip current project in recent projects (#12502)
Click to expand commit body
Discussion: https://github.com/zed-industries/zed/discussions/12497
Release Notes:
- Removed current project from the recent projects modals
Vladas Zakrevskis
created
6fe665a
rustdoc_to_markdown: Support bold and italics (#12501)
Click to expand commit body
This PR extends `rustdoc_to_markdown` with support for bold and italic
text.
Release Notes:
- N/A
Marshall Bowers
created
279c5ab
Reduce DB load upon initial connection due to channel loading (#12500)
Click to expand commit body
#### Lazily loading channels
I've added a new RPC message called `SubscribeToChannels` that the
client now sends when it first renders the channels panel. This causes
the server to load the channels for that client and send updates to that
client as channels are updated. Previously, the server did this upon
connection.
For backwards compatibility, the server will inspect clients' version,
and continue to do this work immediately for old clients.
#### Optimizations
Running collab locally, I realized that upon connecting, we were running
two concurrent transactions that *both* queried the `channel_members`
table: one for loading your channels, and one for loading your channel
invites. I've combined these into one query. In addition, we now use a
join to load channels + members, as opposed to two separate queries.
Even though `where id in` is efficient, it adds an extra round trip to
the database, keeping the transaction open for slightly longer.
Release Notes:
- N/A
This PR improves `rustdoc_to_markdown`'s paragraph handling to produce
better output.
Specifically, there should now be fewer instances where a space is
missing between words as the result of line breaks in the source HTML.
Release Notes:
- N/A
Marshall Bowers
created
4dc9802
rustdoc_to_markdown: Add helper methods for checking HTML attributes (#12496)
Click to expand commit body
This PR adds some helper methods to `HtmlElement` to make it easier to
interact with the element's attributes.
This cleans up a bunch of the code by a fair amount.
Release Notes:
- N/A
Marshall Bowers
created
c83d1c2
rustdoc_to_markdown: Handle "stabs" in item name entries (#12494)
Click to expand commit body
This PR extends `rustdoc_to_markdown` with support for rustdoc's
"stabs".
These are used in item name lists to indicate that the construct is
behind a feature flag:
<img width="641" alt="Screenshot 2024-05-30 at 1 34 53 PM"
src="https://github.com/zed-industries/zed/assets/1486634/0216f325-dc4e-4302-b6db-149ace31deea">
We now treat these specially in the Markdown output:
<img width="813" alt="Screenshot 2024-05-30 at 1 35 27 PM"
src="https://github.com/zed-industries/zed/assets/1486634/96396305-123d-40b2-af49-7eed71b62971">
Release Notes:
- N/A
Marshall Bowers
created
39a2cdb
rustdoc_to_markdown: Strip "Copy item path to clipboard" button (#12490)
Click to expand commit body
This PR strips the "Copy item path to clipboard" button from the rustdoc
output.
Release Notes:
- N/A
Marshall Bowers
created
8f942bf
Use repository mutex more sparingly. Don't hold it while running git status. (#12489)
Click to expand commit body
Previously, each git `Repository` object was held inside of a mutex.
This was needed because libgit2's Repository object is (as one would
expect) not thread safe. But now, the two longest-running git operations
that Zed performs, (`status` and `blame`) do not use libgit2 - they
invoke the `git` executable. For these operations, it's not necessary to
hold a lock on the repository.
In this PR, I've moved our mutex usage so that it only wraps the libgit2
calls, not our `git` subprocess spawns. The main user-facing impact of
this is that the UI is much more responsive when initially opening a
project with a very large git repository (e.g. `chromium`, `webkit`,
`linux`).
Release Notes:
- Improved Zed's responsiveness when initially opening a project
containing a very large git repository.
Max Brunsfeld
created
1ecd13b
Support copying permalink in multibuffer (#12435)
Click to expand commit body
Closes #11392
Release Notes:
- Added support for copying permalinks inside multi-buffers
([#11392](https://github.com/zed-industries/zed/issues/11392))
Bennet Bo Fenner
created
c118012
rustdoc_to_markdown: Add table support (#12488)
Click to expand commit body
This PR extends `rustdoc_to_markdown` with support for tables:
<img width="1007" alt="Screenshot 2024-05-30 at 12 05 35 PM"
src="https://github.com/zed-industries/zed/assets/1486634/4e9a2a65-8aaa-4df1-98c4-4dd4e7874514">
Release Notes:
- N/A
This PR sorts the `file_types.json` file alphabetically.
This is the command I used to sort it:
```
pnpm --package=json-sort-cli dlx jsonsort assets/icons/file_icons/file_types.json
```
Release Notes:
- N/A
Marshall Bowers
created
3c5d141
Force 60 minutes timeout for all regular CI jobs (#12486)
Click to expand commit body
After gazing at
https://github.com/zed-industries/zed/actions/runs/9296132630/job/25596939148
for some time, I've decided to add a hard limit on every test-related CI
job.
Release Notes:
- N/A
Kirill Bulatov
created
bf7c6a6
rustdoc_to_markdown: Recognize code blocks in other languages (#12484)
Click to expand commit body
This PR updates `rustdoc_to_markdown` to be able to recognize code
blocks using non-Rust languages.
Release Notes:
- N/A
Marshall Bowers
created
a259042
Make slash commands more discoverable (#12480)
436a8fa
php: Update Pest tree-sitter queries to capture single quotes (#12467)
Click to expand commit body
Improved PHP Pest outline and runnables to support single quoted
arguments
([#12461](https://github.com/zed-industries/zed/issues/12461)).
Release Notes:
- N/A
| Before | After |
|--------|--------|
|

| 
|
| 
| 
|
Sean Washington
created
55c4730
Align the inline assistant correctly (#12478)
Click to expand commit body
Release Notes:
- Fixed the the alignment for the inline assistant.
Antonio Scandurra
created
6ff01b1
Improve model selection in the assistant (#12472)
Click to expand commit body
https://github.com/zed-industries/zed/assets/482957/3b017850-b7b6-457a-9b2f-324d5533442e
Release Notes:
- Improved the UX for selecting a model in the assistant panel. You can
now switch model using just the keyboard by pressing `alt-m`. Also, when
switching models via the UI, settings will now be updated automatically.
When running the tests for linux, I found a lot of benign errors getting
logged. This PR cuts down some of the noise from unnecessary workspace
serialization and SVG renders
Release Notes:
- N/A
This PR fixes an issue in `rustdoc_to_markdown` with code blocks being
trimmed incorrectly.
We were erroneously popping from the current element stack even if we
didn't push an element onto the stack.
Added test coverage for this case as well, so we don't regress.
Release Notes:
- N/A
This PR makes it so Rust code blocks are recognized and
syntax-highlighted when converting from rustdoc to Markdown.
Release Notes:
- N/A
Marshall Bowers
created
b8d9713
Make prompt library icon in context panel staff-only for now (#12457)
Click to expand commit body
This is still pretty raw, so I'd like to hold off on shipping it to all
users.
Release Notes:
- Hide the prompt library for non-staff until it is in a more complete
state.
Nathan Sobo
created
abec028
rustdoc_to_markdown: Clean up heading spacing (#12456)
Click to expand commit body
This PR cleans up the spacing around the Markdown headings in the output
so that they are consistent.
Release Notes:
- N/A
This PR adds a `/rustdoc` slash command for retrieving and inserting
rustdoc docs into the Assistant.
Right now the command accepts the crate name as an argument and will
return the top-level docs from `docs.rs`.
Release Notes:
- N/A
Marshall Bowers
created
dd328ef
Compute git statuses using the bundled git executable, not libgit2 (#12444)
Click to expand commit body
I realized that somehow, the `git` executable is able to compute `git
status` much more quickly than libgit2, so I've switched our git status
logic to use `git`. Follow-up to
https://github.com/zed-industries/zed/pull/12266.
Release Notes:
- Improved the performance of git status updated when working in large
git repositories.
- Added support for xdg trash when deleting files on linux
- moved ashpd depency to toplevel to use it in both fs and gpui
If I need to add test, or change anything, please let me know. I tested
locally by creating and deleting a file and confirming it showed up in
my trashcan, but that probably a less than ideal method of confirming
correct behavior
Also, I could remove the delete directory function for linux, and change
the one configured for macos to compile for both macos and linux (they
are the same, the version of the function they are calling is
different).
Release Notes:
- N/A
This PR adds a new crate for converting rustdoc output to Markdown.
We're leveraging Servo's `html5ever` to parse the Markdown content, and
then walking the DOM nodes to convert it to a Markdown string.
The Markdown output will be continued to be refined, but it's in a place
where it should be reasonable.
Release Notes:
- N/A
Marshall Bowers
created
a22cd95
Fix deleted hunk offset when zooming (#12442)
Click to expand commit body
Release Notes:
- Fixed an issue where expanded hunks could be rendered at the wrong
position when zooming
- Fixed an issue where expanded hunks could be rendered at the wrong
position when toggling git blame
([#11941](https://github.com/zed-industries/zed/issues/11941))
Bennet Bo Fenner
created
44c50da
blade: Use BufferBelt from blade-utils (#12411)
Click to expand commit body
Release Notes:
- N/A
Follow-up to #12340
Carries https://github.com/kvark/blade/pull/122 and
https://github.com/kvark/blade/pull/119
dca5bc5
Fix editor scrolling when closing tab using middle mouse button (#12429)
Click to expand commit body
#12005 introduced a side effect, that would cause the editor to react to
a scroll event when using the middle mouse button to close a tab
Before:
https://github.com/zed-industries/zed/assets/53836821/46cb2e71-e9d5-477c-b34a-dc9b6bc9b1f1
After:
https://github.com/zed-industries/zed/assets/53836821/6ada7985-97c9-4b52-848f-c7f9461c5216
Release Notes:
- Fixed an issue where the editor would scroll upwards if other tabs
were closed using the middle mouse button
Bennet Bo Fenner
created
1db33b5
Always include context when performing inline transformation (#12426)
Click to expand commit body
Release Notes:
- Improved clarity for inline transformations by always including the
active assistant context.
You can see in the video that hunks were getting toggled even when
clicking on the scrollbar.
https://github.com/zed-industries/zed/assets/53836821/11f201e8-c5f1-49c8-a4d2-ac3b3343b5a8
This happened because the hitbox was actually extended to the left of
the hunk indicator, I believe that was done so that "Removed" hunk
indicators rendered correctly (Red triangles)
Fixed:
https://github.com/zed-industries/zed/assets/53836821/7b451b37-da85-4e56-9127-2a5512bd9e7a
Release Notes:
- Fixed hunk indicators getting expanded when clicking near them (but
not on them)
Bennet Bo Fenner
created
a0644ac
Allow specifying a custom limit for /search results (#12423)
f3e6a0b
project panel: Copy dragged entry when opt is pressed (#12348)
Click to expand commit body
Partially fixes #5119
TODO:
- [ ] Change cursor style to Copy when dragging an entry with opt
pressed.
Release Notes:
- Drag-and-dropping a project panel entry with opt modifier pressed now
copies the entry instead of moving it.
Piotr Osiewicz
created
4acfab6
Fix logic errors in `RateLimiter` (#12421)
Click to expand commit body
This pull request fixes two issues in `RateLimiter` that caused
excessive rate-limiting to take place:
- c19083a35c89a22395595f8934c117a14943ed24 fixes a mistake that caused
us to load buckets from the database incorrectly and set the
`refill_time_per_token` to equal the `refill_duration`. This was the
primary reason why rate limiting was acting oddly.
- 34b88d14f6d9fde4d967554fc2e81498c1be3e26 fixes another slight logic
error that caused tokens to be underprovisioned. This was minor compared
to the bug above.
Release Notes:
- N/A
Antonio Scandurra
created
3c6c850
task: Add re-run task button to terminal title (#12379)
Click to expand commit body
Release Notes:
- Added re-run task button to terminal title.
Close #12277
## Demo
https://github.com/zed-industries/zed/assets/5518/4cd05fa5-4255-412b-8583-68e22f86561e
---------
Co-authored-by: Piotr Osiewicz <piotr@zed.dev>
Jason Lee
and
Piotr Osiewicz
created
36d0b71
project panel: adjust right border and make active entry more prominent when panel is not focused (#12420)
Click to expand commit body
Release Notes:
- N/A
Piotr Osiewicz
created
ef58509
Show symlink tooltip on icon hover only (#12419)
Click to expand commit body
Small follow-up of https://github.com/zed-industries/zed/pull/12263
Release Notes:
- N/A
c03600c
Stop silently appending a system prompt for edit formatting (#12407)
Click to expand commit body
We should reintroduce this as part of the prompt library.
Release Notes:
- Removed an over-eager system prompt from the assistant that was
causing misbehavior. Going forward, our intent is to always let you
observe and edit text before we send it.
---------
Co-authored-by: Marshall <marshall@zed.dev>
82a57a1
Disable `calls.share_on_join` by default (#12401)
Click to expand commit body
This PR changes the default value of the `calls.share_on_join` setting
from `true` to `false`.
Nathan mentioned that project sharing should be opt-in so that projects
aren't shared unless you intend for them to be.
Release Notes:
- Changed the default `calls.share_on_join` value to `false`.
Marshall Bowers
created
7969a10
Support setting custom background color for syntax highlighting (#12400)
Click to expand commit body
Release Notes:
- Added support for `background_color` in `syntax` map in `theme.json`.
This adds support for setting a `background_color` for styles inside the
`syntax` map for themes defined in `theme.json`. The field is optional
so there should be no backwards compatibility issues.
It is worth noting that the current behaviour for selecting text is that
the background colours will mix/blend (I'm not sure the correct term
here). Changing this behaviour, or making it configurable, looks to be a
far more complex issue and I'm not sure I know how to do it.
This PR updates the Elixir docs with a note on how to switch to using
other language server.
Release Notes:
- N/A
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
barseek
and
Marshall Bowers
created
cd77e72
docs: Demonstrate disabling `solargraph` when enabling `ruby-lsp` (#12399)
Click to expand commit body
This PR fixes a small issue in the Ruby docs, where we weren't properly
demonstrating that `solargraph` should be disabled when enabling
`ruby-lsp`.
Release Notes:
- N/A