Something went wrong. Try again.
fork of gpui
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130[workspace]resolver = "2"members = [ "crates/acp_thread", "crates/acp_tools", "crates/action_log", "crates/activity_indicator", "crates/agent", "crates/agent_servers", "crates/agent_settings", "crates/agent_skills", "crates/agent_ui", "crates/ai_onboarding", "crates/anthropic", "crates/askpass", "crates/assets", "crates/audio", "crates/auto_update", "crates/auto_update_helper", "crates/auto_update_ui", "crates/aws_http_client", "crates/bedrock", "crates/benchmarks", "crates/breadcrumbs", "crates/buffer_diff", "crates/call", "crates/channel", "crates/cli", "crates/client", "crates/clock", "crates/cloud_api_client", "crates/cloud_api_types", "crates/cloud_llm_client", "crates/codestral", "crates/collab", "crates/collab_ui", "crates/collections", "crates/command_palette", "crates/command_palette_hooks", "crates/component", "crates/component_preview", "crates/context_server", "crates/copilot", "crates/copilot_chat", "crates/crashes", "crates/credentials_provider", "crates/csv_preview", "crates/dap", "crates/dap_adapters", "crates/db", "crates/debug_adapter_extension", "crates/debugger_tools", "crates/debugger_ui", "crates/deepseek", "crates/dev_container", "crates/diagnostics", "crates/docs_preprocessor", "crates/edit_prediction", "crates/edit_prediction_cli", "crates/edit_prediction_context", "crates/edit_prediction_metrics", "crates/edit_prediction_types", "crates/edit_prediction_ui", "crates/editor", "crates/editor_benchmarks", "crates/encoding_selector", "crates/env_var", "crates/etw_tracing", "crates/eval_cli", "crates/eval_utils", "crates/explorer_command_injector", "crates/extension", "crates/extension_api", "crates/extension_cli", "crates/extension_host", "crates/extensions_ui", "crates/feature_flags", "crates/feature_flags_macros", "crates/feedback", "crates/file_finder", "crates/file_icons", "crates/fs", "crates/fs_benchmarks", "crates/fuzzy", "crates/fuzzy_nucleo", "crates/git", "crates/git_hosting_providers", "crates/git_ui", "crates/go_to_line", "crates/google_ai", "crates/grammars", "crates/gpui", "crates/gpui_shared_string", "crates/gpui_linux", "crates/gpui_macos", "crates/gpui_macros", "crates/gpui_platform", "crates/gpui_tokio", "crates/gpui_util", "crates/gpui_web", "crates/gpui_wgpu", "crates/gpui_windows", "crates/html_to_markdown", "crates/http_client", "crates/http_client_tls", "crates/http_proxy", "crates/icons", "crates/image_viewer", "crates/input_latency_ui", "crates/inspector_ui", "crates/install_cli", "crates/journal", "crates/json_schema_store", "crates/keymap_editor", "crates/language", "crates/language_core", "crates/language_extension", "crates/language_model", "crates/language_model_core", "crates/language_models", "crates/language_models_cloud", "crates/language_onboarding", "crates/language_selector", "crates/language_tools", "crates/languages", "crates/line_ending_selector", "crates/livekit_api", "crates/livekit_client", "crates/llama_cpp", "crates/lmstudio", "crates/lsp", "crates/lsp_locations", "crates/markdown", "crates/markdown_preview", "crates/mermaid_render", "crates/media", "crates/menu", "crates/migrator", "crates/miniprofiler_ui", "crates/mistral", "crates/multi_buffer", "crates/net", "crates/node_runtime", "crates/notifications", "crates/oauth_callback_server", "crates/ollama", "crates/onboarding", "crates/openai_subscribed", "crates/opencode", "crates/open_ai", "crates/open_path_prompt", "crates/open_router", "crates/outline", "crates/outline_panel", "crates/panel", "crates/path", "crates/paths", "crates/picker", "crates/picker_preview", "crates/platform_title_bar", "crates/prettier", "crates/project", "crates/project_benchmarks", "crates/project_panel", "crates/project_symbols", "crates/prompt_store", "crates/proto", "crates/proxy_handshake", "crates/recent_projects", "crates/refineable", "crates/refineable/derive_refineable", "crates/release_channel", "crates/remote", "crates/remote_connection", "crates/remote_server", "crates/repl", "crates/reqwest_client", "crates/rope", "crates/rpc", "crates/sandbox", "crates/scheduler", "crates/schema_generator", "crates/search", "crates/session", "crates/settings", "crates/settings_content", "crates/settings_json", "crates/settings_macros", "crates/settings_profile_selector", "crates/settings_ui", "crates/shell_command_parser", "crates/sidebar", "crates/snippet", "crates/snippet_provider", "crates/snippets_ui", "crates/sqlez", "crates/sqlez_macros", "crates/streaming_diff", "crates/sum_tree", "crates/svg_preview", "crates/system_specs", "crates/syntax_theme", "crates/tab_switcher", "crates/task", "crates/tasks_ui", "crates/telemetry", "crates/telemetry_events", "crates/terminal", "crates/terminal_view", "crates/text", "crates/theme", "crates/theme_extension", "crates/theme_settings", "crates/theme_importer", "crates/theme_selector", "crates/time_format", "crates/title_bar", "crates/toolchain_selector", "crates/ui", "crates/ui_input", "crates/ui_macros", "crates/ui_prompt", "crates/util", "crates/util_macros", "crates/vim", "crates/vim_mode_setting", "crates/watch", "crates/web_search", "crates/web_search_providers", "crates/which_key", "crates/workspace", "crates/worktree", "crates/worktree_benchmarks", "crates/x_ai", "crates/zed", "crates/zed_actions", "crates/windows_resources", "crates/zed_credentials_provider", "crates/zed_env_vars", "crates/zeta_prompt", "crates/zlog", "crates/zlog_settings", "crates/ztracing", "crates/ztracing_macro",
# # Extensions #
"extensions/glsl", "extensions/html", "extensions/proto", "extensions/test-extension",
# # Tooling #
"tooling/compliance", "tooling/perf", "tooling/xtask",]default-members = ["crates/zed"]
[workspace.package]publish = falseedition = "2024"
[workspace.dependencies]
## Workspace member crates#
acp_tools = { path = "crates/acp_tools" }acp_thread = { path = "crates/acp_thread" }action_log = { path = "crates/action_log" }activity_indicator = { path = "crates/activity_indicator" }agent = { path = "crates/agent" }agent_servers = { path = "crates/agent_servers" }agent_settings = { path = "crates/agent_settings" }agent_skills = { path = "crates/agent_skills" }agent_ui = { path = "crates/agent_ui" }ai_onboarding = { path = "crates/ai_onboarding" }anthropic = { path = "crates/anthropic" }askpass = { path = "crates/askpass" }assets = { path = "crates/assets" }audio = { path = "crates/audio" }auto_update = { path = "crates/auto_update" }auto_update_ui = { path = "crates/auto_update_ui" }aws_http_client = { path = "crates/aws_http_client" }bedrock = { path = "crates/bedrock" }breadcrumbs = { path = "crates/breadcrumbs" }buffer_diff = { path = "crates/buffer_diff" }call = { path = "crates/call" }channel = { path = "crates/channel" }cli = { path = "crates/cli" }client = { path = "crates/client" }clock = { path = "crates/clock" }cloud_api_client = { path = "crates/cloud_api_client" }cloud_api_types = { path = "crates/cloud_api_types" }cloud_llm_client = { path = "crates/cloud_llm_client" }collab = { path = "crates/collab" }collab_ui = { path = "crates/collab_ui" }collections = { path = "crates/collections", version = "0.1.0" }command_palette = { path = "crates/command_palette" }command_palette_hooks = { path = "crates/command_palette_hooks" }compliance = { path = "tooling/compliance" }component = { path = "crates/component" }component_preview = { path = "crates/component_preview" }console = "0.16"context_server = { path = "crates/context_server" }copilot = { path = "crates/copilot" }copilot_chat = { path = "crates/copilot_chat" }copilot_ui = { path = "crates/copilot_ui" }crashes = { path = "crates/crashes" }credentials_provider = { path = "crates/credentials_provider" }crossbeam = "0.8.4"csv_preview = { path = "crates/csv_preview"}dap = { path = "crates/dap" }dap_adapters = { path = "crates/dap_adapters" }db = { path = "crates/db" }debug_adapter_extension = { path = "crates/debug_adapter_extension" }debugger_tools = { path = "crates/debugger_tools" }debugger_ui = { path = "crates/debugger_ui" }deepseek = { path = "crates/deepseek" }derive_refineable = { path = "crates/refineable/derive_refineable" }dev_container = { path = "crates/dev_container" }diagnostics = { path = "crates/diagnostics" }dialoguer = { version = "0.12", default-features = false }editor = { path = "crates/editor" }encoding_selector = { path = "crates/encoding_selector" }env_var = { path = "crates/env_var" }etw_tracing = { path = "crates/etw_tracing" }eval_utils = { path = "crates/eval_utils" }extension = { path = "crates/extension" }extension_host = { path = "crates/extension_host" }extensions_ui = { path = "crates/extensions_ui" }feature_flags = { path = "crates/feature_flags" }feature_flags_macros = { path = "crates/feature_flags_macros" }feedback = { path = "crates/feedback" }file_finder = { path = "crates/file_finder" }file_icons = { path = "crates/file_icons" }fs = { path = "crates/fs" }fuzzy = { path = "crates/fuzzy" }fuzzy_nucleo = { path = "crates/fuzzy_nucleo" }git = { path = "crates/git" }git_hosting_providers = { path = "crates/git_hosting_providers" }git_ui = { path = "crates/git_ui" }go_to_line = { path = "crates/go_to_line" }google_ai = { path = "crates/google_ai" }grammars = { path = "crates/grammars" }gpui = { path = "crates/gpui", default-features = false }gpui_shared_string = { path = "crates/gpui_shared_string" }gpui_linux = { path = "crates/gpui_linux", default-features = false }gpui_macos = { path = "crates/gpui_macos", default-features = false }gpui_macros = { path = "crates/gpui_macros" }gpui_platform = { path = "crates/gpui_platform", default-features = false }gpui_web = { path = "crates/gpui_web" }gpui_wgpu = { path = "crates/gpui_wgpu" }gpui_windows = { path = "crates/gpui_windows", default-features = false }gpui_tokio = { path = "crates/gpui_tokio" }gpui_util = { path = "crates/gpui_util" }html_to_markdown = { path = "crates/html_to_markdown" }http_client = { path = "crates/http_client" }http_client_tls = { path = "crates/http_client_tls" }http_proxy = { path = "crates/http_proxy" }icons = { path = "crates/icons" }image_viewer = { path = "crates/image_viewer" }edit_prediction_types = { path = "crates/edit_prediction_types" }edit_prediction_ui = { path = "crates/edit_prediction_ui" }edit_prediction_context = { path = "crates/edit_prediction_context" }input_latency_ui = { path = "crates/input_latency_ui" }inspector_ui = { path = "crates/inspector_ui" }install_cli = { path = "crates/install_cli" }journal = { path = "crates/journal" }json_schema_store = { path = "crates/json_schema_store" }keymap_editor = { path = "crates/keymap_editor" }language = { path = "crates/language" }language_core = { path = "crates/language_core" }language_extension = { path = "crates/language_extension" }language_model = { path = "crates/language_model" }language_model_core = { path = "crates/language_model_core" }language_models = { path = "crates/language_models" }language_models_cloud = { path = "crates/language_models_cloud" }language_onboarding = { path = "crates/language_onboarding" }language_selector = { path = "crates/language_selector" }language_tools = { path = "crates/language_tools" }languages = { path = "crates/languages" }line_ending_selector = { path = "crates/line_ending_selector" }livekit_api = { path = "crates/livekit_api" }livekit_client = { path = "crates/livekit_client" }llama_cpp = { path = "crates/llama_cpp" }lmstudio = { path = "crates/lmstudio" }lsp = { path = "crates/lsp" }lsp_locations = { path = "crates/lsp_locations" }markdown = { path = "crates/markdown" }markdown_preview = { path = "crates/markdown_preview" }mermaid_render = { path = "crates/mermaid_render" }svg_preview = { path = "crates/svg_preview" }media = { path = "crates/media" }menu = { path = "crates/menu" }mime = "0.3.17"migrator = { path = "crates/migrator" }mistral = { path = "crates/mistral" }multi_buffer = { path = "crates/multi_buffer" }miniprofiler_ui = { path = "crates/miniprofiler_ui" }net = { path = "crates/net" }node_runtime = { path = "crates/node_runtime" }notifications = { path = "crates/notifications" }oauth_callback_server = { path = "crates/oauth_callback_server" }ollama = { path = "crates/ollama" }onboarding = { path = "crates/onboarding" }openai_subscribed = { path = "crates/openai_subscribed" }opencode = { path = "crates/opencode" }open_ai = { path = "crates/open_ai" }open_path_prompt = { path = "crates/open_path_prompt" }open_router = { path = "crates/open_router", features = ["schemars"] }outline = { path = "crates/outline" }outline_panel = { path = "crates/outline_panel" }panel = { path = "crates/panel" }paths = { path = "crates/paths" }path = { path = "crates/path" }perf = { path = "tooling/perf" }picker = { path = "crates/picker" }picker_preview = { path = "crates/picker_preview" }prettier = { path = "crates/prettier" }settings_profile_selector = { path = "crates/settings_profile_selector" }project = { path = "crates/project" }project_panel = { path = "crates/project_panel" }project_symbols = { path = "crates/project_symbols" }prompt_store = { path = "crates/prompt_store" }proto = { path = "crates/proto" }proxy_handshake = { path = "crates/proxy_handshake" }recent_projects = { path = "crates/recent_projects" }refineable = { path = "crates/refineable" }release_channel = { path = "crates/release_channel" }remote = { path = "crates/remote" }remote_connection = { path = "crates/remote_connection" }remote_server = { path = "crates/remote_server" }repl = { path = "crates/repl" }reqwest_client = { path = "crates/reqwest_client" }rodio = { git = "https://github.com/RustAudio/rodio", rev = "e50e726ddd0292f6ef9de0dda6b90af4ed1fb66a", features = ["wav", "playback", "wav_output", "recording"] }rope = { path = "crates/rope" }rpc = { path = "crates/rpc" }scheduler = { path = "crates/scheduler" }sandbox = { path = "crates/sandbox" }search = { path = "crates/search" }session = { path = "crates/session" }sidebar = { path = "crates/sidebar" }settings = { path = "crates/settings" }settings_content = { path = "crates/settings_content" }settings_json = { path = "crates/settings_json" }settings_macros = { path = "crates/settings_macros" }settings_ui = { path = "crates/settings_ui" }shell_command_parser = { path = "crates/shell_command_parser" }snippet = { path = "crates/snippet" }snippet_provider = { path = "crates/snippet_provider" }snippets_ui = { path = "crates/snippets_ui" }sqlez = { path = "crates/sqlez" }sqlez_macros = { path = "crates/sqlez_macros" }streaming_diff = { path = "crates/streaming_diff" }sum_tree = { path = "crates/sum_tree" }codestral = { path = "crates/codestral" }system_specs = { path = "crates/system_specs" }syntax_theme = { path = "crates/syntax_theme" }tab_switcher = { path = "crates/tab_switcher" }task = { path = "crates/task" }tasks_ui = { path = "crates/tasks_ui" }telemetry = { path = "crates/telemetry" }telemetry_events = { path = "crates/telemetry_events" }terminal = { path = "crates/terminal" }terminal_view = { path = "crates/terminal_view" }text = { path = "crates/text" }theme = { path = "crates/theme" }theme_extension = { path = "crates/theme_extension" }theme_settings = { path = "crates/theme_settings" }theme_selector = { path = "crates/theme_selector" }time_format = { path = "crates/time_format" }platform_title_bar = { path = "crates/platform_title_bar" }title_bar = { path = "crates/title_bar" }toolchain_selector = { path = "crates/toolchain_selector" }ui = { path = "crates/ui" }ui_input = { path = "crates/ui_input" }ui_macros = { path = "crates/ui_macros" }ui_prompt = { path = "crates/ui_prompt" }util = { path = "crates/util" }util_macros = { path = "crates/util_macros" }vim = { path = "crates/vim" }vim_mode_setting = { path = "crates/vim_mode_setting" }which_key = { path = "crates/which_key" }
watch = { path = "crates/watch" }web_search = { path = "crates/web_search" }web_search_providers = { path = "crates/web_search_providers" }workspace = { path = "crates/workspace" }worktree = { path = "crates/worktree" }x_ai = { path = "crates/x_ai" }zed = { path = "crates/zed" }zed_actions = { path = "crates/zed_actions" }zed_credentials_provider = { path = "crates/zed_credentials_provider" }zed_env_vars = { path = "crates/zed_env_vars" }edit_prediction = { path = "crates/edit_prediction" }edit_prediction_metrics = { path = "crates/edit_prediction_metrics" }zeta_prompt = { path = "crates/zeta_prompt" }zlog = { path = "crates/zlog" }zlog_settings = { path = "crates/zlog_settings" }ztracing = { path = "crates/ztracing" }ztracing_macro = { path = "crates/ztracing_macro" }
## External crates#
accesskit = { version = "0.24.0", features = ["enumn"] }accesskit_macos = "0.26.0"accesskit_unix = "0.21.0"accesskit_windows = "0.33.1"agent-client-protocol = { version = "=2.0.0", features = ["unstable"] }aho-corasick = "1.1"alacritty_terminal = { git = "https://github.com/zed-industries/alacritty", rev = "4c129667ce56611becdc82de6e28218c80e2e88f" }any_vec = "0.14"anyhow = "1.0.86"ashpd = { version = "0.13", default-features = false, features = [ "async-io", "notification", "open_uri", "file_chooser", "settings", "trash"] }async-channel = "2.5.0"async-compat = "0.2.1"async-compression = { version = "0.4", features = ["bzip2", "gzip", "futures-io"] }async-dispatcher = "0.1"async-fs = "2.1"async-io = "2.6.0"async-lock = "3.4.2"async-pipe = { git = "https://github.com/zed-industries/async-pipe-rs", rev = "82d00a04211cf4e1236029aa03e6b6ce2a74c553" }async-recursion = "1.0.0"# `unstable` is required to compile async-tar's Windows symlink support.async-std = { version = "1.12", features = ["unstable"] }async-tar = "0.6"async-task = "4.7"async-trait = "0.1"async-tungstenite = "0.31.0"async-process = "2.5.0"async_zip = { version = "0.0.18", features = ["deflate", "deflate64"] }aws-config = { version = "1.8.10", features = ["behavior-version-latest"] }aws-credential-types = { version = "1.2.8", features = [ "hardcoded-credentials",] }aws-sdk-bedrockruntime = { version = "1.112.0", features = [ "behavior-version-latest",] }aws-sigv4 = { version = "1.4.0", features = ["http1"] }aws-smithy-runtime-api = { version = "1.9.2", features = ["http-1x", "client"] }aws-smithy-types = { version = "1.3.4", features = ["http-body-1-x"] }backtrace = "0.3"base64 = "0.22"bitflags = "2.6.0"block = "0.1"block2 = "0.6"brotli = "8.0.2"bytes = "1.0"cargo_metadata = "0.19"cargo_toml = "0.21"brush-parser = "0.3"cbindgen = { version = "0.28.0", default-features = false }cfg-if = "1.0.3"chardetng = "0.1"chrono = { version = "0.4", features = ["serde"] }ciborium = "0.2"circular-buffer = "1.0"clap = { version = "4.4", features = ["derive", "wrap_help"] }clap_complete = { version = "4.4" }clap_complete_nushell = { version = "4.4" }cocoa = "=0.26.0"cocoa-foundation = "=0.2.0"const_format = "0.2"convert_case = "0.11.0"core-foundation = "0.10"core-foundation-sys = "0.8.6"core-graphics = "0.24"core-text = "21"core-video = { version = "0.5.2", features = ["metal"] }cpal = "0.17"crash-handler = "0.7"criterion = { version = "0.5", features = ["html_reports"] }ctor = "1.0.6"dap-types = { git = "https://github.com/zed-industries/dap-types", rev = "1b461b310481d01e02b2603c16d7144b926339f8" }dashmap = "6.0"derive_more = { version = "2.1.1", features = [ "add", "add_assign", "deref", "deref_mut", "display", "from_str", "mul", "mul_assign", "not",] }dirs = "6.0"documented = "0.9.1"dotenvy = "0.15.0"dunce = "1.0"ec4rs = { version = "1.2", features = ["allow-empty-values"] }emojis = "0.6.1"env_logger = "0.11"encoding_rs = "0.8"etagere = "0.2"exec = "0.3.1"fancy-regex = "0.18.0"fork = "0.4.0"flume = "0.12"foreign-types = "0.5"futures = "0.3.32"futures-concurrency = "7.7.1"futures-lite = "1.13"futures-util = "0.3.32"gh-workflow = { git = "https://github.com/zed-industries/gh-workflow", rev = "37f3c0575d379c218a9c455ee67585184e40d43f" }
globset = "0.4"heapless = "0.9.2"handlebars = "4.3"heck = "0.5"hdrhistogram = "7"heed = { version = "0.21.0", features = ["read-txn-no-tls"] }hex = "0.4.3"human_bytes = "0.4.1"html5ever = "0.27.0"http = "1.1"http-body = "1.0"httparse = "1.10"idna = "1.0"ignore = "0.4.22"# image's default features minus "avif", which only adds an encoder (rav1e);# decoding AVIF would additionally need the non-default "avif-native" feature.image = { version = "0.25.1", default-features = false, features = [ "bmp", "dds", "exr", "ff", "gif", "hdr", "ico", "jpeg", "png", "pnm", "qoi", "rayon", "tga", "tiff", "webp",] }imara-diff = "0.2.0"indexmap = { version = "2.7.0", features = ["serde"] }indoc = "2"inventory = "0.3.19"itertools = "0.14.0"json_dotpath = "1.1"jsonschema = "0.37.0"jsonwebtoken = "10.0"jupyter-protocol = "1.4.0"jupyter-websocket-client = "1.1.0"libc = "0.2"libsqlite3-sys = { version = "0.30.1", features = ["bundled"] }linkify = "0.10.0"libwebrtc = "0.3.26"livekit = { version = "0.7.32", features = ["tokio", "rustls-tls-native-roots"] }log = { version = "0.4.16", features = ["kv_unstable_serde", "serde"] }lru = "0.16"lsp-types = { git = "https://github.com/zed-industries/lsp-types", rev = "f4dfa89a21ca35cd929b70354b1583fabae325f8" }mach2 = "0.5"markup5ever_rcdom = "0.3.0"metal = "0.33"minidumper = "0.9"moka = { version = "0.12.10", features = ["sync"] }nanoid = "0.4"nbformat = "1.2.0"nix = "0.29"notify-rust = "4"nucleo = "0.5"num-format = "0.4.4"objc = "0.2"objc2 = "0.6"objc2-app-kit = { version = "0.3.2", default-features = false, features = [ "NSButton", "NSControl", "NSGraphics", "NSResponder", "NSView", "NSWindow", "objc2-core-foundation",] }objc2-foundation = { version = "=0.3.2", default-features = false, features = [ "NSArray", "NSAttributedString", "NSBundle", "NSCoder", "NSData", "NSDate", "NSDictionary", "NSEnumerator", "NSError", "NSGeometry", "NSNotification", "NSNull", "NSObjCRuntime", "NSObject", "NSProcessInfo", "NSRange", "NSRunLoop", "NSSet", "NSString", "NSURL", "NSUndoManager", "NSValue", "objc2-core-foundation", "std",] }objc2-user-notifications = "0.3"open = "5.0.0"ordered-float = "2.1.1"palette = { version = "0.7.5", default-features = false, features = ["std"] }parking_lot = "0.12.1"partial-json-fixer = "0.5.3"parse_int = "0.9"pathfinder_geometry = "0.5"pciid-parser = "0.8.0"pathdiff = "0.2"percent-encoding = "2.3.2"pet = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "9e61a22af989fe54937bf07c9f9cff1bc53d9056" }pet-conda = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "9e61a22af989fe54937bf07c9f9cff1bc53d9056" }pet-core = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "9e61a22af989fe54937bf07c9f9cff1bc53d9056" }pet-fs = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "9e61a22af989fe54937bf07c9f9cff1bc53d9056" }pet-poetry = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "9e61a22af989fe54937bf07c9f9cff1bc53d9056" }pet-reporter = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "9e61a22af989fe54937bf07c9f9cff1bc53d9056" }pet-virtualenv = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "9e61a22af989fe54937bf07c9f9cff1bc53d9056" }piper = "0.2"portable-pty = "0.9.0"postage = { version = "0.5", features = ["futures-traits"] }pretty_assertions = { version = "1.3.0", features = ["unstable"] }proc-macro2 = "1.0.93"profiling = "1"# replace this with main when #635 is mergedproptest = { git = "https://github.com/proptest-rs/proptest", rev = "3dca198a8fef1b32e3a66f1e1897c955b4dc5b5b", features = ["attr-macro"] }proptest-derive = "0.8.0"proxyvars = "0.2"prost = "0.9"prost-build = "0.9"prost-types = "0.9"pollster = "0.4.0"pulldown-cmark = { version = "0.13.0", default-features = false }quick-xml = "0.38"quote = "1.0.9"rand = "0.9"rayon = "1.8"raw-window-handle = "0.6"regex = "1.5"# WARNING: If you change this, you must also publish a new version of zed-reqwest to crates.ioreqwest = { git = "https://github.com/zed-industries/reqwest.git", rev = "c15662463bda39148ba154100dd44d3fba5873a4", default-features = false, features = [ "charset", "http2", "macos-system-configuration", "multipart", "rustls-tls-native-roots", "socks", "stream",], package = "zed-reqwest", version = "0.12.15-zed" }resvg = { version = "0.46.0", default-features = false, features = [ "text", "system-fonts", "memmap-fonts", "raster-images",] }rsa = "0.9.6"runtimelib = { version = "1.4.0", default-features = false, features = [ "async-dispatcher-runtime", "aws-lc-rs"] }rust-embed = { version = "8.11", features = ["include-exclude"] }rustc-hash = "2.1.0"rustix = { version = "1.1", features = ["fs"] }rustls = { version = "0.23.26" }rustls-platform-verifier = "0.5.0"# WARNING: If you change this, you must also publish a new version of zed-scap to crates.ioscap = { git = "https://github.com/zed-industries/scap", rev = "4afea48c3b002197176fb19cd0f9b180dd36eaac", default-features = false, package = "zed-scap", version = "0.0.8-zed" }schemars = { version = "1.0", features = ["indexmap2"] }seccompiler = "0.5"semver = { version = "1.0", features = ["serde"] }serde = { version = "1.0.221", features = ["derive", "rc"] }serde_json = { version = "1.0.144", features = ["preserve_order", "raw_value"] }serde_yaml_ng = "0.10"serde_json_lenient = { version = "0.2", features = [ "preserve_order", "raw_value",] }serde_yaml = "0.9.34"serde_path_to_error = "0.1.17"serde_urlencoded = "0.7"sha2 = "0.10"shellexpand = "3.1"shlex = "1.3.0"simplelog = "0.12.2"slotmap = "1.0.6"smallvec = { version = "1.6", features = ["union", "const_new"] }smol = "2.0"sqlformat = "0.2"stacksafe = "0.1"streaming-iterator = "0.1"strsim = "0.11"strum = { version = "0.27.2", features = ["derive"] }swash = "0.2.6"syn = { version = "2.0.101", features = ["full", "extra-traits", "visit-mut"] }sys-locale = "0.3.1"sysinfo = "0.37.0"take-until = "0.2.0"tempfile = "3.20.0"thiserror = "2.0.12"time = { version = "0.3", features = [ "macros", "parsing", "serde", "serde-well-known", "formatting", "local-offset",] }tiny_http = "0.12"tokio = { version = "1" }toml = "0.8"toml_edit = { version = "0.22", default-features = false, features = [ "display", "parse", "serde",] }tower-http = "0.4.4"tree-sitter = "0.26.9"tree-sitter-bash = "0.25.1"tree-sitter-c = "0.24.1"tree-sitter-cpp = { git = "https://github.com/tree-sitter/tree-sitter-cpp", rev = "5cb9b693cfd7bfacab1d9ff4acac1a4150700609" }tree-sitter-css = "0.23"tree-sitter-diff = "0.1.0"tree-sitter-elixir = "0.3"tree-sitter-embedded-template = "0.23.0"tree-sitter-gitcommit = { git = "https://github.com/zed-industries/tree-sitter-git-commit", rev = "88309716a69dd13ab83443721ba6e0b491d37ee9" }tree-sitter-go = "0.25"tree-sitter-go-mod = { git = "https://github.com/camdencheek/tree-sitter-go-mod", rev = "2e886870578eeba1927a2dc4bd2e2b3f598c5f9a", package = "tree-sitter-gomod" }tree-sitter-gowork = { git = "https://github.com/zed-industries/tree-sitter-go-work", rev = "acb0617bf7f4fda02c6217676cc64acb89536dc7" }tree-sitter-heex = { git = "https://github.com/zed-industries/tree-sitter-heex", rev = "1dd45142fbb05562e35b2040c6129c9bca346592" }tree-sitter-html = "0.23"tree-sitter-jsdoc = "0.23"tree-sitter-json = "0.24"tree-sitter-md = { git = "https://github.com/zed-industries/tree-sitter-markdown", rev = "b596e737286780d7bfa9fcddceaeeb754574b352" } # fork of 9a23c1a with serialize() buffer-overflow fix; https://github.com/tree-sitter-grammars/tree-sitter-markdown/issues/243tree-sitter-python = "0.25"tree-sitter-regex = "0.24"tree-sitter-ruby = "0.23"tree-sitter-rust = "0.24.2"tree-sitter-typescript = { git = "https://github.com/zed-industries/tree-sitter-typescript", rev = "e2c53597d6a5d9cf7bbe8dccde576fe1e46c5899" } # https://github.com/tree-sitter/tree-sitter-typescript/pull/347tree-sitter-yaml = { git = "https://github.com/zed-industries/tree-sitter-yaml", rev = "baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a" }tracing = "0.1.40"unicase = "2.6"unicode-bidi = { version = "0.3.18", default-features = false, features = [ "hardcoded-data",] }unicode-script = "0.5.7"unicode-segmentation = "1.10"unicode-width = "0.2"unindent = "0.2.0"url = "2.2"urlencoding = "2.1.2"usvg = { version = "0.46.0", default-features = false }uuid = { version = "1.1.2", features = ["v4", "v5", "v7", "serde"] }vte = { version = "0.15.0", features = ["ansi"] }walkdir = "2.5"wasm-encoder = "0.252"wasmparser = "0.252"wasmtime = { version = "36", default-features = false, features = [ "async", "demangle", "runtime", "cranelift", "component-model", "incremental-cache", "parallel-compilation",] }wasmtime-wasi = "36"wax = "0.7"which = "6.0.0"wasm-bindgen = "0.2.120"wasm-bindgen-futures = "0.4"js-sys = "0.3"console_error_panic_hook = "0.1.7"web-time = "1.1.0"webrtc-sys = "0.3.23"wgpu = "29.0.4"windows-core = "0.61"yaml-rust2 = "0.8"yawc = { git = "https://github.com/zed-industries/yawc", rev = "71a452f551cac178367eaac5d7418a09afa1f3a2", version = "0.3.3" }zeroize = "1.8"zstd = "0.11"
[workspace.dependencies.windows]version = "0.61"features = [ "Data_Xml_Dom", "Foundation_Numerics", "Globalization_DateTimeFormatting", "Storage_Search", "Storage_Streams", "System_Threading", "UI_Notifications", "UI_ViewManagement", "Wdk_System_SystemServices", "Win32_Foundation", "Win32_Globalization", "Win32_Graphics_Direct3D", "Win32_Graphics_Direct3D11", "Win32_Graphics_Direct3D_Fxc", "Win32_Graphics_DirectComposition", "Win32_Graphics_DirectWrite", "Win32_Graphics_DirectManipulation", "Win32_Graphics_Dwm", "Win32_Graphics_Dxgi", "Win32_Graphics_Dxgi_Common", "Win32_Graphics_Gdi", "Win32_Graphics_Imaging", "Win32_Graphics_Hlsl", "Win32_Networking_WinSock", "Win32_Security", "Win32_Security_Credentials", "Win32_Security_Cryptography", "Win32_Storage_FileSystem", "Win32_Storage_Packaging_Appx", "Win32_System_Com", "Win32_System_Com_StructuredStorage", "Win32_System_Console", "Win32_System_Diagnostics_Debug", "Win32_System_DataExchange", "Win32_System_IO", "Win32_System_JobObjects", "Win32_System_LibraryLoader", "Win32_System_Memory", "Win32_System_Ole", "Win32_System_Performance", "Win32_System_Pipes", "Win32_System_RestartManager", "Win32_System_SystemInformation", "Win32_System_SystemServices", "Win32_System_Threading", "Win32_System_Variant", "Win32_System_WinRT", "Win32_UI_Controls", "Win32_UI_HiDpi", "Win32_UI_Input_Ime", "Win32_UI_Input_KeyboardAndMouse", "Win32_UI_Input_Pointer", "Win32_UI_Shell", "Win32_UI_Shell_Common", "Win32_UI_Shell_PropertiesSystem", "Win32_UI_WindowsAndMessaging", "Win32_Media",]
[patch.crates-io]async-process = { git = "https://github.com/zed-industries/async-process.git", rev = "0b6d6713570af61806e1e5cb40e0f757cb93fd9d" }async-task = { git = "https://github.com/smol-rs/async-task.git", rev = "b4486cd71e4e94fbda54ce6302444de14f4d190e" }windows-capture = { git = "https://github.com/zed-industries/windows-capture.git", rev = "f0d6c1b6691db75461b732f6d5ff56eed002eeb9" }calloop = { git = "https://github.com/zed-industries/calloop" }livekit = { git = "https://github.com/zed-industries/livekit-rust-sdks", rev = "d0e27be0cdad89eadab3e36207cda0a2b6e359ee" }libwebrtc = { git = "https://github.com/zed-industries/livekit-rust-sdks", rev = "d0e27be0cdad89eadab3e36207cda0a2b6e359ee" }notify = { git = "https://github.com/zed-industries/notify", rev = "0890bbb8ca40a4b5d1f67031698dd7918b37d991" }notify-types = { git = "https://github.com/zed-industries/notify", rev = "0890bbb8ca40a4b5d1f67031698dd7918b37d991" }webrtc-sys = { git = "https://github.com/zed-industries/livekit-rust-sdks", rev = "d0e27be0cdad89eadab3e36207cda0a2b6e359ee" }
[profile.dev]split-debuginfo = "unpacked"incremental = truecodegen-units = 16debug = "limited"
# mirror configuration for crates compiled for the build platform# (without this cargo will compile ~400 crates twice)[profile.dev.build-override]codegen-units = 16split-debuginfo = "unpacked"debug = "limited"
# "debug" is a reserved profile name.[profile.dbg]inherits = "dev"debug = "full"
[profile.dbg.build-override]debug = "full"
[profile.dev.package]# proc-macros startgpui_macros = { opt-level = 3 }derive_refineable = { opt-level = 3 }feature_flags_macros = { opt-level = 3 }settings_macros = { opt-level = 3 }sqlez_macros = { opt-level = 3, codegen-units = 1 }ui_macros = { opt-level = 3 }util_macros = { opt-level = 3 }quote = { opt-level = 3 }syn = { opt-level = 3 }proc-macro2 = { opt-level = 3 }# proc-macros end
tree-sitter = { opt-level = 3 }taffy = { opt-level = 3 }resvg = { opt-level = 3 }wasmtime = { opt-level = 3 }cranelift-codegen = { opt-level = 3 }wasmtime-environ = { opt-level = 3 }wasmtime-internal-cranelift = { opt-level = 3 }minidumper = { opt-level = 3 }serde_json = { opt-level = 3 }# Build single-source-file crates with cg=1 as it helps make `cargo build` of a whole workspace a bit fasteractivity_indicator = { codegen-units = 1 }assets = { codegen-units = 1 }breadcrumbs = { codegen-units = 1 }collections = { codegen-units = 1 }command_palette = { codegen-units = 1 }command_palette_hooks = { codegen-units = 1 }feature_flags = { codegen-units = 1 }file_icons = { codegen-units = 1 }image_viewer = { codegen-units = 1 }edit_prediction_ui = { codegen-units = 1 }install_cli = { codegen-units = 1 }journal = { codegen-units = 1 }json_schema_store = { codegen-units = 1 }llama_cpp = { codegen-units = 1 }lmstudio = { codegen-units = 1 }menu = { codegen-units = 1 }notifications = { codegen-units = 1 }ollama = { codegen-units = 1 }outline = { codegen-units = 1 }paths = { codegen-units = 1 }prettier = { codegen-units = 1 }project_symbols = { codegen-units = 1 }refineable = { codegen-units = 1 }release_channel = { codegen-units = 1 }reqwest_client = { codegen-units = 1 }session = { codegen-units = 1 }sidebar = { codegen-units = 1 }snippet = { codegen-units = 1 }snippets_ui = { codegen-units = 1 }telemetry_events = { codegen-units = 1 }theme_selector = { codegen-units = 1 }time_format = { codegen-units = 1 }ui_input = { codegen-units = 1 }zed_actions = { codegen-units = 1 }
[profile.release]debug = "limited"lto = "thin"codegen-units = 1
[profile.release.package]zed = { codegen-units = 16 }
[profile.release-fast]inherits = "release"debug = "full"lto = falsecodegen-units = 16
[workspace.lints.rust]unexpected_cfgs = { level = "allow" }
[workspace.lints.clippy]dbg_macro = "deny"todo = "deny"
declare_interior_mutable_const = "deny"
redundant_clone = "deny"disallowed_methods = "deny"
# We currently do not restrict any style rules# as it slows down shipping code to Zed.## Running ./script/clippy can take several minutes, and so it's# common to skip that step and let CI do it. Any unexpected failures# (which also take minutes to discover) thus require switching back# to an old branch, manual fixing, and re-pushing.## In the future we could improve this by either making sure# Zed can surface clippy errors in diagnostics (in addition to the# rust-analyzer errors), or by having CI fix style nits automatically.style = { level = "allow", priority = -1 }
# Individual rules that have violations in the codebase:type_complexity = "allow"let_underscore_future = "allow"
# Motivation: We use `vec![a..b]` a lot when dealing with ranges in text, so# warning on this rule produces a lot of noise.single_range_in_vec_init = "allow"
# in Rust it can be very tedious to reduce argument count without# running afoul of the borrow checker.too_many_arguments = "allow"
# We often have large enum variants yet we rarely actually bother with splitting them up.large_enum_variant = "allow"
# Boolean expressions can be hard to read, requiring only the minimal form gets in the waynonminimal_bool = "allow"
[workspace.metadata.cargo-machete]ignored = [ "bindgen", "cbindgen", "prost_build", "serde", "component", "documented", "sea-orm-macros",]
# Dylint discovers our custom lints through this entry, so `cargo dylint --all`# runs them without a `--path` argument. The `lints` package pins its own# nightly toolchain (see `tooling/lints/rust-toolchain.toml`) and is kept out of# this workspace on purpose.[workspace.metadata.dylint]libraries = [{ path = "tooling/lints" }]