zed/crates
张小白 11a3d2b04b
windows: Introduce Direct Write (#10119)
This PR brings `Direct Write` to Zed. Now, Zed first trys to query
dwrite interface, if not supported, which means runing on Windows below
win10 1703), will choose `cosmic` as a fallback text system.

This direct write text system supports:
- Full font features support
- Emoji support
- Default system fonts as fallback

### Font features


https://github.com/zed-industries/zed/assets/14981363/198eff88-47df-4bc8-a257-e3acf81fd61d

### Emoji

![Screenshot 2024-04-03
211354](https://github.com/zed-industries/zed/assets/14981363/a5bc5845-42e8-4af1-af7e-abba598c1e72)

**Note: input emoji through IME or IMM not working yet, copy paste emoji
works fine (will be fixed by #10125 )**

### Font fallback

I use `Zed mono` which dose not support chinese chars to test font
fallback



https://github.com/zed-industries/zed/assets/14981363/c97d0847-0ac5-47e6-aa00-f3ce6d1e50a5



Release Notes:

- N/A
2024-04-18 11:58:46 -07:00
..
activity_indicator Add auto-update system for extensions (#9890) 2024-03-28 15:41:22 -04:00
anthropic Check license generation for every PR to avoid license-less crate additions (#10033) 2024-04-01 12:16:16 +03:00
assets Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
assistant Handle no active editor available (#10503) 2024-04-15 16:53:08 -07:00
audio Introduce InlineCompletionProvider (#9777) 2024-03-26 13:28:06 +01:00
auto_update Refactor workspace notifications to use explicit NotificationId type (#10342) 2024-04-10 17:21:23 -04:00
breadcrumbs Use buffer font when rendering editor breadcrumbs and diagnostics (#10488) 2024-04-12 12:29:00 -07:00
call WIP: remoting (#10085) 2024-04-11 15:36:35 -06:00
channel Semantic Index (#10329) 2024-04-12 11:40:59 -06:00
cli Windows: Enable clippy deny warnings (#9920) 2024-03-28 11:55:35 -04:00
client Clear credentials state and delete keychain on SignOut request (#10558) 2024-04-16 19:57:38 -06:00
clock Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
collab git blame: Parse permalinks client side (#10714) 2024-04-18 12:36:22 +02:00
collab_ui markdown preview: Update channel notes when other collaborator changes buffer (#10718) 2024-04-18 14:26:32 +02:00
collections gpui: Add SVG rendering to img element and generic asset cache (#9931) 2024-03-29 17:09:49 -07:00
color Fix hex_to_hsla inside the color crate (#9412) 2024-03-15 16:58:46 -04:00
command_palette Encapsulate CommandPaletteFilter and CommandPaletteInterceptor (#9402) 2024-03-15 12:37:25 -04:00
command_palette_hooks Introduce InlineCompletionProvider (#9777) 2024-03-26 13:28:06 +01:00
copilot Revert "Revert "language: Remove buffer fingerprinting (#9007)"" (#9671) 2024-04-12 18:40:35 +02:00
copilot_ui Refactor workspace notifications to use explicit NotificationId type (#10342) 2024-04-10 17:21:23 -04:00
db Fix issues with extension API that come up when moving Svelte into an extension (#9611) 2024-03-22 17:29:06 -07:00
diagnostics Increase the context in other multibuffers (#10582) 2024-04-15 14:44:14 -07:00
editor git blame: Parse permalinks client side (#10714) 2024-04-18 12:36:22 +02:00
extension Extract Vue extension (#10486) 2024-04-12 14:39:27 -04:00
extension_api Improve extension API documentation (#10322) 2024-04-09 10:38:29 -04:00
extension_cli Add git blame (#8889) 2024-03-28 18:32:11 +01:00
extensions_ui Disable extension entries when the corresponding dev extension is installed (#10580) 2024-04-15 16:27:54 -04:00
feature_flags WIP: remoting (#10085) 2024-04-11 15:36:35 -06:00
feedback Refactor workspace notifications to use explicit NotificationId type (#10342) 2024-04-10 17:21:23 -04:00
file_finder Add preview tabs (#9125) 2024-04-11 23:09:12 +02:00
file_icons tasks: Use icons instead of secondary text in a modal (#10264) 2024-04-08 11:41:54 +02:00
fs Fix git blame not working correctly with submodules (#10114) 2024-04-03 13:49:12 +02:00
fsevent Add rs-notify implementation of fs::watch (#9040) 2024-03-08 22:18:44 -08:00
fuzzy Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
git git blame: Parse permalinks client side (#10714) 2024-04-18 12:36:22 +02:00
go_to_line Line numbers short mode (#10354) 2024-04-10 12:08:07 +02:00
google_ai Fix licensing errors 2024-03-20 15:52:02 +01:00
gpui windows: Introduce Direct Write (#10119) 2024-04-18 11:58:46 -07:00
gpui_macros gpui-macros: Hide autogenerated action types/functions (#10417) 2024-04-11 15:38:47 +02:00
headless WIP: remoting (#10085) 2024-04-11 15:36:35 -06:00
image_viewer Add preview tabs (#9125) 2024-04-11 23:09:12 +02:00
install_cli Fix flickering (#9012) 2024-03-11 10:45:57 +01:00
journal Add the ability for extensions to provide language settings (#10296) 2024-04-08 19:17:12 -04:00
language Fix Markdown code rendering in tooltips ignoring languages (#10607) 2024-04-16 12:49:35 +02:00
language_selector Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
language_tools Add preview tabs (#9125) 2024-04-11 23:09:12 +02:00
languages Add ability to specify binary path/args for clangd (#10608) 2024-04-16 18:17:15 +02:00
live_kit_client Add a schema to extensions, to prevent installing extensions on too old of a Zed version (#9599) 2024-03-20 17:33:26 -04:00
live_kit_server Merge prost dependecies (#9522) 2024-03-18 20:33:20 -06:00
lsp lsp: Do not set error/result fields if they're missing. (#10610) 2024-04-16 14:27:12 +02:00
markdown_preview Add preview tabs (#9125) 2024-04-11 23:09:12 +02:00
media Revert "Revert "Revert dependency updates in #9836 (#10089)"" 2024-04-02 13:12:38 -06:00
menu Fix the linux keymap (#9829) 2024-03-26 16:10:09 -07:00
multi_buffer vim: Don’t allow edits in the read-only state (#10404) 2024-04-11 18:19:49 -06:00
node_runtime Allow extensions to define more of the methods in the LspAdapter trait (#9554) 2024-03-20 12:47:04 -07:00
notifications Fix mention notifications are not updated after message change and not removed after a message is deleted (#9847) 2024-04-02 20:40:00 -06:00
open_ai Semantic Index (#10329) 2024-04-12 11:40:59 -06:00
outline Restore --all-targets for clippy (#9346) 2024-03-14 12:39:45 -04:00
picker tab_switcher: Add tab close buttons (#9968) 2024-04-03 17:28:51 +02:00
prettier Fix prettier-plugin-organize-imports plugin removes used imports (#9598) 2024-03-21 08:23:15 +01:00
project git blame: Parse permalinks client side (#10714) 2024-04-18 12:36:22 +02:00
project_panel Add a setting to show/hide the project panel button in the status bar (#10707) 2024-04-18 10:14:06 +03:00
project_symbols Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
quick_action_bar Do not show tooltip for editor controls if clicked (#10679) 2024-04-17 13:20:47 +02:00
recent_projects Remove if-not-else patterns (#10402) 2024-04-11 03:48:06 -04:00
refineable Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
release_channel Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
rich_text chat panel: Add timestamp in tooltip to edited message (#10444) 2024-04-12 14:26:41 +02:00
rope Revert "Revert "language: Remove buffer fingerprinting (#9007)"" (#9671) 2024-04-12 18:40:35 +02:00
rpc git blame: Parse permalinks client side (#10714) 2024-04-18 12:36:22 +02:00
search Increase the context in other multibuffers (#10582) 2024-04-15 14:44:14 -07:00
semantic_index Semantic Index (#10329) 2024-04-12 11:40:59 -06:00
semantic_version Extract SemanticVersion into its own crate (#9956) 2024-03-29 12:11:57 -04:00
settings Remove if-not-else patterns (#10402) 2024-04-11 03:48:06 -04:00
snippet Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
sqlez Remove if-not-else patterns (#10402) 2024-04-11 03:48:06 -04:00
sqlez_macros Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
story Enable clippy::eq_op (#9369) 2024-03-14 17:05:07 -04:00
storybook windows: Support compiling with MinGW toolchain (part 2) (#9843) 2024-03-28 10:40:07 -07:00
sum_tree Fuse iterator supplied to SumTree::from_iter (#10571) 2024-04-15 20:09:43 +02:00
tab_switcher Add preview tabs (#9125) 2024-04-11 23:09:12 +02:00
task Add basic bash and Python tasks (#10548) 2024-04-15 16:07:21 +03:00
tasks_ui Merge Zed task context providing logic (#10544) 2024-04-15 11:52:15 +03:00
telemetry_events Extract SemanticVersion into its own crate (#9956) 2024-03-29 12:11:57 -04:00
terminal Show task summary in its terminal after it stops running (#10615) 2024-04-16 22:13:35 +03:00
terminal_view Open exactly one terminal on workspace::NewTerminal action (#10721) 2024-04-18 12:44:40 +03:00
text Improve the ergonomics of creating local buffers (#10347) 2024-04-10 08:32:51 -06:00
theme Add the ability for extensions to provide language settings (#10296) 2024-04-08 19:17:12 -04:00
theme_importer themes: Add pane_group.border color (#9986) 2024-04-01 12:07:26 -04:00
theme_selector Add support for applying theme after extension is installed (#9529) 2024-03-20 11:13:58 -04:00
time_format Inline git blame (#10398) 2024-04-15 14:21:52 +02:00
ui Update crates/ui/docs/hello-world.md TODO with explanation of SharedString usage (#10664) 2024-04-17 13:04:28 +03:00
ui_text_field Update TextField (#10415) 2024-04-11 10:03:36 -04:00
util terminal: Treat paths with non-digit col/rows as paths nonetheless (#10691) 2024-04-17 22:55:08 +02:00
vcs_menu Refactor workspace notifications to use explicit NotificationId type (#10342) 2024-04-10 17:21:23 -04:00
vim More vim-like regexes (#10577) 2024-04-15 14:26:05 -06:00
welcome Add preview tabs (#9125) 2024-04-11 23:09:12 +02:00
workspace Fix center element wrapper size (#10672) 2024-04-17 12:34:18 +03:00
worktree Fix Auto folded dirs performance issues (#8556) 2024-04-12 11:26:26 -07:00
zed v0.133.x dev 2024-04-17 13:05:26 -04:00
zed_actions Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00