Skip to content

Commit e58f9de

Browse files
authored
Merge pull request #468 from ignatandrei/Aigamo.MatchGenerator
2 parents e4bd739 + 34c45a9 commit e58f9de

27 files changed

Lines changed: 1656 additions & 39 deletions

File tree

README.md

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# RSCG - 265 Examples of Roslyn Source Code Generators / 16 created by Microsoft /
1+
# RSCG - 266 Examples of Roslyn Source Code Generators / 16 created by Microsoft /
22

3-
The RSCG_Examples repository is a comprehensive documentation system that automatically processes and showcases 265 Roslyn Source Code Generator (RSCG) examples. The system transforms individual RSCG projects into structured documentation with code examples and cross-referenced content with a searchable website and code example exports.
3+
The RSCG_Examples repository is a comprehensive documentation system that automatically processes and showcases 266 Roslyn Source Code Generator (RSCG) examples. The system transforms individual RSCG projects into structured documentation with code examples and cross-referenced content with a searchable website and code example exports.
44

55
This system serves as both a learning resource for .NET developers interested in source generators and an automated pipeline for maintaining up-to-date documentation about the RSCG ecosystem
66

@@ -24,8 +24,30 @@ If you want to be notified each time I add a new RSCG example , please click htt
2424

2525
## Content
2626

27-
Those are the 265 Roslyn Source Code Generators that I have tested you can see and download source code example.
27+
Those are the 266 Roslyn Source Code Generators that I have tested you can see and download source code example.
2828
( including 16 from Microsoft )
29+
### 266. [Aigamo.MatchGenerator](https://ignatandrei.github.io/RSCG_Examples/v2/docs/Aigamo.MatchGenerator) , in the [Enum](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#enum) category
30+
31+
Generated on : 2026-04-05 => 05 April 2026
32+
33+
<details>
34+
<summary>Expand</summary>
35+
36+
37+
38+
Author: Aigamo
39+
40+
Package Description
41+
42+
Nuget: [https://www.nuget.org/packages/Aigamo.MatchGenerator/](https://www.nuget.org/packages/Aigamo.MatchGenerator/)
43+
44+
45+
Link: [https://ignatandrei.github.io/RSCG_Examples/v2/docs/Aigamo.MatchGenerator](https://ignatandrei.github.io/RSCG_Examples/v2/docs/Aigamo.MatchGenerator)
46+
47+
Source: [https://github.com/ycanardeau/MatchGenerator](https://github.com/ycanardeau/MatchGenerator)
48+
49+
</details>
50+
2951
### 265. [lomapper](https://ignatandrei.github.io/RSCG_Examples/v2/docs/lomapper) , in the [Mapper](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mapper) category
3052

3153
Generated on : 2026-04-07 => 07 April 2026

v2/Generator/all.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,3 +264,4 @@ Nr,Key,Source,Category
264264
263,TaggedEnum, https://github.com/al0rid4l/SixTatami,Enum
265265
264,Najlot.Audit.SourceGenerator, https://github.com/najlot/Audit,Audit
266266
265,lomapper, https://github.com/jdtoon/lomapper,Mapper
267+
266,Aigamo.MatchGenerator, https://github.com/ycanardeau/MatchGenerator,Enum

v2/RSCGExamplesData/GeneratorDataRec.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1606,5 +1606,11 @@
16061606
"Category": 6,
16071607
"dtStart": "2026-04-07T00:00:00",
16081608
"show": true
1609+
} ,
1610+
{
1611+
"ID":"Aigamo.MatchGenerator",
1612+
"Category": 19,
1613+
"dtStart": "2026-04-05T00:00:00",
1614+
"show": true
16091615
}
16101616
]
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
2+
<h1>RSCG nr 266 : Aigamo.MatchGenerator</h1>
3+
4+
<h2>Info</h2>
5+
Nuget : <a href="https://www.nuget.org/packages/Aigamo.MatchGenerator/" target="_blank">https://www.nuget.org/packages/Aigamo.MatchGenerator/</a>
6+
7+
<p>You can find more details at : <a href="https://github.com/ycanardeau/MatchGenerator" target="_blank"> https://github.com/ycanardeau/MatchGenerator</a></p>
8+
9+
<p>Author :Aigamo</p>
10+
11+
<p>Source: <a href="https://github.com/ycanardeau/MatchGenerator" target="_blank">https://github.com/ycanardeau/MatchGenerator</a> </p>
12+
13+
<h2>About</h2>
14+
15+
Transform enums into tagged unions -with error in Match !
16+
17+
<h2>
18+
How to use
19+
</h2>
20+
<h3>
21+
Add reference to the <a href="https://www.nuget.org/packages/Aigamo.MatchGenerator/" target="_blank">Aigamo.MatchGenerator</a> in the csproj
22+
</h3>
23+
<img src="images/Aigamo.MatchGenerator/EnumDemo.csproj.png" width="580" height="580" />
24+
25+
<h3>This was for me the <b>starting</b> code</h3>
26+
27+
<br />
28+
I have <b>coded</b> the file Program.cs
29+
<br />
30+
<img src="images/Aigamo.MatchGenerator/csFiles/Program.cs.png" width="580" height="580" />
31+
<hr />
32+
33+
<br />
34+
I have <b>coded</b> the file CarTypes.cs
35+
<br />
36+
<img src="images/Aigamo.MatchGenerator/csFiles/CarTypes.cs.png" width="580" height="580" />
37+
<hr />
38+
<h3>And here are the <i>generated</i> files</h3>
39+
40+
<br />
41+
The file <i>generated</i> is CarTypesMatchExtensions.g.cs
42+
<br />
43+
<img src="images/Aigamo.MatchGenerator/generated/CarTypesMatchExtensions.g.cs.png" width="580" height="580" />
44+
45+
<br />
46+
The file <i>generated</i> is GenerateMatchAttribute.g.cs
47+
<br />
48+
<img src="images/Aigamo.MatchGenerator/generated/GenerateMatchAttribute.g.cs.png" width="580" height="580" />
49+
50+
<br />
51+
The file <i>generated</i> is MaritalStatusMatchExtensions.g.cs
52+
<br />
53+
<img src="images/Aigamo.MatchGenerator/generated/MaritalStatusMatchExtensions.g.cs.png" width="580" height="580" />
54+
55+
<br />
56+
The file <i>generated</i> is EnumDemoEnumDemo.CarTypesTaggedEnum.g.cs
57+
<br />
58+
<img src="images/Aigamo.MatchGenerator/generated/EnumDemoEnumDemo.CarTypesTaggedEnum.g.cs.png" width="580" height="580" />
59+
60+
<br />
61+
The file <i>generated</i> is TaggedEnumAttribute.g.cs
62+
<br />
63+
<img src="images/Aigamo.MatchGenerator/generated/TaggedEnumAttribute.g.cs.png" width="580" height="580" />
64+
65+
<p>
66+
You can download the code and this page as pdf from
67+
<a target="_blank" href='https://ignatandrei.github.io/RSCG_Examples/v2/docs/Aigamo.MatchGenerator'>
68+
https://ignatandrei.github.io/RSCG_Examples/v2/docs/Aigamo.MatchGenerator
69+
</a>
70+
</p>
71+
72+
73+
<p>
74+
You can see the whole list at
75+
<a target="_blank" href='https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG'>
76+
https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG
77+
</a>
78+
</p>
79+

v2/book/list.html

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
</head>
1818
<body>
1919
<h1>
20-
This is the list of 265 RSCG with examples =>
20+
This is the list of 266 RSCG with examples =>
2121
</h1>
2222

2323
<table >
@@ -1086,6 +1086,10 @@ <h1>
10861086
<td>265</td>
10871087
<td><a href="examples/lomapper.html">lomapper</a></td>
10881088
</tr>
1089+
<tr>
1090+
<td>266</td>
1091+
<td><a href="examples/Aigamo.MatchGenerator.html">Aigamo.MatchGenerator</a></td>
1092+
</tr>
10891093
</table>
10901094

10911095

v2/book/pandocHTML.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,7 @@ input-files:
279279
- examples/TaggedEnum.html
280280
- examples/Najlot.Audit.SourceGenerator.html
281281
- examples/lomapper.html
282+
- examples/Aigamo.MatchGenerator.html
282283

283284
# or you may use input-file: with a single value
284285
# defaults:

v2/docFind.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1588,5 +1588,11 @@
15881588
"category": "Mapper",
15891589
"href": "/RSCG_Examples/v2/docs/lomapper/",
15901590
"body": "LoMapper - Lightweight Object Mapper using compile-time source generation. Zero runtime reflection."
1591+
},
1592+
{
1593+
"title": "Aigamo.MatchGenerator",
1594+
"category": "Enum",
1595+
"href": "/RSCG_Examples/v2/docs/Aigamo.MatchGenerator/",
1596+
"body": "Package Description"
15911597
}
15921598
]
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"generator":{
3+
"name":"Aigamo.MatchGenerator",
4+
"nuget":[
5+
"https://www.nuget.org/packages/Aigamo.MatchGenerator/"
6+
],
7+
"link":"https://github.com/ycanardeau/MatchGenerator",
8+
"author":"Aigamo",
9+
"source":"https://github.com/ycanardeau/MatchGenerator"
10+
},
11+
"data":{
12+
"goodFor":["Transform enums into tagged unions -with error in Match !"],
13+
"csprojDemo":"EnumDemo.csproj",
14+
"csFiles":["Program.cs","CarTypes.cs"],
15+
"excludeDirectoryGenerated":[""],
16+
"includeAdditionalFiles":[""]
17+
},
18+
"links":{
19+
"blog":"",
20+
"video":""
21+
}
22+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Package Description

0 commit comments

Comments
 (0)