LuaLS / LuaLS.github.io

Statically generated website for LuaLS using Astro.
https://luals.github.io/
6 stars 12 forks source link

Contributing guide #35

Open C3pa opened 5 months ago

C3pa commented 5 months ago

This is the initial draft of the contributing guide. I am open to any suggestions. Also, I left the Allow edits by maintainers checked, @carsakiller can directly commit to this PR if needed. The Wiki contains a nice amount of info on contributing to all of the areas of LLS, so this article is mostly an overview with links. I didn't write anything about the code style. I think that article would best be written by Sumneko. We can start a discussion about that.

I removed the getting-started flag from the Build article since I think the new article is meant to be the central getting started at contributing article.

Note: I haven't yet interacted with .mdx files, I hope I got everything right. Currently, everything is styled just with regular markdown.

Once the project has a central contributing article, I am planning to add a link to the guide from: https://github.com/LuaLS/lua-language-server/blob/master/README.md

carsakiller commented 5 months ago

I have pushed quite a few changes. Let me know what you think. I think the developing page could use a lot of work. I don't know enough about developing the language server to really improve it, though, I just know it isn't very helpful for getting a beginner contributor up to speed on the project.

C3pa commented 5 months ago

I have pushed quite a few changes. Let me know what you think

Thanks for these! I think all of these are an objective improvement.

I think the developing page could use a lot of work. I don't know enough about developing the language server to really improve it, though, I just know it isn't very helpful for getting a beginner contributor up to speed on the project.

I totally agree. Unfortunately, the people who know the inner workings of language server are few and far between. I think we could open an issue at the main repository to bring the issue to more eyes, so hopefully that gets improved at one point.

carsakiller commented 4 months ago

@sumneko would you be able to provide some more insight into how you develop the language server? I think I recall you saying that development is primarily test-driven. However, I'm not sure how the testing framework works — I believe it is custom? Some pointers on writing and running tests would be appreciated!

Is there a specific flow/method you would recommend for contributors? For the few simple things I have contributed, I have just used print() as described in this PR — but I don't think it would be very efficient for larger changes.

I think creating good documentation here for developing the language server would greatly help the community make some really nice pull requests. I've seen many comments from users eager to help but confused when getting their development environment set up and navigating the codebase.