diff --git a/ShareX.UploadersLib/Helpers/CustomUploaderParser.cs b/ShareX.UploadersLib/Helpers/CustomUploaderParser.cs index a885370d4..128616c31 100644 --- a/ShareX.UploadersLib/Helpers/CustomUploaderParser.cs +++ b/ShareX.UploadersLib/Helpers/CustomUploaderParser.cs @@ -31,6 +31,7 @@ You should have received a copy of the GNU General Public License using System.Linq; using System.Text; using System.Text.RegularExpressions; +using System.Windows.Forms; using System.Xml.XPath; namespace ShareX.UploadersLib @@ -152,6 +153,14 @@ private string ParseSyntax(string syntax) { return ParseSyntaxSelect(syntax.Substring(7)); } + else if (syntax.Equals("input", StringComparison.InvariantCultureIgnoreCase)) // Example: $input$ + { + return ParseSyntaxInput(); + } + else if (syntax.StartsWith("input:", StringComparison.InvariantCultureIgnoreCase)) // Example: $input:default value$ + { + return ParseSyntaxInput(syntax.Substring(6)); + } // Invalid syntax return null; @@ -271,5 +280,18 @@ private string ParseSyntaxSelect(string syntax) return null; } + + private string ParseSyntaxInput(string defaultValue = null) + { + using (InputBox inputBox = new InputBox("ShareX - Input", defaultValue)) + { + if (inputBox.ShowDialog() == DialogResult.OK) + { + return inputBox.InputText; + } + } + + return defaultValue; + } } } \ No newline at end of file