ZIm/crates/language/src
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
..
syntax_map Add a setting for custom associations between languages and files (#9290) 2024-03-13 10:23:30 -07:00
buffer.rs Combine multiple buffer update count fields into one (#13449) 2024-06-23 22:20:10 -07:00
buffer_tests.rs Introduce multi-cursor inline transformations (#13368) 2024-06-21 17:41:43 +02:00
diagnostic_set.rs Send along diagnostics when requesting code actions (#10281) 2024-04-08 17:54:06 +02:00
highlight_map.rs Docs for indent_size_for_line and co 2024-01-09 20:50:34 +01:00
language.rs Add support for auto surround (#13217) 2024-06-20 12:48:46 +03:00
language_registry.rs Add glob support for custom file type language (#12043) 2024-05-20 10:13:35 +02:00
language_settings.rs Add a setting to increase the thickness of the active indent guide (#13210) 2024-06-21 10:53:46 +02:00
markdown.rs Fix Markdown code rendering in tooltips ignoring languages (#10607) 2024-04-16 12:49:35 +02:00
outline.rs Introduce an outline panel (#12637) 2024-06-12 23:22:52 +03:00
proto.rs Revert "Revert "language: Remove buffer fingerprinting (#9007)"" (#9671) 2024-04-12 18:40:35 +02:00
syntax_map.rs chore: Fix clippy for upcoming 1.79 Rust release (#12727) 2024-06-06 12:46:53 +02:00
task_context.rs tasks: Provide task variables from matching runnable ranges in task modal (#12237) 2024-05-24 21:00:23 +02:00