This is a follow-up to a recent patch I've submitted to this crate to
improve compile time and runtime (in older versions file lookup was
essentially O(n) with respect to path count, now it's O(log n))
Release Notes:
- N/A
This is a deep cut. There's still more work to do until we start
building UI with this. I've approached this as additively as possible,
but I've made a few changes to the rest of the code that I think would
be good to upstream before proceeding too much further.
Most of the interesting pieces are in gpui/playground, which is a
standalone binary that opens a single window and renders a new kind of
element. The layout of these new elements is provided by the taffy
layout engine crate, which conforms to web conventions. The idea is that
playground is relatively cheap to build and work on. As concepts
coalesce in playground, we can drop them into gpui and start
transitioning.
- vim: support P for paste before
- vim: support P in visual mode for paste without overriding clipboard
- vim: fix position when using `p` on text copied outside zed
- vim: fix indentation when using `p` on text copied from zed
This PR adds new config option to language config called
`word_boundaries` that controls which characters should be recognised as
word boundary for a given language. This will improve our UX for
languages such as PHP and Tailwind.
Release Notes:
- Improved completions for PHP
[#1820](https://github.com/zed-industries/community/issues/1820)
---------
Co-authored-by: Julia Risley <julia@zed.dev>
[This PR has been sitting around for a
bit](https://github.com/zed-industries/zed/pull/2845). I received a bit
of mixed opinions from the team on how this setting should work, if it
should use the full model names or some simpler form of it, etc. I went
ahead and made the decision to do the following:
- Use the full model names in settings - ex: `gpt-4-0613`
- Default to `gpt-4-0613` when no setting is present
- Save the full model names in the conversation history files (this is
how it was prior) - ex: `gpt-4-0613`
- Display the shortened model names in the assistant - ex: `gpt-4`
- Not worry about adding an option to add custom models (can add in a
follow-up PR)
- Not query what models are available to the user via their api key (can
add in a follow-up PR)
Release Notes:
- Added a `default_open_ai_model` setting for the assistant (defaults to
`gpt-4-0613`).
---------
Co-authored-by: Mikayla <mikayla@zed.dev>
Small PR aimed at improving a few edge cases for semantic indexing large
projects.
Release Notes (Preview-only).
- Batched large files with a number of documents greater than
EMBEDDINGS_BATCH_SIZE.
- Ensured that the job handle counting mechanism is consistent with
inner file batching.
- Updated tab content names for semantic search, to match text/regex
searches.
This reduces our dep count by 1% at the expense of not supporting
playback of .flac, .mp3 and .vorbis formats. We only use .wav anyways.
Release Notes:
- N/A
This reverts commit c0f042b39a, where I
deleted the semantic-search related UI code.
Apologies to @KCaverly for the misunderstanding
Release Notes:
- N/A
This PR just moves some code around, with the goal of making it easier
to find things in the `collab::db` module. That has become a large
module. Previously, most of the logic lived in one giant `impl Database`
item in `db.rs`.
I broke up this `impl` into several different `impl` blocks, grouped by
topic, each in a different file in a folder called `queries`.
I also pulled out the macro-generated id types into their own file,
moved the `TestDb` struct into its own file, and moved the `sea_orm`
entity declarations into a folder called `tables`.
New folder structure:
```
db
├── db_tests.rs
├── ids.rs
├── queries
│ ├── access_tokens.rs
│ ├── channels.rs
│ ├── contacts.rs
│ ├── projects.rs
│ ├── rooms.rs
│ ├── servers.rs
│ ├── signups.rs
│ └── users.rs
├── queries.rs
├── tables
│ ├── access_token.rs
│ ├── channel.rs
│ ├── channel_member.rs
│ ├── channel_path.rs
│ ├── contact.rs
│ ├── follower.rs
│ ├── language_server.rs
│ ├── project.rs
│ ├── project_collaborator.rs
│ ├── room.rs
│ ├── room_participant.rs
│ ├── server.rs
│ ├── signup.rs
│ ├── user.rs
│ ├── worktree.rs
│ ├── worktree_diagnostic_summary.rs
│ ├── worktree_entry.rs
│ ├── worktree_repository.rs
│ ├── worktree_repository_statuses.rs
│ └── worktree_settings_file.rs
├── tables.rs
└── test_db.rs
```
Release Notes:
- N/A
Increase the indent size on channels
Switch font UI mono
Release Notes:
- Switch the collaboration panel font to Zed's sans-mono (preview only)
- Switch the default dock side to the left (preview-only)
- Increase the indent size on the channels panel (preview-only)
Bumps Tree-sitter for
https://github.com/tree-sitter/tree-sitter/pull/2526.
Release Notes:
- Fixed a bug where small syntax errors would mess up syntax
highlighting more than necessary when editing certain languages, like
Scheme and PHP.
This fixes PHP variable completion. When we were querying for completions, PHP LS returned proper matches for variables which we filtered out as our query did not include a `$` character.
Z-2819
Fixes
https://linear.app/zed-industries/issue/Z-1510/join-project-notification-takes-up-full-screen-on-a-second-monitor
There were multiple mistakes in the positioning of Zed's notification
windows, one of which lead to the notifications taking up the full
screen on secondary displays 😱 .
* Wrong sign for the vertical padding (moving the window *upward*
instead of downward)
* Using the screen's full frame instead of its "visible frame" (which
accounts for app menu bar)
* Wrong coordinate translation between our coordinates and AppKit's
coordinates. Regardless of which display a given window appears on, the
coordinate translation needs to use the height of the *main* display.
Release Notes:
- Fixed a bug where call notifications were accidentally full-screen on
all displays except the main display.