ZIm/crates/languages/src
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
..
astro chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
bash chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
c chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
clojure Add .cljc, .edn, & .bb to Clojure filename extensions (#8285) 2024-02-23 23:46:27 +02:00
cpp chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
csharp chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
css Add outlines for CSS (#8706) 2024-03-14 20:31:52 -04:00
dart chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
dockerfile chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
elixir Add Elixir symbols in outline view (#8761) 2024-03-07 19:35:01 -07:00
elm chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
erb chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
erlang chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
gleam chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
glsl chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
go chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
gomod chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
gowork chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
haskell chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
hcl chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
heex chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
html Fix <!DOCTYPE html> syntax highlighting (#9108) 2024-03-11 09:56:35 +02:00
javascript chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
json Improve TS and JSON syntax highlighting (#9302) 2024-03-14 20:58:17 -06:00
lua Update Lua config.toml (#9260) 2024-03-13 00:32:45 -04:00
markdown chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
nix chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
nu chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
ocaml ocaml: Small query improvements and fix autoclose brackets (#7769) 2024-02-24 19:06:25 -05:00
ocaml-interface ocaml: Small query improvements and fix autoclose brackets (#7769) 2024-02-24 19:06:25 -05:00
php chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
prisma chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
proto chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
purescript chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
python chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
racket chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
ruby Fix completion-filtering by checking actual word boundaries & reduce Ruby word chars (#9170) 2024-03-11 20:38:37 +01:00
rust chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
scheme chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
svelte chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
terraform chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
terraform-vars chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
toml chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
tsx Improve TS and JSON syntax highlighting (#9302) 2024-03-14 20:58:17 -06:00
typescript Improve TS and JSON syntax highlighting (#9302) 2024-03-14 20:58:17 -06:00
vue chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
yaml chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
zig Zig outline view (#8122) 2024-02-29 17:24:35 -08:00
astro.rs Implement updating for node-based language servers (#9361) 2024-03-15 11:40:28 -04:00
c.rs Add ability to specify binary path/args for rust-analyzer (#9293) 2024-03-13 18:42:03 +01:00
clojure.rs Add ability to specify binary path/args for rust-analyzer (#9293) 2024-03-13 18:42:03 +01:00
csharp.rs Add ability to specify binary path/args for rust-analyzer (#9293) 2024-03-13 18:42:03 +01:00
css.rs Implement updating for node-based language servers (#9361) 2024-03-15 11:40:28 -04:00
dart.rs Add ability to specify binary path/args for rust-analyzer (#9293) 2024-03-13 18:42:03 +01:00
deno.rs Add ability to specify binary path/args for rust-analyzer (#9293) 2024-03-13 18:42:03 +01:00
dockerfile.rs Implement updating for node-based language servers (#9361) 2024-03-15 11:40:28 -04:00
elixir.rs Add ability to specify binary path/args for rust-analyzer (#9293) 2024-03-13 18:42:03 +01:00
elm.rs Implement updating for node-based language servers (#9361) 2024-03-15 11:40:28 -04:00
erlang.rs Add ability to specify binary path/args for rust-analyzer (#9293) 2024-03-13 18:42:03 +01:00
gleam.rs Add ability to specify binary path/args for rust-analyzer (#9293) 2024-03-13 18:42:03 +01:00
go.rs Add ability to specify binary path/args for rust-analyzer (#9293) 2024-03-13 18:42:03 +01:00
haskell.rs Add ability to specify binary path/args for rust-analyzer (#9293) 2024-03-13 18:42:03 +01:00
html.rs Implement updating for node-based language servers (#9361) 2024-03-15 11:40:28 -04:00
json.rs Implement updating for node-based language servers (#9361) 2024-03-15 11:40:28 -04:00
lib.rs Provide wasm extensions with APIs needed for using pre-installed LSP binaries (#9085) 2024-03-08 17:18:06 -05:00
lua.rs Add ability to specify binary path/args for rust-analyzer (#9293) 2024-03-13 18:42:03 +01:00
nu.rs Add ability to specify binary path/args for rust-analyzer (#9293) 2024-03-13 18:42:03 +01:00
ocaml.rs Add ability to specify binary path/args for rust-analyzer (#9293) 2024-03-13 18:42:03 +01:00
php.rs Implement updating for node-based language servers (#9361) 2024-03-15 11:40:28 -04:00
prisma.rs Implement updating for node-based language servers (#9361) 2024-03-15 11:40:28 -04:00
purescript.rs Implement updating for node-based language servers (#9361) 2024-03-15 11:40:28 -04:00
python.rs Implement updating for node-based language servers (#9361) 2024-03-15 11:40:28 -04:00
ruby.rs Add ability to specify binary path/args for rust-analyzer (#9293) 2024-03-13 18:42:03 +01:00
rust.rs Add ability to specify binary path/args for rust-analyzer (#9293) 2024-03-13 18:42:03 +01:00
svelte.rs Implement updating for node-based language servers (#9361) 2024-03-15 11:40:28 -04:00
tailwind.rs Implement updating for node-based language servers (#9361) 2024-03-15 11:40:28 -04:00
terraform.rs Add ability to specify binary path/args for rust-analyzer (#9293) 2024-03-13 18:42:03 +01:00
toml.rs Add ability to specify binary path/args for rust-analyzer (#9293) 2024-03-13 18:42:03 +01:00
typescript.rs Implement updating for node-based language servers (#9361) 2024-03-15 11:40:28 -04:00
uiua.rs Add ability to specify binary path/args for rust-analyzer (#9293) 2024-03-13 18:42:03 +01:00
vue.rs Implement updating for node-based language servers (#9361) 2024-03-15 11:40:28 -04:00
yaml.rs Implement updating for node-based language servers (#9361) 2024-03-15 11:40:28 -04:00
zig.rs Add ability to specify binary path/args for rust-analyzer (#9293) 2024-03-13 18:42:03 +01:00