Skip to content

大模型协助分析大型代码仓库(Zed为例子)

Zed仓库核心代码主要在crates目录下,大概四百万tokens,上下文目前最大200万,还要留出给响应空间。

综合考虑,选择AIStudio,几万行代码复制到界面容易卡死,注意用附件上传。

让大模型分类

部分问题
markdown
现在下面文件共4百万tokens,超过大模型一百万限制,请你给这些代码分类,然后分别生成调用“repomix”的命令,方便生成大模型上下文

格式要求:每种分类要有一个二级标题

### 📊 Repomix Usage

To pack a specific directory:

```
repomix path/to/directory
```

To pack specific files or directories using glob patterns, 不同项目之间用英文逗号分隔,注意是在同一个字符串中:

```
repomix --include "src/**/*.ts,**/*.md"

Files

为了方便您生成大模型上下文,我已经将这些代码文件按照功能模块进行了分类,并为每种分类生成了相应的 repomix 命令。以下是分类结果和命令:

功能模块分类及 Repomix 命令

一、 助手功能 (Assistant Features)

此分类包含所有与代码助手功能相关的模块,例如:上下文管理、斜杠命令、设置等。

repomix --include "assistant*/**/*.rs"

例如包含以下文件:

assistant_context_editor/src/assistant_context_editor.rs
assistant_context_editor/src/context_editor.rs
assistant_context_editor/src/context_history.rs
assistant_context_editor/src/context_store.rs
assistant_context_editor/src/context.rs
assistant_context_editor/src/patch.rs
assistant_context_editor/src/slash_command_picker.rs
assistant_context_editor/src/slash_command.rs
assistant_settings/src/assistant_settings.rs
assistant_slash_command/src/assistant_slash_command.rs
assistant_slash_command/src/extension_slash_command.rs
assistant_slash_command/src/slash_command_registry.rs
assistant_slash_command/src/slash_command_working_set.rs
assistant_slash_commands/src/assistant_slash_commands.rs
assistant_slash_commands/src/auto_command.rs
assistant_slash_commands/src/cargo_workspace_command.rs
assistant_slash_commands/src/context_server_command.rs
assistant_slash_commands/src/default_command.rs
assistant_slash_commands/src/delta_command.rs
assistant_slash_commands/src/diagnostics_command.rs
assistant_slash_commands/src/docs_command.rs
assistant_slash_commands/src/fetch_command.rs
assistant_slash_commands/src/file_command.rs
assistant_slash_commands/src/now_command.rs
assistant_slash_commands/src/project_command.rs
assistant_slash_commands/src/prompt_command.rs
assistant_slash_commands/src/search_command.rs
assistant_slash_commands/src/selection_command.rs
assistant_slash_commands/src/streaming_example_command.rs
assistant_slash_commands/src/symbols_command.rs
assistant_slash_commands/src/tab_command.rs
assistant_slash_commands/src/terminal_command.rs
assistant_tool/src/assistant_tool.rs
assistant_tool/src/tool_registry.rs
assistant_tool/src/tool_working_set.rs
assistant_tools/src/assistant_tools.rs
assistant_tools/src/now_tool.rs
assistant/src/assistant_panel.rs
assistant/src/assistant.rs
assistant/src/inline_assistant.rs
assistant/src/slash_command_settings.rs
assistant/src/terminal_inline_assistant.rs
assistant2/src/active_thread.rs
assistant2/src/assistant_model_selector.rs
assistant2/src/assistant_panel.rs
assistant2/src/assistant.rs
assistant2/src/buffer_codegen.rs
assistant2/src/context_picker.rs
assistant2/src/context_picker/directory_context_picker.rs
assistant2/src/context_picker/fetch_context_picker.rs
assistant2/src/context_picker/file_context_picker.rs
assistant2/src/context_picker/thread_context_picker.rs
assistant2/src/context_store.rs
assistant2/src/context_strip.rs
assistant2/src/context.rs
assistant2/src/inline_assistant.rs
assistant2/src/inline_prompt_editor.rs
assistant2/src/message_editor.rs
assistant2/src/terminal_codegen.rs
assistant2/src/terminal_inline_assistant.rs
assistant2/src/thread_history.rs
assistant2/src/thread_store.rs
assistant2/src/thread.rs
assistant2/src/ui.rs
assistant2/src/ui/context_pill.rs

二、 协作功能 (Collaboration Features)

此分类包含所有与多人协作功能相关的模块,例如:音视频通话、频道聊天、项目协作等。

repomix --include "call/**/*.rs,channel/**/*.rs,collab*/**/*.rs,livekit*/**/*.rs,workspace/**/*.rs,project/**/*.rs,remote*/**/*.rs,client/**/*.rs,server/**/*.rs,session/**/*.rs,recent_projects/**/*.rs"

例如包含以下文件:

call/src/call_settings.rs
call/src/call.rs
call/src/cross_platform/mod.rs
call/src/cross_platform/participant.rs
call/src/cross_platform/room.rs
call/src/macos/mod.rs
call/src/macos/participant.rs
call/src/macos/room.rs
channel/src/channel_buffer.rs
channel/src/channel_chat.rs
channel/src/channel_store.rs
channel/src/channel_store/channel_index.rs
channel/src/channel.rs
collab_ui/src/channel_view.rs
collab_ui/src/chat_panel.rs
collab_ui/src/chat_panel/message_editor.rs
collab_ui/src/collab_panel.rs
collab_ui/src/collab_panel/channel_modal.rs
collab_ui/src/collab_panel/contact_finder.rs
collab_ui/src/collab_ui.rs
collab_ui/src/notification_panel.rs
collab_ui/src/notifications.rs
collab_ui/src/notifications/collab_notification.rs
collab_ui/src/notifications/incoming_call_notification.rs
collab_ui/src/notifications/project_shared_notification.rs
collab_ui/src/notifications/stories.rs
collab_ui/src/notifications/stories/collab_notification.rs
collab_ui/src/panel_settings.rs
collab/src/api.rs
collab/src/api/billing.rs
collab/src/api/contributors.rs
collab/src/api/events.rs
collab/src/api/extensions.rs
collab/src/api/ips_file.rs
collab/src/api/slack.rs
collab/src/auth.rs
collab/src/bin/dotenv.rs
collab/src/cents.rs
collab/src/completion.rs
collab/src/db.rs
collab/src/db/ids.rs
collab/src/db/queries.rs
collab/src/db/queries/access_tokens.rs
collab/src/db/queries/billing_customers.rs
collab/src/db/queries/billing_preferences.rs
collab/src/db/queries/billing_subscriptions.rs
collab/src/db/queries/buffers.rs
collab/src/db/queries/channels.rs
collab/src/db/queries/contacts.rs
collab/src/db/queries/contributors.rs
collab/src/db/queries/dev_server_projects.rs
collab/src/db/queries/dev_servers.rs
collab/src/db/queries/embeddings.rs
collab/src/db/queries/extensions.rs
collab/src/db/queries/messages.rs
collab/src/db/queries/notifications.rs
collab/src/db/queries/processed_stripe_events.rs
collab/src/db/queries/projects.rs
collab/src/db/queries/rate_buckets.rs
collab/src/db/queries/rooms.rs
collab/src/db/queries/servers.rs
collab/src/db/queries/users.rs
collab/src/db/tables.rs
collab/src/db/tables/access_token.rs
collab/src/db/tables/billing_customer.rs
collab/src/db/tables/billing_preference.rs
collab/src/db/tables/billing_subscription.rs
collab/src/db/tables/buffer_operation.rs
collab/src/db/tables/buffer_snapshot.rs
collab/src/db/tables/buffer.rs
collab/src/db/tables/channel_buffer_collaborator.rs
collab/src/db/tables/channel_chat_participant.rs
collab/src/db/tables/channel_member.rs
collab/src/db/tables/channel_message_mention.rs
collab/src/db/tables/channel_message.rs
collab/src/db/tables/channel.rs
collab/src/db/tables/contact.rs
collab/src/db/tables/contributor.rs
collab/src/db/tables/embedding.rs
collab/src/db/tables/extension_version.rs
collab/src/db/tables/extension.rs
collab/src/db/tables/feature_flag.rs
collab/src/db/tables/follower.rs
collab/src/db/tables/language_server.rs
collab/src/db/tables/notification_kind.rs
collab/src/db/tables/notification.rs
collab/src/db/tables/observed_buffer_edits.rs
collab/src/db/tables/observed_channel_messages.rs
collab/src/db/tables/processed_stripe_event.rs
collab/src/db/tables/project_collaborator.rs
collab/src/db/tables/project.rs
collab/src/db/tables/rate_buckets.rs
collab/src/db/tables/room_participant.rs
collab/src/db/tables/room.rs
collab/src/db/tables/server.rs
collab/src/db/tables/signup.rs
collab/src/db/tables/user_feature.rs
collab/src/db/tables/user.rs
collab/src/db/tables/worktree_diagnostic_summary.rs
collab/src/db/tables/worktree_entry.rs
collab/src/db/tables/worktree_repository_statuses.rs
collab/src/db/tables/worktree_repository.rs
collab/src/db/tables/worktree_settings_file.rs
collab/src/db/tables/worktree.rs
collab/src/env.rs
collab/src/errors.rs
collab/src/executor.rs
collab/src/lib.rs
collab/src/llm.rs
collab/src/llm/authorization.rs
collab/src/llm/db.rs
collab/src/llm/db/ids.rs
collab/src/llm/db/queries.rs
collab/src/llm/db/queries/billing_events.rs
collab/src/llm/db/queries/providers.rs
collab/src/llm/db/queries/revoked_access_tokens.rs
collab/src/llm/db/queries/usages.rs
collab/src/llm/db/seed.rs
collab/src/llm/db/tables.rs
collab/src/llm/db/tables/billing_event.rs
collab/src/llm/db/tables/lifetime_usage.rs
collab/src/llm/db/tables/model.rs
collab/src/llm/db/tables/monthly_usage.rs
collab/src/llm/db/tables/provider.rs
collab/src/llm/db/tables/revoked_access_token.rs
collab/src/llm/db/tables/usage_measure.rs
collab/src/llm/db/tables/usage.rs
collab/src/llm/token.rs
collab/src/main.rs
collab/src/migrations.rs
collab/src/rate_limiter.rs
collab/src/rpc.rs
collab/src/rpc/connection_pool.rs
collab/src/seed.rs
collab/src/stripe_billing.rs
collab/src/tests/randomized_test_helpers.rs
collab/src/tests/test_server.rs
collab/src/user_backfiller.rs
livekit_client_macos/build.rs
livekit_client_macos/examples/test_app_macos.rs
livekit_client_macos/src/livekit_client.rs
livekit_client_macos/src/prod.rs
livekit_client_macos/src/test.rs
livekit_client/examples/test_app.rs
livekit_client/src/livekit_client.rs
livekit_client/src/remote_video_track_view.rs
livekit_client/src/test.rs
livekit_client/src/test/participant.rs
livekit_client/src/test/publication.rs
livekit_client/src/test/track.rs
livekit_client/src/test/webrtc.rs
livekit_server/build.rs
livekit_server/src/api.rs
livekit_server/src/livekit_server.rs
livekit_server/src/proto.rs
livekit_server/src/token.rs
workspace/src/dock.rs
workspace/src/item.rs
workspace/src/modal_layer.rs
workspace/src/notifications.rs
workspace/src/pane_group.rs
workspace/src/pane.rs
workspace/src/persistence.rs
workspace/src/persistence/model.rs
workspace/src/searchable.rs
workspace/src/shared_screen.rs
workspace/src/shared_screen/cross_platform.rs
workspace/src/shared_screen/macos.rs
workspace/src/status_bar.rs
workspace/src/tasks.rs
workspace/src/theme_preview.rs
workspace/src/toolbar.rs
workspace/src/workspace_settings.rs
workspace/src/workspace.rs
project_panel/src/project_panel_settings.rs
project_panel/src/project_panel.rs
project_panel/src/utils.rs
project_symbols/src/project_symbols.rs
project/src/buffer_store.rs
project/src/color_extractor.rs
project/src/connection_manager.rs
project/src/debounced_delay.rs
project/src/direnv.rs
project/src/environment.rs
project/src/git.rs
project/src/image_store.rs
project/src/lsp_command.rs
project/src/lsp_command/signature_help.rs
project/src/lsp_ext_command.rs
project/src/lsp_store.rs
project/src/prettier_store.rs
project/src/project_settings.rs
project/src/project.rs
project/src/search_history.rs
project/src/search.rs
project/src/task_inventory.rs
project/src/task_store.rs
project/src/terminals.rs
project/src/toolchain_store.rs
project/src/worktree_store.rs
project/src/yarn.rs
remote_server/build.rs
remote_server/src/headless_project.rs
remote_server/src/main.rs
remote_server/src/remote_server.rs
remote_server/src/unix.rs
remote/src/json_log.rs
remote/src/protocol.rs
remote/src/proxy.rs
remote/src/remote.rs
remote/src/ssh_session.rs
client/src/client.rs
client/src/socks.rs
client/src/telemetry.rs
client/src/telemetry/event_coalescer.rs
client/src/test.rs
client/src/user.rs
client/src/zed_urls.rs
server/src/server.rs
session/src/session.rs
recent_projects/src/disconnected_overlay.rs
recent_projects/src/recent_projects.rs
recent_projects/src/remote_servers.rs
recent_projects/src/ssh_connections.rs

三、 编辑器核心功能 (Editor Core Features)

此分类包含编辑器本身的核心功能,例如:文本编辑、显示、代码高亮、代码折叠、diff等。

repomix --include "editor/**/*.rs,text/**/*.rs,rope/**/*.rs,markdown/**/*.rs,markdown_preview/**/*.rs,html_to_markdown/**/*.rs,rich_text/**/*.rs,code_context_menus/**/*.rs,inline_completion/**/*.rs,inline_completion_button/**/*.rs,zeta/**/*.rs,streaming_diff/**/*.rs,diff/**/*.rs,hunk_diff/**/*.rs,refineable/**/*.rs,command_palette*/**/*.rs,file_finder*/**/*.rs,go_to_line/**/*.rs,picker/**/*.rs,search/**/*.rs,fuzzy/**/*.rs,paths/**/*.rs,diagnostics/**/*.rs,outline/**/*.rs,project_symbols/**/*.rs,semantic_index/**/*.rs,indent_guides/**/*.rs,highlight_matching_bracket/**/*.rs,linked_editing_ranges/**/*.rs,snippet*/**/*.rs,language_selector/**/*.rs"

例如包含以下文件:

editor/src/actions.rs
editor/src/blame_entry_tooltip.rs
editor/src/blink_manager.rs
editor/src/clangd_ext.rs
editor/src/code_context_menus.rs
editor/src/display_map.rs
editor/src/display_map/block_map.rs
editor/src/display_map/crease_map.rs
editor/src/display_map/custom_highlights.rs
editor/src/display_map/fold_map.rs
editor/src/display_map/inlay_map.rs
editor/src/display_map/invisibles.rs
editor/src/display_map/tab_map.rs
editor/src/display_map/wrap_map.rs
editor/src/editor_settings_controls.rs
editor/src/editor_settings.rs
editor/src/editor.rs
editor/src/element.rs
editor/src/git.rs
editor/src/git/blame.rs
editor/src/git/project_diff.rs
editor/src/highlight_matching_bracket.rs
editor/src/hover_links.rs
editor/src/hover_popover.rs
editor/src/hunk_diff.rs
editor/src/indent_guides.rs
editor/src/inlay_hint_cache.rs
editor/src/items.rs
editor/src/linked_editing_ranges.rs
editor/src/lsp_ext.rs
editor/src/mouse_context_menu.rs
editor/src/movement.rs
editor/src/persistence.rs
editor/src/proposed_changes_editor.rs
editor/src/rust_analyzer_ext.rs
editor/src/scroll.rs
editor/src/scroll/actions.rs
editor/src/scroll/autoscroll.rs
editor/src/scroll/scroll_amount.rs
editor/src/selections_collection.rs
editor/src/signature_help.rs
editor/src/signature_help/popover.rs
editor/src/signature_help/state.rs
editor/src/tasks.rs
editor/src/test.rs
editor/src/test/editor_lsp_test_context.rs
editor/src/test/editor_test_context.rs
text/src/anchor.rs
text/src/locator.rs
text/src/network.rs
text/src/operation_queue.rs
text/src/patch.rs
text/src/selection.rs
text/src/subscription.rs
text/src/text.rs
text/src/undo_map.rs
rope/benches/rope_benchmark.rs
rope/src/chunk.rs
rope/src/offset_utf16.rs
rope/src/point_utf16.rs
rope/src/point.rs
rope/src/rope.rs
rope/src/unclipped.rs
markdown_preview/src/markdown_elements.rs
markdown_preview/src/markdown_parser.rs
markdown_preview/src/markdown_preview_view.rs
markdown_preview/src/markdown_preview.rs
markdown_preview/src/markdown_renderer.rs
markdown/examples/markdown_as_child.rs
markdown/examples/markdown.rs
markdown/src/markdown.rs
markdown/src/parser.rs
html_to_markdown/src/html_element.rs
html_to_markdown/src/html_to_markdown.rs
html_to_markdown/src/markdown_writer.rs
html_to_markdown/src/markdown.rs
html_to_markdown/src/structure.rs
html_to_markdown/src/structure/wikipedia.rs
rich_text/src/rich_text.rs
inline_completion/src/inline_completion.rs
inline_completion_button/src/inline_completion_button.rs
zeta/src/completion_diff_element.rs
zeta/src/rate_completion_modal.rs
zeta/src/zeta.rs
streaming_diff/src/streaming_diff.rs
diff/src/diff.rs
hunk_diff/src/hunk_diff.rs
refineable/derive_refineable/src/derive_refineable.rs
refineable/src/refineable.rs
command_palette_hooks/src/command_palette_hooks.rs
command_palette/src/command_palette.rs
file_finder/src/file_finder_settings.rs
file_finder/src/file_finder.rs
file_finder/src/new_path_prompt.rs
file_finder/src/open_path_prompt.rs
go_to_line/src/cursor_position.rs
go_to_line/src/go_to_line.rs
picker/src/head.rs
picker/src/highlighted_match_with_paths.rs
picker/src/picker.rs
search/src/buffer_search.rs
search/src/buffer_search/registrar.rs
search/src/mode.rs
search/src/project_search.rs
search/src/search_bar.rs
search/src/search.rs
fuzzy/src/char_bag.rs
fuzzy/src/fuzzy.rs
fuzzy/src/matcher.rs
fuzzy/src/paths.rs
fuzzy/src/strings.rs
diagnostics/src/diagnostics.rs
diagnostics/src/items.rs
diagnostics/src/project_diagnostics_settings.rs
diagnostics/src/toolbar_controls.rs
outline/src/outline.rs
outline_panel/src/outline_panel_settings.rs
outline_panel/src/outline_panel.rs
project_symbols/src/project_symbols.rs
semantic_index/examples/index.rs
semantic_index/fixture/main.rs
semantic_index/src/chunking.rs
semantic_index/src/embedding_index.rs
semantic_index/src/embedding.rs
semantic_index/src/embedding/cloud.rs
semantic_index/src/embedding/lmstudio.rs
semantic_index/src/embedding/ollama.rs
semantic_index/src/embedding/open_ai.rs
semantic_index/src/indexing.rs
semantic_index/src/project_index_debug_view.rs
semantic_index/src/project_index.rs
semantic_index/src/semantic_index.rs
semantic_index/src/summary_backlog.rs
semantic_index/src/summary_index.rs
semantic_index/src/worktree_index.rs
indent_guides/src/indent_guides.rs
highlight_matching_bracket/src/highlight_matching_bracket.rs
linked_editing_ranges/src/linked_editing_ranges.rs
snippet_provider/src/extension_snippet.rs
snippet_provider/src/format.rs
snippet_provider/src/lib.rs
snippet_provider/src/registry.rs
snippet/src/snippet.rs
snippets_ui/src/snippets_ui.rs
language_selector/src/active_buffer_language.rs
language_selector/src/language_selector.rs

四、 图形界面框架 (GUI Framework)

此分类包含构建用户界面的 gpui 框架以及相关的组件、宏等。

repomix --include "gpui*/**/*.rs,ui*/**/*.rs,storybook/**/*.rs,gpui/**/*.rs,ui/**/*.rs,ui_macros/**/*.rs,ui_input/**/*.rs,storybook/**/*.rs,storybook/src/stories/**/*.rs,ui/src/components/stories/**/*.rs"

例如包含以下文件:

gpui_macros/src/derive_into_element.rs
gpui_macros/src/derive_path_static_str.rs
gpui_macros/src/derive_render.rs
gpui_macros/src/gpui_macros.rs
gpui_macros/src/register_action.rs
gpui_macros/src/styles.rs
gpui_macros/src/test.rs
gpui/build.rs
gpui/examples/animation.rs
gpui/examples/gif_viewer.rs
gpui/examples/gradient.rs
gpui/examples/hello_world.rs
gpui/examples/image_loading.rs
gpui/examples/image/image.rs
gpui/examples/input.rs
gpui/examples/opacity.rs
gpui/examples/ownership_post.rs
gpui/examples/painting.rs
gpui/examples/set_menus.rs
gpui/examples/shadow.rs
gpui/examples/svg/svg.rs
gpui/examples/text_wrapper.rs
gpui/examples/uniform_list.rs
gpui/examples/window_positioning.rs
gpui/examples/window_shadow.rs
gpui/examples/window.rs
gpui/src/action.rs
gpui/src/app.rs
gpui/src/app/async_context.rs
gpui/src/app/entity_map.rs
gpui/src/app/model_context.rs
gpui/src/app/test_context.rs
gpui/src/arena.rs
gpui/src/asset_cache.rs
gpui/src/assets.rs
gpui/src/bounds_tree.rs
gpui/src/color.rs
gpui/src/element.rs
gpui/src/elements/anchored.rs
gpui/src/elements/animation.rs
gpui/src/elements/canvas.rs
gpui/src/elements/common.rs
gpui/src/elements/deferred.rs
gpui/src/elements/div.rs
gpui/src/elements/img.rs
gpui/src/elements/list.rs
gpui/src/elements/mod.rs
gpui/src/elements/surface.rs
gpui/src/elements/svg.rs
gpui/src/elements/text.rs
gpui/src/elements/uniform_list.rs
gpui/src/executor.rs
gpui/src/geometry.rs
gpui/src/global.rs
gpui/src/gpui.rs
gpui/src/input.rs
gpui/src/interactive.rs
gpui/src/key_dispatch.rs
gpui/src/keymap.rs
gpui/src/keymap/binding.rs
gpui/src/keymap/context.rs
gpui/src/platform.rs
gpui/src/platform/app_menu.rs
gpui/src/platform/blade.rs
gpui/src/platform/blade/apple_compat.rs
gpui/src/platform/blade/blade_atlas.rs
gpui/src/platform/blade/blade_context.rs
gpui/src/platform/blade/blade_renderer.rs
gpui/src/platform/keystroke.rs
gpui/src/platform/linux.rs
gpui/src/platform/linux/dispatcher.rs
gpui/src/platform/linux/headless.rs
gpui/src/platform/linux/headless/client.rs
gpui/src/platform/linux/platform.rs
gpui/src/platform/linux/text_system.rs
gpui/src/platform/linux/wayland.rs
gpui/src/platform/linux/wayland/client.rs
gpui/src/platform/linux/wayland/clipboard.rs
gpui/src/platform/linux/wayland/cursor.rs
gpui/src/platform/linux/wayland/display.rs
gpui/src/platform/linux/wayland/serial.rs
gpui/src/platform/linux/wayland/window.rs
gpui/src/platform/linux/x11.rs
gpui/src/platform/linux/x11/client.rs
gpui/src/platform/linux/x11/display.rs
gpui/src/platform/linux/x11/event.rs
gpui/src/platform/linux/x11/window.rs
gpui/src/platform/linux/x11/xim_handler.rs
gpui/src/platform/linux/xdg_desktop_portal.rs
gpui/src/platform/mac.rs
gpui/src/platform/mac/attributed_string.rs
gpui/src/platform/mac/dispatcher.rs
gpui/src/platform/mac/display_link.rs
gpui/src/platform/mac/display.rs
gpui/src/platform/mac/events.rs
gpui/src/platform/mac/metal_atlas.rs
gpui/src/platform/mac/metal_renderer.rs
gpui/src/platform/mac/open_type.rs
gpui/src/platform/mac/platform.rs
gpui/src/platform/mac/screen_capture.rs
gpui/src/platform/mac/status_item.rs
gpui/src/platform/mac/text_system.rs
gpui/src/platform/mac/window_appearance.rs
gpui/src/platform/mac/window.rs
gpui/src/platform/test.rs
gpui/src/platform/test/dispatcher.rs
gpui/src/platform/test/display.rs
gpui/src/platform/test/platform.rs
gpui/src/platform/test/window.rs
gpui/src/platform/windows.rs
gpui/src/platform/windows/clipboard.rs
gpui/src/platform/windows/direct_write.rs
gpui/src/platform/windows/dispatcher.rs
gpui/src/platform/windows/display.rs
gpui/src/platform/windows/events.rs
gpui/src/platform/windows/platform.rs
gpui/src/platform/windows/system_settings.rs
gpui/src/platform/windows/util.rs
gpui/src/platform/windows/window.rs
gpui/src/platform/windows/wrapper.rs
gpui/src/prelude.rs
gpui/src/scene.rs
gpui/src/shared_string.rs
gpui/src/shared_uri.rs
gpui/src/style.rs
gpui/src/styled.rs
gpui/src/subscription.rs
gpui/src/svg_renderer.rs
gpui/src/taffy.rs
gpui/src/test.rs
gpui/src/text_system.rs
gpui/src/text_system/font_fallbacks.rs
gpui/src/text_system/font_features.rs
gpui/src/text_system/line_layout.rs
gpui/src/text_system/line_wrapper.rs
gpui/src/text_system/line.rs
gpui/src/util.rs
gpui/src/view.rs
gpui/src/window.rs
gpui/src/window/prompts.rs
gpui/tests/action_macros.rs
ui_macros/src/derive_path_str.rs
ui_macros/src/dynamic_spacing.rs
ui_macros/src/ui_macros.rs
ui_input/src/ui_input.rs
ui/src/components.rs
ui/src/components/avatar.rs
ui/src/components/avatar/avatar_audio_status_indicator.rs
ui/src/components/avatar/avatar_availability_indicator.rs
ui/src/components/avatar/avatar.rs
ui/src/components/button.rs
ui/src/components/button/button_icon.rs
ui/src/components/button/button_like.rs
ui/src/components/button/button.rs
ui/src/components/button/icon_button.rs
ui/src/components/button/toggle_button.rs
ui/src/components/content_group.rs
ui/src/components/context_menu.rs
ui/src/components/disclosure.rs
ui/src/components/divider.rs
ui/src/components/dropdown_menu.rs
ui/src/components/facepile.rs
ui/src/components/icon.rs
ui/src/components/icon/decorated_icon.rs
ui/src/components/icon/icon_decoration.rs
ui/src/components/image.rs
ui/src/components/indent_guides.rs
ui/src/components/indicator.rs
ui/src/components/keybinding.rs
ui/src/components/label.rs
ui/src/components/label/highlighted_label.rs
ui/src/components/label/label_like.rs
ui/src/components/label/label.rs
ui/src/components/list.rs
ui/src/components/list/list_header.rs
ui/src/components/list/list_item.rs
ui/src/components/list/list_separator.rs
ui/src/components/list/list_sub_header.rs
ui/src/components/list/list.rs
ui/src/components/modal.rs
ui/src/components/navigable.rs
ui/src/components/numeric_stepper.rs
ui/src/components/popover_menu.rs
ui/src/components/popover.rs
ui/src/components/radio.rs
ui/src/components/right_click_menu.rs
ui/src/components/scrollbar.rs
ui/src/components/settings_container.rs
ui/src/components/settings_group.rs
ui/src/components/stack.rs
ui/src/components/stories.rs
ui/src/components/stories/avatar.rs
ui/src/components/stories/button.rs
ui/src/components/stories/context_menu.rs
ui/src/components/stories/disclosure.rs
ui/src/components/stories/icon_button.rs
ui/src/components/stories/icon.rs
ui/src/components/stories/keybinding.rs
ui/src/components/stories/label.rs
ui/src/components/stories/list_header.rs
ui/src/components/stories/list_item.rs
ui/src/components/stories/list.rs
ui/src/components/stories/tab_bar.rs
ui/src/components/stories/tab.rs
ui/src/components/stories/toggle_button.rs
ui/src/components/stories/tool_strip.rs
ui/src/components/tab_bar.rs
ui/src/components/tab.rs
ui/src/components/table.rs
ui/src/components/toggle.rs
ui/src/components/tool_strip.rs
ui/src/components/tooltip.rs
ui/src/prelude.rs
ui/src/styles.rs
ui/src/styles/appearance.rs
ui/src/styles/color.rs
ui/src/styles/elevation.rs
ui/src/styles/platform.rs
ui/src/styles/spacing.rs
ui/src/styles/typography.rs
ui/src/styles/units.rs
ui/src/tests/path_str.rs
ui/src/traits.rs
ui/src/traits/clickable.rs
ui/src/traits/component_preview.rs
ui/src/traits/disableable.rs
ui/src/traits/fixed.rs
ui/src/traits/styled_ext.rs
ui/src/traits/toggleable.rs
ui/src/traits/visible_on_hover.rs
ui/src/ui.rs
ui/src/utils.rs
ui/src/utils/color_contrast.rs
ui/src/utils/format_distance.rs
ui/src/utils/search_input.rs
ui/src/utils/with_rem_size.rs
storybook/build.rs
storybook/src/actions.rs
storybook/src/app_menus.rs
storybook/src/assets.rs
storybook/src/stories.rs
storybook/src/stories/auto_height_editor.rs
storybook/src/stories/cursor.rs
storybook/src/stories/default_colors.rs
storybook/src/stories/focus.rs
storybook/src/stories/indent_guides.rs
storybook/src/stories/kitchen_sink.rs
storybook/src/stories/overflow_scroll.rs
storybook/src/stories/picker.rs
storybook/src/stories/scroll.rs
storybook/src/stories/text.rs
storybook/src/stories/viewport_units.rs
storybook/src/stories/with_rem_size.rs
storybook/src/story_selector.rs
storybook/src/storybook.rs

五、 语言及代码处理 (Language and Code Processing)

此分类包含编程语言支持、代码解析、格式化、语言模型集成等模块。

repomix --include "language*/**/*.rs,languages/**/*.rs,extension*/**/*.rs,lsp/**/*.rs,prettier/**/*.rs,tree_sitter/**/*.rs,wasm/**/*.rs,evals/**/*.rs,proto/**/*.rs,language_model*/**/*.rs,supermaven*/**/*.rs,copilot/**/*.rs,google_ai/**/*.rs,open_ai/**/*.rs,anthropic/**/*.rs,deepseek/**/*.rs,ollama/**/*.rs,lmstudio/**/*.rs,indexed_docs/**/*.rs,prompt_library/**/*.rs,gpt_commit_message/**/*.rs,llm/**/*.rs,rpc/**/*.rs"

例如包含以下文件:

language_extension/src/extension_lsp_adapter.rs
language_extension/src/language_extension.rs
language_model_selector/src/language_model_selector.rs
language_model/src/fake_provider.rs
language_model/src/language_model.rs
language_model/src/model/cloud_model.rs
language_model/src/model/mod.rs
language_model/src/rate_limiter.rs
language_model/src/registry.rs
language_model/src/request.rs
language_model/src/role.rs
language_models/src/language_models.rs
language_models/src/logging.rs
language_models/src/provider.rs
language_models/src/provider/anthropic.rs
language_models/src/provider/cloud.rs
language_models/src/provider/copilot_chat.rs
language_models/src/provider/deepseek.rs
language_models/src/provider/google.rs
language_models/src/provider/lmstudio.rs
language_models/src/provider/ollama.rs
language_models/src/provider/open_ai.rs
language_models/src/settings.rs
language/build.rs
language/src/buffer.rs
language/src/diagnostic_set.rs
language/src/highlight_map.rs
language/src/language_registry.rs
language/src/language_settings.rs
language/src/language.rs
language/src/markdown.rs
language/src/outline.rs
language/src/proto.rs
language/src/syntax_map.rs
language/src/task_context.rs
language/src/toolchain.rs
languages/src/bash.rs
languages/src/c.rs
languages/src/css.rs
languages/src/go.rs
languages/src/json.rs
languages/src/lib.rs
languages/src/python.rs
languages/src/rust.rs
languages/src/tailwind.rs
languages/src/typescript.rs
languages/src/vtsls.rs
languages/src/yaml.rs
extension_api/build.rs
extension_api/src/extension_api.rs
extension_api/src/http_client.rs
extension_api/src/settings.rs
extension_api/wit/since_v0.0.6/settings.rs
extension_api/wit/since_v0.1.0/settings.rs
extension_api/wit/since_v0.2.0/settings.rs
extension_cli/src/main.rs
extension_host/build.rs
extension_host/src/extension_host.rs
extension_host/src/extension_settings.rs
extension_host/src/extension_store_test.rs
extension_host/src/headless_host.rs
extension_host/src/wasm_host.rs
extension_host/src/wasm_host/wit.rs
extension_host/src/wasm_host/wit/since_v0_0_1.rs
extension_host/src/wasm_host/wit/since_v0_0_4.rs
extension_host/src/wasm_host/wit/since_v0_0_6.rs
extension_host/src/wasm_host/wit/since_v0_1_0.rs
extension_host/src/wasm_host/wit/since_v0_2_0.rs
extension/src/extension_builder.rs
extension/src/extension_host_proxy.rs
extension/src/extension_manifest.rs
extension/src/extension.rs
extension/src/types.rs
extension/src/types/lsp.rs
extension/src/types/slash_command.rs
extensions_ui/src/components.rs
extensions_ui/src/components/extension_card.rs
extensions_ui/src/components/feature_upsell.rs
extensions_ui/src/extension_suggest.rs
extensions_ui/src/extension_version_selector.rs
extensions_ui/src/extensions_ui.rs
lsp/src/input_handler.rs
lsp/src/lsp.rs
prettier/src/prettier.rs
evals/build.rs
evals/src/eval.rs
proto/build.rs
proto/src/error.rs
proto/src/macros.rs
proto/src/proto.rs
proto/src/typed_envelope.rs
supermaven_api/src/supermaven_api.rs
supermaven/src/messages.rs
supermaven/src/supermaven_completion_provider.rs
supermaven/src/supermaven.rs
copilot/src/copilot_chat.rs
copilot/src/copilot_completion_provider.rs
copilot/src/copilot.rs
copilot/src/request.rs
copilot/src/sign_in.rs
google_ai/src/google_ai.rs
google_ai/src/supported_countries.rs
open_ai/src/open_ai.rs
open_ai/src/supported_countries.rs
anthropic/src/anthropic.rs
anthropic/src/supported_countries.rs
deepseek/src/deepseek.rs
ollama/src/ollama.rs
lmstudio/src/lmstudio.rs
indexed_docs/src/extension_indexed_docs_provider.rs
indexed_docs/src/indexed_docs.rs
indexed_docs/src/providers.rs
indexed_docs/src/providers/rustdoc.rs
indexed_docs/src/providers/rustdoc/item.rs
indexed_docs/src/providers/rustdoc/to_markdown.rs
indexed_docs/src/registry.rs
indexed_docs/src/store.rs
prompt_library/src/prompt_library.rs
prompt_library/src/prompt_store.rs
prompt_library/src/prompts.rs
llm/src/llm.rs
llm/src/llm/authorization.rs
llm/src/llm/db.rs
llm/src/llm/db/ids.rs
llm/src/llm/db/queries.rs
llm/src/llm/db/queries/billing_events.rs
llm/src/llm/db/queries/providers.rs
llm/src/llm/db/queries/revoked_access_tokens.rs
llm/src/llm/db/queries/usages.rs
llm/src/llm/db/seed.rs
llm/src/llm/db/tables.rs
llm/src/llm/db/tables/billing_event.rs
llm/src/llm/db/tables/lifetime_usage.rs
llm/src/llm/db/tables/model.rs
llm/src/llm/db/tables/monthly_usage.rs
llm/src/llm/db/tables/provider.rs
llm/src/llm/db/tables/revoked_access_token.rs
llm/src/llm/db/tables/usage_measure.rs
llm/src/llm/db/tables/usage.rs
llm/src/llm/token.rs
rpc/src/auth.rs
rpc/src/conn.rs
rpc/src/extension.rs
rpc/src/llm.rs
rpc/src/macros.rs
rpc/src/notification.rs
rpc/src/peer.rs
rpc/src/proto_client.rs
rpc/src/proto.rs
rpc/src/rpc.rs

六、 终端功能 (Terminal Features)

此分类包含集成终端模拟器和相关功能。

repomix --include "terminal*/**/*.rs,pty_process/**/*.rs"

例如包含以下文件:

terminal_view/src/persistence.rs
terminal_view/src/terminal_element.rs
terminal_view/src/terminal_panel.rs
terminal_view/src/terminal_scrollbar.rs
terminal_view/src/terminal_tab_tooltip.rs
terminal_view/src/terminal_view.rs
terminal/src/mappings/colors.rs
terminal/src/mappings/keys.rs
terminal/src/mappings/mod.rs
terminal/src/mappings/mouse.rs
terminal/src/pty_info.rs
terminal/src/terminal_settings.rs
terminal/src/terminal.rs

七、 主题与外观 (Theme and Appearance)

此分类包含主题选择、颜色配置、图标等视觉相关的模块。

repomix --include "theme*/**/*.rs,file_icons/**/*.rs,assets/**/*.rs,media/**/*.rs,image_viewer/**/*.rs,theme_importer/**/*.rs,title_bar/**/*.rs,activity_indicator/**/*.rs,fireworks/**/*.rs,breadcrumbs/**/*.rs,clock/**/*.rs,time_format/**/*.rs,vim_mode_setting/**/*.rs,welcome/**/*.rs,auto_update_ui/**/*.rs,feedback/**/*.rs,repl/**/*.rs,repl_sessions_ui/**/*.rs,repl_editor/**/*.rs,repl_store/**/*.rs,repl/src/components/**/*.rs,repl/src/outputs/**/*.rs"

例如包含以下文件:

theme_extension/src/theme_extension.rs
theme_importer/src/assets.rs
theme_importer/src/color.rs
theme_importer/src/main.rs
theme_importer/src/vscode.rs
theme_importer/src/vscode/converter.rs
theme_importer/src/vscode/syntax.rs
theme_importer/src/vscode/theme.rs
theme_selector/src/theme_selector.rs
theme/src/default_colors.rs
theme/src/fallback_themes.rs
theme/src/font_family_cache.rs
theme/src/icon_theme_schema.rs
theme/src/icon_theme.rs
theme/src/registry.rs
theme/src/scale.rs
theme/src/schema.rs
theme/src/settings.rs
theme/src/styles.rs
theme/src/styles/accents.rs
theme/src/styles/colors.rs
theme/src/styles/players.rs
theme/src/styles/status.rs
theme/src/styles/syntax.rs
theme/src/styles/system.rs
theme/src/theme.rs
file_icons/src/file_icons.rs
assets/src/assets.rs
media/build.rs
media/src/bindings.rs
media/src/media.rs
image_viewer/src/image_viewer.rs
title_bar/src/application_menu.rs
title_bar/src/collab.rs
title_bar/src/platforms.rs
title_bar/src/platforms/platform_linux.rs
title_bar/src/platforms/platform_mac.rs
title_bar/src/platforms/platform_windows.rs
title_bar/src/stories.rs
title_bar/src/stories/application_menu.rs
title_bar/src/title_bar.rs
title_bar/src/window_controls.rs
activity_indicator/src/activity_indicator.rs
fireworks/src/fireworks.rs
breadcrumbs/src/breadcrumbs.rs
clock/src/clock.rs
clock/src/system_clock.rs
time_format/src/time_format.rs
vim_mode_setting/src/vim_mode_setting.rs
welcome/src/base_keymap_picker.rs
welcome/src/base_keymap_setting.rs
welcome/src/multibuffer_hint.rs
welcome/src/welcome.rs
auto_update_ui/src/auto_update_ui.rs
auto_update_ui/src/update_notification.rs
feedback/src/feedback_modal.rs
feedback/src/feedback.rs
feedback/src/system_specs.rs
repl/src/components.rs
repl/src/components/kernel_list_item.rs
repl/src/components/kernel_options.rs
repl/src/jupyter_settings.rs
repl/src/kernels/mod.rs
repl/src/kernels/native_kernel.rs
repl/src/kernels/remote_kernels.rs
repl/src/notebook.rs
repl/src/notebook/cell.rs
repl/src/notebook/notebook_ui.rs
repl/src/outputs.rs
repl/src/outputs/image.rs
repl/src/outputs/markdown.rs
repl/src/outputs/plain.rs
repl/src/outputs/table.rs
repl/src/outputs/user_error.rs
repl/src/repl_editor.rs
repl/src/repl_sessions_ui.rs
repl/src/repl_store.rs
repl/src/repl.rs
repl/src/session.rs

八、 版本控制 (Version Control)

此分类包含 Git 版本控制系统的集成功能。

repomix --include "git*/**/*.rs,vcs_menu/**/*.rs"

例如包含以下文件:

git_hosting_providers/src/git_hosting_providers.rs
git_hosting_providers/src/providers.rs
git_hosting_providers/src/providers/bitbucket.rs
git_hosting_providers/src/providers/codeberg.rs
git_hosting_providers/src/providers/gitee.rs
git_hosting_providers/src/providers/github.rs
git_hosting_providers/src/providers/gitlab.rs
git_hosting_providers/src/providers/sourcehut.rs
git_ui/src/git_panel_settings.rs
git_ui/src/git_panel.rs
git_ui/src/git_ui.rs
git_ui/src/repository_selector.rs
git/src/blame.rs
git/src/commit.rs
git/src/diff.rs
git/src/git.rs
git/src/hosting_provider.rs
git/src/remote.rs
git/src/repository.rs
git/src/status.rs
vcs_menu/src/lib.rs

九、 设置与配置 (Settings and Configuration)

此分类包含所有与编辑器设置、用户配置相关的模块。

repomix --include "settings*/**/*.rs,config/**/*.rs,keymap/**/*.rs,keybinding/**/*.rs,cli/**/*.rs,install_cli/**/*.rs,vim/**/*.rs,toolchain_selector/**/*.rs,language_tools/**/*.rs,context_server_settings/**/*.rs,project_settings/**/*.rs,file_finder_settings/**/*.rs,git_panel_settings/**/*.rs,outline_panel_settings/**/*.rs,project_panel_settings/**/*.rs,terminal_settings/**/*.rs,worktree_settings/**/*.rs,assistant_settings/**/*.rs,assistant/src/slash_command_settings.rs,vim_mode_setting/**/*.rs,welcome/src/base_keymap_setting.rs,tasks_ui/**/*.rs,auto_update/**/*.rs,diagnostics/src/project_diagnostics_settings.rs,journal/**/*.rs,clock/**/*.rs,time_format/**/*.rs,telemetry/**/*.rs,feature_flags/**/*.rs,release_channel/**/*.rs,vim/**/*.rs,vim/src/normal/**/*.rs,vim/src/test/**/*.rs"

例如包含以下文件:

settings_ui/src/appearance_settings_controls.rs
settings_ui/src/settings_ui.rs
settings/src/editable_setting_control.rs
settings/src/json_schema.rs
settings/src/key_equivalents.rs
settings/src/keymap_file.rs
settings/src/settings_file.rs
settings/src/settings_store.rs
settings/src/settings.rs
keymap/src/keymap.rs
keymap/src/keymap/binding.rs
keymap/src/keymap/context.rs
keybinding/src/keybinding.rs
cli/build.rs
cli/src/cli.rs
cli/src/main.rs
install_cli/src/install_cli.rs
vim/src/change_list.rs
vim/src/command.rs
vim/src/digraph.rs
vim/src/digraph/default.rs
vim/src/helix.rs
vim/src/indent.rs
vim/src/insert.rs
vim/src/mode_indicator.rs
vim/src/motion.rs
vim/src/normal.rs
vim/src/normal/case.rs
vim/src/normal/change.rs
vim/src/normal/delete.rs
vim/src/normal/increment.rs
vim/src/normal/mark.rs
vim/src/normal/paste.rs
vim/src/normal/repeat.rs
vim/src/normal/scroll.rs
vim/src/normal/search.rs
vim/src/normal/substitute.rs
vim/src/normal/toggle_comments.rs
vim/src/normal/yank.rs
vim/src/object.rs
vim/src/replace.rs
vim/src/rewrap.rs
vim/src/state.rs
vim/src/surrounds.rs
vim/src/test.rs
vim/src/test/neovim_backed_test_context.rs
vim/src/test/neovim_connection.rs
vim/src/test/vim_test_context.rs
vim/src/vim.rs
vim/src/visual.rs
toolchain_selector/src/active_toolchain.rs
toolchain_selector/src/toolchain_selector.rs
language_tools/src/key_context_view.rs
language_tools/src/language_tools.rs
language_tools/src/lsp_log.rs
language_tools/src/syntax_tree_view.rs
context_server_settings/src/context_server_settings.rs
project_settings/src/project_settings.rs
file_finder/src/file_finder_settings.rs
git_ui/src/git_panel_settings.rs
outline_panel/src/outline_panel_settings.rs
project_panel/src/project_panel_settings.rs
terminal_settings/src/terminal_settings.rs
worktree_settings/src/worktree_settings.rs
assistant_settings/src/assistant_settings.rs
assistant/src/slash_command_settings.rs
vim_mode_setting/src/vim_mode_setting.rs
welcome/src/base_keymap_setting.rs
tasks_ui/src/lib.rs
tasks_ui/src/modal.rs
tasks_ui/src/settings.rs
auto_update/src/auto_update.rs
auto_update_ui/src/auto_update_ui.rs
auto_update_ui/src/update_notification.rs
diagnostics/src/project_diagnostics_settings.rs
journal/src/journal.rs
clock/src/clock.rs
clock/src/system_clock.rs
time_format/src/time_format.rs
telemetry/src/telemetry.rs
telemetry/src/telemetry/event_coalescer.rs
telemetry_events/src/telemetry_events.rs
feature_flags/src/feature_flags.rs
release_channel/src/lib.rs

十、 数据库及存储 (Database and Storage)

此分类包含本地数据库 sqlez 以及其他数据存储相关的模块。

repomix --include "db/**/*.rs,sqlez*/**/*.rs,collections/**/*.rs,journal/**/*.rs,notifications/**/*.rs,settings/src/settings_store.rs,project/src/buffer_store.rs,project/src/image_store.rs,project/src/lsp_store.rs,project/src/prettier_store.rs,project/src/task_store.rs,project/src/toolchain_store.rs,project/src/worktree_store.rs,assistant2/src/context_store.rs,assistant2/src/thread_store.rs,channel/src/channel_store/**/*.rs,repl/src/repl_store/**/*.rs,semantic_index/src/store/**/*.rs"

例如包含以下文件:

db/src/db.rs
db/src/kvp.rs
db/src/query.rs
sqlez_macros/src/sqlez_macros.rs
sqlez/src/bindable.rs
sqlez/src/connection.rs
sqlez/src/domain.rs
sqlez/src/lib.rs
sqlez/src/migrations.rs
sqlez/src/savepoint.rs
sqlez/src/statement.rs
sqlez/src/thread_safe_connection.rs
sqlez/src/typed_statements.rs
sqlez/src/util.rs
collections/src/collections.rs
journal/src/journal.rs
notifications/src/notification_store.rs
settings/src/settings_store.rs
project/src/buffer_store.rs
project/src/image_store.rs
project/src/lsp_store.rs
project/src/prettier_store.rs
project/src/task_store.rs
project/src/toolchain_store.rs
project/src/worktree_store.rs
assistant2/src/context_store.rs
assistant2/src/thread_store.rs
channel/src/channel_store.rs
channel/src/channel_store/channel_index.rs
repl/src/repl_store.rs
semantic_index/src/store.rs

十一、 工具库和实用程序 (Utilities and Tool Libraries)

此分类包含各种通用的工具库和实用程序模块。

repomix --include "util/**/*.rs,paths/**/*.rs,task/**/*.rs,json_log/**/*.rs,arc_cow/**/*.rs,fn_memo/**/*.rs,diff_match_patch/**/*.rs,regex/**/*.rs,url/**/*.rs,serde*/**/*.rs,anyhow/**/*.rs,futures/**/*.rs,tokio/**/*.rs,async_trait/**/*.rs,once_cell/**/*.rs,parking_lot/**/*.rs,uuid/**/*.rs,indexmap/**/*.rs,lazy_static/**/*.rs,num_cpus/**/*.rs,directories/**/*.rs,base64/**/*.rs,zip/**/*.rs,tar/**/*.rs,flate2/**/*.rs,reqwest*/**/*.rs,http_client/**/*.rs,fsevent/**/*.rs,fs/**/*.rs,fs_watcher/**/*.rs,fsevent-sys/**/*.rs,notify/**/*.rs,notify-macos/**/*.rs,notify-rs/**/*.rs,notify-common/**/*.rs,notify-debouncer/**/*.rs,notify-filter/**/*.rs,notify-log/**/*.rs,notify-queue/**/*.rs,notify-rustls/**/*.rs,notify-watch/**/*.rs,notify-utils/**/*.rs,notify-lite/**/*.rs,util/**/*.rs"

例如包含以下文件:

util/src/arc_cow.rs
util/src/command.rs
util/src/fs.rs
util/src/markdown.rs
util/src/paths.rs
util/src/serde.rs
util/src/test.rs
util/src/test/assertions.rs
util/src/test/marked_text.rs
util/src/util.rs
paths/src/paths.rs
task/src/lib.rs
task/src/static_source.rs
task/src/task_template.rs
task/src/vscode_format.rs
remote/src/json_log.rs
reqwest_client/examples/client.rs
reqwest_client/src/reqwest_client.rs
http_client/src/async_body.rs
http_client/src/github.rs
http_client/src/http_client.rs
fsevent/examples/events.rs
fsevent/src/fsevent.rs
fs/src/fs_watcher.rs
fs/src/fs.rs
fs/src/mac_watcher.rs

十二、 应用启动与主程序 (Application Startup and Main Program)

此分类包含应用程序的入口、主程序逻辑、可靠性监控等。

repomix --include "zed/**/*.rs,zed_actions/**/*.rs,zed_predict_tos/**/*.rs,zed/src/zed/**/*.rs,zed/src/main.rs,zed/build.rs,cli/src/main.rs,remote_server/src/main.rs,docs_preprocessor/src/main.rs,theme_importer/src/main.rs,extension_cli/src/main.rs,install_cli/src/main.rs,docs_preprocessor/src/docs_preprocessor.rs,docs_preprocessor/src/templates/**/*.rs,docs_preprocessor/src/templates/*.rs,docs_preprocessor/src/main.rs,docs_preprocessor/build.rs,zed/src/reliability.rs"

例如包含以下文件:

zed_actions/src/lib.rs
zed_predict_tos/src/zed_predict_tos.rs
zed/build.rs
zed/src/main.rs
zed/src/reliability.rs
zed/src/zed.rs
zed/src/zed/app_menus.rs
zed/src/zed/inline_completion_registry.rs
zed/src/zed/linux_prompts.rs
zed/src/zed/mac_only_instance.rs
zed/src/zed/open_listener.rs
zed/src/zed/quick_action_bar.rs
zed/src/zed/quick_action_bar/markdown_preview.rs
zed/src/zed/quick_action_bar/repl_menu.rs
zed/src/zed/windows_only_instance.rs
cli/src/main.rs
remote_server/src/main.rs
docs_preprocessor/src/docs_preprocessor.rs
docs_preprocessor/src/main.rs
docs_preprocessor/src/templates.rs
docs_preprocessor/src/templates/action.rs
docs_preprocessor/src/templates/keybinding.rs
theme_importer/src/main.rs
extension_cli/src/main.rs
install_cli/src/main.rs

其他未分类文件 (Uncategorized Files)

以下文件可能属于较为独立的模块,或者暂时难以归类,您可以根据实际情况将它们归入合适的分类或创建新的分类。

activity_indicator/src/activity_indicator.rs
anthropic/src/anthropic.rs
anthropic/src/supported_countries.rs
audio/src/assets.rs
audio/src/audio.rs
auto_update_ui/src/auto_update_ui.rs
auto_update_ui/src/update_notification.rs
auto_update/src/auto_update.rs
breadcrumbs/src/breadcrumbs.rs
cli/build.rs
client/src/test.rs
clock/src/clock.rs
clock/src/system_clock.rs
collections/src/collections.rs
command_palette_hooks/src/command_palette_hooks.rs
command_palette/src/command_palette.rs
db/src/db.rs
db/src/kvp.rs
db/src/query.rs
deepseek/src/deepseek.rs
diagnostics/src/diagnostics.rs
diagnostics/src/items.rs
diagnostics/src/project_diagnostics_settings.rs
diagnostics/src/toolbar_controls.rs
docs_preprocessor/src/docs_preprocessor.rs
docs_preprocessor/src/main.rs
docs_preprocessor/src/templates.rs
docs_preprocessor/src/templates/action.rs
docs_preprocessor/src/templates/keybinding.rs
editor/src/test.rs
editor/src/test/editor_lsp_test_context.rs
editor/src/test/editor_test_context.rs
evals/build.rs
evals/src/eval.rs
extension_api/build.rs
extension_api/src/extension_api.rs
extension_api/src/http_client.rs
extension_api/src/settings.rs
extension_api/wit/since_v0.0.6/settings.rs
extension_api/wit/since_v0.1.0/settings.rs
extension_api/wit/since_v0.2.0/settings.rs
extension_cli/src/main.rs
extension_host/build.rs
extension_host/src/extension_host.rs
extension_host/src/extension_settings.rs
extension_host/src/extension_store_test.rs
extension_host/src/headless_host.rs
extension_host/src/wasm_host.rs
extension_host/src/wasm_host/wit.rs
extension_host/src/wasm_host/wit/since_v0_0_1.rs
extension_host/src/wasm_host/wit/since_v0_0_4.rs
extension_host/src/wasm_host/wit/since_v0_0_6.rs
extension_host/src/wasm_host/wit/since_v0_1_0.rs
extension_host/src/wasm_host/wit/since_v0_2_0.rs
extension/src/extension_builder.rs
extension/src/extension_host_proxy.rs
extension/src/extension_manifest.rs
extension/src/extension.rs
extension/src/types.rs
extension/src/types/lsp.rs
extension/src/types/slash_command.rs
extensions_ui/src/components.rs
extensions_ui/src/components/extension_card.rs
extensions_ui/src/components/feature_upsell.rs
extensions_ui/src/extension_suggest.rs
extensions_ui/src/extension_version_selector.rs
extensions_ui/src/extensions_ui.rs
feature_flags/src/feature_flags.rs
feedback/src/feedback_modal.rs
feedback/src/feedback.rs
feedback/src/system_specs.rs
file_icons/src/file_icons.rs
fireworks/src/fireworks.rs
fsevent/examples/events.rs
fsevent/src/fsevent.rs
fuzzy/src/char_bag.rs
fuzzy/src/fuzzy.rs
fuzzy/src/matcher.rs
fuzzy/src/paths.rs
fuzzy/src/strings.rs
git_hosting_providers/src/git_hosting_providers.rs
git_hosting_providers/src/providers.rs
git_hosting_providers/src/providers/bitbucket.rs
git_hosting_providers/src/providers/codeberg.rs
git_hosting_providers/src/providers/gitee.rs
git_hosting_providers/src/providers/github.rs
git_hosting_providers/src/providers/gitlab.rs
git_hosting_providers/src/providers/sourcehut.rs
git_ui/src/git_panel_settings.rs
git_ui/src/git_panel.rs
git_ui/src/git_ui.rs
git_ui/src/repository_selector.rs
git/src/blame.rs
git/src/commit.rs
git/src/diff.rs
git/src/git.rs
git/src/hosting_provider.rs
git/src/remote.rs
git/src/repository.rs
git/src/status.rs
go_to_line/src/cursor_position.rs
go_to_line/src/go_to_line.rs
google_ai/src/google_ai.rs
google_ai/src/supported_countries.rs
gpui_macros/src/derive_into_element.rs
gpui_macros/src/derive_path_static_str.rs
gpui_macros/src/derive_render.rs
gpui_macros/src/gpui_macros.rs
gpui_macros/src/register_action.rs
gpui_macros/src/styles.rs
gpui_macros/src/test.rs
gpui/build.rs
gpui/examples/animation.rs
gpui/examples/gif_viewer.rs
gpui/examples/gradient.rs
gpui/examples/hello_world.rs
gpui/examples/image_loading.rs
gpui/examples/image/image.rs
gpui/examples/input.rs
gpui/examples/opacity.rs
gpui/examples/ownership_post.rs
gpui/examples/painting.rs
gpui/examples/set_menus.rs
gpui/examples/shadow.rs
gpui/examples/svg/svg.rs
gpui/examples/text_wrapper.rs
gpui/examples/uniform_list.rs
gpui/examples/window_positioning.rs
gpui/examples/window_shadow.rs
gpui/examples/window.rs
gpui/src/action.rs
gpui/src/app.rs
gpui/src/app/async_context.rs
gpui/src/app/entity_map.rs
gpui/src/app/model_context.rs
gpui/src/app/test_context.rs
gpui/src/arena.rs
gpui/src/asset_cache.rs
gpui/src/assets.rs
gpui/src/bounds_tree.rs
gpui/src/color.rs
gpui/src/element.rs
gpui/src/elements/anchored.rs
gpui/src/elements/animation.rs
gpui/src/elements/canvas.rs
gpui/src/elements/common.rs
gpui/src/elements/deferred.rs
gpui/src/elements/div.rs
gpui/src/elements/img.rs
gpui/src/elements/list.rs
gpui/src/elements/mod.rs
gpui/src/elements/surface.rs
gpui/src/elements/svg.rs
gpui/src/elements/text.rs
gpui/src/elements/uniform_list.rs
gpui/src/executor.rs
gpui/src/geometry.rs
gpui/src/global.rs
gpui/src/gpui.rs
gpui/src/input.rs
gpui/src/interactive.rs
gpui/src/key_dispatch.rs
gpui/src/keymap.rs
gpui/src/keymap/binding.rs
gpui/src/keymap/context.rs
gpui/src/platform.rs
gpui/src/platform/app_menu.rs
gpui/src/platform/blade.rs
gpui/src/platform/blade/apple_compat.rs
gpui/src/platform/blade/blade_atlas.rs
gpui/src/platform/blade/blade_context.rs
gpui/src/platform/blade/blade_renderer.rs
gpui/src/platform/keystroke.rs
gpui/src/platform/linux.rs
gpui/src/platform/linux/dispatcher.rs
gpui/src/platform/linux/headless.rs
gpui/src/platform/linux/headless/client.rs
gpui/src/platform/linux/platform.rs
gpui/src/platform/linux/text_system.rs
gpui/src/platform/linux/wayland.rs
gpui/src/platform/linux/wayland/client.rs
gpui/src/platform/linux/wayland/clipboard.rs
gpui/src/platform/linux/wayland/cursor.rs
gpui/src/platform/linux/wayland/display.rs
gpui/src/platform/linux/wayland/serial.rs
gpui/src/platform/linux/wayland/window.rs
gpui/src/platform/linux/x11.rs
gpui/src/platform/linux/x11/client.rs
gpui/src/platform/linux/x11/display.rs
gpui/src/platform/linux/x11/event.rs
gpui/src/platform/linux/x11/window.rs
gpui/src/platform/linux/x11/xim_handler.rs
gpui/src/platform/linux/xdg_desktop_portal.rs
gpui/src/platform/mac.rs
gpui/src/platform/mac/attributed_string.rs
gpui/src/platform/mac/dispatcher.rs
gpui/src/platform/mac/display_link.rs
gpui/src/platform/mac/display.rs
gpui/src/platform/mac/events.rs
gpui/src/platform/mac/metal_atlas.rs
gpui/src/platform/mac/metal_renderer.rs
gpui/src/platform/mac/open_type.rs
gpui/src/platform/mac/platform.rs
gpui/src/platform/mac/screen_capture.rs
gpui/src/platform/mac/status_item.rs
gpui/src/platform/mac/text_system.rs
gpui/src/platform/mac/window_appearance.rs
gpui/src/platform/mac/window.rs
gpui/src/platform/test.rs
gpui/src/platform/test/dispatcher.rs
gpui/src/platform/test/display.rs
gpui/src/platform/test/platform.rs
gpui/src/platform/test/window.rs
gpui/src/platform/windows.rs
gpui/src/platform/windows/clipboard.rs
gpui/src/platform/windows/direct_write.rs
gpui/src/platform/windows/dispatcher.rs
gpui/src/platform/windows/display.rs
gpui/src/platform/windows/events.rs
gpui/src/platform/windows/platform.rs
gpui/src/platform/windows/system_settings.rs
gpui/src/platform/windows/util.rs
gpui/src/platform/windows/window.rs
gpui/src/platform/windows/wrapper.rs
gpui/src/prelude.rs
gpui/src/scene.rs
gpui/src/shared_string.rs
gpui/src/shared_uri.rs
gpui/src/style.rs
gpui/src/styled.rs
gpui/src/subscription.rs
gpui/src/svg_renderer.rs
gpui/src/taffy.rs
gpui/src/test.rs
gpui/src/text_system.rs
gpui/src/text_system/font_fallbacks.rs
gpui/src/text_system/font_features.rs
gpui/src/text_system/line_layout.rs
gpui/src/text_system/line_wrapper.rs
gpui/src/text_system/line.rs
gpui/src/util.rs
gpui/src/view.rs
gpui/src/window.rs
gpui/src/window/prompts.rs
gpui/tests/action_macros.rs
html_to_markdown/src/html_element.rs
html_to_markdown/src/html_to_markdown.rs
html_to_markdown/src/markdown_writer.rs
html_to_markdown/src/markdown.rs
html_to_markdown/src/structure.rs
html_to_markdown/src/structure/wikipedia.rs
http_client/src/async_body.rs
http_client/src/github.rs
http_client/src/http_client.rs
image_viewer/src/image_viewer.rs
indexed_docs/src/extension_indexed_docs_provider.rs
indexed_docs/src/indexed_docs.rs
indexed_docs/src/providers.rs
indexed_docs/src/providers/rustdoc.rs
indexed_docs/src/providers/rustdoc/item.rs
indexed_docs/src/providers/rustdoc/to_markdown.rs
indexed_docs/src/registry.rs
indexed_docs/src/store.rs
inline_completion_button/src/inline_completion_button.rs
inline_completion/src/inline_completion.rs
install_cli/src/install_cli.rs
journal/src/journal.rs
language_extension/src/extension_lsp_adapter.rs
language_extension/src/language_extension.rs
language_model_selector/src/language_model_selector.rs
language_model/src/fake_provider.rs
language_model/src/language_model.rs
language_model/src/model/cloud_model.rs
language_model/src/model/mod.rs
language_model/src/rate_limiter.rs
language_model/src/registry.rs
language_model/src/request.rs
language_model/src/role.rs
language_models/src/language_models.rs
language_models/src/logging.rs
language_models/src/provider.rs
language_models/src/provider/anthropic.rs
language_models/src/provider/cloud.rs
language_models/src/provider/copilot_chat.rs
language_models/src/provider/deepseek.rs
language_models/src/provider/google.rs
language_models/src/provider/lmstudio.rs
language_models/src/provider/ollama.rs
language_models/src/provider/open_ai.rs
language_models/src/settings.rs
language_selector/src/active_buffer_language.rs
language_selector/src/language_selector.rs
language_tools/src/key_context_view.rs
language_tools/src/language_tools.rs
language_tools/src/lsp_log.rs
language_tools/src/syntax_tree_view.rs
language/build.rs
language/src/buffer.rs
language/src/diagnostic_set.rs
language/src/highlight_map.rs
language/src/language_registry.rs
language/src/language_settings.rs
language/src/language.rs
language/src/markdown.rs
language/src/outline.rs
language/src/proto.rs
language/src/syntax_map.rs
language/src/task_context.rs
language/src/toolchain.rs
languages/src/bash.rs
languages/src/c.rs
languages/src/css.rs
languages/src/go.rs
languages/src/json.rs
languages/src/lib.rs
languages/src/python.rs
languages/src/rust.rs
languages/src/tailwind.rs
languages/src/typescript.rs
languages/src/vtsls.rs
languages/src/yaml.rs
livekit_client_macos/build.rs
livekit_client_macos/examples/test_app_macos.rs
livekit_client_macos/src/livekit_client.rs
livekit_client_macos/src/prod.rs
livekit_client_macos/src/test.rs
livekit_client/examples/test_app.rs
livekit_client/src/livekit_client.rs
livekit_client/src/remote_video_track_view.rs
livekit_client/src/test.rs
livekit_client/src/test/participant.rs
livekit_client/src/test/publication.rs
livekit_client/src/test/track.rs
livekit_client/src/test/webrtc.rs
livekit_server/build.rs
livekit_server/src/api.rs
livekit_server/src/livekit_server.rs
livekit_server/src/proto.rs
livekit_server/src/token.rs
lmstudio/src/lmstudio.rs
lsp/src/input_handler.rs
lsp/src/lsp.rs
markdown_preview/src/markdown_elements.rs
markdown_preview/src/markdown_parser.rs
markdown_preview/src/markdown_preview_view.rs
markdown_preview/src/markdown_preview.rs
markdown_preview/src/markdown_renderer.rs
markdown/examples/markdown_as_child.rs
markdown/examples/markdown.rs
markdown/src/markdown.rs
markdown/src/parser.rs
media/build.rs
media/src/bindings.rs
media/src/media.rs
menu/src/menu.rs
multi_buffer/src/anchor.rs
multi_buffer/src/multi_buffer.rs
node_runtime/src/archive.rs
node_runtime/src/node_runtime.rs
notifications/src/notification_store.rs
ollama/src/ollama.rs
open_ai/src/open_ai.rs
open_ai/src/supported_countries.rs
outline_panel/src/outline_panel_settings.rs
outline_panel/src/outline_panel.rs
outline/src/outline.rs
paths/src/paths.rs
picker/src/head.rs
picker/src/highlighted_match_with_paths.rs
picker/src/picker.rs
prettier/src/prettier.rs
project_panel/src/project_panel_settings.rs
project_panel/src/project_panel.rs
project_panel/src/utils.rs
project_symbols/src/project_symbols.rs
project/src/buffer_store.rs
project/src/color_extractor.rs
project/src/connection_manager.rs
project/src/debounced_delay.rs
project/src/direnv.rs
project/src/environment.rs
project/src/git.rs
project/src/image_store.rs
project/src/lsp_command.rs
project/src/lsp_command/signature_help.rs
project/src/lsp_ext_command.rs
project/src/lsp_store.rs
project/src/prettier_store.rs
project/src/project_settings.rs
project/src/project.rs
project/src/search_history.rs
project/src/search.rs
project/src/task_inventory.rs
project/src/task_store.rs
project/src/terminals.rs
project/src/toolchain_store.rs
project/src/worktree_store.rs
project/src/yarn.rs
prompt_library/src/prompt_library.rs
prompt_library/src/prompt_store.rs
prompt_library/src/prompts.rs
proto/build.rs
proto/src/error.rs
proto/src/macros.rs
proto/src/proto.rs
proto/src/typed_envelope.rs
recent_projects/src/disconnected_overlay.rs
recent_projects/src/recent_projects.rs
recent_projects/src/remote_servers.rs
recent_projects/src/ssh_connections.rs
refineable/derive_refineable/src/derive_refineable.rs
refineable/src/refineable.rs
release_channel/src/lib.rs
remote_server/build.rs
remote_server/src/headless_project.rs
remote_server/src/main.rs
remote_server/src/remote_server.rs
remote_server/src/unix.rs
remote/src/json_log.rs
remote/src/protocol.rs
remote/src/proxy.rs
remote/src/remote.rs
remote/src/ssh_session.rs
repl/src/components.rs
repl/src/components/kernel_list_item.rs
repl/src/components/kernel_options.rs
repl/src/jupyter_settings.rs
repl/src/kernels/mod.rs
repl/src/kernels/native_kernel.rs
repl/src/kernels/remote_kernels.rs
repl/src/notebook.rs
repl/src/notebook/cell.rs
repl/src/notebook/notebook_ui.rs
repl/src/outputs.rs
repl/src/outputs/image.rs
repl/src/outputs/markdown.rs
repl/src/outputs/plain.rs
repl/src/outputs/table.rs
repl/src/outputs/user_error.rs
repl/src/repl_editor.rs
repl/src/repl_sessions_ui.rs
repl/src/repl_store.rs
repl/src/repl.rs
repl/src/session.rs
reqwest_client/examples/client.rs
reqwest_client/src/reqwest_client.rs
rich_text/src/rich_text.rs
rope/benches/rope_benchmark.rs
rope/src/chunk.rs
rope/src/offset_utf16.rs
rope/src/point_utf16.rs
rope/src/point.rs
rope/src/rope.rs
rope/src/unclipped.rs
rpc/src/auth.rs
rpc/src/conn.rs
rpc/src/extension.rs
rpc/src/llm.rs
rpc/src/macros.rs
rpc/src/notification.rs
rpc/src/peer.rs
rpc/src/proto_client.rs
rpc/src/proto.rs
rpc/src/rpc.rs
search/src/buffer_search.rs
search/src/buffer_search/registrar.rs
search/src/mode.rs
search/src/project_search.rs
search/src/search_bar.rs
search/src/search.rs
semantic_index/examples/index.rs
semantic_index/fixture/main.rs
semantic_index/src/chunking.rs
semantic_index/src/embedding_index.rs
semantic_index/src/embedding.rs
semantic_index/src/embedding/cloud.rs
semantic_index/src/embedding/lmstudio.rs
semantic_index/src/embedding/ollama.rs
semantic_index/src/embedding/open_ai.rs
semantic_index/src/indexing.rs
semantic_index/src/project_index_debug_view.rs
semantic_index/src/project_index.rs
semantic_index/src/semantic_index.rs
semantic_index/src/summary_backlog.rs
semantic_index/src/summary_index.rs
semantic_index/src/worktree_index.rs
semantic_version/src/semantic_version.rs
session/src/session.rs
settings_ui/src/appearance_settings_controls.rs
settings_ui/src/settings_ui.rs
settings/src/editable_setting_control.rs
settings/src/json_schema.rs
settings/src/key_equivalents.rs
settings/src/keymap_file.rs
settings/src/settings_file.rs
settings/src/settings_store.rs
settings/src/settings.rs
snippet_provider/src/extension_snippet.rs
snippet_provider/src/format.rs
snippet_provider/src/lib.rs
snippet_provider/src/registry.rs
snippet/src/snippet.rs
snippets_ui/src/snippets_ui.rs
sqlez_macros/src/sqlez_macros.rs
sqlez/src/bindable.rs
sqlez/src/connection.rs
sqlez/src/domain.rs
sqlez/src/lib.rs
sqlez/src/migrations.rs
sqlez/src/savepoint.rs
sqlez/src/statement.rs
sqlez/src/thread_safe_connection.rs
sqlez/src/typed_statements.rs
sqlez/src/util.rs
story/src/story.rs
storybook/build.rs
storybook/src/actions.rs
storybook/src/app_menus.rs
storybook/src/assets.rs
storybook/src/stories.rs
storybook/src/stories/auto_height_editor.rs
storybook/src/stories/cursor.rs
storybook/src/stories/default_colors.rs
storybook/src/stories/focus.rs
storybook/src/stories/indent_guides.rs
storybook/src/stories/kitchen_sink.rs
storybook/src/stories/overflow_scroll.rs
storybook/src/stories/picker.rs
storybook/src/stories/scroll.rs
storybook/src/stories/text.rs
storybook/src/stories/viewport_units.rs
storybook/src/stories/with_rem_size.rs
storybook/src/story_selector.rs
storybook/src/storybook.rs
streaming_diff/src/streaming_diff.rs
sum_tree/src/cursor.rs
sum_tree/src/sum_tree.rs
sum_tree/src/tree_map.rs
supermaven_api/src/supermaven_api.rs
supermaven/src/messages.rs
supermaven/src/supermaven_completion_provider.rs
supermaven/src/supermaven.rs
tab_switcher/src/tab_switcher.rs
task/src/lib.rs
task/src/static_source.rs
task/src/task_template.rs
task/src/vscode_format.rs
tasks_ui/src/lib.rs
tasks_ui/src/modal.rs
tasks_ui/src/settings.rs
telemetry_events/src/telemetry_events.rs
telemetry/src/telemetry.rs
terminal_view/src/persistence.rs
terminal_view/src/terminal_element.rs
terminal_view/src/terminal_panel.rs
terminal_view/src/terminal_scrollbar.rs
terminal_view/src/terminal_tab_tooltip.rs
terminal_view/src/terminal_view.rs
terminal/src/mappings/colors.rs
terminal/src/mappings/keys.rs
terminal/src/mappings/mod.rs
terminal/src/mappings/mouse.rs
terminal/src/pty_info.rs
terminal/src/terminal_settings.rs
terminal/src/terminal.rs
text/src/anchor.rs
text/src/locator.rs
text/src/network.rs
text/src/operation_queue.rs
text/src/patch.rs
text/src/selection.rs
text/src/subscription.rs
text/src/text.rs
text/src/undo_map.rs
theme_extension/src/theme_extension.rs
theme_importer/src/assets.rs
theme_importer/src/color.rs
theme_importer/src/main.rs
theme_importer/src/vscode.rs
theme_importer/src/vscode/converter.rs
theme_importer/src/vscode/syntax.rs
theme_importer/src/vscode/theme.rs
theme_selector/src/theme_selector.rs
theme/src/default_colors.rs
theme/src/fallback_themes.rs
theme/src/font_family_cache.rs
theme/src/icon_theme_schema.rs
theme/src/icon_theme.rs
theme/src/registry.rs
theme/src/scale.rs
theme/src/schema.rs
theme/src/settings.rs
theme/src/styles.rs
theme/src/styles/accents.rs
theme/src/styles/colors.rs
theme/src/styles/players.rs
theme/src/styles/status.rs
theme/src/styles/syntax.rs
theme/src/styles/system.rs
theme/src/theme.rs
time_format/src/time_format.rs
title_bar/src/application_menu.rs
title_bar/src/collab.rs
title_bar/src/platforms.rs
title_bar/src/platforms/platform_linux.rs
title_bar/src/platforms/platform_mac.rs
title_bar/src/platforms/platform_windows.rs
title_bar/src/stories.rs
title_bar/src/stories/application_menu.rs
title_bar/src/title_bar.rs
title_bar/src/window_controls.rs
toolchain_selector/src/active_toolchain.rs
toolchain_selector/src/toolchain_selector.rs
ui_input/src/ui_input.rs
ui_macros/src/derive_path_str.rs
ui_macros/src/dynamic_spacing.rs
ui_macros/src/ui_macros.rs
ui/src/components.rs
ui/src/components/avatar.rs
ui/src/components/avatar/avatar_audio_status_indicator.rs
ui/src/components/avatar/avatar_availability_indicator.rs
ui/src/components/avatar/avatar.rs
ui/src/components/button.rs
ui/src/components/button/button_icon.rs
ui/src/components/button/button_like.rs
ui/src/components/button/button.rs
ui/src/components/button/icon_button.rs
ui/src/components/button/toggle_button.rs
ui/src/components/content_group.rs
ui/src/components/context_menu.rs
ui/src/components/disclosure.rs
ui/src/components/divider.rs
ui/src/components/dropdown_menu.rs
ui/src/components/facepile.rs
ui/src/components/icon.rs
ui/src/components/icon/decorated_icon.rs
ui/src/components/icon/icon_decoration.rs
ui/src/components/image.rs
ui/src/components/indent_guides.rs
ui/src/components/indicator.rs
ui/src/components/keybinding.rs
ui/src/components/label.rs
ui/src/components/label/highlighted_label.rs
ui/src/components/label/label_like.rs
ui/src/components/label/label.rs
ui/src/components/list.rs
ui/src/components/list/list_header.rs
ui/src/components/list/list_item.rs
ui/src/components/list/list_separator.rs
ui/src/components/list/list_sub_header.rs
ui/src/components/list/list.rs
ui/src/components/modal.rs
ui/src/components/navigable.rs
ui/src/components/numeric_stepper.rs
ui/src/components/popover_menu.rs
ui/src/components/popover.rs
ui/src/components/radio.rs
ui/src/components/right_click_menu.rs
ui/src/components/scrollbar.rs
ui/src/components/settings_container.rs
ui/src/components/settings_group.rs
ui/src/components/stack.rs
ui/src/components/stories.rs
ui/src/components/stories/avatar.rs
ui/src/components/stories/button.rs
ui/src/components/stories/context_menu.rs
ui/src/components/stories/disclosure.rs
ui/src/components/stories/icon_button.rs
ui/src/components/stories/icon.rs
ui/src/components/stories/keybinding.rs
ui/src/components/stories/label.rs
ui/src/components/stories/list_header.rs
ui/src/components/stories/list_item.rs
ui/src/components/stories/list.rs
ui/src/components/stories/tab_bar.rs
ui/src/components/stories/tab.rs
ui/src/components/stories/toggle_button.rs
ui/src/components/stories/tool_strip.rs
ui/src/components/tab_bar.rs
ui/src/components/tab.rs
ui/src/components/table.rs
ui/src/components/toggle.rs
ui/src/components/tool_strip.rs
ui/src/components/tooltip.rs
ui/src/prelude.rs
ui/src/styles.rs
ui/src/styles/appearance.rs
ui/src/styles/color.rs
ui/src/styles/elevation.rs
ui/src/styles/platform.rs
ui/src/styles/spacing.rs
ui/src/styles/typography.rs
ui/src/styles/units.rs
ui/src/tests/path_str.rs
ui/src/traits.rs
ui/src/traits/clickable.rs
ui/src/traits/component_preview.rs
ui/src/traits/disableable.rs
ui/src/traits/fixed.rs
ui/src/traits/styled_ext.rs
ui/src/traits/toggleable.rs
ui/src/traits/visible_on_hover.rs
ui/src/ui.rs
ui/src/utils.rs
ui/src/utils/color_contrast.rs
ui/src/utils/format_distance.rs
ui/src/utils/search_input.rs
ui/src/utils/with_rem_size.rs
util/src/arc_cow.rs
util/src/command.rs
util/src/fs.rs
util/src/markdown.rs
util/src/paths.rs
util/src/serde.rs
util/src/test.rs
util/src/test/assertions.rs
util/src/test/marked_text.rs
util/src/util.rs
vcs_menu/src/lib.rs
vim_mode_setting/src/vim_mode_setting.rs
vim/src/change_list.rs
vim/src/command.rs
vim/src/digraph.rs
vim/src/digraph/default.rs
vim/src/helix.rs
vim/src/indent.rs
vim/src/insert.rs
vim/src/mode_indicator.rs
vim/src/motion.rs
vim/src/normal.rs
vim/src/normal/case.rs
vim/src/normal/change.rs
vim/src/normal/delete.rs
vim/src/normal/increment.rs
vim/src/normal/mark.rs
vim/src/normal/paste.rs
vim/src/normal/repeat.rs
vim/src/normal/scroll.rs
vim/src/normal/search.rs
vim/src/normal/substitute.rs
vim/src/normal/toggle_comments.rs
vim/src/normal/yank.rs
vim/src/object.rs
vim/src/replace.rs
vim/src/rewrap.rs
vim/src/state.rs
vim/src/surrounds.rs
vim/src/test.rs
vim/src/test/neovim_backed_test_context.rs
vim/src/test/neovim_connection.rs
vim/src/test/vim_test_context.rs
vim/src/vim.rs
vim/src/visual.rs
welcome/src/base_keymap_picker.rs
welcome/src/base_keymap_setting.rs
welcome/src/multibuffer_hint.rs
welcome/src/welcome.rs
worktree/src/ignore.rs
worktree/src/worktree_settings.rs
worktree/src/worktree.rs
zed_actions/src/lib.rs
zed_predict_tos/src/zed_predict_tos.rs
zed/build.rs
zed/src/main.rs
zed/src/reliability.rs
zed/src/zed.rs
zed/src/zed/app_menus.rs
zed/src/zed/inline_completion_registry.rs
zed/src/zed/linux_prompts.rs
zed/src/zed/mac_only_instance.rs
zed/src/zed/open_listener.rs
zed/src/zed/quick_action_bar.rs
zed/src/zed/quick_action_bar/markdown_preview.rs
zed/src/zed/quick_action_bar/repl_menu.rs
zed/src/zed/windows_only_instance.rs
zeta/src/completion_diff_element.rs
zeta/src/rate_completion_modal.rs
zeta/src/zeta.rs

请根据您的需求选择相应的分类和 repomix 命令,以便生成适用于大模型的代码上下文。 如果您需要更细粒度的分类或命令,请随时提出。

分析一下代码最多的 GUI 部分

好的,我们来深入了解一下 Zed 编辑器的代码 GUI 框架,内容基于 repomix-output.md 文件列表。

正如之前提到的,GUI 框架主要由 gpuiui 这两个 crate 构成,并由 gpui_macrosui_macros 提供宏支持。

1. gpui Crate:核心引擎

gpui crate 是基础层,为 Zed 的用户界面提供底层构建模块。它就像框架的引擎室,负责处理图形、布局和事件管理等繁重工作。

  • 应用核心 (gpui/src/gpui.rs, gpui/src/app.rs, gpui/src/app/*):

    • gpui.rs: gpui crate 的主要入口点,可能包含框架自身必要的设置和初始化代码。
    • app.rs: 应用管理的核心。它定义了 App 结构体,代表 GPUI 应用实例。App::run 函数是任何 GPUI 应用的启动点。
    • app/* (子模块):
      • async_context.rs: 管理应用内的异步操作,可能提供工具来处理 GUI 框架内的并发和异步任务。
      • entity_map.rs: 管理应用内的实体(视图和模型)。这对于 GPUI 的保留模式渲染方法至关重要,在这种方法中,实体被高效地管理和更新。
      • model_context.rs: 专门为处理模型提供上下文。此上下文可能提供以结构化方式访问和操作应用状态的方法。
      • test_context.rs: 为测试 GPUI 应用提供专门的上下文和实用程序。这对于通过自动化测试确保 Zed UI 的可靠性和正确性至关重要。
  • 窗口管理 (gpui/src/window.rs, gpui/src/platform/*):

    • window.rs: 定义 Window 结构体,代表 GUI 应用中的顶层窗口。它管理窗口特定的状态和行为,例如窗口边界、焦点以及窗口内的事件处理。
    • platform/* (平台特定实现): 此目录对于跨平台兼容性至关重要。
      • mac/: 包含 macOS 特定的窗口、事件处理和渲染实现。mac/window.rsmac/events.rsmac/display.rsmac/metal_renderer.rs 等子模块表明使用了 Metal 进行渲染,AppKit 进行窗口管理的原生 macOS 集成。
      • linux/: 提供 Linux 特定的实现,进一步细分为 wayland/x11/ 子目录,以处理不同的 Linux 显示服务器。这突显了框架适应不同 Linux GUI 环境的能力。
      • windows/: 包含 Windows 特定的实现,包括 windows/window.rswindows/events.rswindows/display.rswindows/direct_write.rs。DirectWrite 用于 Windows 上的文本渲染,表明平台特定的渲染优化。
      • platform/test/: 提供测试平台实现,允许无头测试和跨不同测试环境的一致行为。
  • 元素系统和渲染 (gpui/src/element.rs, gpui/src/elements/*, gpui/src/scene.rs, gpui/src/platform/blade/*):

    • element.rs: 定义核心 Element trait,它是 gpui 中 UI 组件的基本构建块。它概述了元素的生命周期,包括布局、预绘制和绘制阶段。
    • elements/* (预定义 UI 元素): 此目录包含一组丰富的预构建 UI 元素,可直接在 Zed 的 UI 中使用。
      • 基本元素: div.rsimg.rstext.rscanvas.rssurface.rssvg.rs 为盒子、图像、文本和原始绘图提供基本渲染能力。
      • 布局元素: anchored.rsdeferred.rslist.rsuniform_list.rs 提供专门的布局行为,包括锚定定位、延迟渲染和高效的列表实现。
      • 容器: div.rs 充当通用容器,类似于 HTML <div>,而 elements/mod.rs 可能作为模块级入口点来组织和导出所有元素类型。
    • scene.rs: 抽象渲染场景,表示帧中要渲染的图元集合(四边形、路径、精灵等)。它可能定义了用于管理和优化渲染场景的数据结构。
    • platform/blade/* (Blade 渲染器): 此目录包含基于 Blade 的渲染引擎,它可能是一个高性能、跨平台的图形库。
      • blade/blade_renderer.rs: 使用 Blade 实现核心渲染逻辑,接收场景并将其渲染到窗口表面。
      • blade/blade_atlas.rs: 管理纹理图集,以实现精灵和字形的有效批量渲染。
      • blade/blade_context.rs: 提供用于与 Blade 图形库交互的上下文对象。
      • blade/apple_compat.rs: 可能包含 macOS 特定的 Blade 集成兼容性代码,可能在 Blade 和 Metal 或 Core Animation 之间架起桥梁。
  • 几何和颜色图元 (gpui/src/geometry.rs, gpui/src/color.rs):

    • geometry.rs: 定义基本的几何类型,如 PointSizeBoundsEdges,在整个框架中用于布局和渲染计算。它还包括用于几何操作的 trait(例如,AlongNegateHalf)。
    • color.rs: 定义颜色表示 (HslaRgbaColorSpace) 和颜色操作实用程序。它还处理渐变定义和颜色转换,这对于视觉样式至关重要。
  • 布局引擎集成 (gpui/src/taffy.rs):

    • taffy.rs: 提供与 Taffy 布局引擎的集成层。它定义了 gpui 的样式系统如何映射到 Taffy 的布局属性,以及如何执行布局计算。
  • 输入和键盘映射处理 (gpui/src/input.rs, gpui/src/keymap/*):

    • input.rs: 定义输入事件类型和 InputHandler trait,允许 UI 元素响应用户输入,例如键盘和鼠标事件。
    • keymap/* (键盘映射系统): 处理键盘输入和动作分发。
      • keymap/binding.rs: 定义 KeyBinding 结构体,表示击键和动作之间的映射。
      • keymap/context.rs: 定义 KeyContextKeyBindingContextPredicate,用于上下文相关的键盘绑定,允许在 UI 的不同部分激活不同的键盘绑定。
  • 动作系统 (gpui/src/action.rs):

    • action.rs: 定义 Action trait,GPUI 中表示用户命令和交互的核心概念。它还包括宏 (actions!, impl_actions!, register_action!),以简化动作定义和注册。
  • 样式系统 (gpui/src/style.rs, gpui/src/styled.rs):

    • style.rs: 定义 Style 结构体和相关枚举,表示 UI 元素的视觉样式属性。它包括布局属性、颜色、字体、边框、阴影等的定义。
    • styled.rs: 提供 Styled trait 和关联的宏 (style_helpers!, visibility_style_methods! 等),为 UI 元素启用流畅且声明式的样式 API,类似于 CSS。

2. ui crate:UI 组件和主题

ui crate 构建在 gpui 提供的基础上,提供更高级别、基于组件的 API,用于构建用户界面。它提供了一个可重用的 UI 组件库和一个主题系统,用于自定义组件外观。

  • ui/src/components/* (UI 组件库): 此目录包含一个全面的预构建 UI 组件库,可直接在 Zed 编辑器的 UI 中使用。

    • 基本组件: label.rsbutton.rsicon_button.rscheckbox.rstoggle.rsimage.rsicon.rs 提供标签、按钮、复选框、切换按钮和图标等基本构建块。
    • 布局组件: stack.rscontent_group.rssettings_container.rssettings_group.rs 提供布局容器,用于组织和构建 UI 元素。
    • 菜单和弹出组件: context_menu.rsdropdown_menu.rspopover.rspopover_menu.rstab_bar.rstab.rs 提供用于创建菜单、下拉菜单、选项卡和其他导航和交互元素的组件。
    • 列表和表格组件: list.rsuniform_list.rstable.rs 提供显示列表和表格数据的有效方法。
    • 专用组件: avatar.rsfacepile.rsnumeric_stepper.rsscrollbar.rsdivider.rsdisclosure.rsindicator.rskeybinding.rstooltip.rsindent_guides.rsnavigable.rs 为特定 UI 模式和功能提供组件,例如头像、面孔堆叠、数字步进器、滚动条、分隔线、披露指示器、键盘绑定显示、工具提示、缩进引导线和可导航容器。
    • ui/src/components/components.rs: 作为模块级入口点,组织和导出所有组件类型。
  • ui/src/styles/* (UI 样式和主题): 此目录定义 UI 组件的样式系统,该系统构建在 gpui 的样式系统之上。

    • ui/src/styles/styles.rs: 导出所有样式相关模块和符号,充当 UI 样式系统的中心入口点。
    • ui/src/styles/appearance.rs: 定义外观相关的样式,例如窗口背景外观。
    • ui/src/styles/color.rs: 定义语义颜色名称 (Color 枚举) 并提供对主题感知颜色的访问(例如,DefaultColorcolors() 函数)。
    • ui/src/styles/elevation.rs: 定义海拔高度 (ElevationIndex 枚举) 并提供应用基于海拔高度样式的方法(例如,shadow()bg())。
    • ui/src/styles/platform.rs: 定义平台特定样式 (PlatformStyle 枚举) 以处理跨操作系统的 UI 差异。
    • ui/src/styles/spacing.rs: 定义动态间距单位 (DynamicSpacing 枚举和相关宏),这些单位根据 UI 密度设置自动调整。
    • ui/src/styles/typography.rs: 定义排版相关的样式和实用程序(例如,TextStyleHeadlineSizeStyledTypography trait)。
  • ui/src/utils/* (UI 实用程序): 此目录提供用于 UI 开发的实用函数和助手。

    • ui/src/utils/color_contrast.rs: 提供用于计算颜色对比度比率的实用程序,确保可访问性。
    • ui/src/utils/format_distance.rs: 提供以人类可读方式格式化时间距离的函数,可能用于显示相对时间戳的 UI 元素。
    • ui/src/utils/search_input.rs: 提供特定于搜索输入字段的实用程序,可能用于处理宽度调整或特殊输入行为。
    • ui/src/utils/with_rem_size.rs: 提供 WithRemSize 组件,这是一种实用程序,用于将基于 rem 的字体缩放应用于 UI 的某些部分。
  • ui/src/traits/* (UI 组件 Trait): 此目录定义扩展 UI 组件功能的 trait,添加通用行为和样式选项。

    • ui/src/traits/clickable.rs: 定义 Clickable trait,使 UI 元素能够响应鼠标点击,并提供 on_clickcursor_style 等方法。
    • ui/src/traits/component_preview.rs: 定义 ComponentPreview trait 和相关结构,用于在故事书中创建组件预览,展示组件用法和变体。
    • ui/src/traits/disableable.rs: 定义 Disableable trait,使 UI 元素能够被禁用并在视觉上表示出来。
    • ui/src/traits/fixed.rs: 定义 FixedWidth trait,允许 UI 元素具有固定宽度,并使用 widthfull_width 等方法。
    • ui/src/traits/styled_ext.rs: 定义 StyledExt trait,在基本 Styled trait 之上提供 Zed 特定的样式扩展,例如海拔高度和主题感知边框颜色。
    • ui/src/traits/toggleable.rs: 定义 Toggleable trait,使 UI 元素能够具有切换状态,通常用于复选框、开关和切换按钮。
    • ui/src/traits/visible_on_hover.rs: 定义 VisibleOnHover trait,允许 UI 元素仅在悬停时变为可见,通常用于工具提示或辅助控件。

3. gpui_macrosui_macros crate:宏支持

这些宏 crate 提供过程宏和派生宏,简化了 gpuiui crate 中的常见任务并减少了样板代码。

  • gpui_macros crate: 提供与 gpui crate 内部结构紧密耦合的宏。

    • derive_into_element.rs: 实现 #[derive(IntoElement)] 宏,用于为结构体自动实现 IntoElement trait,使其可渲染为 GPUI 元素。
    • derive_path_static_str.rs: 实现 #[derive(PathStaticStr)] 宏,用于为枚举生成 path_str() 方法,返回枚举变体的静态字符串表示形式。
    • derive_render.rs: 实现 #[derive(Render)] 宏(隐藏/内部),可能用于自动实现具有默认行为的 Render trait(渲染空元素)。
    • gpui_macros.rs: 作为模块级入口点,组织和导出此 crate 中定义的所有宏。
    • register_action.rs: 实现 #[register_action] 宏,用于向 GPUI 运行时注册动作,启用键盘绑定和动作分发。
    • styles.rs: 实现各种样式相关的宏 (style_helpers!, visibility_style_methods!, margin_style_methods! 等),用于为 UI 元素生成样式实用程序方法。
    • test.rs: 实现 #[gpui::test] 属性宏,用于注释使用 GPUI 支持运行的测试函数,提供测试上下文和实用程序。
  • ui_macros crate: 提供在 ui crate 中使用的宏,以简化 UI 组件开发。

    • derive_path_str.rs: 实现 #[derive(DerivePathStr)] 宏,类似于 gpui_macros::derive_path_static_str,但可能在 ui crate 中用于组件特定的路径或标识符。
    • dynamic_spacing.rs: 实现 #[derive_dynamic_spacing] 宏,用于生成 DynamicSpacing 枚举及其关联方法,提供密度感知的间距值。
    • ui_macros.rs: 作为模块级入口点,组织和导出此 crate 中定义的所有宏。

4. Crates 之间的关系

  • gpui 作为基础: gpui crate 提供底层引擎和核心抽象(元素、场景、布局、事件、动作、样式)。它是构建 UI 框架的基石。
  • ui 作为组件库: ui crate 利用 gpui 的核心构建高级、基于组件的 UI 库。它提供具有内置样式和交互性的可重用 UI 组件,使 Zed 中的 UI 开发更具声明性和效率。
  • 宏 crates 作为助手: gpui_macrosui_macros 是支持 crate,它们使用过程宏来自动化 gpuiui crate 的代码生成,减少样板代码并实现更简洁、更具表现力的代码。

5. Zed 编辑器上下文

此 GUI 框架专为 Zed 代码编辑器设计并大量使用。文件结构和功能强烈表明,它专为构建复杂的、高性能的和跨平台的桌面应用程序(如 Zed)而定制。重点关注的功能包括:

  • 跨平台兼容: gpui/platform/ 中的平台特定实现确保 Zed 可以在 macOS、Linux 和 Windows 上运行。
  • 高性能: 使用 Blade 进行渲染,Taffy 进行布局以及高效的数据结构(纹理图集)表明对性能的关注,这对于代码编辑器至关重要。
  • 可扩展性和自定义: ui 的基于组件的架构和 gpui 中的样式系统允许构建高度自定义和灵活的 UI,这对于像 Zed 这样功能丰富的编辑器至关重要。
  • 可测试性: gpui::test 宏和 gpui 中的 test_context 模块突显了测试和 UI 正确性在 Zed 开发过程中的重要性。

总结和要点

Zed 的 GUI 框架由 gpuiui 构建,是一个复杂且结构良好的系统,旨在构建跨平台、高性能的用户界面。主要要点包括:

  • 分层架构: 关注点明确分离,gpui 提供底层引擎,ui 提供高级组件库。
  • 跨平台设计: 明确的平台特定实现确保 Zed 的 UI 可以在不同的操作系统上一致运行。
  • 面向性能: Blade、Taffy 的选择以及高效的数据结构表明对性能的高度关注,这对于响应迅速的代码编辑器至关重要。
  • 基于组件的方法: ui crate 的组件库提高了可重用性、可维护性和高效的 UI 开发。
  • 声明式样式: 样式系统和宏启用了一种声明式且类似 CSS 的 UI 样式方法,使自定义 Zed 的外观和感觉更容易。
  • 可测试性: 通过 gpui::testTestAppContext 内置的测试支持突出了框架对质量和可靠性的重视。

这个详细的分解应该让你对基于所提供的文件列表的 Zed 编辑器代码 GUI 框架有一个扎实的理解。如果你对特定模块或方面有更多疑问,请随时提问!

GPUI是什么

gpuiGraphical Programming User Interface 的缩写,在 Zed 编辑器的语境下,它指的是 Zed 编辑器核心的图形用户界面框架 crate

更具体地说,gpui crate 承担着以下关键职责:

  • 底层图形渲染引擎: gpui 包含了实现 GUI 渲染的核心组件,例如场景(scene.rs)、渲染器(platform/blade/blade_renderer.rs)和纹理图集(platform/blade/blade_atlas.rs)。它负责将 UI 元素转化为屏幕上的像素,并尽可能利用 GPU 加速渲染,以实现流畅的用户界面。

  • 跨平台抽象层: gpui 通过 platform/ 目录下的子模块,为不同的操作系统(macOS、Linux、Windows)提供了一致的接口,使得上层 UI 代码可以跨平台运行,无需关心底层平台差异。gpui/src/platform.rs 文件定义了 Platform trait,作为平台相关功能的抽象接口。

  • UI 元素和布局系统: gpui 提供了 Element trait 和一系列预定义的 UI 元素(位于 gpui/src/elements/ 目录),这些元素是构建用户界面的基本 building blocks。同时,它集成了 taffy 布局引擎(gpui/src/taffy.rs),负责高效地计算和管理 UI 元素的布局。

  • 应用程序上下文和窗口管理: gpui 负责应用程序的生命周期管理(gpui/src/app.rs),并提供了窗口管理功能(gpui/src/window.rs),包括窗口的创建、销毁、事件处理等。AppContextgpui crate 中最重要的类型之一,它充当了应用程序上下文,提供了访问和操作应用程序状态的中心枢纽。

  • 用户输入处理: gpui 负责处理各种用户输入事件,例如键盘输入(gpui/src/keymap/gpui/src/input.rs)、鼠标事件(gpui/src/input.rs)等,并将这些事件传递给相应的 UI 元素进行处理。

  • 动作系统: gpui 提供了 action 机制(gpui/src/action.rs),用于将用户操作(例如快捷键)抽象为可调度的动作,从而实现灵活和可扩展的 UI 交互。

总结来说,gpui crate 是 Zed 编辑器 GUI 框架的基石,它提供了一整套底层的图形渲染、布局、输入处理和应用程序管理功能,使得 Zed 编辑器能够构建高性能、跨平台的图形用户界面。

在接下来的介绍中,我们将继续深入了解 ui crate 的作用,以及 gpuiui 两个 crate 如何协同工作来构建 Zed 编辑器的用户界面。

INFO

这 AI 不对劲,怎么还会自己挖坑