Skip to content

Fix various issues and add missing VGUI panels - #20

Merged
Pollux12 merged 7 commits into
betafrom
fix/struct-type-conversion
Aug 26, 2026
Merged

Fix various issues and add missing VGUI panels#20
Pollux12 merged 7 commits into
betafrom
fix/struct-type-conversion

Conversation

@Pollux12

@Pollux12 Pollux12 commented Aug 26, 2026

Copy link
Copy Markdown
Owner

Closes #16

Greptile Summary

The PR improves generated LuaLS annotations and adds missing metadata for several VGUI and Garry's Mod classes.

  • Converts sequential table and union member types into more useful LuaLS forms.
  • Emits typed inline defaults for struct fields and corrects fake-enum/source annotations.
  • Adds CreationMenu, divider, divider-bar, and related custom class metadata.
  • Expands tests for sequential tables, unions, and default annotations.

Confidence Score: 5/5

The PR appears safe to merge with no concrete blocking or independently actionable non-blocking issues identified.

The changed writer behavior is covered for its intended table, union, enum, and default-annotation cases, while the observed complicated nested-union limitation is already explicitly documented as unsupported.

Important Files Changed

Filename Overview
src/api-writer/glua-api-writer.ts Adds recursive union and sequential-table transformations, typed default normalization, and corrected fake-enum annotations; no unacknowledged actionable defect was established.
tests/api-writer/write-type.spec.ts Adds focused coverage for sequential-table conversion, structure paths, nested struct syntax, and unions.
tests/api-writer/glua-api-writer.spec.ts Updates expected annotations for raw symbolic defaults and corrected fake-enum alias syntax.
custom/class.CreationMenu.lua Adds CreationMenu and CreationMenuTab metadata, including tab lookup and population methods.
custom/HTTPRequest.lua Re-expresses documented HTTP request defaults as typed inline annotation defaults.
custom/class.PlayerClass.lua Re-expresses player-class defaults as inline typed defaults while retaining runtime-injected optional fields.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  A[Wiki type and struct metadata] --> B[GluaApiWriter]
  B --> C[Transform union members]
  C --> D[Convert sequential tables]
  B --> E[Normalize field defaults]
  D --> F[Generated LuaLS annotations]
  E --> F
  G[Custom VGUI metadata] --> F
Loading

Reviews (1): Last reviewed commit: "Fix custom overrides to use proper annot..." | Re-trigger Greptile

@Pollux12
Pollux12 merged commit 72df59c into beta Aug 26, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant