mirror of
https://github.com/safishamsi/graphify.git
synced 2026-07-13 10:57:13 +00:00
3457b9cd80
Add `.luau` to CODE_EXTENSIONS and route it through extract_lua (tree-sitter-lua). Roblox first-party code uses .luau; without this, graphify silently skipped 379/479 files on a real Roblox codebase and the resulting graph was dominated by vendored .lua dependencies. tree-sitter-lua doesn't parse Luau type annotations, but it successfully extracts function declarations and call edges from Luau source — verified on a 379-file Roblox codebase (1265 nodes, 1471 edges, 236 communities). A dedicated tree-sitter-luau grammar would be a richer long-term fix; this is the minimal change to make Luau projects work today. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
36 lines
664 B
Lua
36 lines
664 B
Lua
-- Luau sample (Roblox): typed Lua superset.
|
|
-- tree-sitter-lua doesn't parse the type annotations, but extracts
|
|
-- function declarations and call edges fine.
|
|
|
|
local Server = {}
|
|
Server.__index = Server
|
|
|
|
type ServerConfig = {
|
|
port: number,
|
|
name: string?,
|
|
}
|
|
|
|
function Server.new(config: ServerConfig): Server
|
|
local self = setmetatable({}, Server)
|
|
self.port = config.port
|
|
self.name = config.name or "default"
|
|
return self
|
|
end
|
|
|
|
function Server:start(): ()
|
|
print(string.format("listening on :%d", self.port))
|
|
end
|
|
|
|
function Server:stop(): ()
|
|
print("stopped")
|
|
end
|
|
|
|
local function main()
|
|
local s = Server.new({ port = 8080 })
|
|
s:start()
|
|
end
|
|
|
|
main()
|
|
|
|
return Server
|