zed/crates
Bennet Bo Fenner feea607bac
Indent guides (#11503)
Builds on top of existing work from #2249, but here's a showcase:


https://github.com/zed-industries/zed/assets/53836821/4b346965-6654-496c-b379-75425d9b493f

TODO:
- [x] handle line wrapping
- [x] implement handling in multibuffer (crashes currently)
- [x] add configuration option
- [x] new theme properties? What colors to use?
- [x] Possibly support indents with different colors or background
colors
- [x] investigate edge cases (e.g. indent guides and folds continue on
empty lines even if the next indent is different)
- [x] add more tests (also test `find_active_indent_index`)
- [x] docs (will do in a follow up PR)
- [x] benchmark performance impact

Release Notes:

- Added indent guides
([#5373](https://github.com/zed-industries/zed/issues/5373))

---------

Co-authored-by: Nate Butler <1714999+iamnbutler@users.noreply.github.com>
Co-authored-by: Remco <djsmits12@gmail.com>
2024-05-23 15:50:59 +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 Sanitize messages before sending them to Anthropic (#11810) 2024-05-14 17:47:33 +02:00
assets
assistant Indent guides (#11503) 2024-05-23 15:50:59 +02:00
assistant2 Add a send button to the assistant (#12171) 2024-05-22 19:17:28 -06:00
assistant_tooling Bring the Tool Calling README up to date (#11683) 2024-05-12 04:47:19 -07:00
audio
auto_update Extract http from util (#11680) 2024-05-10 15:50:20 -06:00
breadcrumbs
call Extract http from util (#11680) 2024-05-10 15:50:20 -06:00
channel Support very large channel membership lists (#11939) 2024-05-16 20:02:25 -06:00
cli cli: Support --foreground for debugging (#11819) 2024-05-14 16:05:40 -06:00
client Support very large channel membership lists (#11939) 2024-05-16 20:02:25 -06:00
clock
collab Tidy up the code (#12116) 2024-05-22 14:36:15 +03:00
collab_ui Indent guides (#11503) 2024-05-23 15:50:59 +02:00
collections
color
command_palette Use UpdateGlobal accessors in more places (#11925) 2024-05-16 13:30:04 -04:00
command_palette_hooks
copilot Separate actions for accepting the inline suggestions and completions (#12094) 2024-05-22 13:51:21 +03:00
db
dev_server_projects Allow ssh connection for setting up zed (#12063) 2024-05-21 22:39:16 -06:00
diagnostics chore: Fix refining_impl_trait lint occurences (#11979) 2024-05-17 16:58:22 +02:00
editor Indent guides (#11503) 2024-05-23 15:50:59 +02:00
extension zed_extension_api: Add github_release_by_tag_name (#12172) 2024-05-22 20:40:31 -04:00
extension_api zed_extension_api: Add github_release_by_tag_name (#12172) 2024-05-22 20:40:31 -04:00
extension_cli
extensions_ui Restrict v0.0.7 of the zed_extension_api to dev builds, for now (#12170) 2024-05-22 19:45:34 -04:00
feature_flags
feedback Indent guides (#11503) 2024-05-23 15:50:59 +02:00
file_finder Tidy up the code (#12116) 2024-05-22 14:36:15 +03:00
file_icons
fs linux: Handle modification events from file watcher (#11778) 2024-05-14 11:00:26 -07:00
fsevent Retain run loop (#11241) 2024-04-30 23:31:59 -06:00
fuzzy
git Extract http from util (#11680) 2024-05-10 15:50:20 -06: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 a macro for less boilerplate when moving variables (#12182) 2024-05-22 22:07:29 -07:00
gpui_macros Adjust names of negated style methods (#11453) 2024-05-06 13:56:25 -04:00
headless Better private file sharing for remote projects (#12002) 2024-05-20 16:48:24 -06:00
http zed_extension_api: Add github_release_by_tag_name (#12172) 2024-05-22 20:40:31 -04:00
image_viewer Add xtask for finding crates with missing licenses (#11776) 2024-05-13 18:52:12 -04:00
inline_completion_button Supermaven (#10788) 2024-05-03 12:50:42 -07:00
install_cli
journal
language Indent guides (#11503) 2024-05-23 15:50:59 +02:00
language_selector
language_tools Add telemetry for supermaven (#11821) 2024-05-16 17:18:32 -04:00
languages tasks: Expose captured variables to ContextProvider (#12134) 2024-05-22 19:45:43 +02:00
live_kit_client
live_kit_server Vendor LiveKit protocol (#11672) 2024-05-10 14:18:40 -04:00
lsp lsp: Fix wrong WorkspaceFolder when opening only file (#12129) 2024-05-22 16:32:06 +02:00
markdown Allow ssh connection for setting up zed (#12063) 2024-05-21 22:39:16 -06:00
markdown_preview
media
menu
multi_buffer Indent guides (#11503) 2024-05-23 15:50:59 +02:00
node_runtime Fix npm install error with some languages (#12087) 2024-05-22 06:14:44 +02:00
notifications
open_ai Add GPT-4o as possible model (#11764) 2024-05-14 10:43:24 +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 Allow formatting of unsaved buffers with prettier (#12095) 2024-05-22 06:19:32 +02:00
project tasks: Expose captured variables to ContextProvider (#12134) 2024-05-22 19:45:43 +02:00
project_panel project panel: Update file icon when editing filename (#12078) 2024-05-21 18:34:01 +03:00
project_symbols
quick_action_bar
recent_projects remote config fixes (#12178) 2024-05-22 22:28:00 -06:00
refineable
release_channel linux cli (#11585) 2024-05-09 21:08:49 -06:00
rich_text
rope Indent guides (#11503) 2024-05-23 15:50:59 +02:00
rpc Allow ssh connection for setting up zed (#12063) 2024-05-21 22:39:16 -06:00
search Improve file finder match results (#12103) 2024-05-22 07:35:00 +03:00
semantic_index Add basic proxy settings (#11852) 2024-05-16 19:43:26 +03:00
semantic_version
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
story Introduce a new markdown crate (#11556) 2024-05-09 11:03:33 +02:00
storybook Remove wiring for assistant2 (#11940) 2024-05-16 18:32:53 -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 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 tasks: Expose captured variables to ContextProvider (#12134) 2024-05-22 19:45:43 +02:00
tasks_ui tasks: Expose captured variables to ContextProvider (#12134) 2024-05-22 19:45:43 +02:00
telemetry_events Add telemetry for supermaven (#11821) 2024-05-16 17:18:32 -04:00
terminal Tidy up the code (#12116) 2024-05-22 14:36:15 +03:00
terminal_view remote config fixes (#12178) 2024-05-22 22:28:00 -06:00
text Indent guides (#11503) 2024-05-23 15:50:59 +02:00
theme Indent guides (#11503) 2024-05-23 15:50:59 +02:00
theme_importer Indent guides (#11503) 2024-05-23 15:50:59 +02:00
theme_selector Use UpdateGlobal accessors in more places (#11925) 2024-05-16 13:30:04 -04:00
time_format
ui Allow ssh connection for setting up zed (#12063) 2024-05-21 22:39:16 -06:00
ui_text_field Make border methods always require an explicit width (#11450) 2024-05-06 13:22:47 -04:00
util Make a macro for less boilerplate when moving variables (#12182) 2024-05-22 22:07:29 -07:00
vcs_menu vcs menu: Use project's repositories, do not open directly (#11652) 2024-05-10 11:06:32 +02:00
vim Fix some edge-cases in vim visual delete (#12131) 2024-05-22 12:54:41 -06:00
welcome Supermaven (#10788) 2024-05-03 12:50:42 -07:00
workspace remote config fixes (#12178) 2024-05-22 22:28:00 -06:00
worktree Better private file sharing for remote projects (#12002) 2024-05-20 16:48:24 -06:00
zed Make a macro for less boilerplate when moving variables (#12182) 2024-05-22 22:07:29 -07:00
zed_actions