Problem
Ix does not currently parse .lua files. Lua scripts are treated as unrecognized and excluded from analysis, meaning scripting logic, configuration, and embedded application code written in Lua are invisible to the system.
Proposed solution
Add a Lua parser that can identify and extract:
- Function definitions (local and global)
- Variable declarations (local and global)
- Module patterns (e.g.
require, return {})
- Table definitions and field access
- Control flow (e.g.
if, for, while, repeat)
- Metatables and metamethods
Support the following file patterns: *.lua
Why it matters
Lua is widely used as an embedded scripting language in game engines (Roblox, Love2D, Unity via MoonSharp), application plugins (Neovim, Redis, Nginx/OpenResty), and configuration systems. Without parsing Lua, Ix cannot reason about scripting logic or how Lua integrates with the host environment it extends.
Merge requirements
Before this can be merged to main, the following must pass:
Problem
Ix does not currently parse
.luafiles. Lua scripts are treated as unrecognized and excluded from analysis, meaning scripting logic, configuration, and embedded application code written in Lua are invisible to the system.Proposed solution
Add a Lua parser that can identify and extract:
require,return {})if,for,while,repeat)Support the following file patterns:
*.luaWhy it matters
Lua is widely used as an embedded scripting language in game engines (Roblox, Love2D, Unity via MoonSharp), application plugins (Neovim, Redis, Nginx/OpenResty), and configuration systems. Without parsing Lua, Ix cannot reason about scripting logic or how Lua integrates with the host environment it extends.
Merge requirements
Before this can be merged to main, the following must pass:
ix mapon a known TS/JS repo, verify counts unchanged)npm testinix-cli)require()calls resolved as import entitiesreturn {}) recognized and linked to fileix textreturns results withlanguage: luaix containsreturns members for a known Lua table or module