Commit log

4125e7e editor: Keep scrollbar up if there are selections (#2698)

Click to expand commit body
Z-2556

/cc @JosephTLyons 

Release Notes:

- N/A

Piotr Osiewicz created

e83afdc Rename background_highlights_in_range_for_key to background_highlights_in_range_for

Piotr Osiewicz created

4f60679 Highlight only search results

Piotr Osiewicz created

dce72a1 updated tests to accomodate for new dot location

KCaverly created

307d8d9 Reduced redundant database connections on each worktree change.

Click to expand commit body
Co-authored-by: maxbrunsfeld <max@zed.dev>

KCaverly and maxbrunsfeld created

82079dd Updated batching to accomodate for full flushes, and cleaned up reindexing.

Click to expand commit body
Co-authored-by: maxbrunsfeld <max@zed.dev>

KCaverly and maxbrunsfeld created

a6d713e editor: Keep scrollbar up if there are selections

Click to expand commit body
Z-2556

Piotr Osiewicz created

e00e73f branches: Add a modal branch list.

Click to expand commit body
Extract branch list into a separate vcs_menu crate akin to recent_projects.
Add current bind for a modal branch to branch popover's tooltip.

Z-2555

Piotr Osiewicz created

6739c31 Update assistant styles (#2665)

Click to expand commit body
Updates the assistant with some style quality of life changes.

## Changes

Restyled the conversation list

<img width="646" alt="CleanShot 2023-07-10 at 10 25 23@2x"
src="https://github.com/zed-industries/zed/assets/1714999/5c9a4f94-11c1-4d28-8aac-4d38141829a9">

Updated the assistant header to be a bit more compact, and use a new tab
bar icon style. The existing tab bar icons will be updated in a later
PR.

<img width="646" alt="CleanShot 2023-07-10 at 10 26 30@2x"
src="https://github.com/zed-industries/zed/assets/1714999/3ef9a053-59fa-4d34-9b76-3bb2701acb33">

Updated the remaining token indicator to have 3 steps:
<img width="662" alt="CleanShot 2023-07-10 at 10 29 51@2x"
src="https://github.com/zed-industries/zed/assets/1714999/13d31545-5b00-427c-b7da-b4dfeac037d6">

Updated role labels, added a hover state to make it more clear these are
interactive
<img width="984" alt="CleanShot 2023-07-10 at 10 32 28@2x"
src="https://github.com/zed-industries/zed/assets/1714999/24748495-dde4-4ee9-98f1-6a082f0c1d4d">


Release Notes:

- Improved the UI of some elements in the Assistant panel.

Nate Butler created

a75a7e2 Add tooltip to recent projects button (#2694)

Click to expand commit body
Z-2545

Release Notes:

- N/A

Piotr Osiewicz created

92a0a4e Add styles for branch create button

Piotr Osiewicz created

273b9e1 Avoid overlapping the scrollbar

Nate Butler created

9ffe220 Update tab_bar_button.ts

Nate Butler created

4029481 Merge branch 'main' into update-assistant-styles

Nate Butler created

f0cddeb Update zoom icons

Nate Butler created

0189742 pulled treesitter parsing to own file for ease of testing and management

KCaverly created

3318896 Display key bind of a modal project picker

Piotr Osiewicz created

6c8cb6b project_search: display result count on cmd-enter

Click to expand commit body
It also focuses the first result (just like a normal enter).

Piotr Osiewicz created

6e24ded collab_ui: Add tooltip to branches popover (#2695)

Click to expand commit body
Z-2554

Release Notes:

- N/A

Piotr Osiewicz created

52a497b Remove code block for GitHub release notes

Click to expand commit body
Discord can directly render the Markdown now.

Joseph T. Lyons created

460bf93 vim: { } to navigate by paragraph (#2668)

Click to expand commit body
As part of this I added `assert_shared_state()` to the
NeovimBackedTestContext so that it is more like a drop-in replacement
for the VimTestContext.

The remaining part of zed-industries/community#682 is adding bracket
matching to plain text. It looks like the current logic requires there
to be a tree sitter language for the language in order to support
bracket matching. I didn't fix this in this PR because I was unsure
whether to try and work around that, or to try and add a plain text tree
sitter language.

Release Notes:

- vim: support `{` and `}` for paragraph motion
([#470](https://github.com/zed-industries/community/issues/470)).
- vim: fix `%` at the end of the line
([#682](https://github.com/zed-industries/community/issues/682)).

Conrad Irwin created

362023c vim: keymap tweaks (#2674)

Click to expand commit body
A few small tweaks to fix some of the community issues

Release Notes:

- vim: Fix `escape` in command palette
([#1347](https://github.com/zed-industries/community/issues/1347)).
- vim: Allow `^` as a motion in actions
([#856](https://github.com/zed-industries/community/issues/856)).
- vim: Allow `ctrl-c` to exit visual mode
([#1447](https://github.com/zed-industries/community/issues/1447)).

Conrad Irwin created

da7dce7 Prevent duplicate instances by coordinating via a socket (#2691)

Click to expand commit body
We've been getting a bunch of panics from duplicate app instances
competing over the local sqlite DB. After chatting with @mikayla-maki we
determined it was probably best to add our own mechanism to prevent
duplicates rather than just relying on the OS. My logic is that we'd
need to build a system like this eventually for Windows/Linux anyway so
it's more appealing than reworking our local DB access to be able to
cooperate with another process while likely isn't something we want to
support anyway.

I attempted to keep this mechanism conservative so in the case of
another program interfering with it we should fail somewhat gracefully
and still continue to launch, albeit without the ability to prevent
another instance from launching.

Fixes
https://linear.app/zed-industries/issue/Z-2435/thread-background-executor-1-panicked-at-could-not-send-write-action

Release Notes:
- Added a mechanism to prevent duplicate Zed instances from launching to
avoid a crash.

Julia created

3f5667b merged main

KCaverly created

caa29d5 Avoid checking for duplicate instance when local DB is disabled

Julia created

b70b760 Use different port and handshake for different release channels

Julia created

66bf56f Prevent duplicate instances by coordinating via a socket

Julia created

4a69c71 fixup! vcs: Add 'create branch' button

Piotr Osiewicz created

cb24cb1 vcs: Add 'create branch' button

Piotr Osiewicz created

d69b07b Add tooltip to recent projects button

Click to expand commit body
Z-2545

Piotr Osiewicz created

abf3b4a chore: Replace lazy_static Mutex with const. (#2693)

Click to expand commit body
Mutex::new() is const-stable as of Rust 1.63.

Release Notes:
- N/A

Piotr Osiewicz created

79ece8a Skip key down event if preceded by its key equivalent version (#2692)

Click to expand commit body
Fixes
https://linear.app/zed-industries/issue/Z-2552/pressing-two-keystrokes-in-rapid-succession-ignores-the-latter

Previously, we would only track whether the previous key down event was
a key equivalent. However, this could cause issues when pressing certain
keystrokes in rapid succession, e.g.:

- Pressing `shift-right` (to select a character, dispatched as a key
equivalent)
- Pressing a character (with or without `shift` held down, dispatched as
a key down)

This would cause GPUI to ignore the second event because it was preceded
by a key equivalent event. With this commit, we track the last key
equivalent event, and skip the key down event only if it matches the
last key equivalent event.

Release Notes:

- Fixed a bug that could cause certain keystrokes performed in rapid
succession to incorrectly get ignored.

Antonio Scandurra created

318deed Skip key down event if preceded by its key equivalent version

Click to expand commit body
Previously, we would only track whether the previous key down event
was a key equivalent. However, this could cause issues when pressing
certain keystrokes in rapid succession, e.g.:

- Pressing `shift-right` (to select a character)
- Pressing a character (with or without `shift` held down)

This would cause GPUI to ignore the second event because it was
preceded by a key equivalent event. With this commit, we track the
last key equivalent event, and skip the key down event only if it
matches the last key equivalent event.

Antonio Scandurra created

c03dda1 fixed bug on absolute vs relative path

KCaverly created

6f1e988 updated embedding treesitter query for python

KCaverly created

7d634f6 updated vector_store to include extra context for semantic search modal

KCaverly created

4ab2b8b Restart LSP server on corresponding `initialization_options` change (#2690)

Click to expand commit body
Inlay hints depend on LSP server settings, but servers do not update the
initialization options and query hints with old settings.

Generally, we cannot know whether a certain option can be changed
without server restart, which the name of the options implies too, so be
on the safe side and restart the server.
Hints will update automatically after the server either sends a /refresh
request or reports its work progress end after startup.

Release Notes:

- Fixed LSP server not restarting after `initialization_options`
settings changes

Kirill Bulatov created

e6ec0af Remove redundant hint kind checks in tests

Kirill Bulatov created

fff6596 Restart LSP server on initialization options change

Kirill Bulatov created

e57f6f2 reindexing update to appropriately accomodate for buffer delay and persistent pending files list

KCaverly created

3ca0170 Z 1332/show search results in scrollbar (#2687)

Click to expand commit body
This PR adds highlighting of search results to the scrollbar.

Release Notes:

- Added highlighting of search results to the scrollbar.

Piotr Osiewicz created

a86b6c4 corrected batching order and managed for open ai embedding errors

KCaverly created

793eff1 Update scrollbar selection style

Nate Butler created

b4ed034 Filter out non-json files when loading conversations (#2688)

Click to expand commit body
Fixes
https://linear.app/zed-industries/issue/Z-2540/filter-out-non-conversation-files-from-the-assistant-history

Antonio Scandurra created

2c7e5e0 Clip find preceding boundary (#2689)

Click to expand commit body
Fixes inability to do `alt + left arrow` when an inlay with `Bias::Left`
is right to the left of the caret.

Release Notes:

- N/A

Kirill Bulatov created

11ae99f Add a test

Kirill Bulatov created

708852a Clip left when finding preceding (line) boundary

Click to expand commit body
This fixes an issue that was causing `alt-left` to not move the cursor
when it was located right after an inlay hint with a `Left` bias.

Antonio Scandurra created

348c93e Show inlay hints on startup for every language server with work events (#2686)

Click to expand commit body
Closes https://linear.app/zed-industries/issue/Z-2537/inlay-hint-issues

Language servers such as typescript-language-servers report a single
work event, ending right after server's startup.

Other servers might send more similar event, also during startup. The
rest of the events are diagnostic-related and we filter them out.

React on such events with /refresh-like hint update, that will check
only the visible part of the editor for hints and might be replaced by
other /refresh requests, if needed.

Release Notes:

- N/A

Kirill Bulatov created

5408275 Filter out non-json files when loading conversations

Antonio Scandurra created

3e245fe Save a flushing line instead of discarding it

Piotr Osiewicz created