zed/crates
Bennet Bo Fenner 22cf73acec
indent guides: Use primary buffer language to determine tab size (#12506)
When indent guides were still WIP, I thought it might be a good idea to
detect the tab size for every line individually, so we can handle files
with mixed indentations. However, while optimizing the performance of
indent guides I found that getting the language at a given anchor was
pretty expensive, therefore I only resolved the language for the first
visible row. However, this could lead to some weird flickering, where
the indent guides would use different tab sizes depending on the first
visible row (see #12492). This can be fixed by just using the primary
buffer language size.

So as of right now indent guides cannot handle files with mixed
indentations. Im not sure if anyone actually does/expects this, but one
use case I could imagine is something like this:
User x has a svelte file, where the tab size is set to `4`. However the
svelte code uses typescript inside a script tag, which User x wants to
use a tab size of `2`. The approach used here would not work for this,
but then again I think our formatter does not even support something
like this. Im probably overcomplicating things, so let's stick with the
simple solution for now.

Release Notes:

- Fixed an issue where indent guides would use an incorrect tab size
([#12492](https://github.com/zed-industries/zed/issues/12492)).
2024-05-30 22:55:47 +02:00
..
activity_indicator linux: Store binary path before restart to handle deleted binary file (#11568) 2024-05-08 19:13:28 +02:00
anthropic Improve model selection in the assistant (#12472) 2024-05-30 12:36:07 +02:00
assets Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
assistant Make slash commands more discoverable (#12480) 2024-05-30 16:45:05 +02:00
assistant_slash_command Make slash commands more discoverable (#12480) 2024-05-30 16:45:05 +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 Add Flatpak build system and support (#12006) 2024-05-27 19:01:20 -06:00
breadcrumbs Break typography styles out of StyledExt (#11013) 2024-04-25 17:42:53 -04:00
call Extract http from util (#11680) 2024-05-10 15:50:20 -06:00
channel Re-subscribe to channels after signing back out 2024-05-30 13:32:34 -07:00
cli Add Flatpak build system and support (#12006) 2024-05-27 19:01:20 -06:00
client Make prompt library icon in context panel staff-only for now (#12457) 2024-05-29 16:53:45 -06:00
clock Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
collab Reduce DB load upon initial connection due to channel loading (#12500) 2024-05-30 13:02:55 -07:00
collab_ui Reduce DB load upon initial connection due to channel loading (#12500) 2024-05-30 13:02:55 -07:00
collections gpui: Add SVG rendering to img element and generic asset cache (#9931) 2024-03-29 17:09:49 -07:00
color Fix hex_to_hsla inside the color crate (#9412) 2024-03-15 16:58:46 -04: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 Improve context expansion (#10957) 2024-05-26 16:30:09 -07:00
db Clean up whitespace (#10755) 2024-04-23 13:31:21 -04:00
dev_server_projects Allow ssh connection for setting up zed (#12063) 2024-05-21 22:39:16 -06:00
diagnostics Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
editor Use repository mutex more sparingly. Don't hold it while running git status. (#12489) 2024-05-30 09:37:11 -07:00
extension Make slash commands more discoverable (#12480) 2024-05-30 16:45:05 +02:00
extension_api Rework context insertion UX (#12360) 2024-05-27 17:44:54 -06:00
extension_cli Add git blame (#8889) 2024-03-28 18:32:11 +01:00
extensions_ui Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
feature_flags Make prompt library icon in context panel staff-only for now (#12457) 2024-05-29 16:53:45 -06:00
feedback Fix GitHub Issue-creation commands 2024-05-28 21:51:24 -04:00
file_finder Tidy up the code (#12116) 2024-05-22 14:36:15 +03:00
file_icons Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
fs Use repository mutex more sparingly. Don't hold it while running git status. (#12489) 2024-05-30 09:37:11 -07:00
fsevent Retain run loop (#11241) 2024-04-30 23:31:59 -06:00
fuzzy Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
git Use repository mutex more sparingly. Don't hold it while running git status. (#12489) 2024-05-30 09:37:11 -07:00
git_hosting_providers Extract http from util (#11680) 2024-05-10 15:50:20 -06:00
go_to_line Make autoscroll optional when highlighting editor rows (#11950) 2024-05-16 20:28:17 -07:00
google_ai Extract http from util (#11680) 2024-05-10 15:50:20 -06:00
gpui Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
gpui_macros Adjust names of negated style methods (#11453) 2024-05-06 13:56:25 -04:00
headless Make reconnects smoother for dev servers (#12223) 2024-05-23 21:11:14 -06: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 Supermaven (#10788) 2024-05-03 12:50:42 -07: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 indent guides: Use primary buffer language to determine tab size (#12506) 2024-05-30 22:55:47 +02:00
language_selector Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
language_tools Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
languages chore: Change git deps to crates.io dependencies where possible (#12362) 2024-05-27 23:32:51 +02:00
live_kit_client Hoist nanoid to workspace-level (#11029) 2024-04-25 22:37:40 -04:00
live_kit_server Vendor LiveKit protocol (#11672) 2024-05-10 14:18:40 -04:00
lsp lsp: explicitly drop locks in handle_input (#12276) 2024-05-25 12:25:17 +02:00
markdown Fix some warnings/issues uncovered by the new cfg checking (#12310) 2024-05-26 12:50:20 +02:00
markdown_preview markdown preview: Break up list items into individual blocks (#10852) 2024-04-26 21:34:45 +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 Improve context expansion (#10957) 2024-05-26 16:30:09 -07:00
node_runtime node_runtime: Restrict the windows dependency to the Windows target (#12284) 2024-05-25 11:04:22 -04:00
notifications Fix mention notifications are not updated after message change and not removed after a message is deleted (#9847) 2024-04-02 20:40:00 -06:00
open_ai Improve model selection in the assistant (#12472) 2024-05-30 12:36:07 +02:00
outline Make autoscroll optional when highlighting editor rows (#11950) 2024-05-16 20:28:17 -07:00
picker add PickerDelegate::selected_index_changed (#12059) 2024-05-20 10:52:04 -04:00
prettier Use language settings' prettier parsers as a fallback for files with no path (#12273) 2024-05-25 10:50:53 +03:00
project Use repository mutex more sparingly. Don't hold it while running git status. (#12489) 2024-05-30 09:37:11 -07:00
project_panel project panel: Copy dragged entry when opt is pressed (#12348) 2024-05-29 12:34:58 +02:00
project_symbols Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
quick_action_bar Do not show tooltip for editor controls if clicked (#10679) 2024-04-17 13:20:47 +02:00
recent_projects Skip current project in recent projects (#12502) 2024-05-30 23:30:34 +03:00
refineable Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
release_channel linux cli (#11585) 2024-05-09 21:08:49 -06: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 Reduce DB load upon initial connection due to channel loading (#12500) 2024-05-30 13:02:55 -07:00
rustdoc_to_markdown rustdoc_to_markdown: Don't push blank space after newline (#12504) 2024-05-30 16:38:01 -04:00
search Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
semantic_index Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
semantic_version Extract SemanticVersion into its own crate (#9956) 2024-03-29 12:11:57 -04:00
settings Use UpdateGlobal accessors in more places (#11925) 2024-05-16 13:30:04 -04:00
snippet html: Add support for autoclosing of tags (#11761) 2024-05-20 17:00:27 +02:00
sqlez Rename RemoteProject -> DevServerProject (#11301) 2024-05-02 11:00:08 -06:00
sqlez_macros Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
story Introduce a new markdown crate (#11556) 2024-05-09 11:03:33 +02:00
storybook Make tests less noisy (#12463) 2024-05-29 18:06:45 -07: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 Add xtask for finding crates with missing licenses (#11776) 2024-05-13 18:52:12 -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: Add re-run task button to terminal title (#12379) 2024-05-29 11:40:43 +02:00
telemetry_events Add telemetry for supermaven (#11821) 2024-05-16 17:18:32 -04:00
terminal Allow UI font weight to be assigned in settings (#12333) 2024-05-26 23:06:58 -06:00
terminal_view Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
text indent guides: Fix tab handling (#12249) 2024-05-24 18:24:03 +02:00
theme Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
theme_importer Make tests less noisy (#12463) 2024-05-29 18:06:45 -07: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 slash commands more discoverable (#12480) 2024-05-30 16:45:05 +02:00
ui_text_field Allow UI font weight to be assigned in settings (#12333) 2024-05-26 23:06:58 -06:00
util Add Flatpak build system and support (#12006) 2024-05-27 19:01:20 -06:00
vcs_menu Use repository mutex more sparingly. Don't hold it while running git status. (#12489) 2024-05-30 09:37:11 -07:00
vim Fix some edge-cases in vim visual delete (#12131) 2024-05-22 12:54:41 -06:00
welcome Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
workspace Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
worktree Use repository mutex more sparingly. Don't hold it while running git status. (#12489) 2024-05-30 09:37:11 -07:00
zed Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
zed_actions Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00