diff --git a/src/MfGames.Nitride.Calendar/CreateCalender.cs b/src/MfGames.Nitride.Calendar/CreateCalender.cs index 2965c02..1acda4b 100644 --- a/src/MfGames.Nitride.Calendar/CreateCalender.cs +++ b/src/MfGames.Nitride.Calendar/CreateCalender.cs @@ -10,6 +10,7 @@ using Ical.Net.Serialization; using MfGames.Gallium; using MfGames.Nitride.Contents; +using MfGames.Nitride.Generators; using MfGames.Nitride.Temporal; using NodaTime; diff --git a/src/MfGames.Nitride.Feeds/CreateAtomFeed.cs b/src/MfGames.Nitride.Feeds/CreateAtomFeed.cs index 2ff32c9..3673e12 100644 --- a/src/MfGames.Nitride.Feeds/CreateAtomFeed.cs +++ b/src/MfGames.Nitride.Feeds/CreateAtomFeed.cs @@ -7,6 +7,7 @@ using FluentValidation; using MfGames.Gallium; using MfGames.Nitride.Contents; using MfGames.Nitride.Feeds.Structure; +using MfGames.Nitride.Generators; using NodaTime; diff --git a/src/MfGames.Nitride.Feeds/Structure/AtomAuthor.cs b/src/MfGames.Nitride.Feeds/Structure/AtomAuthor.cs index 2504223..681634d 100644 --- a/src/MfGames.Nitride.Feeds/Structure/AtomAuthor.cs +++ b/src/MfGames.Nitride.Feeds/Structure/AtomAuthor.cs @@ -1,5 +1,7 @@ using System.Xml.Linq; +using MfGames.Nitride.Generators; + namespace MfGames.Nitride.Feeds.Structure; /// diff --git a/src/MfGames.Nitride.Feeds/Structure/AtomCategory.cs b/src/MfGames.Nitride.Feeds/Structure/AtomCategory.cs index 7e37f0e..ee9e2c4 100644 --- a/src/MfGames.Nitride.Feeds/Structure/AtomCategory.cs +++ b/src/MfGames.Nitride.Feeds/Structure/AtomCategory.cs @@ -1,6 +1,8 @@ using System; using System.Xml.Linq; +using MfGames.Nitride.Generators; + namespace MfGames.Nitride.Feeds.Structure; /// diff --git a/src/MfGames.Nitride.Feeds/Structure/AtomEntry.cs b/src/MfGames.Nitride.Feeds/Structure/AtomEntry.cs index ceaa4b1..dfee8d1 100644 --- a/src/MfGames.Nitride.Feeds/Structure/AtomEntry.cs +++ b/src/MfGames.Nitride.Feeds/Structure/AtomEntry.cs @@ -2,6 +2,8 @@ using System; using System.Collections.Generic; using System.Xml.Linq; +using MfGames.Nitride.Generators; + using NodaTime; using static MfGames.Nitride.Feeds.Structure.XmlConstants; diff --git a/src/MfGames.Nitride.Handlebars/ApplyStyleTemplate.cs b/src/MfGames.Nitride.Handlebars/ApplyStyleTemplate.cs index e50fb1c..ef58c44 100644 --- a/src/MfGames.Nitride.Handlebars/ApplyStyleTemplate.cs +++ b/src/MfGames.Nitride.Handlebars/ApplyStyleTemplate.cs @@ -7,6 +7,7 @@ using HandlebarsDotNet; using MfGames.Gallium; using MfGames.Nitride.Contents; +using MfGames.Nitride.Generators; namespace MfGames.Nitride.Handlebars; diff --git a/src/MfGames.Nitride.Handlebars/IdentifyHandlebarsFromComponent.cs b/src/MfGames.Nitride.Handlebars/IdentifyHandlebarsFromComponent.cs index 6907588..f6589ac 100644 --- a/src/MfGames.Nitride.Handlebars/IdentifyHandlebarsFromComponent.cs +++ b/src/MfGames.Nitride.Handlebars/IdentifyHandlebarsFromComponent.cs @@ -5,6 +5,7 @@ using System.Linq; using FluentValidation; using MfGames.Gallium; +using MfGames.Nitride.Generators; namespace MfGames.Nitride.Handlebars; diff --git a/src/MfGames.Nitride.Handlebars/RenderContentTemplate.cs b/src/MfGames.Nitride.Handlebars/RenderContentTemplate.cs index 28cb22f..12c118a 100644 --- a/src/MfGames.Nitride.Handlebars/RenderContentTemplate.cs +++ b/src/MfGames.Nitride.Handlebars/RenderContentTemplate.cs @@ -7,6 +7,7 @@ using HandlebarsDotNet; using MfGames.Gallium; using MfGames.Nitride.Contents; +using MfGames.Nitride.Generators; namespace MfGames.Nitride.Handlebars; diff --git a/src/MfGames.Nitride.IO/Contents/ReadFiles.cs b/src/MfGames.Nitride.IO/Contents/ReadFiles.cs index 8e34fe2..e909e53 100644 --- a/src/MfGames.Nitride.IO/Contents/ReadFiles.cs +++ b/src/MfGames.Nitride.IO/Contents/ReadFiles.cs @@ -9,6 +9,7 @@ using FluentValidation; using MfGames.Gallium; using MfGames.Nitride.Contents; +using MfGames.Nitride.Generators; using Zio; diff --git a/src/MfGames.Nitride.IO/Contents/WriteFiles.cs b/src/MfGames.Nitride.IO/Contents/WriteFiles.cs index a03af8b..57846f1 100644 --- a/src/MfGames.Nitride.IO/Contents/WriteFiles.cs +++ b/src/MfGames.Nitride.IO/Contents/WriteFiles.cs @@ -8,6 +8,7 @@ using FluentValidation; using MfGames.Gallium; using MfGames.Nitride.Contents; +using MfGames.Nitride.Generators; using Serilog; diff --git a/src/MfGames.Nitride.IO/Directories/ClearDirectory.cs b/src/MfGames.Nitride.IO/Directories/ClearDirectory.cs index 7ff0668..8df94c7 100644 --- a/src/MfGames.Nitride.IO/Directories/ClearDirectory.cs +++ b/src/MfGames.Nitride.IO/Directories/ClearDirectory.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using FluentValidation; using MfGames.Gallium; +using MfGames.Nitride.Generators; using Serilog; diff --git a/src/MfGames.Nitride.IO/Paths/AddPathPrefix.cs b/src/MfGames.Nitride.IO/Paths/AddPathPrefix.cs index 081596d..dfa086b 100644 --- a/src/MfGames.Nitride.IO/Paths/AddPathPrefix.cs +++ b/src/MfGames.Nitride.IO/Paths/AddPathPrefix.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using FluentValidation; using MfGames.Gallium; +using MfGames.Nitride.Generators; using Zio; diff --git a/src/MfGames.Nitride.IO/Paths/ChangePathExtension.cs b/src/MfGames.Nitride.IO/Paths/ChangePathExtension.cs index d2d95ac..2690318 100644 --- a/src/MfGames.Nitride.IO/Paths/ChangePathExtension.cs +++ b/src/MfGames.Nitride.IO/Paths/ChangePathExtension.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using FluentValidation; using MfGames.Gallium; +using MfGames.Nitride.Generators; using Zio; diff --git a/src/MfGames.Nitride.IO/Paths/DirectChildPathScanner.cs b/src/MfGames.Nitride.IO/Paths/DirectChildPathScanner.cs index 66e4072..083c89f 100644 --- a/src/MfGames.Nitride.IO/Paths/DirectChildPathScanner.cs +++ b/src/MfGames.Nitride.IO/Paths/DirectChildPathScanner.cs @@ -4,6 +4,7 @@ using FluentValidation; using MfGames.Gallium; using MfGames.Nitride.Entities; +using MfGames.Nitride.Generators; using Zio; diff --git a/src/MfGames.Nitride.IO/Paths/LinkDirectChildren.cs b/src/MfGames.Nitride.IO/Paths/LinkDirectChildren.cs index d0dac85..2fd1f68 100644 --- a/src/MfGames.Nitride.IO/Paths/LinkDirectChildren.cs +++ b/src/MfGames.Nitride.IO/Paths/LinkDirectChildren.cs @@ -5,6 +5,7 @@ using FluentValidation; using MfGames.Gallium; using MfGames.Nitride.Entities; +using MfGames.Nitride.Generators; using Serilog; diff --git a/src/MfGames.Nitride.IO/Paths/MoveToIndexPath.cs b/src/MfGames.Nitride.IO/Paths/MoveToIndexPath.cs index 69022ab..4b9feea 100644 --- a/src/MfGames.Nitride.IO/Paths/MoveToIndexPath.cs +++ b/src/MfGames.Nitride.IO/Paths/MoveToIndexPath.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using FluentValidation; using MfGames.Gallium; +using MfGames.Nitride.Generators; using Zio; diff --git a/src/MfGames.Nitride.IO/Paths/RemovePathPrefix.cs b/src/MfGames.Nitride.IO/Paths/RemovePathPrefix.cs index e4c4421..3bc3194 100644 --- a/src/MfGames.Nitride.IO/Paths/RemovePathPrefix.cs +++ b/src/MfGames.Nitride.IO/Paths/RemovePathPrefix.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using FluentValidation; using MfGames.Gallium; +using MfGames.Nitride.Generators; using Zio; diff --git a/src/MfGames.Nitride.IO/Paths/ReplacePath.cs b/src/MfGames.Nitride.IO/Paths/ReplacePath.cs index 70e7293..67780a2 100644 --- a/src/MfGames.Nitride.IO/Paths/ReplacePath.cs +++ b/src/MfGames.Nitride.IO/Paths/ReplacePath.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using FluentValidation; using MfGames.Gallium; +using MfGames.Nitride.Generators; using Zio; diff --git a/src/MfGames.Nitride.Markdown/ConvertMarkdownToBase.cs b/src/MfGames.Nitride.Markdown/ConvertMarkdownToBase.cs index e5c5b5d..80a30de 100644 --- a/src/MfGames.Nitride.Markdown/ConvertMarkdownToBase.cs +++ b/src/MfGames.Nitride.Markdown/ConvertMarkdownToBase.cs @@ -7,6 +7,7 @@ using Markdig; using MfGames.Gallium; using MfGames.Nitride.Contents; +using MfGames.Nitride.Generators; namespace MfGames.Nitride.Markdown; diff --git a/src/MfGames.Nitride.Markdown/IdentifyMarkdown.cs b/src/MfGames.Nitride.Markdown/IdentifyMarkdown.cs index 78c59a0..3f9808f 100644 --- a/src/MfGames.Nitride.Markdown/IdentifyMarkdown.cs +++ b/src/MfGames.Nitride.Markdown/IdentifyMarkdown.cs @@ -5,6 +5,7 @@ using FluentValidation; using MfGames.Gallium; using MfGames.Nitride.Contents; +using MfGames.Nitride.Generators; using Zio; diff --git a/src/MfGames.Nitride.Temporal/CreateDateIndexes.cs b/src/MfGames.Nitride.Temporal/CreateDateIndexes.cs index f13a3b0..397e351 100644 --- a/src/MfGames.Nitride.Temporal/CreateDateIndexes.cs +++ b/src/MfGames.Nitride.Temporal/CreateDateIndexes.cs @@ -5,6 +5,7 @@ using System.Linq; using FluentValidation; using MfGames.Gallium; +using MfGames.Nitride.Generators; using NodaTime; diff --git a/src/MfGames.Nitride.Temporal/FilterOutExpiredInstant.cs b/src/MfGames.Nitride.Temporal/FilterOutExpiredInstant.cs index e18183c..358f7f6 100644 --- a/src/MfGames.Nitride.Temporal/FilterOutExpiredInstant.cs +++ b/src/MfGames.Nitride.Temporal/FilterOutExpiredInstant.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using FluentValidation; using MfGames.Gallium; +using MfGames.Nitride.Generators; using NodaTime; diff --git a/src/MfGames.Nitride.Temporal/FilterOutFutureInstant.cs b/src/MfGames.Nitride.Temporal/FilterOutFutureInstant.cs index 189d169..88de2dd 100644 --- a/src/MfGames.Nitride.Temporal/FilterOutFutureInstant.cs +++ b/src/MfGames.Nitride.Temporal/FilterOutFutureInstant.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using MfGames.Gallium; +using MfGames.Nitride.Generators; using NodaTime; diff --git a/src/MfGames.Nitride.Temporal/NitrideTemporalConfiguration.cs b/src/MfGames.Nitride.Temporal/NitrideTemporalConfiguration.cs index 2d42c56..0323046 100644 --- a/src/MfGames.Nitride.Temporal/NitrideTemporalConfiguration.cs +++ b/src/MfGames.Nitride.Temporal/NitrideTemporalConfiguration.cs @@ -1,5 +1,7 @@ using System; +using MfGames.Nitride.Generators; + using NodaTime; namespace MfGames.Nitride.Temporal; diff --git a/src/MfGames.Nitride.Temporal/SetInstantFromPath.cs b/src/MfGames.Nitride.Temporal/SetInstantFromPath.cs index 14a5572..8a71bd8 100644 --- a/src/MfGames.Nitride.Temporal/SetInstantFromPath.cs +++ b/src/MfGames.Nitride.Temporal/SetInstantFromPath.cs @@ -5,6 +5,7 @@ using System.Text.RegularExpressions; using FluentValidation; using MfGames.Gallium; +using MfGames.Nitride.Generators; using NodaTime; diff --git a/src/MfGames.Nitride/Entities/CreateOrUpdateIndex.cs b/src/MfGames.Nitride/Entities/CreateOrUpdateIndex.cs index 10bc565..9ed4c64 100644 --- a/src/MfGames.Nitride/Entities/CreateOrUpdateIndex.cs +++ b/src/MfGames.Nitride/Entities/CreateOrUpdateIndex.cs @@ -5,6 +5,7 @@ using System.Linq; using FluentValidation; using MfGames.Gallium; +using MfGames.Nitride.Generators; using Serilog; diff --git a/src/MfGames.Nitride/Entities/EntityScanner.cs b/src/MfGames.Nitride/Entities/EntityScanner.cs index d2e8b61..cdca26e 100644 --- a/src/MfGames.Nitride/Entities/EntityScanner.cs +++ b/src/MfGames.Nitride/Entities/EntityScanner.cs @@ -7,6 +7,7 @@ using System.Linq; using FluentValidation; using MfGames.Gallium; +using MfGames.Nitride.Generators; namespace MfGames.Nitride.Entities; diff --git a/src/MfGames.Nitride/Entities/LinkEntitySequence.cs b/src/MfGames.Nitride/Entities/LinkEntitySequence.cs index d589174..53d5177 100644 --- a/src/MfGames.Nitride/Entities/LinkEntitySequence.cs +++ b/src/MfGames.Nitride/Entities/LinkEntitySequence.cs @@ -5,6 +5,7 @@ using System.Linq; using FluentValidation; using MfGames.Gallium; +using MfGames.Nitride.Generators; namespace MfGames.Nitride.Entities; diff --git a/src/MfGames.Nitride/Generators/SingletonComponentAttribute.cs b/src/MfGames.Nitride/Generators/SingletonComponentAttribute.cs new file mode 100644 index 0000000..25a0165 --- /dev/null +++ b/src/MfGames.Nitride/Generators/SingletonComponentAttribute.cs @@ -0,0 +1,12 @@ +using System; + +namespace MfGames.Nitride.Generators; + +/// +/// A marker attribute that indicates that the source generator should +/// automatically create the plumbing for an instance-based flag component. +/// +[AttributeUsage(AttributeTargets.Class)] +public class SingletonComponentAttribute : Attribute +{ +} diff --git a/src/MfGames.Nitride/WithPropertiesAttribute.cs b/src/MfGames.Nitride/Generators/WithPropertiesAttribute.cs similarity index 89% rename from src/MfGames.Nitride/WithPropertiesAttribute.cs rename to src/MfGames.Nitride/Generators/WithPropertiesAttribute.cs index 66cc506..6427b11 100644 --- a/src/MfGames.Nitride/WithPropertiesAttribute.cs +++ b/src/MfGames.Nitride/Generators/WithPropertiesAttribute.cs @@ -1,6 +1,6 @@ using System; -namespace MfGames.Nitride; +namespace MfGames.Nitride.Generators; /// /// A marker attribute that indicates that the source generator should diff --git a/src/MfGames.Nitride/MfGames.Nitride.csproj b/src/MfGames.Nitride/MfGames.Nitride.csproj index e643ef3..d3d2ff1 100644 --- a/src/MfGames.Nitride/MfGames.Nitride.csproj +++ b/src/MfGames.Nitride/MfGames.Nitride.csproj @@ -15,22 +15,22 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + +