ZIm/crates
Joseph T. Lyons 276139f792
Implement updating for node-based language servers (#9361)
Fixes: https://github.com/zed-industries/zed/issues/9234

This doesn't address `vue` as it has a slightly different install code,
but it should be fairly simple to add - I'll add it in in a follow-up.

This PR will allow all (except `vue`) node-based language servers to
update. It is mostly just throwing in a method into the `NodeRuntime`
trait that is used for checking if a package doesn't exist locally, or
is out of date, by checking the version against what's newest, and
installing. If any parsing of the `package.json` data fails along the
way, it assumes something has gone awry on the users system, logs the
error, and then proceeds with trying to install the package, so that
users don't get stuck on version if their package has some bad data.
Outside of adding this method, it just adds that check in all of the
language server's individual `fetch_server_binary` methods.

Release Notes:

- Added updating for node-based language servers
([#9234](https://github.com/zed-industries/zed/issues/9234)).
2024-03-15 11:40:28 -04:00
..
activity_indicator Show formatting failure (#9229) 2024-03-12 16:30:08 +01:00
ai Enable clippy::derive_ord_xor_partial_ord (#9371) 2024-03-14 17:55:57 -04:00
assets Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
assistant Enable clippy::never_loop (#9006) 2024-03-14 14:07:50 -04:00
audio Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
auto_update markdown preview: highlight code blocks (#9087) 2024-03-12 12:54:12 +02:00
breadcrumbs Encode rem values derived from pixels using rems_from_px (#9367) 2024-03-14 16:39:55 -04:00
call Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
channel Fix joining hosted projects (#9038) 2024-03-07 19:56:41 -07:00
cli Allow opening non-extant files (#9256) 2024-03-12 22:30:04 -06:00
client Remove wezterm fork from dependencie (#8998) 2024-03-12 21:27:40 +02:00
clock Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
collab Log numbers as numbers (#9363) 2024-03-14 12:58:00 -06:00
collab_ui Revert "windows: better looking titlebar" and follow-up (#9392) 2024-03-15 12:25:51 +01:00
collections Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
color Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
command_palette Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
command_palette_hooks Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
copilot Allow opening non-extant files (#9256) 2024-03-12 22:30:04 -06:00
copilot_ui Add a setting for custom associations between languages and files (#9290) 2024-03-13 10:23:30 -07:00
db Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
diagnostics Fix flickering (#9012) 2024-03-11 10:45:57 +01:00
editor Add multi_cursor_modifier setting (#9014) 2024-03-14 20:33:54 -06:00
extension Add ability to specify binary path/args for rust-analyzer (#9293) 2024-03-13 18:42:03 +01:00
extension_api Provide wasm extensions with APIs needed for using pre-installed LSP binaries (#9085) 2024-03-08 17:18:06 -05:00
extensions_ui Encode rem values derived from pixels using rems_from_px (#9367) 2024-03-14 16:39:55 -04:00
feature_flags Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
feedback Remove wezterm fork from dependencie (#8998) 2024-03-12 21:27:40 +02:00
file_finder Rename 'project_core' crate to 'worktree', make it just about worktrees (#9189) 2024-03-11 11:35:27 -07:00
fs Windows: make fs to use workspace windows crate (#9350) 2024-03-14 10:43:06 -07: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 Properly display deleted diff hunks (#9182) 2024-03-11 17:53:45 +02:00
go_to_line Restore --all-targets for clippy (#9346) 2024-03-14 12:39:45 -04:00
gpui Fill context menu of Zed macOS dock icon with recent projects (#8952) 2024-03-15 16:22:43 +02:00
gpui_macros Fix flickering (#9012) 2024-03-11 10:45:57 +01:00
install_cli Fix flickering (#9012) 2024-03-11 10:45:57 +01:00
journal Add --add/--new to control CLI behaviour (#9202) 2024-03-12 14:27:58 -06:00
language Implement updating for node-based language servers (#9361) 2024-03-15 11:40:28 -04:00
language_selector Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
language_tools Enable clippy::eq_op (#9369) 2024-03-14 17:05:07 -04:00
languages Implement updating for node-based language servers (#9361) 2024-03-15 11:40:28 -04:00
live_kit_client Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
live_kit_server Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
lsp Always resolve code action if needed (#8904) 2024-03-05 23:42:12 +02:00
markdown_preview Add a setting for custom associations between languages and files (#9290) 2024-03-13 10:23:30 -07:00
media Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
menu Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
multi_buffer Enable clippy::never_loop (#9006) 2024-03-14 14:07:50 -04:00
node_runtime Implement updating for node-based language servers (#9361) 2024-03-15 11:40:28 -04:00
notifications Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
outline Restore --all-targets for clippy (#9346) 2024-03-14 12:39:45 -04:00
picker Small fixes to task modal & long commands (#8974) 2024-03-07 03:21:11 +02:00
prettier Fix prettier plugins does not seem to be picked up (#9193) 2024-03-12 11:38:30 +01:00
project Foundations for Open All the Things (#9353) 2024-03-14 18:01:40 -07:00
project_panel Add option to collapse all folders in root (#9372) 2024-03-15 09:48:56 +02:00
project_symbols Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
quick_action_bar Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
recent_projects Fill context menu of Zed macOS dock icon with recent projects (#8952) 2024-03-15 16:22:43 +02: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 Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
rope rope: Preallocate chunks buffer 2024-03-11 13:28:10 +01:00
rpc Enable clippy::non_canonical_clone_impl (#9373) 2024-03-14 18:49:51 -04:00
search Fix project search filtering on projects with multiple worktrees (#9337) 2024-03-14 16:40:48 +01:00
semantic_index Add a setting for custom associations between languages and files (#9290) 2024-03-13 10:23:30 -07:00
settings Add a setting for custom associations between languages and files (#9290) 2024-03-13 10:23:30 -07:00
snippet Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
sqlez Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05: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 Open new windows with a default size and position (#9204) 2024-03-12 21:19:51 -07:00
sum_tree Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
task Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
tasks_ui Task::spawn now takes an optional task name as an argument. 2024-03-08 15:28:42 +01:00
telemetry_events Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
terminal Remove wezterm fork from dependencie (#8998) 2024-03-12 21:27:40 +02:00
terminal_view Set the correct dispatch action for the double-click handler for the pane tab bar (#9221) 2024-03-13 17:30:10 +02:00
text Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
theme Allow overriding font style and weight via experimental.theme_overrides in settings (#9122) 2024-03-11 12:21:37 -04:00
theme_importer Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
theme_selector Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
time_format notification panel: rework time formatting (#8997) 2024-03-12 21:02:04 -06:00
ui Revert "windows: better looking titlebar" and follow-up (#9392) 2024-03-15 12:25:51 +01:00
util chore: Move new util deps to workspace level (#9250) 2024-03-13 00:37:10 +01:00
vcs_menu Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
vim Remove Copy trait for enum Operator (#9378) 2024-03-14 22:20:55 -06:00
welcome Fix panic in open urls (#9032) 2024-03-07 13:52:50 -07:00
workspace Fill context menu of Zed macOS dock icon with recent projects (#8952) 2024-03-15 16:22:43 +02:00
worktree Add a setting for custom associations between languages and files (#9290) 2024-03-13 10:23:30 -07:00
zed Fix#9253 Duplicate menu item for "Emojis & Symbols" (#9377) 2024-03-14 20:57:32 -06:00
zed_actions Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00