diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml new file mode 100644 index 0000000..e4ca58b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -0,0 +1,63 @@ +name: Bug Report +description: File a bug report +title: "[Bug]: " +labels: ["bug"] +assignees: + - oliverbooth +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + - type: textarea + id: expected-behavior + attributes: + label: Expected Behavior + description: What did you expect to happen? + validations: + required: true + - type: textarea + id: actual-behavior + attributes: + label: Actual Behavior + description: What actually happened? + validations: + required: true + - type: textarea + id: snippet + attributes: + label: MCVE + description: Provide a [minimal, reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the code that causes the behaviour. + render: csharp + validations: + required: false + - type: dropdown + id: version + attributes: + label: Version + description: What version of the package are you running? + options: + - 3.1.0 + - 3.0.0 + - 2.6.0 + - 2.5.0 + - 2.4.0 + - 2.3.0 + - 2.2.0 + - 2.1.0 + validations: + required: true + - type: textarea + id: logs + attributes: + label: Relevant log output + description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. + render: shell + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/oliverbooth/X10D/blob/main/.github/CODE_OF_CONDUCT.md) + options: + - label: I agree to follow this project's Code of Conduct + required: true diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index e2dcd19..0000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: bug -assignees: oliverbooth - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Additional context** -Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/extension-method-request.md b/.github/ISSUE_TEMPLATE/extension-method-request.md deleted file mode 100644 index ccec245..0000000 --- a/.github/ISSUE_TEMPLATE/extension-method-request.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -name: Extension method request -about: Make a request for an extension method you believe should be implemented -title: '' -labels: enhancement -assignees: oliverbooth - ---- - -**Type** -Provide the fully-qualified type name of the extension method you wish to have here. Example: -```cs -System.String -``` - -**Extension method signature** -Provide the full method signature here, without parameter names, but do not include the leading `this T x` parameter. Example: -```cs -string Random(int, System.Random) -``` - -**Parameters** -Document each of the parameters here, with their name and description - i.e. this would be equivalent to the entry in the XMLDoc. Use a table layout like in the following example: -| Parameter | Type | Description | -|- |- |- | -|length|`int`|The length of the string to generate.| -|random|`System.Random`|The instance of `System.Random` to use for the operation| - -**Description** -Briefly but concisely document the method's purpose here. i.e. This would be the `` entry in the XMLDoc. - -**Benefits** -Give a reason as to why this method should be added. Does it add a need not satisified by any other X10D method? Does .NET not offer similar operations? Why should this method exist? - -**Drawbacks** -Give a reason as to why this method should *not* be added. Is it an expensive operation? Does it defy .NET guidelines? If you cannot think of any, leave this blank. - -**(Optional) Implementation example** -If you prefer, you can give an example of how this method might be implemented using a C# codeblock. -Do not include the method signature here - just the body. -```cs -{ - // code -} -``` diff --git a/.github/ISSUE_TEMPLATE/extension-method-request.yml b/.github/ISSUE_TEMPLATE/extension-method-request.yml new file mode 100644 index 0000000..8536667 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/extension-method-request.yml @@ -0,0 +1,86 @@ +name: Extension Method Request +description: Make a request for an extension method you believe should be implemented +title: "[Request]: " +labels: ["enhancement"] +assignees: + - oliverbooth +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to suggest an extension method! + - type: textarea + id: fqn + attributes: + label: Type to extend + description: Provide the fully qualified type name of the extension method you're suggesting. + render: csharp + placeholder: "System.Drawing.Color" + validations: + required: true + - type: textarea + id: signature + attributes: + label: Signature + description: Provide the method signature here. __**DO NOT**__ include `public static` or the leading `this` parameter - these are inherent to extension methods. __**DO**__ include the return type and parameter names. + placeholder: "Color WithR(int r)" + render: csharp + validations: + required: true + - type: textarea + id: summary + attributes: + label: Summary + description: Briefly but concisely document the method's purpose. i.e. This would be the ` entry in the XMLDoc. + placeholder: "Returns a new Color whose A, B and G components are the same as the specified color, and whose R component is a new value." + render: md + validations: + required: true + - type: textarea + id: parameters + attributes: + label: Parameters + description: "If this method accepts parameters, document each of the parameters here, with their name and description - i.e. this would be equivalent to the `` entry in the XMLDoc. __**DO NOT**__ include the leading `this` parameter. Use a table layout like in the provided example." + value: + | + | Parameter | Type | Description | + | - | - | - | + |r | `float` | The new value for the R component. | + render: md + validations: + required: false + - type: textarea + id: benefits + attributes: + label: Benefits + description: Give a reason as to why this method should be added. Does it add a need not satisfied by any other X10D method? Does .NET not offer similar functionality? + placeholder: "'with' expressions are not supported for Color, as the setters of R G and B are get-only." + validations: + required: true + - type: textarea + id: drawbacks + attributes: + label: Drawbacks + description: Give a reason as to why this method should *not* be added. Is it an expensive operation? Does it defy .NET guidelines? If you cannot think of any drawbacks, you may leave this blank. + validations: + required: false + - type: textarea + id: implementation-example + attributes: + label: Implementation Example + description: If you prefer, you can give an example of how this method might be implemented. __**DO NOT**__ include the signature here, only the body. + placeholder: + | + return Color.FromArgb(value.A, r, value.G, value.B); + + render: csharp + validations: + required: false + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/oliverbooth/X10D/blob/main/.github/CODE_OF_CONDUCT.md) + options: + - label: I agree to follow this project's Code of Conduct + required: true