Commits
Co-authored-by: Tom Fleet <me@followtheprocess.codes>
# Summary
<!-- Describe your changes in detail here, if it closes an open issue,
include "Closes #<issue>" -->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tom Fleet <me@followtheprocess.codes>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
# Summary
<!-- Describe your changes in detail here, if it closes an open issue,
include "Closes #<issue>" -->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
|
[crazy-max/ghaction-github-labeler](https://redirect.github.com/crazy-max/ghaction-github-labeler)
| action | major | `v5` → `v6` |
---
### Release Notes
<details>
<summary>crazy-max/ghaction-github-labeler
(crazy-max/ghaction-github-labeler)</summary>
###
[`v6`](https://redirect.github.com/crazy-max/ghaction-github-labeler/compare/v5...v6)
[Compare
Source](https://redirect.github.com/crazy-max/ghaction-github-labeler/compare/v5...v6)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/FollowTheProcess/hue).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My40My4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tom Fleet <me@followtheprocess.codes>
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
|
[release-drafter/release-drafter](https://redirect.github.com/release-drafter/release-drafter)
| action | major | `v6` → `v7` |
---
### Release Notes
<details>
<summary>release-drafter/release-drafter
(release-drafter/release-drafter)</summary>
###
[`v7`](https://redirect.github.com/release-drafter/release-drafter/compare/v6...v7)
[Compare
Source](https://redirect.github.com/release-drafter/release-drafter/compare/v6...v7)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/FollowTheProcess/hue).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My42Ni40IiwidXBkYXRlZEluVmVyIjoiNDMuNjYuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [golang.org/x/term](https://pkg.go.dev/golang.org/x/term) | [`v0.40.0`
→
`v0.41.0`](https://cs.opensource.google/go/x/term/+/refs/tags/v0.40.0...refs/tags/v0.41.0)
|

|

|
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/FollowTheProcess/hue).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tom Fleet <me@followtheprocess.codes>
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| golang.org/x/term | `v0.37.0` -> `v0.38.0` |

|

|
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/FollowTheProcess/hue).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zMi4yIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| golang.org/x/term | `v0.35.0` -> `v0.36.0` |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/FollowTheProcess/hue).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQxLjEzMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tom Fleet <me@followtheprocess.codes>
# Summary
<!-- Describe your changes in detail here, if it closes an open issue,
include "Closes #<issue>" -->
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| golang.org/x/term | `v0.33.0` -> `v0.34.0` |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/FollowTheProcess/hue).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS41MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuNTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tom Fleet <me@followtheprocess.codes>
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| golang.org/x/term | `v0.32.0` -> `v0.33.0` |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/FollowTheProcess/hue).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4yMy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tom Fleet <me@followtheprocess.codes>
# Summary
<!-- Describe your changes in detail here, if it closes an open issue,
include "Closes #<issue>" -->
Welcome to [Renovate](https://redirect.github.com/renovatebot/renovate)!
This is an onboarding PR to help you understand and configure settings
before regular Pull Requests begin.
🚦 To activate Renovate, merge this Pull Request. To disable Renovate,
simply close this Pull Request unmerged.
---
### Detected Package Files
* `.github/workflows/CI.yml` (github-actions)
* `.github/workflows/labeler.yml` (github-actions)
* `.github/workflows/release.yml` (github-actions)
* `.github/workflows/release_drafter.yml` (github-actions)
* `go.mod` (gomod)
### Configuration Summary
Based on the default config's presets, Renovate will:
- Start dependency updates only once this onboarding PR is merged
- Hopefully safe environment variables to allow users to configure.
- Show all Merge Confidence badges for pull requests.
- Enable Renovate Dependency Dashboard creation.
- Use semantic commit type `fix` for dependencies and `chore` for all
others if semantic commits are in use.
- Ignore `node_modules`, `bower_components`, `vendor` and various
test/tests (except for nuget) directories.
- Group known monorepo packages together.
- Use curated list of recommended non-monorepo package groupings.
- Apply crowd-sourced package replacement rules.
- Apply crowd-sourced workarounds for known problems with packages.
🔡 Do you want to change how Renovate upgrades your dependencies? Add
your custom config to `renovate.json` in this branch. Renovate will
update the Pull Request description the next time it runs.
---
### What to Expect
It looks like your repository dependencies are already up-to-date and no
Pull Requests will be necessary right away.
---
❓ Got questions? Check out Renovate's
[Docs](https://docs.renovatebot.com/), particularly the Getting Started
section.
If you need any further assistance then you can also [request help
here](https://redirect.github.com/renovatebot/renovate/discussions).
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/FollowTheProcess/hue).
<!--renovate-config-hash:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tom Fleet <tomfleet2018@gmail.com>
Bumps [golang.org/x/term](https://github.com/golang/term) from 0.31.0 to
0.32.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/golang/term/commit/2ec7864a3e7b8faa620696c32a0738119e2477e1"><code>2ec7864</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="https://github.com/golang/term/commit/a809085bff595080269599dbe788dd7fdf616ab4"><code>a809085</code></a>
term: support pluggable history</li>
<li>See full diff in <a
href="https://github.com/golang/term/compare/v0.31.0...v0.32.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [FollowTheProcess/ci](https://github.com/followtheprocess/ci) from
1 to 2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/followtheprocess/ci/releases">FollowTheProcess/ci's
releases</a>.</em></p>
<blockquote>
<h2>v2.0.0</h2>
<h2>Changes</h2>
<h2>:boom: Breaking Changes</h2>
<ul>
<li>Enables golangci-lint v2 (<a
href="https://redirect.github.com/followtheprocess/ci/issues/23">#23</a>)
<a
href="https://github.com/FollowTheProcess"><code>@FollowTheProcess</code></a></li>
</ul>
<h2>v1.12.0</h2>
<h2>Changes</h2>
<h2>:rocket: Features</h2>
<ul>
<li>Disable fail fast for Go matrix fuzz tests (<a
href="https://redirect.github.com/followtheprocess/ci/issues/22">#22</a>)
<a
href="https://github.com/FollowTheProcess"><code>@FollowTheProcess</code></a></li>
</ul>
<h2>v1.11.2</h2>
<h2>Changes</h2>
<ul>
<li>Use typos v1 tag (<a
href="https://redirect.github.com/followtheprocess/ci/issues/21">#21</a>)
<a
href="https://github.com/FollowTheProcess"><code>@FollowTheProcess</code></a></li>
</ul>
<h2>:package: Dependencies</h2>
<ul>
<li>Bump crate-ci/typos from 1.30.0 to 1.30.1 (<a
href="https://redirect.github.com/followtheprocess/ci/issues/20">#20</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
</ul>
<h2>v1.11.1</h2>
<h2>Changes</h2>
<ul>
<li>Rename fuzz test matrix (<a
href="https://redirect.github.com/followtheprocess/ci/issues/19">#19</a>)
<a
href="https://github.com/FollowTheProcess"><code>@FollowTheProcess</code></a></li>
</ul>
<h2>:package: Dependencies</h2>
<ul>
<li>Bump crate-ci/typos from 1.29.9 to 1.30.0 (<a
href="https://redirect.github.com/followtheprocess/ci/issues/18">#18</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>Bump crate-ci/typos from 1.29.7 to 1.29.9 (<a
href="https://redirect.github.com/followtheprocess/ci/issues/17">#17</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
</ul>
<h2>v1.11.0</h2>
<h2>Changes</h2>
<h2>:rocket: Features</h2>
<ul>
<li>Add zig fmt step (<a
href="https://redirect.github.com/followtheprocess/ci/issues/16">#16</a>)
<a
href="https://github.com/FollowTheProcess"><code>@FollowTheProcess</code></a></li>
</ul>
<h2>:package: Dependencies</h2>
<ul>
<li>Bump crate-ci/typos from 1.29.5 to 1.29.7 (<a
href="https://redirect.github.com/followtheprocess/ci/issues/15">#15</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>Bump crate-ci/typos from 1.29.4 to 1.29.5 (<a
href="https://redirect.github.com/followtheprocess/ci/issues/14">#14</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
</ul>
<h2>v1.10.2</h2>
<h2>Changes</h2>
<h2>:rocket: Features</h2>
<ul>
<li>Use a python script to more reliably find Go Fuzz targets (<a
href="https://redirect.github.com/followtheprocess/ci/issues/13">#13</a>)
<a
href="https://github.com/FollowTheProcess"><code>@FollowTheProcess</code></a></li>
</ul>
<h2>v1.10.1</h2>
<h2>Changes</h2>
<h2>:beetle: Fixes</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/FollowTheProcess/ci/commit/aa2fbe8d2e9e8b69f26e589c3439695c8d82213c"><code>aa2fbe8</code></a>
Enables golangci-lint v2 (<a
href="https://redirect.github.com/followtheprocess/ci/issues/23">#23</a>)</li>
<li>See full diff in <a
href="https://github.com/followtheprocess/ci/compare/v1...v2">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tom Fleet <tomfleet2018@gmail.com>
## Summary
<!-- Describe your changes in detail here, if it closes an open issue,
include "Closes #<issue>" -->
## Summary
<!-- Describe your changes in detail here, if it closes an open issue,
include "Closes #<issue>" -->
## Summary
<!-- Describe your changes in detail here, if it closes an open issue,
include "Closes #<issue>" -->
## Summary
<!-- Describe your changes in detail here, if it closes an open issue,
include "Closes #<issue>" -->
Bumps [golang.org/x/term](https://github.com/golang/term) from 0.28.0 to
0.29.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/golang/term/commit/743b2709ab25357d30ce1eac4a840eb0b7deb1bf"><code>743b270</code></a>
go.mod: update golang.org/x dependencies</li>
<li>See full diff in <a
href="https://github.com/golang/term/compare/v0.28.0...v0.29.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Summary
<!-- Describe your changes in detail here, if it closes an open issue,
include "Closes #<issue>" -->
Optimised for the normal case of only a few styles by using the same
trick as `log/slog`. Keep a stack allocated array with `n` elements,
then any overflow spills over to a `[]string`.
So the fast case (6 styles or less) is ~7% faster, this covers basically
all normal usage of the API. Only pathological combinations exceed this.
At the cost of the slow case (> 6 styles) being ~18% slower.
This is fine as a trade off because combining more than 6 styles is
nonsensical in terms of an actual colour, literally all normal usage
will fit into the fast path
```plaintext
goos: darwin
goarch: arm64
pkg: github.com/FollowTheProcess/hue
cpu: Apple M1 Pro
│ before.txt │ after.txt │
│ sec/op │ sec/op vs base │
Style/simple-8 2.332n ± 0% 2.330n ± 0% -0.09% (p=0.000 n=30)
Style/composite_fast-8 71.13n ± 0% 66.17n ± 0% -6.98% (p=0.000 n=30)
Style/composite_slow-8 168.2n ± 0% 199.8n ± 0% +18.79% (p=0.000 n=30)
geomean 30.33n 31.35n +3.35%
│ before.txt │ after.txt │
│ B/op │ B/op vs base │
Style/simple-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=30) ¹
Style/composite_fast-8 16.00 ± 0% 16.00 ± 0% ~ (p=1.000 n=30) ¹
Style/composite_slow-8 216.0 ± 0% 160.0 ± 0% -25.93% (p=0.000 n=30)
geomean ² -9.52% ²
¹ all samples are equal
² summaries must be >0 to compute geomean
│ before.txt │ after.txt │
│ allocs/op │ allocs/op vs base │
Style/simple-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=30) ¹
Style/composite_fast-8 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=30) ¹
Style/composite_slow-8 2.000 ± 0% 5.000 ± 0% +150.00% (p=0.000 n=30)
geomean ² +35.72% ²
¹ all samples are equal
² summaries must be >0 to compute geomean
```
## Summary
<!-- Describe your changes in detail here, if it closes an open issue,
include "Closes #<issue>" -->
## Summary
<!-- Describe your changes in detail here, if it closes an open issue,
include "Closes #<issue>" -->
- **Fork tabwriter into here**
- **Tidy up tabwriter and add a demo gif**
## Summary
<!-- Describe your changes in detail here, if it closes an open issue,
include "Closes #<issue>" -->
## Summary
<!-- Describe your changes in detail here, if it closes an open issue,
include "Closes #<issue>" -->
- **Add a demo gif**
- **Use https link for image**
## Summary
<!-- Describe your changes in detail here, if it closes an open issue,
include "Closes #<issue>" -->
## Summary
<!-- Describe your changes in detail here, if it closes an open issue,
include "Closes #<issue>" -->
## Summary
<!-- Describe your changes in detail here, if it closes an open issue,
include "Closes #<issue>" -->
Replaced the map with a switch case as an experiment, turns out it's
significantly faster so I'm keeping it!
```plaintext
❯ benchstat before.txt after.txt
goos: darwin
goarch: arm64
pkg: github.com/FollowTheProcess/hue
cpu: Apple M1 Pro
│ before.txt │ after.txt │
│ sec/op │ sec/op vs base │
Style/simple-8 6.529n ± 0% 2.067n ± 0% -68.33% (p=0.000 n=30)
Style/composite-8 90.31n ± 0% 71.48n ± 0% -20.85% (p=0.000 n=30)
geomean 24.28n 12.16n -49.94%
│ before.txt │ after.txt │
│ B/op │ B/op vs base │
Style/simple-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=30) ¹
Style/composite-8 16.00 ± 0% 16.00 ± 0% ~ (p=1.000 n=30) ¹
geomean ² +0.00% ²
¹ all samples are equal
² summaries must be >0 to compute geomean
│ before.txt │ after.txt │
│ allocs/op │ allocs/op vs base │
Style/simple-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=30) ¹
Style/composite-8 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=30) ¹
geomean ² +0.00% ²
¹ all samples are equal
² summaries must be >0 to compute geomean
```
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
|
[crazy-max/ghaction-github-labeler](https://redirect.github.com/crazy-max/ghaction-github-labeler)
| action | major | `v5` → `v6` |
---
### Release Notes
<details>
<summary>crazy-max/ghaction-github-labeler
(crazy-max/ghaction-github-labeler)</summary>
###
[`v6`](https://redirect.github.com/crazy-max/ghaction-github-labeler/compare/v5...v6)
[Compare
Source](https://redirect.github.com/crazy-max/ghaction-github-labeler/compare/v5...v6)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/FollowTheProcess/hue).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My40My4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tom Fleet <me@followtheprocess.codes>
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
|
[release-drafter/release-drafter](https://redirect.github.com/release-drafter/release-drafter)
| action | major | `v6` → `v7` |
---
### Release Notes
<details>
<summary>release-drafter/release-drafter
(release-drafter/release-drafter)</summary>
###
[`v7`](https://redirect.github.com/release-drafter/release-drafter/compare/v6...v7)
[Compare
Source](https://redirect.github.com/release-drafter/release-drafter/compare/v6...v7)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/FollowTheProcess/hue).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My42Ni40IiwidXBkYXRlZEluVmVyIjoiNDMuNjYuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [golang.org/x/term](https://pkg.go.dev/golang.org/x/term) | [`v0.40.0`
→
`v0.41.0`](https://cs.opensource.google/go/x/term/+/refs/tags/v0.40.0...refs/tags/v0.41.0)
|

|

|
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/FollowTheProcess/hue).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tom Fleet <me@followtheprocess.codes>
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| golang.org/x/term | `v0.37.0` -> `v0.38.0` |

|

|
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/FollowTheProcess/hue).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zMi4yIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| golang.org/x/term | `v0.35.0` -> `v0.36.0` |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/FollowTheProcess/hue).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQxLjEzMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tom Fleet <me@followtheprocess.codes>
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| golang.org/x/term | `v0.33.0` -> `v0.34.0` |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/FollowTheProcess/hue).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS41MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuNTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tom Fleet <me@followtheprocess.codes>
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| golang.org/x/term | `v0.32.0` -> `v0.33.0` |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/FollowTheProcess/hue).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4yMy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tom Fleet <me@followtheprocess.codes>
# Summary
<!-- Describe your changes in detail here, if it closes an open issue,
include "Closes #<issue>" -->
Welcome to [Renovate](https://redirect.github.com/renovatebot/renovate)!
This is an onboarding PR to help you understand and configure settings
before regular Pull Requests begin.
🚦 To activate Renovate, merge this Pull Request. To disable Renovate,
simply close this Pull Request unmerged.
---
### Detected Package Files
* `.github/workflows/CI.yml` (github-actions)
* `.github/workflows/labeler.yml` (github-actions)
* `.github/workflows/release.yml` (github-actions)
* `.github/workflows/release_drafter.yml` (github-actions)
* `go.mod` (gomod)
### Configuration Summary
Based on the default config's presets, Renovate will:
- Start dependency updates only once this onboarding PR is merged
- Hopefully safe environment variables to allow users to configure.
- Show all Merge Confidence badges for pull requests.
- Enable Renovate Dependency Dashboard creation.
- Use semantic commit type `fix` for dependencies and `chore` for all
others if semantic commits are in use.
- Ignore `node_modules`, `bower_components`, `vendor` and various
test/tests (except for nuget) directories.
- Group known monorepo packages together.
- Use curated list of recommended non-monorepo package groupings.
- Apply crowd-sourced package replacement rules.
- Apply crowd-sourced workarounds for known problems with packages.
🔡 Do you want to change how Renovate upgrades your dependencies? Add
your custom config to `renovate.json` in this branch. Renovate will
update the Pull Request description the next time it runs.
---
### What to Expect
It looks like your repository dependencies are already up-to-date and no
Pull Requests will be necessary right away.
---
❓ Got questions? Check out Renovate's
[Docs](https://docs.renovatebot.com/), particularly the Getting Started
section.
If you need any further assistance then you can also [request help
here](https://redirect.github.com/renovatebot/renovate/discussions).
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/FollowTheProcess/hue).
<!--renovate-config-hash:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tom Fleet <tomfleet2018@gmail.com>
Bumps [golang.org/x/term](https://github.com/golang/term) from 0.31.0 to
0.32.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/golang/term/commit/2ec7864a3e7b8faa620696c32a0738119e2477e1"><code>2ec7864</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="https://github.com/golang/term/commit/a809085bff595080269599dbe788dd7fdf616ab4"><code>a809085</code></a>
term: support pluggable history</li>
<li>See full diff in <a
href="https://github.com/golang/term/compare/v0.31.0...v0.32.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [FollowTheProcess/ci](https://github.com/followtheprocess/ci) from
1 to 2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/followtheprocess/ci/releases">FollowTheProcess/ci's
releases</a>.</em></p>
<blockquote>
<h2>v2.0.0</h2>
<h2>Changes</h2>
<h2>:boom: Breaking Changes</h2>
<ul>
<li>Enables golangci-lint v2 (<a
href="https://redirect.github.com/followtheprocess/ci/issues/23">#23</a>)
<a
href="https://github.com/FollowTheProcess"><code>@FollowTheProcess</code></a></li>
</ul>
<h2>v1.12.0</h2>
<h2>Changes</h2>
<h2>:rocket: Features</h2>
<ul>
<li>Disable fail fast for Go matrix fuzz tests (<a
href="https://redirect.github.com/followtheprocess/ci/issues/22">#22</a>)
<a
href="https://github.com/FollowTheProcess"><code>@FollowTheProcess</code></a></li>
</ul>
<h2>v1.11.2</h2>
<h2>Changes</h2>
<ul>
<li>Use typos v1 tag (<a
href="https://redirect.github.com/followtheprocess/ci/issues/21">#21</a>)
<a
href="https://github.com/FollowTheProcess"><code>@FollowTheProcess</code></a></li>
</ul>
<h2>:package: Dependencies</h2>
<ul>
<li>Bump crate-ci/typos from 1.30.0 to 1.30.1 (<a
href="https://redirect.github.com/followtheprocess/ci/issues/20">#20</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
</ul>
<h2>v1.11.1</h2>
<h2>Changes</h2>
<ul>
<li>Rename fuzz test matrix (<a
href="https://redirect.github.com/followtheprocess/ci/issues/19">#19</a>)
<a
href="https://github.com/FollowTheProcess"><code>@FollowTheProcess</code></a></li>
</ul>
<h2>:package: Dependencies</h2>
<ul>
<li>Bump crate-ci/typos from 1.29.9 to 1.30.0 (<a
href="https://redirect.github.com/followtheprocess/ci/issues/18">#18</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>Bump crate-ci/typos from 1.29.7 to 1.29.9 (<a
href="https://redirect.github.com/followtheprocess/ci/issues/17">#17</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
</ul>
<h2>v1.11.0</h2>
<h2>Changes</h2>
<h2>:rocket: Features</h2>
<ul>
<li>Add zig fmt step (<a
href="https://redirect.github.com/followtheprocess/ci/issues/16">#16</a>)
<a
href="https://github.com/FollowTheProcess"><code>@FollowTheProcess</code></a></li>
</ul>
<h2>:package: Dependencies</h2>
<ul>
<li>Bump crate-ci/typos from 1.29.5 to 1.29.7 (<a
href="https://redirect.github.com/followtheprocess/ci/issues/15">#15</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>Bump crate-ci/typos from 1.29.4 to 1.29.5 (<a
href="https://redirect.github.com/followtheprocess/ci/issues/14">#14</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
</ul>
<h2>v1.10.2</h2>
<h2>Changes</h2>
<h2>:rocket: Features</h2>
<ul>
<li>Use a python script to more reliably find Go Fuzz targets (<a
href="https://redirect.github.com/followtheprocess/ci/issues/13">#13</a>)
<a
href="https://github.com/FollowTheProcess"><code>@FollowTheProcess</code></a></li>
</ul>
<h2>v1.10.1</h2>
<h2>Changes</h2>
<h2>:beetle: Fixes</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/FollowTheProcess/ci/commit/aa2fbe8d2e9e8b69f26e589c3439695c8d82213c"><code>aa2fbe8</code></a>
Enables golangci-lint v2 (<a
href="https://redirect.github.com/followtheprocess/ci/issues/23">#23</a>)</li>
<li>See full diff in <a
href="https://github.com/followtheprocess/ci/compare/v1...v2">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tom Fleet <tomfleet2018@gmail.com>
Bumps [golang.org/x/term](https://github.com/golang/term) from 0.28.0 to
0.29.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/golang/term/commit/743b2709ab25357d30ce1eac4a840eb0b7deb1bf"><code>743b270</code></a>
go.mod: update golang.org/x dependencies</li>
<li>See full diff in <a
href="https://github.com/golang/term/compare/v0.28.0...v0.29.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Summary
<!-- Describe your changes in detail here, if it closes an open issue,
include "Closes #<issue>" -->
Optimised for the normal case of only a few styles by using the same
trick as `log/slog`. Keep a stack allocated array with `n` elements,
then any overflow spills over to a `[]string`.
So the fast case (6 styles or less) is ~7% faster, this covers basically
all normal usage of the API. Only pathological combinations exceed this.
At the cost of the slow case (> 6 styles) being ~18% slower.
This is fine as a trade off because combining more than 6 styles is
nonsensical in terms of an actual colour, literally all normal usage
will fit into the fast path
```plaintext
goos: darwin
goarch: arm64
pkg: github.com/FollowTheProcess/hue
cpu: Apple M1 Pro
│ before.txt │ after.txt │
│ sec/op │ sec/op vs base │
Style/simple-8 2.332n ± 0% 2.330n ± 0% -0.09% (p=0.000 n=30)
Style/composite_fast-8 71.13n ± 0% 66.17n ± 0% -6.98% (p=0.000 n=30)
Style/composite_slow-8 168.2n ± 0% 199.8n ± 0% +18.79% (p=0.000 n=30)
geomean 30.33n 31.35n +3.35%
│ before.txt │ after.txt │
│ B/op │ B/op vs base │
Style/simple-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=30) ¹
Style/composite_fast-8 16.00 ± 0% 16.00 ± 0% ~ (p=1.000 n=30) ¹
Style/composite_slow-8 216.0 ± 0% 160.0 ± 0% -25.93% (p=0.000 n=30)
geomean ² -9.52% ²
¹ all samples are equal
² summaries must be >0 to compute geomean
│ before.txt │ after.txt │
│ allocs/op │ allocs/op vs base │
Style/simple-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=30) ¹
Style/composite_fast-8 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=30) ¹
Style/composite_slow-8 2.000 ± 0% 5.000 ± 0% +150.00% (p=0.000 n=30)
geomean ² +35.72% ²
¹ all samples are equal
² summaries must be >0 to compute geomean
```
## Summary
<!-- Describe your changes in detail here, if it closes an open issue,
include "Closes #<issue>" -->
Replaced the map with a switch case as an experiment, turns out it's
significantly faster so I'm keeping it!
```plaintext
❯ benchstat before.txt after.txt
goos: darwin
goarch: arm64
pkg: github.com/FollowTheProcess/hue
cpu: Apple M1 Pro
│ before.txt │ after.txt │
│ sec/op │ sec/op vs base │
Style/simple-8 6.529n ± 0% 2.067n ± 0% -68.33% (p=0.000 n=30)
Style/composite-8 90.31n ± 0% 71.48n ± 0% -20.85% (p=0.000 n=30)
geomean 24.28n 12.16n -49.94%
│ before.txt │ after.txt │
│ B/op │ B/op vs base │
Style/simple-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=30) ¹
Style/composite-8 16.00 ± 0% 16.00 ± 0% ~ (p=1.000 n=30) ¹
geomean ² +0.00% ²
¹ all samples are equal
² summaries must be >0 to compute geomean
│ before.txt │ after.txt │
│ allocs/op │ allocs/op vs base │
Style/simple-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=30) ¹
Style/composite-8 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=30) ¹
geomean ² +0.00% ²
¹ all samples are equal
² summaries must be >0 to compute geomean
```