Awesome
Lua Language Server Addons
Welcome to the repository of addons for the Lua Language Server by sumneko!
This repository is a highly collaborative project, with the community contributing addons through pull requests. The goal is to provide a central location where the community can collaborate on creating addons. Addons are added to this repository as a git submodule, allowing each project to have its own issues, pull requests, and fork-able repo - they can even live on GitLab. The addons in this repository can be fetched by the addon manager in the VS Code extension that communicates with the Lua Language Server in VS Code.
What is an Addon?
An addon, simply put, is something that extends the functionality of the Lua Language Server. An addon could, for example, include definitions for an API, and apply settings. Definition files are written in Lua using the Lua Language Server's LuaCATS annotation system.
What should be an Addon?
- An addon for a popular library/framework.
- Definitions for an API
What should NOT be an Addon?
- Definitions for a personal project (use
workspace.library
). - Definitions for proprietary software.
Anatomy of an Addon
Here is an example of what an addon could look like:
📂 MySnazzyAddon/
├──📜 info.json
└── 📁 module/
├── 📁 library/
└── 📜 config.lua
info.json
The info.json
file contains some details about the addon such as the name and description. It also contains some additional metadata such as size
and hasPlugin
, but these values are generated automatically by the LLS-Addons-Action. This file is used by the addon manager to retrieve some data about each addon without having to install them all first.
module
The module folder is the submodule that contains the addon's definition files and config.json
.
Get Involved
As already said, this is a very collaborative project, so anyone is welcome to help out! To get started, please review the contribution guidelines. Your contributions are greatly appreciated and will help to make this project a valuable resource for the Lua community ❤️.