Hello! Thank you for taking the time to learn how you can help improve this project. Make sure you have read the README to get an understanding of the project first.
New to Git/GitHub? Here are some guides that will help you get started:
There are many ways to contribute to this project, you can, for example, add your own addon or help someone maintain an addon that has already been added. Tasks can range from spelling corrections to translations to programming.
Found an issue with an addon, like incorrect definitions or a malfunctioning plugin? Head to the repository for that addon and open an issue there. Make sure to read the CONTRIBUTING.md
over there as well!
Note
Please make sure to look for already open issues to keep things organized and make sure your issue is not closed as a duplicate.
Making sure that definitions are accurate is very important. Receiving help with testing changes is equally significant. There are too many libraries and frameworks for even a team of people to test and have knowledge about.
To test changes from a pull request, you will have to clone that repository and checkout the branch being merged.
Once you have the changes locally on your computer, you can test the changes with the Lua Language Server using workspace.library
.
There are a few steps to adding your own addon. The process is still being worked on to try and make it as easy as possible.
- Create an issue explaining what you are creating. This helps prevent multiple people working on their own versions of the same thing.
- Use the addon template or create your own repository (GitHub/GitLab) to store your addon.
- Read "Creating an Addon" in the Lua Language Server wiki to learn more
- Fork LLS-Addons to get your own copy.
- Create a branch where you can make your changes. Try to name the branch something related to what you are doing, e.g.
issue-58
,add-busted
,update-luassert
, etc. - Create an
info.json
file that lives in your addon's directory (e.g.addons/myAddon/info.json
. You can copy aninfo.json
from an already included addon as a template. - In your
info.json
, specify aname
(display name) anddescription
. Thesize
andhasPlugin
values will be generated automatically. - Run StyLua on your addon to apply the proper code style to the definition files.
Note
If you have a .editorconfig
file, make sure to run StyLua with the --no-editorconfig
flag to run StyLua using its default configuration.
- Commit your addon as a submodule to your fork.
- Your git command should look like
git submodule add $HTTP_CLONE_URL addons/myAddon/module
. - If you have many miscellaneous/config files in your addon repository, please create a new branch (e.g.
publish
) where you can include the minimum number of files (LICENSE
is fine). You can then usegit submodule add -b $BRANCH_NAME $HTTP_CLONE_URL addons/myAddon/module
to add your addon.
- Your git command should look like
Important
Make sure to commit the submodule and not just the updates to .submodules
When an addon is updated, the submodule in LLS-Addons will have to be updated to the latest commit through a pull request.
Now it is time to contribute your changes back to this project for all to enjoy! Note that your changes will be added under the license of this project.
- Open a pull request
- Link any issues resolved by this PR
- Make sure you have allowed edits from maintainers in case some tweaks need to be made.
Thank you for helping us improve! ❤️