Commit log

5e7d9dc Add hunk merging

Piotr Osiewicz created

b66453e fixup! Do not render multiple hunks for the same line

Piotr Osiewicz created

0b0a161 Show inlay hints on startup for every language server with work events

Click to expand commit body
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.

Kirill Bulatov created

492b849 Do not render multiple hunks for the same line

Piotr Osiewicz created

8ced7ab Merge branch 'main' into Z-1292/show_search_results_in_scrollbar

Piotr Osiewicz created

c298cf7 Use less padding for typescript parameter hints (#2684)

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

Release Notes:

- N/A

Kirill Bulatov created

1936bde Use less padding for typescript parameter hints

Kirill Bulatov created

dd66294 Fix panic when saved conversations directory changes (#2685)

Click to expand commit body
Fixes
https://linear.app/zed-industries/issue/Z-2542/deleting-assistant-conversations-with-zed-open-can-cause-a-crash

We were updating the view's state but missed a `notify`, which caused
the `UniformList` responsible for rendering the saved conversations to
panic when some files were deleted.

Release Notes:

- Fixed a crash that could happen when deleting a saved assistant
conversation from the filesystem.

Antonio Scandurra created

f6c96ec Fix panic when saved conversations directory changes

Click to expand commit body
We were updating the view's state but missed a `notify`, which caused
the `UniformList` responsible for rendering the saved conversations
to panic when some files were deleted.

Antonio Scandurra created

801f41e Move audio dependency to dev

Mikayla Maki created

8b8bafe Remove spurious audio depedency

Mikayla Maki created

594b6e8 collab 0.16.0

Mikayla Maki created

6a15ae9 v0.95.x dev

Joseph T. Lyons created

76873c5 Z-2276/Z-2275: Project & Branch switchers (#2662)

Click to expand commit body
This PR adds project and branch switchers in top left corner. 

Release Notes:
- Added a project & branch switcher under project name.

Nate Butler created

b80281e cargo fmt

Piotr Osiewicz created

1baa135 Update project & git menus to be Toggleable<Interactive<ContainedText>>

Click to expand commit body
Co-Authored-By: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>

Nate Butler and Piotr Osiewicz created

afccf60 updated both embed and parsing tasks to be multi-threaded.

KCaverly created

de01fa1 Update collaboration sounds, add sounds to screensharing (#2679)

Click to expand commit body
Updates all collab sounds, add screen sharing sounds.

Release Notes:

- Improved collaboration sounds for joining and leaving a call, muting
and unmuting the mic.
- Added a sound when you start and stop screen sharing.

Nate Butler created

0e0d78d Do not render recent paths in toolbar's project switcher

Piotr Osiewicz created

ec47464 branch_list: Show match count on the right hand side of a header.

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

Piotr Osiewicz and Antonio created

85add26 Track regions instead of clicks.

Click to expand commit body
Get rid of superfluous params in RenderParams related to hover & click state.

Co-authored-by: Antonio <antonio@zed.dev>

Piotr Osiewicz and Antonio created

eff0ee3 enabled batching for embedding calls

KCaverly created

91a94d2 Simplify inlay map data (#2683)

Click to expand commit body
Current logic does not need to access inlays by id in O(1), future
dynamic hints would need to know which hint they hover at, but that will
be done using binary search over the position's anchor we hover on;
nothing else seems to need this HashMap in the near future.

Because of that removal, no need to store `InlayId` apart from the
`Inlay`, hence remove the `InlayProperties` struct entirely.
This allows to eliminate a few generics along the way.

Release Notes:

- N/A

Kirill Bulatov created

cc88bff Fix click-through behaviour of git panel

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

Piotr Osiewicz and Antonio created

d7f6b5e Remove InlayProperties

Kirill Bulatov created

6ba1c30 Simplify inlay map data

Kirill Bulatov created

8b3b1a6 fixup! Remove stacks from branch list header

Piotr Osiewicz created

64b77bf Remove stacks from branch list header

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

Piotr Osiewicz and Antonio created

5505ebf Support `assistant: quote selection` on multibuffers (#2682)

Click to expand commit body
Fixes
https://linear.app/zed-industries/issue/Z-2430/assistant-quote-selection-does-not-work-in-multi-buffer

Release Notes:

- Added support for invoking `assistant: quote selection` (`cmd->`) when
editing a multi-buffer.

Antonio Scandurra created

d5f0df9 Support `assistant: quote selection` on multibuffers

Antonio Scandurra created

1914037 Restore focus to previously focused view when dismissing a modal (#2680)

Click to expand commit body
Fixes
https://linear.app/zed-industries/issue/Z-2500/focus-is-moved-from-the-assistant-panel-when-opening-and-closing

Release Notes:

- Fixed a bug that caused modals (such as the command palette) to not
restore focus when dismissing them.

Antonio Scandurra created

03a00df Restore focus to previously focused view when dismissing a modal

Antonio Scandurra created

a8602b2 Add `Modal::has_focus` and introduce a `ModalHandle` trait object

Antonio Scandurra created

25564ea Introduce a `WindowContext::focus` method that implies the window id

Antonio Scandurra created

a7ce602 Update collaboration sounds, add sounds to screensharing

Nate Butler created

31483db Accept `null` as a valid action, to disable a keystroke (#2678)

Click to expand commit body
Deals with https://github.com/zed-industries/community/issues/772
Closes
https://linear.app/zed-industries/issue/Z-1518/allow-keybindings-to-be-removed

Now, configuration like 
```json5
[
    {
        "context": "Editor",
        "bindings": {
            "alt-v": null,
        }
    }
]
```

will make `alt+v` to print `√` instead of moving the caret one page up.

Release Notes:

- Added a way to disable keybindings with `null` value

Kirill Bulatov created

b6520a8 updated vector_store to reindex on save after timed delay

KCaverly created

4c51ab8 Accept `null` as a valid action, to disable a keystroke

Click to expand commit body
co-authored-by: Mikayla Maki <mikayla@zed.dev>

Kirill Bulatov and Mikayla Maki created

76af424 Rename `color_scheme` -> `theme` (#2677)

Click to expand commit body
Just some theme tidying, renames some things to be more consistent with
our planned naming conventions going forward.

Release Notes:

- N/A (No public facing changes)

Nate Butler created

e45d3a0 WIP: initial reindexing logic worked out

KCaverly created

48371ab Remove PickerEvent::Dismiss emission from picker header

Piotr Osiewicz created

e9b34de Fix click behaviour of vcs/project dropdowns

Piotr Osiewicz created

0d18b72 vim: Further improve ~ handling

Click to expand commit body
Now works with Visual{line} mode, collapses selections like nvim,
and doesn't fall off the end of the line.

Conrad Irwin created

f461a70 Remove unused ts aliases

Nate Butler created

65dbb38 `color_scheme` -> `theme`

Nate Butler created

c5a42c3 Remove unused `color_scheme` field in the theme (#2676)

Click to expand commit body
We removed the `theme_testbench` crate a while back - It seems like that
was the only thing using the `color_scheme` field in the exported theme.

Removing this from the theme removes something like 42k lines of
generated JSON every time we build the theme (2k lines / 28% of the
total lines per generated theme!)

Release Notes:

- N/A (No public facing changes)

Nate Butler created

a732b2e Remove unused `color_scheme` field in the theme

Click to expand commit body
I totally didn't mean to commit this right to main T_T

Nate Butler created

c409059 Revert "Remove unused `color_scheme` field in the theme"

Click to expand commit body
This reverts commit 5a1476a1e58c43e64d051e5af9786d8edaa85088.

Nate Butler created

5a1476a Remove unused `color_scheme` field in the theme

Nate Butler created

0b4c5db Use theme store to pass `color_scheme` directly to components (#2675)

Click to expand commit body
This PR adds a theme store to allow components to directly access the
theme without requiring it to be passed down as props every time it is
used.

So before, you might need to do something like `text(theme, "variant",
"hovered")`, you could now just call `text("variant", "hovered")`.

This also means that style_trees don't need to be called with a theme
either:

```ts
export default function app(): any {
    const theme = useTheme()

    return {
        meta: {
            name: theme.name,
            is_light: theme.is_light,
        },
        command_palette: command_palette(),
        contact_notification: contact_notification(),
        // etc...
    }
}
```

We do this by creating a zustand store to store the theme, and allow it
to be accessed with `useThemeStore.getState().theme`.

```ts
import { create } from "zustand"
import { ColorScheme } from "./color_scheme"

type ThemeState = {
    theme: ColorScheme | undefined
    setTheme: (theme: ColorScheme) => void
}

export const useThemeStore = create<ThemeState>((set) => ({
    theme: undefined,
    setTheme: (theme) => set(() => ({ theme })),
}))

export const useTheme = (): ColorScheme => {
    const { theme } = useThemeStore.getState()

    if (!theme) throw new Error("Tried to use theme before it was loaded")

    return theme
}
```

Release Notes:

- N/A (No public facing changes)

Nate Butler created