zed/crates
claytonrcarter cd4d2f7900
Add Prettier support for Vue, Markdown and PHP (#7904)
Current prettier support w/i Zed leaves out a few languages that are
officially supported by prettier. In particular, Vue and Markdown are
supported by the core prettier project, and PHP is supported via an
official plugin. I didn't see any open issues for this, but I have been
wondering for months why `"formatter": "prettier"` wasn't working on my
PHP files. Now that Zed is open source, I was able to find out why, and
fix it. 😄

I have been using this with PHP files daily for a week+ now, and I have
also used it successfully with Vue and Markdown files, though not as
extensively. I looked around and did not see any tests for specific
prettier language integrations, but if I missed them please let me know
and I'll add some tests.

**Notes**
- I did not add support for Ruby (which has an official prettier plugin)
because it seems to require some external dependencies (notably, Rudy
and some Gems). When those are present on the system and `$PATH`,
prettier will will work just fine on Ruby files if the plugin is set up
similar to how the PHP plugin is set up (I tried it), and I can add that
in here, if desired. The PHP plugin is pure JS (as I recall) and doesn't
have this issue.
- I did *not* add support for languages that have "community" plugins,
though I do note that Zed already ships with prettier support for svelte
enabled, which – if I understand correctly – is powered by a community
plugin. If desired, I could look at adding support/configuration to
enable prettier support for things like elm, erb, glsl, bash, toml.
Bash, in particular, *I* would find useful. 😄

Release Notes:

- Added prettier support for Vue, Markdown and PHP
2024-02-17 11:35:31 +02:00
..
activity_indicator chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
ai Allow OpenAI API URL to be configured via assistant.openai_api_url (#7552) 2024-02-12 11:37:27 -05:00
assets chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
assistant Allow OpenAI API URL to be configured via assistant.openai_api_url (#7552) 2024-02-12 11:37:27 -05:00
audio chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
auto_update chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
breadcrumbs chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
call revert single channel click (#7738) 2024-02-13 12:53:49 -07:00
channel Fix notes unread status (#7643) 2024-02-09 23:12:26 -07:00
cli Actually fail on clippy failures (#7619) 2024-02-09 10:13:00 -08:00
client Use collections::{HashMap, HashSet} instead of its std:: counterpart (#7502) 2024-02-07 19:06:03 +02:00
clock Clean up Cargo.toml files (#7044) 2024-01-29 23:47:20 -05:00
collab Fix a missing follower update on re-activate (#7918) 2024-02-16 11:33:49 -07:00
collab_ui Fix a missing follower update on re-activate (#7918) 2024-02-16 11:33:49 -07:00
collections gpui: Add Global marker trait (#7095) 2024-01-30 14:08:20 -05:00
color chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
command_palette Close modals and menus before dispathing actions (#7830) 2024-02-15 15:57:32 +02:00
copilot Add Clojure language support with tree-sitter and LSP (#6988) 2024-02-10 13:28:48 -08:00
copilot_ui Add cancel button on GitHub Copilot actions (#7850) 2024-02-16 10:45:55 -05:00
db chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
diagnostics chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
editor vim: Implement Go To Previous Word End (#7505) 2024-02-15 16:15:31 -07:00
extension Upgrade toml to v0.8 (#7931) 2024-02-16 17:43:40 -05:00
extensions_ui Add button link to extension repository (#7880) 2024-02-16 11:49:05 -05:00
feature_flags chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
feedback vim: Fix renaming (#7714) 2024-02-12 22:28:26 -07:00
file_finder chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
fs Fix case-only renaming of files (#7768) 2024-02-14 16:00:31 +01:00
fsevent Translate notify::Event to fsevent::Event on linux (#7545) 2024-02-08 08:35:37 -08:00
fuzzy chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
git chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
go_to_line chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
gpui Wayland input handling (#7857) 2024-02-16 13:49:34 -08:00
gpui_macros Sort dependencies in Cargo.toml files (#7126) 2024-01-30 21:41:29 -05:00
install_cli chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
journal chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
language Add "code_actions_on_format" (#7860) 2024-02-15 14:19:57 -07:00
language_selector chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
language_tools Add logic for managing language and theme extensions (#7467) 2024-02-07 15:14:50 -05:00
live_kit_client X11: Continuous Presentation (#7762) 2024-02-14 12:24:12 -08:00
live_kit_server Sort dependencies in Cargo.toml files (#7126) 2024-01-30 21:41:29 -05:00
lsp Allow both integer and string request IDs in LSP (#7662) 2024-02-15 20:26:23 +02:00
markdown_preview Replace full with size_full (#7888) 2024-02-15 22:26:49 -05:00
media Enable Blade on MacOS via "macos-blade" feature (#7669) 2024-02-16 13:39:40 -08:00
menu chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
multi_buffer panics (#7793) 2024-02-14 14:36:40 -07:00
node_runtime chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
notifications chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
outline Avoid another confirmation when submitting/discarding feedback (#7569) 2024-02-08 16:13:54 +02:00
picker chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
plugin chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
plugin_macros Sort dependencies in Cargo.toml files (#7126) 2024-01-30 21:41:29 -05:00
plugin_runtime Sort dependencies in Cargo.toml files (#7126) 2024-01-30 21:41:29 -05:00
prettier Add Prettier support for Vue, Markdown and PHP (#7904) 2024-02-17 11:35:31 +02:00
project Add "code_actions_on_format" (#7860) 2024-02-15 14:19:57 -07:00
project_panel Use collections::{HashMap, HashSet} instead of its std:: counterpart (#7502) 2024-02-07 19:06:03 +02:00
project_symbols Add logic for managing language and theme extensions (#7467) 2024-02-07 15:14:50 -05:00
quick_action_bar chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
recent_projects chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
refineable Sort dependencies in Cargo.toml files (#7126) 2024-01-30 21:41:29 -05:00
release_channel chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
rich_text chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
rope Optimize construction and insertion of large SumTrees (#7731) 2024-02-13 16:24:40 +01:00
rpc Remove environment guards (#7741) 2024-02-13 13:20:14 -07:00
search Fix buffer search invalid regexp indicator (#7795) 2024-02-15 13:33:26 -05:00
semantic_index Allow OpenAI API URL to be configured via assistant.openai_api_url (#7552) 2024-02-12 11:37:27 -05:00
settings Canonicalize settings to avoid overwriting symlinks (#7632) 2024-02-09 22:31:14 +02:00
snippet Clean up Cargo.toml files (#7044) 2024-01-29 23:47:20 -05:00
sqlez Use collections::{HashMap, HashSet} instead of its std:: counterpart (#7502) 2024-02-07 19:06:03 +02:00
sqlez_macros chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
story chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
storybook chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
sum_tree Optimize construction and insertion of large SumTrees (#7731) 2024-02-13 16:24:40 +01:00
terminal Use collections::{HashMap, HashSet} instead of its std:: counterpart (#7502) 2024-02-07 19:06:03 +02:00
terminal_view Use local player selection color, not cursor, for terminal selection 2024-02-12 10:52:44 -05:00
text Improve panic message for invalid anchors (#7700) 2024-02-12 12:58:30 -08:00
theme Fall back to One themes if the selected theme doesn't exist (#7911) 2024-02-16 11:28:34 -05:00
theme_importer theme_importer: Add --output flag for outputting the theme to a file (#7486) 2024-02-07 16:23:36 -05:00
theme_selector chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
ui Add CheckboxWithLabel component (#7881) 2024-02-15 21:00:30 -05:00
util Parse version from GitHub tag name instead of release name (#7423) 2024-02-08 15:28:51 -05:00
vcs_menu chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
vim vim: Implement Go To Previous Word End (#7505) 2024-02-15 16:15:31 -07:00
welcome Replace full with size_full (#7888) 2024-02-15 22:26:49 -05:00
workspace Fix a missing follower update on re-activate (#7918) 2024-02-16 11:33:49 -07:00
zed Add Prettier support for Vue, Markdown and PHP (#7904) 2024-02-17 11:35:31 +02:00
zed_actions chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00