diff --git a/WetPancakeCLI/ConsoleCommands.cs b/WetPancakeCLI/ConsoleCommands.cs index 2d37c3a..22f271e 100644 --- a/WetPancakeCLI/ConsoleCommands.cs +++ b/WetPancakeCLI/ConsoleCommands.cs @@ -1,15 +1,16 @@ using Console.Waterworks; using Console.Waterworks.Attributes; +using Microsoft.FSharp.Control; +using Microsoft.FSharp.Core; using System; -using static WetPancake.Pancake; -using static System.Environment; using System.Diagnostics; +using System.IO; using System.Threading.Tasks; -using Microsoft.FSharp.Control; -using Microsoft.FSharp.Core; using System.Threading; -using System.IO; +using System.Windows.Forms; +using static System.Environment; using static System.Console; +using static WetPancake.Pancake; namespace WetPancakeCLI { @@ -17,8 +18,10 @@ namespace WetPancakeCLI { // Pass these in when running an FSharpAsync task. // Examples are within the command-methods. - static FSharpOption _taskCreationOptions = FSharpOption.None; - static FSharpOption _cancellationToken = FSharpOption.None; + static readonly FSharpOption _taskCreationOptions = FSharpOption.None; + static readonly FSharpOption _cancellationToken = FSharpOption.None; + + static void CopyToClipBoard(string text) => Clipboard.SetText(text); #region Console Utilities [ListCommand] @@ -184,15 +187,19 @@ namespace WetPancakeCLI } [ListCommand] - [Description("Generates random text, the number of sentences generated is randomly determined.")] - [Parameters("None")] + [Description( + "Generates random text, the number of sentences generated is randomly determined\n." + + "Pass in true to copy result straight to clipboard.")] + [Parameters("copy-to-clipbaord: bool")] [Usage("> GenerateRandomText")] - public static string GenerateRandomText() + public static string GenerateRandomText(bool copyToClipboard = false) { try { - return FSharpAsync.StartAsTask + var result = FSharpAsync.StartAsTask (RequestRandomTextAsync(), _taskCreationOptions, _cancellationToken).Result; + if (copyToClipboard == true) CopyToClipBoard(result); + return result; } catch (Exception e) { diff --git a/WetPancakeCLI/Program.cs b/WetPancakeCLI/Program.cs index d9c07a3..7f0aa4b 100644 --- a/WetPancakeCLI/Program.cs +++ b/WetPancakeCLI/Program.cs @@ -1,9 +1,11 @@ using Console.Waterworks; +using System; namespace WetPancakeCLI { class Program { + [STAThread] static void Main(string[] args) { var liaison = new CW_Liaison(); diff --git a/WetPancakeCLI/WetPancakeCLI.csproj b/WetPancakeCLI/WetPancakeCLI.csproj index 6d2c114..249747d 100644 --- a/WetPancakeCLI/WetPancakeCLI.csproj +++ b/WetPancakeCLI/WetPancakeCLI.csproj @@ -79,6 +79,7 @@ ..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll +