1c2081c10cf95138015018a76c4795c76176796e
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](https://github.com/zed-industries/zed/blob/288013503755f0d44feff6a517169a2861b43f26/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.
Zed
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:
- Linux (tracking issue)
- Windows (tracking issue)
- Web (tracking issue)
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 specifiederror for a crate you've created? If so, addpublish = falseunder[package]in your crate's Cargo.toml. - Is the error
failed to satisfy license requirementsfor 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 theacceptedarray inscript/licenses/zed-licenses.toml. - Is
cargo-aboutunable to find the license for a dependency? If so, add a clarification field at the end ofscript/licenses/zed-licenses.toml, as specified in the cargo-about book.
Description
GPUI – Community Edition maintained by Oak Team
https://gpui-ce.github.io/
258 MiB
Languages
Rust
95.6%
WGSL
1.2%
Metal
1.1%
HLSL
1.1%
Python
0.6%
Other
0.3%