This PR moves the theme / `/styles` typescript app to use snake_case to
better align with the rust app and make it easier to reference things
across both apps.
It also configures ESLint in the styles app and fixes many ESLint
errors.
Going forward from this PR we will use `snake_case` throughout the
theme.
Release Notes:
- N/A (No public facing changes)
14ff411
Detect and fix broken lsp installations (#2646)
Click to expand commit body
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Closes
https://linear.app/zed-industries/issue/Z-665/add-a-mechanism-for-detecting-and-fixing-broken-language-server
Fixes https://github.com/zed-industries/community/issues/1671
Fixes https://github.com/zed-industries/community/issues/1691
Fixes https://github.com/zed-industries/community/issues/1524
Fixes https://github.com/zed-industries/community/issues/1352
Fixes https://github.com/zed-industries/community/issues/1109
Fixes https://github.com/zed-industries/community/issues/996
Fixes https://github.com/zed-industries/community/issues/782
Things this PR does:
- Updates our elixir-ls fetching to use new release name format
- Detect when a server fails to launch
- If the adapter claims to be reinstallable, get a test binary
- If the test binary fails to launch or returns a failure error code
- Clear container dir and reinstall
- Detect/fix broken Node
Things it does not do:
- Restart server on failure, I have most of the stuff for this already
so it should be a fast follow up
- Detect/fix broken Copilot
Node and Copilot shouldn't be too bad, they are handled via different
mechanisms. Originally I put effort into detecting failure of the server
during normal operation post launch, but that's not really needed. If
the server gets borked while running then we'll catch that on next
startup. Realizing that allowed for pruning a bunch of the work I did
and made the overall system a lot nicer
Copilot is nominally a language server but does not have an adapter and
does not run through the same mechanism in the project.
We're going to have an issue with multiple language server instances in
different projects once we add a "Reinstall Language Server" action,
which is why it's not in this PR. Each project has its own list of
server instances and is currently vaguely responsible for managing the
installations which means they can step on each others toes. This should
change, probably
Release Notes:
- Added a mechanism to detect and reinstall broken language servers
([#1691](https://github.com/zed-industries/community/issues/1691))
([#1524](https://github.com/zed-industries/community/issues/1524))
([#1352](https://github.com/zed-industries/community/issues/1352))
([#1109](https://github.com/zed-industries/community/issues/1109))
([#996](https://github.com/zed-industries/community/issues/996))
([#782](https://github.com/zed-industries/community/issues/782)).