Skip to content
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

language server todos tracking list #1320

Open
13 tasks
alex-s168 opened this issue Mar 6, 2025 · 1 comment
Open
13 tasks

language server todos tracking list #1320

alex-s168 opened this issue Mar 6, 2025 · 1 comment

Comments

@alex-s168
Copy link
Contributor

alex-s168 commented Mar 6, 2025

  • Incremental compilation #1254
  • make the parser continue parsing on errors. important for when you are typing. this can be done by emitting error AST nodes instead of failing, and then skipping tokens. for example [a, b c] will generate a collection expression, but b c will generate a error node instead, but it will continue parsing because of nesting
  • incremental parsing and tokenization: when typing more letters of an identifier or number, it shouldn't re-parse everything
  • json parser for lib #1319 (for LSP protocol)
  • base of the language server: incrementally re-parse and re-typecheck the inputted code and provide diagnostics
  • feat: auto-complete
  • feat: go-to-definition
  • feat: find usages (also trough docs)
  • feat: semantic highlighting
  • feat: render documentation of function reference on-request
  • action: extract to separate function
  • action: wrap in Some { }
  • action: generate remaining match arms

making a LS is hard, but it will make the language way more attractive to people on the outside

@alex-s168
Copy link
Contributor Author

alex-s168 commented Mar 6, 2025

@andrew-johnson-4 are you okay with making the LSTS parser a lot more complicated for us to be able to use it in an language server?

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

No branches or pull requests

1 participant