-
-
Notifications
You must be signed in to change notification settings - Fork 6
vyaml #408
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
vyaml #408
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request adds VYaml to the Roslyn Source Code Generator (RSCG) examples collection as the 233rd example. VYaml is a fast YAML serialization library for C# that uses source generators for efficient serialization/deserialization.
- Adds VYaml as a new RSCG example with complete documentation and code samples
- Updates all counters from 232 to 233 examples throughout the codebase
- Removes VYaml from the "no examples" list since it now has a complete example
Reviewed Changes
Copilot reviewed 27 out of 29 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| RSCG.json | Adds VYaml entry to the main generator list |
| indexRSCG.md | Updates example count and adds VYaml to the chronological list |
| VYaml.md | Complete documentation page for VYaml with usage examples |
| Multiple count files | Updates counters from 232 to 233 examples |
| Example source files | Adds complete C# project demonstrating VYaml usage |
| NoExample.json | Removes VYaml from the excluded list |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| - [yaml-rust](https://github.com/chyh1990/yaml-rust) | ||
| - [Utf8Json](https://github.com/neuecc/Utf8Json), [MessagePack-CSharp](https://github.com/neuecc/MessagePack-CSharp), [MemoryPack](https://github.com/Cysharp/MemoryPack) | ||
|
|
||
| ## Aurhor |
Copilot
AI
Oct 3, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'Aurhor' to 'Author'.
| ## Aurhor | |
| ## Author |
| - [yaml-rust](https://github.com/chyh1990/yaml-rust) | ||
| - [Utf8Json](https://github.com/neuecc/Utf8Json), [MessagePack-CSharp](https://github.com/neuecc/MessagePack-CSharp), [MemoryPack](https://github.com/Cysharp/MemoryPack) | ||
|
|
||
| ## Aurhor |
Copilot
AI
Oct 3, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'Aurhor' to 'Author'.
| ## Aurhor | |
| ## Author |
|
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. WalkthroughAdds VYaml as the 233rd example: updates counts/dates across README, book, and site docs; introduces a new VYaml sample project (solution, csproj, code, tours, docs); updates data/catalog JSON and exports; and tweaks generator post-processing to escape generic types in documentation. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
Pre-merge checks and finishing touches❌ Failed checks (2 warnings)
✅ Passed checks (1 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
♻️ Duplicate comments (2)
v2/rscg_examples/VYaml/readme.txt (1)
929-929: Fix typo in heading.The heading "Aurhor" should be "Author".
Apply this diff:
-## Aurhor +## AuthorNote: This issue was previously flagged by Copilot but not addressed.
v2/rscg_examples_site/docs/RSCG-Examples/VYaml.md (1)
980-980: Typo: "Aurhor" should be "Author".This spelling error was already identified in a previous review.
Apply this diff to correct the spelling:
-## Aurhor +## Author
🧹 Nitpick comments (4)
later.md (1)
65-149: Resolve markdownlint bare URLsThe newly added entries include trailing bare URLs, triggering markdownlint MD034. Please wrap those URLs (e.g.,
<https://…>) or remove the redundant duplicates so the file passes lint. Based on static analysis.-10) [https://github.com/hanachiru/RapidEnum]( https://github.com/hanachiru/RapidEnum) , https://github.com/hanachiru/RapidEnum +10) [https://github.com/hanachiru/RapidEnum]( https://github.com/hanachiru/RapidEnum) , <https://github.com/hanachiru/RapidEnum>v2/Generator/MultiGeneratorV2.cs (1)
939-940: LGTM!The escaping of generic type parameters (
IYamlFormatter<T>→IYamlFormatter<T>) ensures proper rendering in Markdown/HTML documentation.Consider refactoring the long chain of
.Replace()calls (lines 933-955) into a dictionary-based approach or a dedicated method for maintainability:+private static readonly Dictionary<string, string> MarkdownEscapeReplacements = new() +{ + ["[IParsable<TSelf>.TryParse]"] = "[IParsable<TSelf>.TryParse]", + ["[ISpanParsable<TSelf>.TryParse]"] = "[ISpanParsable<TSelf>.TryParse]", + ["`IYamlFormatter<T>`"] = "`IYamlFormatter<T>`", + ["and identifies IYamlFormatter<T>"] = "and identifies IYamlFormatter<T>", + // ... rest of replacements +}; + +private static string ApplyMarkdownEscapes(string output) +{ + return MarkdownEscapeReplacements.Aggregate(output, (current, kvp) => current.Replace(kvp.Key, kvp.Value)); +}This would improve maintainability and reduce the cognitive load of the current approach.
v2/RSCGExamplesData/GeneratorDataRec.json (1)
1407-1410: Align ID casing with the rest of the assetsEverywhere else (docs, folder name, list entry) this example is spelled
VYaml. Keeping the same casing here avoids surprises on case-sensitive tooling and keeps the catalog consistent. Please switch the ID toVYaml.- "ID":"Vyaml", + "ID":"VYaml",v2/rscg_examples/VYaml/src/.tours/VYaml.tour (1)
14-17: Consider more specific pattern matching.The pattern
"this is the code"in Person.cs step appears to be a placeholder. CodeTour patterns typically match actual code content for better navigation. Consider using a more specific pattern like"[YamlObject]"or"public partial class Person"to ensure the tour step highlights the relevant code.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (3)
v2/Generator/all.csvis excluded by!**/*.csvv2/rscg_examples_site/static/exports/RSCG.xlsxis excluded by!**/*.xlsxv2/rscg_examples_site/static/sources/VYaml.zipis excluded by!**/*.zip
📒 Files selected for processing (26)
README.md(3 hunks)later.md(2 hunks)v2/Generator/MultiGeneratorV2.cs(1 hunks)v2/RSCGExamplesData/GeneratorDataRec.json(1 hunks)v2/RSCGExamplesData/NoExample.json(0 hunks)v2/book/examples/VYaml.html(1 hunks)v2/book/list.html(2 hunks)v2/book/pandocHTML.yaml(1 hunks)v2/rscg_examples/VYaml/description.json(1 hunks)v2/rscg_examples/VYaml/nuget.txt(1 hunks)v2/rscg_examples/VYaml/readme.txt(1 hunks)v2/rscg_examples/VYaml/src/.tours/VYaml.tour(1 hunks)v2/rscg_examples/VYaml/src/Serializer.sln(1 hunks)v2/rscg_examples/VYaml/src/Serializer/Person.cs(1 hunks)v2/rscg_examples/VYaml/src/Serializer/Program.cs(1 hunks)v2/rscg_examples/VYaml/src/Serializer/Serializer.csproj(1 hunks)v2/rscg_examples/VYaml/video.json(1 hunks)v2/rscg_examples_site/docs/Categories/Serializer.md(2 hunks)v2/rscg_examples_site/docs/Categories/_PrimitiveSerializer.mdx(1 hunks)v2/rscg_examples_site/docs/NoExamples.md(1 hunks)v2/rscg_examples_site/docs/RSCG-Examples/VYaml.md(1 hunks)v2/rscg_examples_site/docs/RSCG-Examples/index.md(4 hunks)v2/rscg_examples_site/docs/about.md(1 hunks)v2/rscg_examples_site/docs/indexRSCG.md(2 hunks)v2/rscg_examples_site/src/components/HomepageFeatures/index.js(1 hunks)v2/rscg_examples_site/static/exports/RSCG.json(1 hunks)
💤 Files with no reviewable changes (1)
- v2/RSCGExamplesData/NoExample.json
🧰 Additional context used
🪛 Biome (2.1.2)
v2/rscg_examples/VYaml/video.json
[error] 35-36: Property key must be double quoted
(parse)
[error] 36-36: unexpected character =
(parse)
[error] 36-36: expected , but instead found " "
Remove " "
(parse)
[error] 36-36: expected : but instead found }
Remove }
(parse)
[error] 37-38: Expected an array, an object, or a literal but instead found ']'.
Expected an array, an object, or a literal here.
(parse)
🪛 markdownlint-cli2 (0.18.1)
later.md
65-65: Bare URL used
(MD034, no-bare-urls)
71-71: Bare URL used
(MD034, no-bare-urls)
77-77: Bare URL used
(MD034, no-bare-urls)
83-83: Bare URL used
(MD034, no-bare-urls)
89-89: Bare URL used
(MD034, no-bare-urls)
95-95: Bare URL used
(MD034, no-bare-urls)
101-101: Bare URL used
(MD034, no-bare-urls)
107-107: Bare URL used
(MD034, no-bare-urls)
113-113: Bare URL used
(MD034, no-bare-urls)
119-119: Bare URL used
(MD034, no-bare-urls)
125-125: Bare URL used
(MD034, no-bare-urls)
131-131: Bare URL used
(MD034, no-bare-urls)
137-137: Bare URL used
(MD034, no-bare-urls)
143-143: Bare URL used
(MD034, no-bare-urls)
149-149: Bare URL used
(MD034, no-bare-urls)
v2/rscg_examples_site/docs/NoExamples.md
305-305: Bare URL used
(MD034, no-bare-urls)
305-305: Bare URL used
(MD034, no-bare-urls)
309-309: Bare URL used
(MD034, no-bare-urls)
309-309: Bare URL used
(MD034, no-bare-urls)
313-313: Bare URL used
(MD034, no-bare-urls)
313-313: Bare URL used
(MD034, no-bare-urls)
317-317: Bare URL used
(MD034, no-bare-urls)
317-317: Bare URL used
(MD034, no-bare-urls)
321-321: Bare URL used
(MD034, no-bare-urls)
321-321: Bare URL used
(MD034, no-bare-urls)
325-325: Bare URL used
(MD034, no-bare-urls)
325-325: Bare URL used
(MD034, no-bare-urls)
329-329: Bare URL used
(MD034, no-bare-urls)
329-329: Bare URL used
(MD034, no-bare-urls)
333-333: Bare URL used
(MD034, no-bare-urls)
333-333: Bare URL used
(MD034, no-bare-urls)
337-337: Bare URL used
(MD034, no-bare-urls)
337-337: Bare URL used
(MD034, no-bare-urls)
341-341: Bare URL used
(MD034, no-bare-urls)
341-341: Bare URL used
(MD034, no-bare-urls)
345-345: Bare URL used
(MD034, no-bare-urls)
345-345: Bare URL used
(MD034, no-bare-urls)
349-349: Bare URL used
(MD034, no-bare-urls)
349-349: Bare URL used
(MD034, no-bare-urls)
353-353: Bare URL used
(MD034, no-bare-urls)
353-353: Bare URL used
(MD034, no-bare-urls)
357-357: Bare URL used
(MD034, no-bare-urls)
357-357: Bare URL used
(MD034, no-bare-urls)
361-361: Bare URL used
(MD034, no-bare-urls)
361-361: Bare URL used
(MD034, no-bare-urls)
365-365: Bare URL used
(MD034, no-bare-urls)
365-365: Bare URL used
(MD034, no-bare-urls)
369-369: Bare URL used
(MD034, no-bare-urls)
369-369: Bare URL used
(MD034, no-bare-urls)
373-373: Bare URL used
(MD034, no-bare-urls)
377-377: Bare URL used
(MD034, no-bare-urls)
381-381: Bare URL used
(MD034, no-bare-urls)
385-385: Bare URL used
(MD034, no-bare-urls)
389-389: Bare URL used
(MD034, no-bare-urls)
393-393: Bare URL used
(MD034, no-bare-urls)
397-397: Bare URL used
(MD034, no-bare-urls)
401-401: Bare URL used
(MD034, no-bare-urls)
405-405: Bare URL used
(MD034, no-bare-urls)
409-409: Bare URL used
(MD034, no-bare-urls)
413-413: Bare URL used
(MD034, no-bare-urls)
417-417: Bare URL used
(MD034, no-bare-urls)
421-421: Bare URL used
(MD034, no-bare-urls)
425-425: Bare URL used
(MD034, no-bare-urls)
429-429: Bare URL used
(MD034, no-bare-urls)
433-433: Bare URL used
(MD034, no-bare-urls)
437-437: Bare URL used
(MD034, no-bare-urls)
441-441: Bare URL used
(MD034, no-bare-urls)
445-445: Bare URL used
(MD034, no-bare-urls)
449-449: Bare URL used
(MD034, no-bare-urls)
453-453: Bare URL used
(MD034, no-bare-urls)
457-457: Bare URL used
(MD034, no-bare-urls)
461-461: Bare URL used
(MD034, no-bare-urls)
465-465: Bare URL used
(MD034, no-bare-urls)
469-469: Bare URL used
(MD034, no-bare-urls)
473-473: Bare URL used
(MD034, no-bare-urls)
477-477: Bare URL used
(MD034, no-bare-urls)
481-481: Bare URL used
(MD034, no-bare-urls)
485-485: Bare URL used
(MD034, no-bare-urls)
489-489: Bare URL used
(MD034, no-bare-urls)
493-493: Bare URL used
(MD034, no-bare-urls)
497-497: Bare URL used
(MD034, no-bare-urls)
501-501: Bare URL used
(MD034, no-bare-urls)
505-505: Bare URL used
(MD034, no-bare-urls)
509-509: Bare URL used
(MD034, no-bare-urls)
513-513: Bare URL used
(MD034, no-bare-urls)
517-517: Bare URL used
(MD034, no-bare-urls)
521-521: Bare URL used
(MD034, no-bare-urls)
525-525: Bare URL used
(MD034, no-bare-urls)
529-529: Bare URL used
(MD034, no-bare-urls)
533-533: Bare URL used
(MD034, no-bare-urls)
537-537: Bare URL used
(MD034, no-bare-urls)
541-541: Bare URL used
(MD034, no-bare-urls)
545-545: Bare URL used
(MD034, no-bare-urls)
549-549: Bare URL used
(MD034, no-bare-urls)
553-553: Bare URL used
(MD034, no-bare-urls)
557-557: Bare URL used
(MD034, no-bare-urls)
561-561: Bare URL used
(MD034, no-bare-urls)
565-565: Bare URL used
(MD034, no-bare-urls)
569-569: Bare URL used
(MD034, no-bare-urls)
573-573: Bare URL used
(MD034, no-bare-urls)
577-577: Bare URL used
(MD034, no-bare-urls)
581-581: Bare URL used
(MD034, no-bare-urls)
585-585: Bare URL used
(MD034, no-bare-urls)
589-589: Bare URL used
(MD034, no-bare-urls)
593-593: Bare URL used
(MD034, no-bare-urls)
597-597: Bare URL used
(MD034, no-bare-urls)
601-601: Bare URL used
(MD034, no-bare-urls)
605-605: Bare URL used
(MD034, no-bare-urls)
609-609: Bare URL used
(MD034, no-bare-urls)
613-613: Bare URL used
(MD034, no-bare-urls)
617-617: Bare URL used
(MD034, no-bare-urls)
621-621: Bare URL used
(MD034, no-bare-urls)
625-625: Bare URL used
(MD034, no-bare-urls)
629-629: Bare URL used
(MD034, no-bare-urls)
633-633: Bare URL used
(MD034, no-bare-urls)
637-637: Bare URL used
(MD034, no-bare-urls)
641-641: Bare URL used
(MD034, no-bare-urls)
645-645: Bare URL used
(MD034, no-bare-urls)
649-649: Bare URL used
(MD034, no-bare-urls)
653-653: Bare URL used
(MD034, no-bare-urls)
657-657: Bare URL used
(MD034, no-bare-urls)
661-661: Bare URL used
(MD034, no-bare-urls)
665-665: Bare URL used
(MD034, no-bare-urls)
669-669: Bare URL used
(MD034, no-bare-urls)
673-673: Bare URL used
(MD034, no-bare-urls)
677-677: Bare URL used
(MD034, no-bare-urls)
681-681: Bare URL used
(MD034, no-bare-urls)
685-685: Bare URL used
(MD034, no-bare-urls)
689-689: Bare URL used
(MD034, no-bare-urls)
693-693: Bare URL used
(MD034, no-bare-urls)
697-697: Bare URL used
(MD034, no-bare-urls)
701-701: Bare URL used
(MD034, no-bare-urls)
705-705: Bare URL used
(MD034, no-bare-urls)
709-709: Bare URL used
(MD034, no-bare-urls)
713-713: Bare URL used
(MD034, no-bare-urls)
717-717: Bare URL used
(MD034, no-bare-urls)
v2/rscg_examples_site/docs/indexRSCG.md
23-23: Spaces inside link text
(MD039, no-space-in-links)
README.md
5513-5513: Bare URL used
(MD034, no-bare-urls)
5517-5517: Bare URL used
(MD034, no-bare-urls)
5520-5520: Bare URL used
(MD034, no-bare-urls)
5524-5524: Bare URL used
(MD034, no-bare-urls)
5527-5527: Bare URL used
(MD034, no-bare-urls)
5531-5531: Bare URL used
(MD034, no-bare-urls)
5534-5534: Bare URL used
(MD034, no-bare-urls)
5538-5538: Bare URL used
(MD034, no-bare-urls)
5541-5541: Bare URL used
(MD034, no-bare-urls)
5545-5545: Bare URL used
(MD034, no-bare-urls)
5548-5548: Bare URL used
(MD034, no-bare-urls)
5552-5552: Bare URL used
(MD034, no-bare-urls)
5555-5555: Bare URL used
(MD034, no-bare-urls)
5559-5559: Bare URL used
(MD034, no-bare-urls)
5562-5562: Bare URL used
(MD034, no-bare-urls)
5566-5566: Bare URL used
(MD034, no-bare-urls)
5569-5569: Bare URL used
(MD034, no-bare-urls)
5573-5573: Bare URL used
(MD034, no-bare-urls)
5576-5576: Bare URL used
(MD034, no-bare-urls)
5580-5580: Bare URL used
(MD034, no-bare-urls)
5583-5583: Bare URL used
(MD034, no-bare-urls)
5587-5587: Bare URL used
(MD034, no-bare-urls)
5590-5590: Bare URL used
(MD034, no-bare-urls)
5594-5594: Bare URL used
(MD034, no-bare-urls)
5597-5597: Bare URL used
(MD034, no-bare-urls)
5601-5601: Bare URL used
(MD034, no-bare-urls)
5604-5604: Bare URL used
(MD034, no-bare-urls)
5608-5608: Bare URL used
(MD034, no-bare-urls)
5611-5611: Bare URL used
(MD034, no-bare-urls)
5615-5615: Bare URL used
(MD034, no-bare-urls)
5618-5618: Bare URL used
(MD034, no-bare-urls)
5622-5622: Bare URL used
(MD034, no-bare-urls)
5625-5625: Bare URL used
(MD034, no-bare-urls)
5629-5629: Bare URL used
(MD034, no-bare-urls)
5632-5632: Bare URL used
(MD034, no-bare-urls)
5636-5636: Bare URL used
(MD034, no-bare-urls)
5639-5639: Bare URL used
(MD034, no-bare-urls)
5643-5643: Bare URL used
(MD034, no-bare-urls)
5646-5646: Bare URL used
(MD034, no-bare-urls)
5650-5650: Bare URL used
(MD034, no-bare-urls)
5653-5653: Bare URL used
(MD034, no-bare-urls)
5657-5657: Bare URL used
(MD034, no-bare-urls)
5660-5660: Bare URL used
(MD034, no-bare-urls)
5664-5664: Bare URL used
(MD034, no-bare-urls)
5667-5667: Bare URL used
(MD034, no-bare-urls)
5671-5671: Bare URL used
(MD034, no-bare-urls)
5674-5674: Bare URL used
(MD034, no-bare-urls)
5678-5678: Bare URL used
(MD034, no-bare-urls)
5681-5681: Bare URL used
(MD034, no-bare-urls)
5685-5685: Bare URL used
(MD034, no-bare-urls)
5688-5688: Bare URL used
(MD034, no-bare-urls)
5692-5692: Bare URL used
(MD034, no-bare-urls)
5695-5695: Bare URL used
(MD034, no-bare-urls)
5699-5699: Bare URL used
(MD034, no-bare-urls)
5702-5702: Bare URL used
(MD034, no-bare-urls)
5706-5706: Bare URL used
(MD034, no-bare-urls)
5709-5709: Bare URL used
(MD034, no-bare-urls)
5713-5713: Bare URL used
(MD034, no-bare-urls)
5716-5716: Bare URL used
(MD034, no-bare-urls)
5720-5720: Bare URL used
(MD034, no-bare-urls)
5723-5723: Bare URL used
(MD034, no-bare-urls)
5727-5727: Bare URL used
(MD034, no-bare-urls)
5730-5730: Bare URL used
(MD034, no-bare-urls)
5734-5734: Bare URL used
(MD034, no-bare-urls)
5737-5737: Bare URL used
(MD034, no-bare-urls)
5741-5741: Bare URL used
(MD034, no-bare-urls)
5744-5744: Bare URL used
(MD034, no-bare-urls)
5748-5748: Bare URL used
(MD034, no-bare-urls)
5751-5751: Bare URL used
(MD034, no-bare-urls)
5755-5755: Bare URL used
(MD034, no-bare-urls)
5758-5758: Bare URL used
(MD034, no-bare-urls)
5762-5762: Bare URL used
(MD034, no-bare-urls)
5765-5765: Bare URL used
(MD034, no-bare-urls)
5769-5769: Bare URL used
(MD034, no-bare-urls)
5772-5772: Bare URL used
(MD034, no-bare-urls)
5776-5776: Bare URL used
(MD034, no-bare-urls)
5779-5779: Bare URL used
(MD034, no-bare-urls)
v2/rscg_examples_site/docs/RSCG-Examples/VYaml.md
34-34: Bare URL used
(MD034, no-bare-urls)
37-37: Bare URL used
(MD034, no-bare-urls)
39-39: Bare URL used
(MD034, no-bare-urls)
75-75: Link fragments should be valid
(MD051, link-fragments)
77-77: Unordered list indentation
Expected: 4; Actual: 6
(MD007, ul-indent)
77-77: Bare URL used
(MD034, no-bare-urls)
78-78: Unordered list indentation
Expected: 4; Actual: 6
(MD007, ul-indent)
93-93: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
104-104: Bare URL used
(MD034, no-bare-urls)
115-115: Blank line inside blockquote
(MD028, no-blanks-blockquote)
122-122: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
123-123: Unordered list indentation
Expected: 0; Actual: 2
(MD007, ul-indent)
123-123: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
588-588: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
589-589: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
590-590: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
592-592: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
593-593: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
816-816: Bare URL used
(MD034, no-bare-urls)
830-830: Bare URL used
(MD034, no-bare-urls)
1018-1018: Hard tabs
Column: 1
(MD010, no-hard-tabs)
1019-1019: Hard tabs
Column: 1
(MD010, no-hard-tabs)
1020-1020: Hard tabs
Column: 1
(MD010, no-hard-tabs)
1021-1021: Hard tabs
Column: 1
(MD010, no-hard-tabs)
1022-1022: Hard tabs
Column: 1
(MD010, no-hard-tabs)
1023-1023: Hard tabs
Column: 1
(MD010, no-hard-tabs)
1024-1024: Hard tabs
Column: 1
(MD010, no-hard-tabs)
1025-1025: Hard tabs
Column: 1
(MD010, no-hard-tabs)
1113-1113: Code block style
Expected: fenced; Actual: indented
(MD046, code-block-style)
1218-1218: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
v2/rscg_examples_site/docs/about.md
9-9: Bare URL used
(MD034, no-bare-urls)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: call-workflow-passing-data / build (24.3.0)
🔇 Additional comments (15)
v2/rscg_examples/VYaml/nuget.txt (1)
1-1: LGTM!The NuGet description is clear and concise, accurately describing VYaml as a fast YAML library for C#.
v2/book/pandocHTML.yaml (1)
249-249: LGTM!The addition of
examples/VYaml.htmlto the input files list correctly includes the new VYaml example in the book generation.v2/rscg_examples_site/src/components/HomepageFeatures/index.js (1)
7-7: LGTM!The updated count (232 → 233) correctly reflects the addition of VYaml as the 233rd example.
v2/rscg_examples/VYaml/src/Serializer/Serializer.csproj (1)
14-15: <!--
[scratchpad]
[tasks] Verify package versions via web search. Completed.
[observations]
- Serializer.csproj references VYaml and VYaml.Annotations version 1.2.0.
[analysis]- Web search confirms latest VYaml version is 1.2.0.
[pending]- None.
[actions]- Generate final review comment marking versions as current.
[done]
-->No changes needed: VYaml references are up-to-date. Both VYaml and VYaml.Annotations at version 1.2.0 are the latest stable releases.
v2/rscg_examples/VYaml/src/Serializer/Program.cs (1)
1-11: LGTM! Clear demonstration of VYaml serialization APIs.The code correctly demonstrates both
SerializeToString(returning a C# string) andSerialize<T>(returning UTF-8 bytes) followed byDeserialize<T>. While serializing the same object twice is redundant for production use, it effectively showcases the library's API surface.v2/rscg_examples_site/docs/RSCG-Examples/index.md (3)
3-4: LGTM! Count updated correctly.The title and description now reflect 233 total examples, consistent with adding VYaml.
1252-1302: LGTM! Serializer section updated correctly.The count increment and new VYaml entry are properly formatted and positioned.
1876-1877: LGTM! Mermaid diagram updated correctly.The new VYaml node and edge are properly formatted and follow the established pattern.
v2/rscg_examples/VYaml/src/.tours/VYaml.tour (1)
26-30: Generated file path is build-dependent.The tour references a generated file in the
obj/GXdirectory. While this is acceptable for demonstration purposes, note that this path may change if the build configuration or generator output location changes. Users will need to build the project first for this tour step to work.v2/rscg_examples/VYaml/src/Serializer/Person.cs (1)
1-11: LGTM! Proper VYaml class definition.The
Personclass correctly uses the[YamlObject]attribute and is marked aspartial, which is required for VYaml's source generation. The properties are appropriately defined with public getters and setters, and theNameproperty includes a default initializer to handle nullability.v2/rscg_examples_site/docs/indexRSCG.md (1)
10-23: LGTM! Index updated correctly.The total count is now 233, and the VYaml entry is properly positioned as the most recent addition with correct date formatting and category linkage.
v2/rscg_examples_site/docs/RSCG-Examples/VYaml.md (3)
1009-1029: LGTM! Project file example is clear.The
.csprojexample properly demonstrates the required VYaml package references with syntax highlighting on the relevant line.
1037-1070: LGTM! Code examples are well-structured.The tabbed code examples effectively demonstrate VYaml usage with proper syntax highlighting and character escaping for MDX compatibility.
1080-1219: Generated code example is appropriate.This extensive code block effectively documents the formatter code generated by VYaml, helping users understand what the source generator produces. The included pragma warnings and structure are typical of generated code.
README.md (1)
29-49: VYaml entry integration looks solidNumbers, links, and metadata all align with the new catalog entry. Nicely done adding the serializer reference and keeping format consistency.
| { | ||
| "Name": "VYaml", | ||
| "Link": "https://ignatandrei.github.io/RSCG_Examples/v2/docs/Vyaml", | ||
| "NuGet": "https://www.nuget.org/packages/VYaml/", | ||
| "Source": "https://github.com/hadashiA/VYaml", | ||
| "Category": "Serializer", | ||
| "AddedOn": "2025-10-03T00:00:00" | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Verify URL casing for consistency.
The Link field uses "/docs/Vyaml" (capital V, lowercase y), while the Name field is "VYaml" (capital V and Y). Ensure this URL matches the actual routing configuration and that the case difference is intentional. If the URL is case-sensitive, this could lead to broken links.
Run the following to verify the URL path exists and matches:
🏁 Script executed:
#!/bin/bash
# Check for VYaml documentation files with different casing
fd -i 'vyaml.md' v2/rscg_examples_site/docs/Length of output: 49
Fix Link URL casing to match documentation filename.
The Link should be “https://ignatandrei.github.io/RSCG_Examples/v2/docs/VYaml” (uppercase Y) to match v2/rscg_examples_site/docs/RSCG-Examples/VYaml.md and avoid broken links.
🤖 Prompt for AI Agents
In v2/rscg_examples_site/static/exports/RSCG.json around lines 1861 to 1868, the
"Link" value uses "Vyaml" (lowercase y) which does not match the documentation
filename VYaml; update the Link URL to use "VYaml"
(https://ignatandrei.github.io/RSCG_Examples/v2/docs/VYaml) so the casing
matches v2/rscg_examples_site/docs/RSCG-Examples/VYaml.md and prevents broken
links.
| {"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/VYaml#download-example-net--c-", | ||
| SpeakTest=" "}, | ||
| {"typeStep":"waitseconds","arg":"30"}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix JSON syntax error.
The JSON is malformed on lines 35-37. The property key SpeakTest is missing quotes and uses = instead of :, and there's a trailing comma before the closing bracket.
Apply this diff to fix the syntax:
{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/VYaml#download-example-net--c-",
-SpeakTest=" "},
+"SpeakTest": " "},
{"typeStep":"waitseconds","arg":"30"},
+]
-]
}Alternatively, if SpeakTest should be removed:
-{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/VYaml#download-example-net--c-",
-SpeakTest=" "},
+{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/VYaml#download-example-net--c-"},
{"typeStep":"waitseconds","arg":"30"}
]
}Committable suggestion skipped: line range outside the PR's diff.
🧰 Tools
🪛 Biome (2.1.2)
[error] 35-36: Property key must be double quoted
(parse)
[error] 36-36: unexpected character =
(parse)
[error] 36-36: expected , but instead found " "
Remove " "
(parse)
[error] 36-36: expected : but instead found }
Remove }
(parse)
🤖 Prompt for AI Agents
In v2/rscg_examples/VYaml/video.json around lines 35 to 37, the JSON is
malformed: the property key SpeakTest is unquoted and uses '=' instead of ':',
and there's a trailing comma before the array/object end. Fix by changing the
entry to use a quoted key and colon (e.g. "SpeakTest": " "), and remove the
trailing comma if this is the last item in the array/object; alternatively, if
SpeakTest should be omitted, delete the whole SpeakTest key=value pair and also
remove the trailing comma so the surrounding JSON remains valid.
Summary by CodeRabbit
New Features
Documentation
Bug Fixes
Chores