Add Lua language support#11
Closed
itsDNNS wants to merge 1 commit into
Closed
Conversation
Adds AST extraction for .lua and .toc files, covering: - function declarations (local and global) - method syntax (Addon:Method patterns) - require() import tracking - call-graph extraction within function bodies Tested against a WoW addon codebase with 27 Lua files.
Collaborator
|
Applied manually to v3 due to merge conflict from recent rebase. All changes from this PR are now in v3. Thanks @itsDNNS! |
safishamsi
added a commit
that referenced
this pull request
Jun 19, 2026
…semantic scope, cache staleness, video update, transcribe robustness Closes the non-crash tier of #1392 in the Claude-path skill fragments: - #6/#7: build_from_json/build_merge now take directed=IS_DIRECTED in Step 4, Step 5 rebuild, and the --update merge/diff, with prose telling the agent to substitute IS_DIRECTED like INPUT_PATH (a --directed run no longer silently rebuilds undirected and collapses reciprocal edges) - #10: semantic extraction only flattens document/paper/image, not code (AST already covers code) so subagents stop re-reading every source file - #12: .graphify_cached.json is deleted on a cache miss so Part C never merges a stale cache from a prior run - #11: --update now transcribes changed video files and moves transcripts to documents before the semantic pipeline - #4/#5/#23: transcribe writes via write_text (no shell redirect), uses GRAPHIFY_WHISPER_MODEL/PROMPT env, status to stderr - #2/#3: add-watch and exports use $(cat graphify-out/.graphify_python) explicitly; MCP Desktop config documents the absolute interpreter path - #21: extraction-spec example id namespaced (auth_session_validatetoken) - #22: query term split keeps tokens >= 3 chars aider/devin monoliths are pinned by the roundtrip invariant and excluded; their own Step 1 already instructs replacing python3 with the resolved interpreter. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.luaand.toctoCODE_EXTENSIONSindetect.py_LUA_CONFIGLanguageConfig andextract_lua()inextract.pylocal function,function Addon:Method(),require('module')tree-sitter-luatopyproject.tomldependenciesMotivation
Lua is the scripting language for World of Warcraft addons, Roblox, Neovim plugins, and game engines (Love2D, Defold).
tree-sitter-luais mature (v0.5.0 on PyPI) and the generic extractor handles Lua well since functions use anamefield andblockbody consistently.Test plan
Addon:Method), require() imports, and call-graph extraction.tocfiles (WoW addon manifests) are detected as code