ZIm/crates
张小白 a5fe6d1e61
History manager (#26369)
While working on implementing `add_recent_documents` for Windows, I
found that the process is significantly more complex compared to macOS.
On macOS, simply registering the `add_recent_documents` function is
enough, as the system handles everything automatically.

On Windows, however, there are two cases to consider:  
- **Files opened by the app**: These appear in the "Recent" section (as
shown in the screenshot, "test.txt") and are managed automatically by
Windows (by setting windows registry), similar to macOS.

![屏幕截图 2025-03-10
230738](https://github.com/user-attachments/assets/8fc8063b-4369-43cc-aaaf-7370a7d27060)


- **Folders opened by the app**: This is more complicated because
Windows does not handle it automatically, requiring the application to
track opened folders manually.

To address this, this PR introduces a `History Manager` along with
`HistoryManagerEvent::Update` and `HistoryManagerEvent::Delete` events
to simplify the process of managing recently opened folders.



https://github.com/user-attachments/assets/a2581c15-7653-4faf-96b0-7c48ab1dcc8d



Release Notes:

- N/A

---------

Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2025-04-11 21:34:51 +00:00
..
activity_indicator Git activity indicator (#28204) 2025-04-07 18:10:01 +00:00
agent agent: Fix bug where wrong crease for @mention would be displayed (#28558) 2025-04-11 02:04:03 +00:00
anthropic Change zed.dev's default model to Claude 3.7 Sonnet (#28541) 2025-04-10 18:34:04 -03:00
askpass Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
assets Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
assistant assistant: Fix assistant: open prompt library not opening the prompt library (#28156) 2025-04-05 17:10:39 +00:00
assistant_context_editor Remove actions UnfoldAt and FoldAt (#28442) 2025-04-09 17:13:41 +00:00
assistant_settings Actually run the eval and fix a hang when retrieving outline (#28547) 2025-04-11 00:01:33 +00:00
assistant_slash_command Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
assistant_slash_commands Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
assistant_tool Fix diff recalculation hang (#28377) 2025-04-10 22:58:41 +00:00
assistant_tools Actually run the eval and fix a hang when retrieving outline (#28547) 2025-04-11 00:01:33 +00:00
audio Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
auto_update Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
auto_update_ui Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
aws_http_client Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
bedrock bedrock: Add support for tool use, cross-region inference, and Claude 3.7 Thinking (#28137) 2025-04-05 11:16:26 -04:00
breadcrumbs breadcrumbs: Update multibuffer to match singleton (#28267) 2025-04-07 20:26:55 +00:00
buffer_diff Fix diff recalculation hang (#28377) 2025-04-10 22:58:41 +00:00
call Fix deafening new participants (#28330) 2025-04-08 16:01:27 +00:00
channel Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
cli Try to weak-link ScreenCaptureKit always (#28585) 2025-04-11 17:38:14 +00:00
client Upgrade async-tungstenite to tokio (#26193) 2025-04-08 09:17:08 -06:00
clock Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
collab Change zed.dev's default model to Claude 3.7 Sonnet (#28541) 2025-04-10 18:34:04 -03:00
collab_ui Update default vim substitute command behavior and add support for 'g' flag (#28138) 2025-04-09 14:34:51 -06:00
collections Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
command_palette Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
command_palette_hooks Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
component Refine component preview & add serialization (#28545) 2025-04-11 11:43:57 -04:00
component_preview Refine component preview & add serialization (#28545) 2025-04-11 11:43:57 -04:00
context_server agent: Only require confirmation for batch tool when subset of tool calls require confirmation (#28363) 2025-04-08 21:37:10 +00:00
context_server_settings Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
copilot chore: Replace as_any functions with trait upcasting (#28221) 2025-04-08 22:16:27 +02:00
credentials_provider Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
dap debugger: Add support for CodeLLDB (#28376) 2025-04-09 12:57:24 +02:00
dap_adapters debugger: Fix Debugpy spawning & session removal (#28577) 2025-04-11 16:36:54 +02:00
db Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
debugger_tools Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
debugger_ui debugger: UI refinements (#28589) 2025-04-11 17:40:25 +00:00
deepseek Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
diagnostics Introduce "Near" block type (#28032) 2025-04-04 17:37:42 -06:00
docs_preprocessor Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
editor editor: Fix signature help popover goes off screen (#28566) 2025-04-11 14:50:42 +05:30
eval Actually run the eval and fix a hang when retrieving outline (#28547) 2025-04-11 00:01:33 +00:00
evals Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
extension extension: Bump wasi-sdk to version 25 (#27906) 2025-04-05 13:20:36 -04:00
extension_api chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
extension_cli Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
extension_host Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
extensions_ui Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
feature_flags agent: Auto-capture telemetry feature flag (#28271) 2025-04-10 15:07:48 -05:00
feedback Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
file_finder file_finder: Fix filename matching to require contiguous characters (#28093) 2025-04-05 05:01:56 +05:30
file_icons Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
fs chore: Make objc a workspace level crate (#28258) 2025-04-07 18:46:09 +00:00
fsevent Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
fuzzy Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
git git: Fix logging FromUtf8Error when diffing (#28276) 2025-04-08 11:28:34 -04:00
git_hosting_providers Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
git_ui Fix diff recalculation hang (#28377) 2025-04-10 22:58:41 +00:00
go_to_line editor: Refactor EditorMode::Full (#28546) 2025-04-10 23:22:27 +00:00
google_ai agent: Add support for Google Gemini 2.5 preview (#28326) 2025-04-08 15:00:23 +00:00
gpui History manager (#26369) 2025-04-11 21:34:51 +00:00
gpui_macros Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
gpui_tokio Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
html_to_markdown Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
http_client Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
http_client_tls Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
icons workspace: Implement Extended Terminal Option (#26211) 2025-04-11 16:18:36 +00:00
image_viewer Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
indexed_docs Add --user-data-dir CLI flag and propose renaming support_dir to data_dir (#26886) 2025-04-10 21:16:43 +00:00
inline_completion Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
inline_completion_button Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
install_cli install_cli: Show feedback when installing CLI from welcome screen (#28532) 2025-04-11 01:47:40 +05:30
journal Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
language format: Re-implement support for formatting with code actions that contain commands (#28392) 2025-04-09 01:53:54 +00:00
language_extension Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
language_model agent: Add support for Google Gemini 2.5 preview (#28326) 2025-04-08 15:00:23 +00:00
language_model_selector agent: Fix opening configuration view from the model selector (#28154) 2025-04-05 16:32:16 +00:00
language_models language_models: Fix non-streaming Copilot Chat models (#28537) 2025-04-10 20:48:08 +00:00
language_selector Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
language_tools Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
languages task: Poll Rust subcommands on background thread (#28553) 2025-04-11 11:04:10 +00:00
livekit_api Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
livekit_client Fix deafening new participants (#28330) 2025-04-08 16:01:27 +00:00
lmstudio Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
lsp Add support for insert_text_mode of a completion (#28171) 2025-04-07 10:35:11 -06:00
markdown markdown: Track code block metadata in parser (#28543) 2025-04-10 21:49:08 +00:00
markdown_preview Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
media chore: Make objc a workspace level crate (#28258) 2025-04-07 18:46:09 +00:00
menu Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
migrator agent: Use current shell (#28470) 2025-04-09 23:38:36 -06:00
mistral Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
multi_buffer editor: Restore selections to positions after last edit (#28527) 2025-04-10 18:33:49 +00:00
node_runtime Add --user-data-dir CLI flag and propose renaming support_dir to data_dir (#26886) 2025-04-10 21:16:43 +00:00
notifications Merge Component and ComponentPreview trait (#28365) 2025-04-08 16:09:06 -06:00
ollama Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
open_ai open_ai: Disable parallel_tool_calls (#28056) 2025-04-03 22:07:37 +00:00
outline editor: Refactor EditorMode::Full (#28546) 2025-04-10 23:22:27 +00:00
outline_panel editor: Refactor EditorMode::Full (#28546) 2025-04-10 23:22:27 +00:00
panel Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
paths Add --user-data-dir CLI flag and propose renaming support_dir to data_dir (#26886) 2025-04-10 21:16:43 +00:00
picker Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
prettier Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
project Fix a panic in the git store (#28590) 2025-04-11 14:05:51 -04:00
project_panel Fix a bug causing stale optimistic state in the git panel (#28588) 2025-04-11 17:26:39 +00:00
project_symbols Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
prompt_library ai: Separate model settings for each feature (#28088) 2025-04-04 11:40:55 -03:00
prompt_store Actually run the eval and fix a hang when retrieving outline (#28547) 2025-04-11 00:01:33 +00:00
proto Add dedicated actions for LSP completions insertion mode (#28121) 2025-04-08 22:03:03 +00:00
recent_projects History manager (#26369) 2025-04-11 21:34:51 +00:00
refineable Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
release_channel Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
remote Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
remote_server Clean up environment loading a bit (#28356) 2025-04-08 22:16:35 -04:00
repl Upgrade async-tungstenite to tokio (#26193) 2025-04-08 09:17:08 -06:00
reqwest_client Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
rich_text Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
rope chore: Bump Rust version to 1.86 (#28021) 2025-04-03 23:32:50 +02:00
rpc chore: Replace as_any functions with trait upcasting (#28221) 2025-04-08 22:16:27 +02:00
schema_generator Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
search vim: Reset search range after substitute (#28403) 2025-04-09 20:43:53 -06:00
semantic_index Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
semantic_version Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
session Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
settings Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
settings_ui Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
snippet Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
snippet_provider Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
snippets_ui Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
sqlez Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
sqlez_macros Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
story Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
storybook Merge Component and ComponentPreview trait (#28365) 2025-04-08 16:09:06 -06:00
streaming_diff Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
sum_tree Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
supermaven Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
supermaven_api Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
tab_switcher tab_switcher: Add keybind to close tab tooltip (#27212) 2025-04-08 15:57:36 -06:00
task agent: Use current shell (#28470) 2025-04-09 23:38:36 -06:00
tasks_ui debugger: Add console indicator and resolve debug configs from NewSessionModal (#28489) 2025-04-10 22:29:03 +00:00
telemetry Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
telemetry_events telemetry_events: Rename AssistantEvent to AssistantEventData (#28133) 2025-04-04 19:28:32 -04:00
terminal agent: Use current shell (#28470) 2025-04-09 23:38:36 -06:00
terminal_view chore: Replace as_any functions with trait upcasting (#28221) 2025-04-08 22:16:27 +02:00
text format: Re-implement support for formatting with code actions that contain commands (#28392) 2025-04-09 01:53:54 +00:00
theme Add icon for Vyper files (#28307) 2025-04-09 10:49:39 -04:00
theme_extension Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
theme_importer Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
theme_selector Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
time_format Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
title_bar workspace: Implement Extended Terminal Option (#26211) 2025-04-11 16:18:36 +00:00
toolchain_selector Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
ui Refine component preview & add serialization (#28545) 2025-04-11 11:43:57 -04:00
ui_input Merge Component and ComponentPreview trait (#28365) 2025-04-08 16:09:06 -06:00
ui_macros Merge Component and ComponentPreview trait (#28365) 2025-04-08 16:09:06 -06:00
ui_prompt markdown: Don't retain MarkdownStyle in favor of using MarkdownElement directly (#28255) 2025-04-07 19:03:24 +00:00
util agent: Use current shell (#28470) 2025-04-09 23:38:36 -06:00
util_macros Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
vim vim: Add some forced motion support (#27991) 2025-04-11 11:12:30 -06:00
vim_mode_setting Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
welcome install_cli: Show feedback when installing CLI from welcome screen (#28532) 2025-04-11 01:47:40 +05:30
workspace History manager (#26369) 2025-04-11 21:34:51 +00:00
worktree Fix directory context paths (#28459) 2025-04-09 21:40:46 +00:00
zed History manager (#26369) 2025-04-11 21:34:51 +00:00
zed_actions assistant: Fix assistant: open prompt library not opening the prompt library (#28156) 2025-04-05 17:10:39 +00:00
zeta agent: Add reactions at the response level (#27958) 2025-04-09 14:21:07 -03:00
zlog zlog: Support configuring log levels with env var (#28544) 2025-04-10 22:00:44 +00:00
zlog_settings zlog: Support configuring log levels with env var (#28544) 2025-04-10 22:00:44 +00:00