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 New revision of the Assistant Panel (#10870) 2024-04-23 16:23:26 -07:00
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 Introduce InlineCompletionProvider (#9777) 2024-03-26 13:28:06 +01:00
auto_update Extract http from util (#11680) 2024-05-10 15:50: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 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 Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
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 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 Separate actions for accepting the inline suggestions and completions (#12094) 2024-05-22 13:51:21 +03: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 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 Add git blame (#8889) 2024-03-28 18:32:11 +01:00
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 WIP: remoting (#10085) 2024-04-11 15:36:35 -06:00
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 gpui: Fix Global trait (#11187) 2024-04-29 16:37:37 -04:00
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 Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
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 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 (#11503) 2024-05-23 15:50:59 +02:00
language_selector Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
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 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: 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 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 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 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 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 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 remote config fixes (#12178) 2024-05-22 22:28:00 -06: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 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 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 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 Inline git blame (#10398) 2024-04-15 14:21:52 +02:00
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 Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00