theia-ide / racket-language-server

Racket Language Server
45 stars 8 forks source link

Good first issue? #14

Open Eugleo opened 5 years ago

Eugleo commented 5 years ago

Hey, I'd love to help you in some way. I don't have a lot of experience with Racket, but I'm sure I'd be able to do something given enough time. Is there any first issue you would recommend tackling?

dvc94ch commented 5 years ago

Hi @Eugleo,

I'm not currently working on the racket-language-server. When starting out contributing to a new project in general low hanging fruit is to read through and improve the documentation. It also helps to actually use the project and finding rough edges you can polish. You can also look at the issues and see what you find interesting to work on to get some ideas.

Cheers, David

dvc94ch commented 5 years ago

Just as a note for people considering to contribute. My opinion is that the current approach might not be optimal. Most language servers reimplement a parser with for example treesitter. The current implementation lacks the performance necessary + 99% of the time the code has syntax errors. The racket ide only performs analysis when there are no errors, it's not an ideal design. Rust/typescript have great ide support built into the compiler. For legacy languages I think starting over is the best approach. Maybe it's even possible to write a library that performs most of the heavy lifting in a language agnostic way (see xtext as a source of inspiration)...