Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
Go to file
Andrew Lygin 1c2081c10c
Search bar UI enhancements (#7675)
This PR introduces several enhancements (along with fixing a couple of
bugs) in the search bar UI (copied from [this
comment](https://github.com/zed-industries/zed/issues/7663#issuecomment-1937659091)):

- Moving the Replace field under the Search field makes it easier to
compare texts and avoid typos. Also, less eyes movements.
- Use red (error) color to indicate that nothing matched. VSCode, IDEA
do this. Again, it helps to get a quicker feedback on typos without
moving your eyes.
- Much less moving parts and no place for flickering.
- Better fits to narrow panes.
- The Close button that allows to close the search bar with the mouse.
- Better keyboard handling (tab, shift+tab in the replacement mode),
autofocus on the Replace field.

How it looks:


https://github.com/zed-industries/zed/assets/2101250/93b0edb4-4311-4a7f-9f43-b30c4d1aede5

Implementation details:

- Using `Self::on_query_editor_event` looked suspicious
[here](2880135037/crates/search/src/buffer_search.rs (L491))
because it triggered searching on the replacement text changes. I've
created a separate method for the replacement editor.
- These changes don't affect the project search bar. If the PR is
accepted, the same changes may be implemented there.

Fixed issues:

- #7661
- #7663

Release Notes:

- Buffer search bar UI enhancements.
2024-02-12 10:01:57 -08:00
.cargo Remove 2 suffix from gpui_macros, fix compile errors in tests 2024-01-03 13:12:21 -08:00
.config tests: Test 'db' package sequentially (#2654) 2023-06-28 15:00:43 +02:00
.github Bump action runners versions 2024-02-09 15:25:16 +02:00
.zed WIP: Add a setting to visually redact enviroment variables (#7124) 2024-01-31 11:42:09 -08:00
assets Allow OpenAI API URL to be configured via assistant.openai_api_url (#7552) 2024-02-12 11:37:27 -05:00
crates Search bar UI enhancements (#7675) 2024-02-12 10:01:57 -08:00
docs Add Clojure language support with tree-sitter and LSP (#6988) 2024-02-10 13:28:48 -08:00
plugins Use the same serde version across the entire workspace 2023-03-28 09:42:00 -07:00
script Correct typo in bundle script comment (#7682) 2024-02-12 10:30:38 +02:00
.dockerignore Add serialized versions of themes (#6885) 2024-01-27 13:35:43 -05:00
.gitattributes Prevent GitHub from displaying comments within JSON files as errors (#7043) 2024-01-29 23:11:25 -05:00
.gitignore Add serialized versions of themes (#6885) 2024-01-27 13:35:43 -05:00
.gitmodules WIP: start on live_kit_server 2022-10-17 09:59:16 +02:00
.mailmap Update .mailmap (#7578) 2024-02-08 12:08:37 -05:00
Cargo.lock linux: switch to srgb color space output (#7666) 2024-02-10 20:19:00 -08:00
Cargo.toml Add Clojure language support with tree-sitter and LSP (#6988) 2024-02-10 13:28:48 -08:00
CODE_OF_CONDUCT.md Add CODE_OF_CONDUCT.md (#4239) 2024-01-23 22:31:39 -05:00
CONTRIBUTING.md Style crate names in CONTRIBUTING.md (#6939) 2024-01-28 11:07:37 -05:00
debug.plist WIP 2023-12-14 09:25:14 -07:00
docker-compose.sql Add config files for running Postgres inside Docker Compose (#3637) 2023-12-13 17:25:07 -05:00
docker-compose.yml Add config files for running Postgres inside Docker Compose (#3637) 2023-12-13 17:25:07 -05:00
Dockerfile chore: Bump Rust version to 1.76 (#7592) 2024-02-09 10:45:39 +02:00
LICENSE-AGPL chore: Add crate licenses. (#4158) 2024-01-23 16:56:22 +01:00
LICENSE-APACHE chore: Add crate licenses. (#4158) 2024-01-23 16:56:22 +01:00
LICENSE-GPL Licenses: change license fields in Cargo.toml to AGPL-3.0-or-later. (#5535) 2024-01-27 13:51:16 +01:00
Procfile Update procfile and local development docs, zed.dev is no longer needed 2024-01-17 13:28:58 -08:00
README.md Note installation step via Homebrew (#7053) 2024-01-30 21:47:30 -05:00
rust-toolchain.toml chore: Bump Rust version to 1.76 (#7592) 2024-02-09 10:45:39 +02:00
typos.toml Fix typos configuration (#6877) 2024-01-27 11:03:25 -05:00

Zed

CI

Welcome to Zed, a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.

Installation

You can download Zed today for macOS (v10.15+).

Support for additional platforms is on our roadmap:

For macOS users, you can also install Zed from Homebrew:

brew install zed

Developing Zed

Contributing

See CONTRIBUTING.md for ways you can contribute to Zed.

Licensing

License information for third party dependencies must be correctly provided for CI to pass.

We use cargo-about to automatically comply with open source licenses. If CI is failing, check the following:

  • Is it showing a no license specified error for a crate you've created? If so, add publish = false under [package] in your crate's Cargo.toml.
  • Is the error failed to satisfy license requirements for a dependency? If so, first determine what license the project has and whether this system is sufficient to comply with this license's requirements. If you're unsure, ask a lawyer. Once you've verified that this system is acceptable add the license's SPDX identifier to the accepted array in script/licenses/zed-licenses.toml.
  • Is cargo-about unable to find the license for a dependency? If so, add a clarification field at the end of script/licenses/zed-licenses.toml, as specified in the cargo-about book.