Automatically generates GLuaLS annotations for Garry's Mod API by scraping the GMod Wiki. These annotations are consumed by gmod-glua-ls.
Plugins are currently WIP and are not used.
Note: This repository is part of the GMod language server infrastructure.
Annotations are automatically downloaded by the VSCode extension from the gluals-annotations branch - manual setup is not required.
npm run wiki-check-changedchecks whether upstream wiki content changed since the latest scrape tag.npm run scrape-wikiscrapes and normalizes wiki pages, then writes Lua annotations intooutput/.npm testvalidates scraper and writer behavior.- CI formats generated output and publishes annotations to the
gluals-annotationsbranch for extension consumption.
Requirements:
- Node.js
>= 21
Install dependencies:
npm ciGenerate annotations locally:
npm run scrape-wikiRun tests:
npm testBuild release artifact locally (legacy, not required for branch-based consumption):
npm run pack-releaseFor local language server testing, generate annotations and point your workspace library to ./output/:
{
"workspace": {
"library": [
"./output"
]
}
}Note: The VSCode extension automatically downloads production annotations from the gluals-annotations branch. The above configuration is only needed for testing local changes during development.
src/scrapers/- GMod wiki scraping and normalizationsrc/api-writer/- EmmyLua/LuaCATS annotation generationplugin/- framework plugin metadata + gluarc fragments consumed by the VSCode extensioncustom/- manual overrides merged during generationoutput/- generated annotation files (published togluals-annotationsbranch)
The VSCode extension loads plugin metadata from the annotation bundle (plugin/index.json + plugin/<id>/plugin.json).
Forked from luttje/glua-api-snippets