Commit Graph

5 Commits

Author SHA1 Message Date
2c98dab144 refactor: replace ArrayListUnmanaged with ArrayList per Zig 0.15 standards
- Renamed std.ArrayListUnmanaged to std.ArrayList across all source files
- Updated CLAUDE.md with Zig version standards rule
- Removed debug print from mixin test
- No API changes (allocator still passed to methods)
2026-01-29 22:50:52 +05:30
b53aa16010 refactor: consolidate shared utilities to runtime.zig
- Move isHtmlEntity to runtime.zig (was duplicated in codegen.zig and template.zig)
- Move appendTextEscaped to runtime.zig (was in template.zig)
- Add isXhtmlDoctype helper to runtime.zig for doctype detection
- Update template.zig to use codegen.void_elements instead of local isSelfClosing
- Update codegen.zig and zig_codegen.zig to use shared functions
- Update CLAUDE.md with shared utilities documentation

This establishes runtime.zig as the single source of truth for shared
utilities across all three rendering modes (codegen, template, zig_codegen).
2026-01-29 22:27:57 +05:30
c7d53e56a9 fix: merge multiple class attributes in parser (single fix location)
- parser.zig: collect and merge all class values (shorthand and parenthesized) into single attribute
- Filter out empty, null, undefined class values during parsing
- Reverted redundant merging logic from codegen.zig, template.zig, zig_codegen.zig
- Added documentation about shared AST consumers relationship
2026-01-29 22:16:55 +05:30
416ddf5b33 fix: merge multiple class attributes into single attribute
- codegen.zig: collect class values and output as single merged attribute
- template.zig: respect quoted flag to prevent data lookup for static class values
- Added tests for multiple class merging scenarios
2026-01-29 22:04:59 +05:30
8db2e0df37 Genearte .zig verions of templates to use in production. 2026-01-28 17:01:28 +05:30