{"id":24589383,"url":"https://github.com/ppebb/libclang-lua","last_synced_at":"2025-03-17T22:05:45.868Z","repository":{"id":272221363,"uuid":"915515101","full_name":"ppebb/libclang-lua","owner":"ppebb","description":"Lua binding for libclang's C/C++ API, the Clang compiler API to access the AST of C/C++ source files.","archived":false,"fork":false,"pushed_at":"2025-01-13T06:10:50.000Z","size":11,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-24T08:15:25.598Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ppebb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-12T03:35:52.000Z","updated_at":"2025-01-13T06:10:54.000Z","dependencies_parsed_at":"2025-01-13T03:26:10.849Z","dependency_job_id":"84ec8855-cd9d-4d34-9b46-f74d5204001e","html_url":"https://github.com/ppebb/libclang-lua","commit_stats":null,"previous_names":["ppebb/libclang-lua"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppebb%2Flibclang-lua","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppebb%2Flibclang-lua/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppebb%2Flibclang-lua/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppebb%2Flibclang-lua/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ppebb","download_url":"https://codeload.github.com/ppebb/libclang-lua/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244117640,"owners_count":20400743,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-24T08:15:30.508Z","updated_at":"2025-03-17T22:05:45.860Z","avatar_url":"https://github.com/ppebb.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# libclang-lua\n\nLua bindings for libclang. Docs soon.\n\nThis project is a hard fork of\n[luaclang-parser](https://github.com/mkottman/luaclang-parser/) with most\nfunctions renamed, and many functions added. It fills in some gaps of the\nlibclang api by accessing the internal C++ types directly.\n\n## Compiling\n\nThis project requires Lua 5.4 and Clang. Libclang is usually built and\ninstalled alongside the Clang compiler, but some distributions may have a\nseparate libclang-XX-dev package (see #1). These can be obtained from your\ndistribution's package manager.\n\nNote that this project has only been tested with Clang-18, earlier versions may\nnot compile (versions 15 and below are missing required headers), and later\nversions may have affected functionality. Your mileage may vary.\n\nThis project requires CMake for compilation. Ensure you have CMake \u003e= 3.18.\n\nThen run the following from the project root to compile:\n```bash\n$ mkdir build; cd build\n$ cmake ..\n$ make\n```\n\n## Type Definitions\nThere are included type definitions in `libclang-lua-types.lua` for use with\nLuaLS. They will not be automatically picked up by LuaLS, so you will need to\npoint to them using `workspace.library` (see [LuaLS\ndocs](https://luals.github.io/wiki/definition-files/)).\n\nBecause libclang-lua is directly required as a shared object, LuaLS does not\nknow what type it returns, so annotate the require with `--- @type Clang`\n\n## Examples\n\nWhile no examples are contained within this repository,\n[cosmo-stub-generator](https://github.com/ppebb/cosmo-stub-generator) provides\nan example of nearly every function in the project and their use. See\n`src/generate.lua`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fppebb%2Flibclang-lua","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fppebb%2Flibclang-lua","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fppebb%2Flibclang-lua/lists"}