Skip to content

refactor: move to tower_lsp #145

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 35 commits into from
Nov 25, 2024

Conversation

juleswritescode
Copy link
Collaborator

@juleswritescode juleswritescode commented Oct 22, 2024

  • refactor the pg_lsp crate so it implements the tower_lsp LanguageServer trait
  • this makes it such that we use tokio for the server :)
  • use tower_lsp's rexported lsp_types instead of the plain crate
  • remove the DebouncerThread, use a simple debouncer that uses tokio's channels instead
  • add tracing to the pg_lsp crate, which will write logs into a pglsp.log file
  • refactor the pg_lsp crate such that the "business logic" (database + ide) is separate from the server

What this doesn't do:

  • I can't guarantee that all the LSP-requests work as expected – but we'll have tests soon :)
  • logging isn't configurable yet; ideally, we would configure the log levels via env-vars/lsp-config and use rolling log files (like biomejs does)

@juleswritescode juleswritescode marked this pull request as ready for review November 23, 2024 20:45
@psteinroe psteinroe merged commit 13f67f5 into supabase-community:main Nov 25, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants