98132978925c7a2363d8096a9246b808d64a0c90
Buffers carry several pieces of state besides their text: syntax tree, diagnostics, git diff, and file data. Previously, the buffer maintained a separate integer version number for each of these four pieces of state, incrementing it every time that piece of state is updated. This is used by MultiBuffers to detect when they need to update excerpts. Previously, for a given buffer, these four version numbers were stored on the buffer itself, on every snapshot of the buffer, in any multi-buffer that referenced that buffer, **and** on snapshots of that multi-buffer. But the only use for the version numbers was reduced down to a single boolean predicate: whether or not the buffer's state has changed. In this PR, I've combined those 4 version numbers into one. I've called it `non_text_state_update_count` because it tracks all state updates outside of the text itself. This removes a bunch of unnecessary code, and reduces the size of buffer snapshots and multi-buffer snapshots. Release Notes: - N/A
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 using Homebrew:
brew install --cask zed
Alternatively, to install the Preview release:
brew install --cask zed@preview
Developing Zed
- Building Zed for macOS
- Building Zed for Linux
- Building Zed for Windows
- Running Collaboration Locally
Contributing
See CONTRIBUTING.md for ways you can contribute to Zed.
Also... we're hiring! Check out our jobs page for open roles.
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%