Add a Luau declaration-pattern table to the cs structural ranker. Upstream cs (v3.1.0) ships a "Lua" entry in languageDeclarationPatterns but no "Luau" entry, even though its bundled scc database recognises ".luau" files as a distinct "Luau" language. Without a matching declaration table, every match in a .luau file is classified as a plain "usage": --only-declarations returns nothing and the structural ranker gives definitions no boost. This is the dominant file type in Roblox codebases, so we add a Luau entry that mirrors Lua's function prefixes and additionally covers Luau's `type` / `export type` declarations. This is a purely additive change (one new map entry); it does not alter any existing language's behaviour and passes cs's own pkg/ranker test suite. Applied during the Docker build via `git apply` against the pinned v3.1.0 checkout (see Dockerfile / Dockerfile.dev). Candidate for upstreaming to boyter/cs. diff --git a/pkg/ranker/declarations.go b/pkg/ranker/declarations.go index 42cd934..36f9f68 100644 --- a/pkg/ranker/declarations.go +++ b/pkg/ranker/declarations.go @@ -187,6 +187,12 @@ var languageDeclarationPatterns = map[string][]DeclarationPattern{ {Prefix: []byte("function ")}, {Prefix: []byte("local function ")}, }, + "Luau": { + {Prefix: []byte("function ")}, + {Prefix: []byte("local function ")}, + {Prefix: []byte("type ")}, + {Prefix: []byte("export type ")}, + }, "Scala": { {Prefix: []byte("def ")}, {Prefix: []byte("val ")},