zed/crates
Max Brunsfeld 9813297892
Combine multiple buffer update count fields into one (#13449)
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
2024-06-23 22:20:10 -07:00
..
activity_indicator Make LSP task cancellation discoverable (#13226) 2024-06-18 12:44:35 -07:00
anthropic Make Claude 3.5 the default Anthropic model (#13324) 2024-06-21 18:47:38 +02:00
assets Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
assistant assistant: Fix gutter width (#13373) 2024-06-21 19:59:46 +02:00
assistant_slash_command assistant: Include worktree name in diagnostics slash command (#13354) 2024-06-21 11:48:52 +02:00
assistant_tooling Bring the Tool Calling README up to date (#11683) 2024-05-12 04:47:19 -07:00
audio Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
auto_update auto-updates: Do not poll for updates on dev channel (#13311) 2024-06-20 15:00:54 +02:00
breadcrumbs Add more menus to Zed (#12940) 2024-06-18 12:16:54 -07:00
call Remove never-used client parameter from message handler functions (#13406) 2024-06-22 16:07:36 -07:00
channel Remove never-used client parameter from message handler functions (#13406) 2024-06-22 16:07:36 -07:00
cli windows: Improve file_finder to support match with unix style path (#12357) 2024-06-20 11:33:49 -07:00
client Remove never-used client parameter from message handler functions (#13406) 2024-06-22 16:07:36 -07:00
clock Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
collab Use - instead of _ in secret name 2024-06-23 15:32:47 -06:00
collab_ui Fix modality indicators in user menu (#13228) 2024-06-18 15:50:18 -04:00
collections gpui: Add SVG rendering to img element and generic asset cache (#9931) 2024-03-29 17:09:49 -07:00
command_palette Use UpdateGlobal accessors in more places (#11925) 2024-05-16 13:30:04 -04:00
command_palette_hooks Introduce InlineCompletionProvider (#9777) 2024-03-26 13:28:06 +01:00
copilot paths: Replace lazy_static! with OnceLock (#13213) 2024-06-18 12:22:37 -04:00
db paths: Replace lazy_static! with OnceLock (#13213) 2024-06-18 12:22:37 -04:00
dev_server_projects Remove never-used client parameter from message handler functions (#13406) 2024-06-22 16:07:36 -07:00
diagnostics Introduce multi-cursor inline transformations (#13368) 2024-06-21 17:41:43 +02:00
editor Combine multiple buffer update count fields into one (#13449) 2024-06-23 22:20:10 -07:00
extension Allow completing slash command arguments from extensions (#13240) 2024-06-18 17:58:57 -04:00
extension_api Allow completing slash command arguments from extensions (#13240) 2024-06-18 17:58:57 -04:00
extension_cli extension_cli: Allow building without dynamically linking WebRTC (#13080) 2024-06-14 20:13:31 -04:00
extensions_ui ui: Use PopoverMenu::new for constructing PopoverMenus (#13178) 2024-06-17 18:14:37 -04:00
feature_flags Make prompt library icon in context panel staff-only for now (#12457) 2024-05-29 16:53:45 -06:00
feedback Refine inline transformation UX (#12939) 2024-06-13 08:35:22 +02:00
file_finder Fix a prompt typo (#13416) 2024-06-23 07:39:01 -04:00
file_icons Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
fs paths: Replace lazy_static! with OnceLock (#13213) 2024-06-18 12:22:37 -04:00
fsevent Retain run loop (#11241) 2024-04-30 23:31:59 -06:00
fuzzy Introduce an outline panel (#12637) 2024-06-12 23:22:52 +03:00
git Introduce an outline panel (#12637) 2024-06-12 23:22:52 +03:00
git_hosting_providers Extract http from util (#11680) 2024-05-10 15:50:20 -06:00
go_to_line Add more menus to Zed (#12940) 2024-06-18 12:16:54 -07:00
google_ai Respect requested gemini model (#13427) 2024-06-23 14:10:31 -06:00
gpui project panel: Add vertical scrollbar (#13358) 2024-06-23 14:04:19 +02:00
gpui_macros gpui_macros: Disable doctests (#13015) 2024-06-13 18:45:28 -04:00
headless Remove never-used client parameter from message handler functions (#13406) 2024-06-22 16:07:36 -07:00
html_to_markdown assistant: Strip out general website chrome in /fetch command (#13264) 2024-06-19 09:50:02 -04:00
http zed_extension_api: Add github_release_by_tag_name (#12172) 2024-05-22 20:40:31 -04:00
image_viewer Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
inline_completion_button paths: Replace lazy_static! with OnceLock (#13213) 2024-06-18 12:22:37 -04:00
install_cli Fix flickering (#9012) 2024-03-11 10:45:57 +01:00
journal Add the ability for extensions to provide language settings (#10296) 2024-04-08 19:17:12 -04:00
language Combine multiple buffer update count fields into one (#13449) 2024-06-23 22:20:10 -07:00
language_selector Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
language_tools ui: Use PopoverMenu::new for constructing PopoverMenus (#13178) 2024-06-17 18:14:37 -04:00
languages YAML: set auto_indent_using_last_non_empty_line to false (fix wonky formatting) (#13351) 2024-06-21 10:58:44 +02:00
live_kit_client extension_cli: Allow building without dynamically linking WebRTC (#13080) 2024-06-14 20:13:31 -04:00
live_kit_server Vendor LiveKit protocol (#11672) 2024-05-10 14:18:40 -04:00
lsp Demote LSP request time log to trace level 2024-06-22 15:59:53 -07:00
markdown Pull app / OS info out of GPUI, add Linux information, make fallible window initialization (#12869) 2024-06-11 11:43:12 -07:00
markdown_preview Refine inline transformation UX (#12939) 2024-06-13 08:35:22 +02:00
media Revert "Revert "Revert dependency updates in #9836 (#10089)"" 2024-04-02 13:12:38 -06:00
menu Fix the linux keymap (#9829) 2024-03-26 16:10:09 -07:00
multi_buffer Combine multiple buffer update count fields into one (#13449) 2024-06-23 22:20:10 -07:00
node_runtime paths: Replace lazy_static! with OnceLock (#13213) 2024-06-18 12:22:37 -04:00
notifications Remove never-used client parameter from message handler functions (#13406) 2024-06-22 16:07:36 -07:00
ollama Allow Ollama Model KeepAlive to be None, defaulting to indefinite (#13059) 2024-06-14 10:33:28 -07:00
open_ai Improve model selection in the assistant (#12472) 2024-05-30 12:36:07 +02:00
outline Add more menus to Zed (#12940) 2024-06-18 12:16:54 -07:00
outline_panel Properly propagate git statuses in the outline panel (#13150) 2024-06-17 19:06:35 +03:00
paths settings: Load .zed/settings.json even if .gitignored (#13370) 2024-06-21 18:39:14 +02:00
picker Fix: Picker select_last not scrolling to item index (#13393) 2024-06-23 09:36:52 +02:00
prettier paths: Replace lazy_static! with OnceLock (#13213) 2024-06-18 12:22:37 -04:00
project Remove never-used client parameter from message handler functions (#13406) 2024-06-22 16:07:36 -07:00
project_panel project panel: Do not display scrollbar when entries do not overflow the panel (#13422) 2024-06-23 18:24:21 +02:00
project_symbols Add more menus to Zed (#12940) 2024-06-18 12:16:54 -07:00
proto Allow canceling in-progress language server work (e.g. cargo check) (#13173) 2024-06-17 17:58:47 -07:00
quick_action_bar Disable inline assist button when assistant is disabled (#13290) 2024-06-20 12:56:09 +03:00
recent_projects Respect workspace order in recent projects (#12844) 2024-06-20 13:16:23 +03:00
refineable Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
release_channel auto-updates: Do not poll for updates on dev channel (#13311) 2024-06-20 15:00:54 +02:00
repl repl: Add missing LICENSE file (#13161) 2024-06-17 14:13:12 -04:00
rich_text New revision of the Assistant Panel (#10870) 2024-04-23 16:23:26 -07:00
rope Indent guides (#11503) 2024-05-23 15:50:59 +02:00
rpc Dynamicer builds (#13074) 2024-06-21 16:32:32 -07:00
rustdoc paths: Replace lazy_static! with OnceLock (#13213) 2024-06-18 12:22:37 -04:00
search Fix panic trying to go to next of 0 matches (#13233) 2024-06-18 14:46:33 -06:00
semantic_index Refactor: Make it possible to share a remote worktree (#12775) 2024-06-07 12:53:01 -07:00
semantic_version Extract SemanticVersion into its own crate (#9956) 2024-03-29 12:11:57 -04:00
settings paths: Replace lazy_static! with OnceLock (#13213) 2024-06-18 12:22:37 -04:00
snippet html: Add support for autoclosing of tags (#11761) 2024-05-20 17:00:27 +02:00
sqlez Dynamicer builds (#13074) 2024-06-21 16:32:32 -07:00
sqlez_macros Dynamicer builds (#13074) 2024-06-21 16:32:32 -07:00
story Introduce a new markdown crate (#11556) 2024-05-09 11:03:33 +02:00
storybook storybook: Use theme::setup_ui_font helper function (#13227) 2024-06-18 15:38:11 -04:00
sum_tree Introduce Editor::insert_flaps and Editor::remove_flaps (#12096) 2024-05-21 20:23:37 +02:00
supermaven Reduce spamming of inline completion discard events (#11999) 2024-05-17 16:37:17 -04:00
supermaven_api paths: Replace lazy_static! with OnceLock (#13213) 2024-06-18 12:22:37 -04:00
tab_switcher Introduce recent files ambient context for assistant (#11791) 2024-05-14 13:48:36 +02:00
task task: Add re-run task button to terminal title (#12379) 2024-05-29 11:40:43 +02:00
tasks_ui task: Rebind UseSelectedQuery in modal to F2 (#12601) 2024-06-03 12:52:44 +02:00
telemetry_events Pull app / OS info out of GPUI, add Linux information, make fallible window initialization (#12869) 2024-06-11 11:43:12 -07:00
terminal assistant: Add term slash command (#13162) 2024-06-20 20:20:34 +02:00
terminal_view windows: Improve file_finder to support match with unix style path (#12357) 2024-06-20 11:33:49 -07:00
text Refine inline transformation UX (#12939) 2024-06-13 08:35:22 +02:00
theme Add more menus to Zed (#12940) 2024-06-18 12:16:54 -07:00
theme_importer Hoist indexmap to workspace level (#12901) 2024-06-11 15:31:55 -04:00
theme_selector Use UpdateGlobal accessors in more places (#11925) 2024-05-16 13:30:04 -04:00
time_format Inline git blame (#10398) 2024-04-15 14:21:52 +02:00
ui Make LSP task cancellation discoverable (#13226) 2024-06-18 12:44:35 -07:00
ui_text_field Allow UI font weight to be assigned in settings (#12333) 2024-05-26 23:06:58 -06:00
util windows: Improve file_finder to support match with unix style path (#12357) 2024-06-20 11:33:49 -07:00
vcs_menu vcs_menu: Fix header taking up too much space (#12646) 2024-06-04 19:13:21 +02:00
vim Add support for auto surround (#13217) 2024-06-20 12:48:46 +03:00
welcome Pull app / OS info out of GPUI, add Linux information, make fallible window initialization (#12869) 2024-06-11 11:43:12 -07:00
workspace Remove never-used client parameter from message handler functions (#13406) 2024-06-22 16:07:36 -07:00
worktree settings: Load .zed/settings.json even if .gitignored (#13370) 2024-06-21 18:39:14 +02:00
zed windows: Improve file_finder to support match with unix style path (#12357) 2024-06-20 11:33:49 -07:00
zed_actions Add more menus to Zed (#12940) 2024-06-18 12:16:54 -07:00