diff --git a/Class/Options.cs b/Class/Options.cs new file mode 100644 index 0000000..296e425 --- /dev/null +++ b/Class/Options.cs @@ -0,0 +1,19 @@ +using CommandLine; + +namespace tarot{ + [Verb("get", HelpText = "Retrieve cards from the deck.")] + public class GetOptions{ + [Value(0, MetaName = "amount", MetaValue = "int", Default = 1, HelpText = "Amount of cards to retrieve.")] + public uint Amount{get; set;} + } + + [Verb("shuffle", HelpText = "Shuffle the deck")] + public class ShuffleOptions{ + [Value(0, MetaName = "type", MetaValue = "string", Default = "riffle", HelpText = "What shuffle to perform.")] + public string Type{get; set;} + [Value(1, MetaName = "amount", MetaValue = "int", Default = 1, HelpText = "Number of shuffles to perform.")] + public int Amount{get; set;} + [Option('q',"quiet", HelpText = "Suppress stdout.")] + public bool Quiet{get; set;} + } +} \ No newline at end of file diff --git a/Program.cs b/Program.cs index 476bf7e..a1bf27d 100644 --- a/Program.cs +++ b/Program.cs @@ -1,25 +1,14 @@ using System; +using System.IO; using CommandLine; namespace tarot{ class Program{ - [Verb("get", HelpText = "Retrieve cards from the deck.")] - public class GetOptions{ - [Value(0, MetaName = "amount", MetaValue = "int", Default = 1, HelpText = "Amount of cards to retrieve.")] - public uint Amount{get; set;} - } - - [Verb("shuffle", HelpText = "Shuffle the deck")] - public class ShuffleOptions{ - [Value(0, MetaName = "type", MetaValue = "string", Default = "riffle", HelpText = "What shuffle to perform.")] - public string Type{get; set;} - [Value(1, MetaName = "amount", MetaValue = "int", Default = 1, HelpText = "Number of shuffles to perform.")] - public int Amount{get; set;} - [Option('q',"quiet", HelpText = "Suppress stdout.")] - public bool Quiet{get; set;} - } - static int Main(string[] args){ + string userPath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); + string configPath = Path.Combine(userPath,@".config/tarot/"); + Directory.CreateDirectory(configPath); + Type[] types = {typeof(ShuffleOptions), typeof(GetOptions)}; Deck deck = new Deck(); diff --git a/tarot.csproj b/tarot.csproj index 2514c09..46d097e 100644 --- a/tarot.csproj +++ b/tarot.csproj @@ -3,6 +3,7 @@ Exe net5.0 + oscarcederberg diff --git a/tarot.sln b/tarot.sln deleted file mode 100644 index 8aebe63..0000000 --- a/tarot.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30523.141 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "tarot", "tarot.csproj", "{2B0A188E-4452-4F15-9D96-9A52D3BCC5B2}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {2B0A188E-4452-4F15-9D96-9A52D3BCC5B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2B0A188E-4452-4F15-9D96-9A52D3BCC5B2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2B0A188E-4452-4F15-9D96-9A52D3BCC5B2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2B0A188E-4452-4F15-9D96-9A52D3BCC5B2}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {501AA458-3673-4222-9E8E-3EF4848CDAEB} - EndGlobalSection -EndGlobal