1
0
mirror of https://github.com/alecthomas/chroma.git synced 2025-01-26 03:20:10 +02:00

853 Commits

Author SHA1 Message Date
jyjh
79621af0ab
Fix solidity lexer's handling of inline assembly (#1040) 2025-01-14 17:07:37 +09:00
renovate[bot]
9da461ebad
chore(deps): update module github.com/mattn/go-colorable to v0.1.14 (#1039)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/mattn/go-colorable](https://redirect.github.com/mattn/go-colorable)
| `v0.1.13` -> `v0.1.14` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fmattn%2fgo-colorable/v0.1.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fmattn%2fgo-colorable/v0.1.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fmattn%2fgo-colorable/v0.1.13/v0.1.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fmattn%2fgo-colorable/v0.1.13/v0.1.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>mattn/go-colorable (github.com/mattn/go-colorable)</summary>

###
[`v0.1.14`](https://redirect.github.com/mattn/go-colorable/compare/v0.1.13...v0.1.14)

[Compare
Source](https://redirect.github.com/mattn/go-colorable/compare/v0.1.13...v0.1.14)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "* 0-3 * * 1" (UTC), 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/alecthomas/chroma).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS45Mi4wIiwidXBkYXRlZEluVmVyIjoiMzkuOTIuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-13 22:12:51 +11:00
Ian Simonson
f0d460ef62
Update Odin lexer for new build tag feature (#1038) 2025-01-12 07:59:42 +09:00
Alec Thomas
0bd7c6851b chore: bump go.mod to Go 1.22 + add Iterator.Stdlib()
The Stdlib() function converts a Chroma iterator to a Go 1.23 iterator.
2025-01-09 19:28:28 +09:00
Gusted
d82957931f
fix(ocaml): support multistring (#1035) 2025-01-07 13:49:25 +09:00
renovate[bot]
e79c813a78
chore(deps): update all non-major dependencies (#1029)
This PR contains the following updates:

| Package | Type | Update | Change | Age | Adoption | Passing |
Confidence |
|---|---|---|---|---|---|---|---|
| [esbuild](https://redirect.github.com/evanw/esbuild) | | patch |
`0.24.0` -> `0.24.2` |
[![age](https://developer.mend.io/api/mc/badges/age/hermit/esbuild/0.24.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/esbuild/0.24.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/esbuild/0.24.0/0.24.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/esbuild/0.24.0/0.24.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/alecthomas/chroma/v2](https://redirect.github.com/alecthomas/chroma)
| require | minor | `v2.14.0` -> `v2.15.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2falecthomas%2fchroma%2fv2/v2.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2falecthomas%2fchroma%2fv2/v2.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2falecthomas%2fchroma%2fv2/v2.14.0/v2.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2falecthomas%2fchroma%2fv2/v2.14.0/v2.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/alecthomas/kong](https://redirect.github.com/alecthomas/kong)
| require | minor | `v1.5.1` -> `v1.6.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2falecthomas%2fkong/v1.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2falecthomas%2fkong/v1.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2falecthomas%2fkong/v1.5.1/v1.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2falecthomas%2fkong/v1.5.1/v1.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [go](https://redirect.github.com/golang/go) | | patch | `1.23.3` ->
`1.23.4` |
[![age](https://developer.mend.io/api/mc/badges/age/hermit/go/1.23.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/go/1.23.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/go/1.23.3/1.23.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/go/1.23.3/1.23.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [watchexec](https://redirect.github.com/watchexec/watchexec) | | patch
| `2.2.0` -> `2.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/hermit/watchexec/2.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/watchexec/2.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/watchexec/2.2.0/2.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/watchexec/2.2.0/2.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>evanw/esbuild (esbuild)</summary>

###
[`v0.24.2`](https://redirect.github.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0242)

- Fix regression with `--define` and `import.meta`
([#&#8203;4010](https://redirect.github.com/evanw/esbuild/issues/4010),
[#&#8203;4012](https://redirect.github.com/evanw/esbuild/issues/4012),
[#&#8203;4013](https://redirect.github.com/evanw/esbuild/pull/4013))

The previous change in version 0.24.1 to use a more expression-like
parser for `define` values to allow quoted property names introduced a
regression that removed the ability to use `--define:import.meta=...`.
Even though `import` is normally a keyword that can't be used as an
identifier, ES modules special-case the `import.meta` expression to
behave like an identifier anyway. This change fixes the regression.

This fix was contributed by
[@&#8203;sapphi-red](https://redirect.github.com/sapphi-red).

</details>

<details>
<summary>alecthomas/chroma (github.com/alecthomas/chroma/v2)</summary>

###
[`v2.15.0`](https://redirect.github.com/alecthomas/chroma/releases/tag/v2.15.0)

[Compare
Source](https://redirect.github.com/alecthomas/chroma/compare/v2.14.0...v2.15.0)

#### What's Changed

- AQL: Add builtin functions introduced in v3.12 by
[@&#8203;Simran-B](https://redirect.github.com/Simran-B) in
[https://github.com/alecthomas/chroma/pull/968](https://redirect.github.com/alecthomas/chroma/pull/968)
- chore(styles): add evergarden inspired style by
[@&#8203;comfysage](https://redirect.github.com/comfysage) in
[https://github.com/alecthomas/chroma/pull/970](https://redirect.github.com/alecthomas/chroma/pull/970)
- chore(deps): update dependency svu to v2 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/alecthomas/chroma/pull/971](https://redirect.github.com/alecthomas/chroma/pull/971)
- chore(deps): update dependency watchexec to v2 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/alecthomas/chroma/pull/962](https://redirect.github.com/alecthomas/chroma/pull/962)
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/alecthomas/chroma/pull/955](https://redirect.github.com/alecthomas/chroma/pull/955)
- styles: Fix Gleam alias by
[@&#8203;jmooring](https://redirect.github.com/jmooring) in
[https://github.com/alecthomas/chroma/pull/973](https://redirect.github.com/alecthomas/chroma/pull/973)
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/alecthomas/chroma/pull/974](https://redirect.github.com/alecthomas/chroma/pull/974)
- chore(deps): update dependency python3 to v3.12.3 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/alecthomas/chroma/pull/976](https://redirect.github.com/alecthomas/chroma/pull/976)
- added the nordic theme via chroma/styles/nordic.xml by
[@&#8203;avih7531](https://redirect.github.com/avih7531) in
[https://github.com/alecthomas/chroma/pull/977](https://redirect.github.com/alecthomas/chroma/pull/977)
- Update the Materialize lexer by
[@&#8203;arusahni](https://redirect.github.com/arusahni) in
[https://github.com/alecthomas/chroma/pull/978](https://redirect.github.com/alecthomas/chroma/pull/978)
- feat(lexers/hare): add done keyword by
[@&#8203;wackbyte](https://redirect.github.com/wackbyte) in
[https://github.com/alecthomas/chroma/pull/979](https://redirect.github.com/alecthomas/chroma/pull/979)
- pygments2chroma: escape regex.words by
[@&#8203;oliverpool](https://redirect.github.com/oliverpool) in
[https://github.com/alecthomas/chroma/pull/982](https://redirect.github.com/alecthomas/chroma/pull/982)
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/alecthomas/chroma/pull/981](https://redirect.github.com/alecthomas/chroma/pull/981)
- Add JSONata Lexer by
[@&#8203;DevDimov](https://redirect.github.com/DevDimov) in
[https://github.com/alecthomas/chroma/pull/983](https://redirect.github.com/alecthomas/chroma/pull/983)
- Go lexer: single line comment without consuming endline, disable
EnsureNL by [@&#8203;msorc](https://redirect.github.com/msorc) in
[https://github.com/alecthomas/chroma/pull/984](https://redirect.github.com/alecthomas/chroma/pull/984)
- Update the Materialize lexer by
[@&#8203;arusahni](https://redirect.github.com/arusahni) in
[https://github.com/alecthomas/chroma/pull/987](https://redirect.github.com/alecthomas/chroma/pull/987)
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/alecthomas/chroma/pull/985](https://redirect.github.com/alecthomas/chroma/pull/985)
- Add Gleam to README by
[@&#8203;Nicd](https://redirect.github.com/Nicd) in
[https://github.com/alecthomas/chroma/pull/990](https://redirect.github.com/alecthomas/chroma/pull/990)
- Port Minecraft lexers from Pygments by
[@&#8203;kofuk](https://redirect.github.com/kofuk) in
[https://github.com/alecthomas/chroma/pull/992](https://redirect.github.com/alecthomas/chroma/pull/992)
- Don't output extra whitespace in YAML multiline by
[@&#8203;Gusted](https://redirect.github.com/Gusted) in
[https://github.com/alecthomas/chroma/pull/993](https://redirect.github.com/alecthomas/chroma/pull/993)
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/alecthomas/chroma/pull/991](https://redirect.github.com/alecthomas/chroma/pull/991)
- add beef syntax and tests by
[@&#8203;Booklordofthedings](https://redirect.github.com/Booklordofthedings)
in
[https://github.com/alecthomas/chroma/pull/995](https://redirect.github.com/alecthomas/chroma/pull/995)
- Update GitHub light color palette by
[@&#8203;konradreiche](https://redirect.github.com/konradreiche) in
[https://github.com/alecthomas/chroma/pull/998](https://redirect.github.com/alecthomas/chroma/pull/998)
- chore(deps): update module github.com/alecthomas/kong to v1 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/alecthomas/chroma/pull/999](https://redirect.github.com/alecthomas/chroma/pull/999)
- Update the Materialize lexer by
[@&#8203;arusahni](https://redirect.github.com/arusahni) in
[https://github.com/alecthomas/chroma/pull/1001](https://redirect.github.com/alecthomas/chroma/pull/1001)
- Update TypeScript lexer to allow nested generics by
[@&#8203;fredrare](https://redirect.github.com/fredrare) in
[https://github.com/alecthomas/chroma/pull/1002](https://redirect.github.com/alecthomas/chroma/pull/1002)
- Pager friendly terminal formatting by
[@&#8203;walles](https://redirect.github.com/walles) in
[https://github.com/alecthomas/chroma/pull/1006](https://redirect.github.com/alecthomas/chroma/pull/1006)
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/alecthomas/chroma/pull/997](https://redirect.github.com/alecthomas/chroma/pull/997)
- Add Typst Lexer by
[@&#8203;oliverpool](https://redirect.github.com/oliverpool) in
[https://github.com/alecthomas/chroma/pull/1007](https://redirect.github.com/alecthomas/chroma/pull/1007)
- Add Jsonnet Lexer by
[@&#8203;jolheiser](https://redirect.github.com/jolheiser) in
[https://github.com/alecthomas/chroma/pull/1011](https://redirect.github.com/alecthomas/chroma/pull/1011)
- fix: add underscore parsing in numbers for haskell by
[@&#8203;Gusted](https://redirect.github.com/Gusted) in
[https://github.com/alecthomas/chroma/pull/1020](https://redirect.github.com/alecthomas/chroma/pull/1020)
- Add CSV lexer by [@&#8203;walles](https://redirect.github.com/walles)
in
[https://github.com/alecthomas/chroma/pull/1005](https://redirect.github.com/alecthomas/chroma/pull/1005)
- fix(typescript): highlight string literal type parameters by
[@&#8203;SKalt](https://redirect.github.com/SKalt) in
[https://github.com/alecthomas/chroma/pull/1010](https://redirect.github.com/alecthomas/chroma/pull/1010)
- add any as a builtin type for go by
[@&#8203;quartercastle](https://redirect.github.com/quartercastle) in
[https://github.com/alecthomas/chroma/pull/1021](https://redirect.github.com/alecthomas/chroma/pull/1021)
- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/alecthomas/chroma/pull/1013](https://redirect.github.com/alecthomas/chroma/pull/1013)
- Remove whitespace tokenizing rule in markdown lexer by
[@&#8203;cloudchamb3r](https://redirect.github.com/cloudchamb3r) in
[https://github.com/alecthomas/chroma/pull/1008](https://redirect.github.com/alecthomas/chroma/pull/1008)
- feat(JSON): support `.jsonc` extension by
[@&#8203;CarterLi](https://redirect.github.com/CarterLi) in
[https://github.com/alecthomas/chroma/pull/1022](https://redirect.github.com/alecthomas/chroma/pull/1022)
- Add Eclipse ATL language (https://eclipse.dev/atl/) by
[@&#8203;dwagelaar](https://redirect.github.com/dwagelaar) in
[https://github.com/alecthomas/chroma/pull/1024](https://redirect.github.com/alecthomas/chroma/pull/1024)
- Import NSIS Lexer from Pygments by
[@&#8203;JakobDev](https://redirect.github.com/JakobDev) in
[https://github.com/alecthomas/chroma/pull/1026](https://redirect.github.com/alecthomas/chroma/pull/1026)
- chore(deps): update module github.com/alecthomas/kong to v1.5.1 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/alecthomas/chroma/pull/1025](https://redirect.github.com/alecthomas/chroma/pull/1025)
- fix(nix): nix lexor missing '=' operator by
[@&#8203;FlyingStitchman](https://redirect.github.com/FlyingStitchman)
in
[https://github.com/alecthomas/chroma/pull/1031](https://redirect.github.com/alecthomas/chroma/pull/1031)
- Add WebVTT lexer
([#&#8203;707](https://redirect.github.com/alecthomas/chroma/issues/707))
by [@&#8203;dschuessler](https://redirect.github.com/dschuessler) in
[https://github.com/alecthomas/chroma/pull/1032](https://redirect.github.com/alecthomas/chroma/pull/1032)

#### New Contributors

- [@&#8203;comfysage](https://redirect.github.com/comfysage) made their
first contribution in
[https://github.com/alecthomas/chroma/pull/970](https://redirect.github.com/alecthomas/chroma/pull/970)
- [@&#8203;avih7531](https://redirect.github.com/avih7531) made their
first contribution in
[https://github.com/alecthomas/chroma/pull/977](https://redirect.github.com/alecthomas/chroma/pull/977)
- [@&#8203;wackbyte](https://redirect.github.com/wackbyte) made their
first contribution in
[https://github.com/alecthomas/chroma/pull/979](https://redirect.github.com/alecthomas/chroma/pull/979)
- [@&#8203;oliverpool](https://redirect.github.com/oliverpool) made
their first contribution in
[https://github.com/alecthomas/chroma/pull/982](https://redirect.github.com/alecthomas/chroma/pull/982)
- [@&#8203;DevDimov](https://redirect.github.com/DevDimov) made their
first contribution in
[https://github.com/alecthomas/chroma/pull/983](https://redirect.github.com/alecthomas/chroma/pull/983)
- [@&#8203;msorc](https://redirect.github.com/msorc) made their first
contribution in
[https://github.com/alecthomas/chroma/pull/984](https://redirect.github.com/alecthomas/chroma/pull/984)
- [@&#8203;Nicd](https://redirect.github.com/Nicd) made their first
contribution in
[https://github.com/alecthomas/chroma/pull/990](https://redirect.github.com/alecthomas/chroma/pull/990)
-
[@&#8203;Booklordofthedings](https://redirect.github.com/Booklordofthedings)
made their first contribution in
[https://github.com/alecthomas/chroma/pull/995](https://redirect.github.com/alecthomas/chroma/pull/995)
- [@&#8203;konradreiche](https://redirect.github.com/konradreiche) made
their first contribution in
[https://github.com/alecthomas/chroma/pull/998](https://redirect.github.com/alecthomas/chroma/pull/998)
- [@&#8203;fredrare](https://redirect.github.com/fredrare) made their
first contribution in
[https://github.com/alecthomas/chroma/pull/1002](https://redirect.github.com/alecthomas/chroma/pull/1002)
- [@&#8203;SKalt](https://redirect.github.com/SKalt) made their first
contribution in
[https://github.com/alecthomas/chroma/pull/1010](https://redirect.github.com/alecthomas/chroma/pull/1010)
- [@&#8203;quartercastle](https://redirect.github.com/quartercastle)
made their first contribution in
[https://github.com/alecthomas/chroma/pull/1021](https://redirect.github.com/alecthomas/chroma/pull/1021)
- [@&#8203;cloudchamb3r](https://redirect.github.com/cloudchamb3r) made
their first contribution in
[https://github.com/alecthomas/chroma/pull/1008](https://redirect.github.com/alecthomas/chroma/pull/1008)
- [@&#8203;CarterLi](https://redirect.github.com/CarterLi) made their
first contribution in
[https://github.com/alecthomas/chroma/pull/1022](https://redirect.github.com/alecthomas/chroma/pull/1022)
- [@&#8203;dwagelaar](https://redirect.github.com/dwagelaar) made their
first contribution in
[https://github.com/alecthomas/chroma/pull/1024](https://redirect.github.com/alecthomas/chroma/pull/1024)
- [@&#8203;FlyingStitchman](https://redirect.github.com/FlyingStitchman)
made their first contribution in
[https://github.com/alecthomas/chroma/pull/1031](https://redirect.github.com/alecthomas/chroma/pull/1031)
- [@&#8203;dschuessler](https://redirect.github.com/dschuessler) made
their first contribution in
[https://github.com/alecthomas/chroma/pull/1032](https://redirect.github.com/alecthomas/chroma/pull/1032)

**Full Changelog**:
https://github.com/alecthomas/chroma/compare/v2.14.0...v2.15.0

</details>

<details>
<summary>alecthomas/kong (github.com/alecthomas/kong)</summary>

###
[`v1.6.1`](https://redirect.github.com/alecthomas/kong/releases/tag/v1.6.1)

[Compare
Source](https://redirect.github.com/alecthomas/kong/compare/v1.6.0...v1.6.1)

#### What's Changed

- chore(deps): update all non-major dependencies by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/alecthomas/kong/pull/476](https://redirect.github.com/alecthomas/kong/pull/476)
- fix(Context.Run): Don't panic on unselected root node by
[@&#8203;abhinav](https://redirect.github.com/abhinav) in
[https://github.com/alecthomas/kong/pull/484](https://redirect.github.com/alecthomas/kong/pull/484)

**Full Changelog**:
https://github.com/alecthomas/kong/compare/v1.6.0...v1.6.1

###
[`v1.6.0`](https://redirect.github.com/alecthomas/kong/compare/v1.5.1...v1.6.0)

[Compare
Source](https://redirect.github.com/alecthomas/kong/compare/v1.5.1...v1.6.0)

</details>

<details>
<summary>golang/go (go)</summary>

###
[`v1.23.4`](https://redirect.github.com/golang/go/compare/go1.23.3...go1.23.4)

</details>

<details>
<summary>watchexec/watchexec (watchexec)</summary>

###
[`v2.2.1`](https://redirect.github.com/watchexec/watchexec/releases/tag/v2.2.1):
CLI v2.2.1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "* 0-3 * * 1" (UTC), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- 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/alecthomas/chroma).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS40Mi40IiwidXBkYXRlZEluVmVyIjoiMzkuODUuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-07 13:21:24 +11:00
dschuessler
009385f948
Add WebVTT lexer (#707) (#1032)
Implements a WebVTT lexer (#707)
v2.15.0
2024-12-30 09:27:18 +11:00
FlyingStitchman
f3ff20b1f5
fix(nix): nix lexor missing '=' operator (#1031)
The nix lexor was missing the '=' operator in the operators rule. This
meant that in some cases (like the first '=' in a code block), it would
return an err instead of the proper highlighting.

Before:

![screenshot](https://github.com/user-attachments/assets/a34dd5e1-ea6b-4898-a8ef-81cf9b9f40fe)
After:

![screenshot](https://github.com/user-attachments/assets/eb59697c-b828-4c33-bb12-19f67432a99d)
2024-12-25 19:37:32 +11:00
renovate[bot]
67f0e3b31d
chore(deps): update module github.com/alecthomas/kong to v1.5.1 (#1025)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/alecthomas/kong](https://redirect.github.com/alecthomas/kong)
| `v1.4.0` -> `v1.5.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2falecthomas%2fkong/v1.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2falecthomas%2fkong/v1.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2falecthomas%2fkong/v1.4.0/v1.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2falecthomas%2fkong/v1.4.0/v1.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>alecthomas/kong (github.com/alecthomas/kong)</summary>

###
[`v1.5.1`](https://redirect.github.com/alecthomas/kong/compare/v1.5.0...v1.5.1)

[Compare
Source](https://redirect.github.com/alecthomas/kong/compare/v1.5.0...v1.5.1)

###
[`v1.5.0`](https://redirect.github.com/alecthomas/kong/compare/v1.4.0...v1.5.0)

[Compare
Source](https://redirect.github.com/alecthomas/kong/compare/v1.4.0...v1.5.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "* 0-3 * * 1" (UTC), 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/alecthomas/chroma).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuNDIuNCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-03 19:54:16 +11:00
JakobDev
99c5b1e0b7
Import NSIS Lexer from Pygments (#1026)
This imports `pygments.lexers.installers.NSISLexer` from Pygmnets into
Chroma

Implements #459
2024-12-03 08:24:09 +11:00
Dennis Wagelaar
b07ff27bb0
Add Eclipse ATL language (https://eclipse.dev/atl/) (#1024)
Would like to use ATL syntax highlighting on the ATL website, which is
generated using hugo.
2024-12-02 11:34:48 +11:00
Carter Li
df769f9366
feat(JSON): support .jsonc extension (#1022)
JSONC is JSON with comments. The JSON lexer already supports comments.
2024-11-19 14:08:00 +11:00
cloudchamb3r
539d031254
Remove whitespace tokenizing rule in markdown lexer (#1008)
fix #744 
related issue: go-gitea/gitea#32136

current markdown lexer is tokenizing by whitespace, but in markdown
sytanx this implementation can cause some errors.
2024-11-14 19:45:38 +11:00
renovate[bot]
6622bd571f
chore(deps): update all non-major dependencies (#1013)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type |
Update |
|---|---|---|---|---|---|---|---|
|
[github.com/alecthomas/kong](https://redirect.github.com/alecthomas/kong)
| `v1.2.1` -> `v1.4.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2falecthomas%2fkong/v1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2falecthomas%2fkong/v1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2falecthomas%2fkong/v1.2.1/v1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2falecthomas%2fkong/v1.2.1/v1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
| [go](https://redirect.github.com/golang/go) | `1.23.2` -> `1.23.3` |
[![age](https://developer.mend.io/api/mc/badges/age/hermit/go/1.23.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/go/1.23.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/go/1.23.2/1.23.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/go/1.23.2/1.23.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| | patch |
| [hyperfine](https://redirect.github.com/sharkdp/hyperfine) | `1.18.0`
-> `1.19.0` |
[![age](https://developer.mend.io/api/mc/badges/age/hermit/hyperfine/1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/hyperfine/1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/hyperfine/1.18.0/1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/hyperfine/1.18.0/1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| | minor |
| [watchexec](https://redirect.github.com/watchexec/watchexec) | `2.1.2`
-> `2.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/hermit/watchexec/2.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/watchexec/2.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/watchexec/2.1.2/2.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/watchexec/2.1.2/2.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| | minor |

---

### Release Notes

<details>
<summary>alecthomas/kong (github.com/alecthomas/kong)</summary>

###
[`v1.4.0`](https://redirect.github.com/alecthomas/kong/compare/v1.3.0...v1.4.0)

[Compare
Source](https://redirect.github.com/alecthomas/kong/compare/v1.3.0...v1.4.0)

###
[`v1.3.0`](https://redirect.github.com/alecthomas/kong/compare/v1.2.1...v1.3.0)

[Compare
Source](https://redirect.github.com/alecthomas/kong/compare/v1.2.1...v1.3.0)

</details>

<details>
<summary>golang/go (go)</summary>

###
[`v1.23.3`](https://redirect.github.com/golang/go/compare/go1.23.2...go1.23.3)

</details>

<details>
<summary>sharkdp/hyperfine (hyperfine)</summary>

###
[`v1.19.0`](https://redirect.github.com/sharkdp/hyperfine/blob/HEAD/CHANGELOG.md#v1190)

#### Features

- Add a new `--reference <cmd>` option to specify a reference command
for the relative speed comparison, see
[#&#8203;579](https://redirect.github.com/sharkdp/hyperfine/issues/579),
[#&#8203;577](https://redirect.github.com/sharkdp/hyperfine/issues/577)
and
[#&#8203;744](https://redirect.github.com/sharkdp/hyperfine/issues/744)
([@&#8203;sharkdp](https://redirect.github.com/sharkdp))
- Add `--conclude` argument (analog to `--prepare`), see
[#&#8203;565](https://redirect.github.com/sharkdp/hyperfine/issues/565)
and
[#&#8203;719](https://redirect.github.com/sharkdp/hyperfine/issues/719)
([@&#8203;jackoconnordev](https://redirect.github.com/jackoconnordev))
- Allow `--output=…` to appear once for each command, enabling use cases
like `hyperfine --output=null my-cmd --output=./file.log my-cmd`, see
[#&#8203;529](https://redirect.github.com/sharkdp/hyperfine/issues/529)
and
[#&#8203;775](https://redirect.github.com/sharkdp/hyperfine/issues/775)
([@&#8203;sharkdp](https://redirect.github.com/sharkdp))
- The environment variable `$HYPERFINE_ITERATION` will now contain the
current iteration number for each benchmarked command, see
[#&#8203;775](https://redirect.github.com/sharkdp/hyperfine/issues/775)
([@&#8203;sharkdp](https://redirect.github.com/sharkdp))
- Add iteration information to failure error message, see
[#&#8203;771](https://redirect.github.com/sharkdp/hyperfine/issues/771)
and
[#&#8203;772](https://redirect.github.com/sharkdp/hyperfine/issues/772)
([@&#8203;sharkdp](https://redirect.github.com/sharkdp))
-   Python scripts:
- legend modification parameters and output DPI, see
[#&#8203;758](https://redirect.github.com/sharkdp/hyperfine/issues/758)
([@&#8203;Spreadcat](https://redirect.github.com/Spreadcat))
- Nicer whiskers plot, see
[#&#8203;727](https://redirect.github.com/sharkdp/hyperfine/issues/727)
([@&#8203;serpent7776](https://redirect.github.com/serpent7776))

#### Bugfixes

- ETA not clearly visible on terminals with a block cursor, see
[#&#8203;698](https://redirect.github.com/sharkdp/hyperfine/issues/698)
and
[#&#8203;699](https://redirect.github.com/sharkdp/hyperfine/issues/699)
([@&#8203;overclockworked64](https://redirect.github.com/overclockworked64))
- Fix zsh completions, see
[#&#8203;717](https://redirect.github.com/sharkdp/hyperfine/issues/717)
([@&#8203;xzfc](https://redirect.github.com/xzfc))

#### Other

- Build binaries for aarch64-apple-darwin, see
[#&#8203;728](https://redirect.github.com/sharkdp/hyperfine/issues/728)
([@&#8203;Phault](https://redirect.github.com/Phault))
- Various cleanups
([@&#8203;hamirmahal](https://redirect.github.com/hamirmahal),
[@&#8203;one230six](https://redirect.github.com/one230six))

</details>

<details>
<summary>watchexec/watchexec (watchexec)</summary>

###
[`v2.2.0`](https://redirect.github.com/watchexec/watchexec/releases/tag/v2.2.0):
CLI v2.2.0

- Explicitly watching files that are in your .gitignore no longer
requires `--no-vcs-ignore`
([#&#8203;674](https://redirect.github.com/watchexec/watchexec/issues/674),
[#&#8203;859](https://redirect.github.com/watchexec/watchexec/issues/859),
contributed by [@&#8203;TheBlek](https://redirect.github.com/TheBlek))
- Fix Windows usage for legacy programs due to usage of UNC paths
([#&#8203;830](https://redirect.github.com/watchexec/watchexec/issues/830),
[#&#8203;858](https://redirect.github.com/watchexec/watchexec/issues/858),
contributed by [@&#8203;TheBlek](https://redirect.github.com/TheBlek))
-   Various dependency upgrades

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- 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/alecthomas/chroma).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM5LjkuNSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 12:32:21 +11:00
Frederik Kvartborg Albertsen
8d04e7e2f1
add any as a builtin type for go (#1021)
Thanks for this awesome go module.

I have noticed that the builtin `any` type in Go isn't highlighted, so i
have added it in this PR. :)
2024-11-14 12:32:04 +11:00
Steven Kalt
23ed7b98d2
fix(typescript): highlight string literal type parameters (#1010)
Fixes #1009
2024-11-14 08:48:23 +11:00
Johan Walles
e76e1e2233
Add CSV lexer (#1005) 2024-11-11 08:03:57 +11:00
Gusted
5e7b53e590
fix: add underscore parsing in numbers for haskell (#1020) 2024-11-02 10:48:24 +11:00
John Olheiser
2e669a272c
Add Jsonnet Lexer (#1011)
No open issue, but I wanted this for myself so I figured I'd open a PR
as well. 🙂

I've used the third example from the jsonnet site as the test:
https://jsonnet.org/

Converted uses the pygments converter, and here's a quick screenshot of
the playground:

![Screenshot 2024-10-15
115533](https://github.com/user-attachments/assets/d0b6d054-4e42-4911-ba67-670bdc55bf3e)

It seems to have a small problem with strings as keys, but otherwise
looks close.

Signed-off-by: jolheiser <git@jolheiser.com>
2024-10-16 05:29:14 +11:00
oliverpool
114c584bd6
Add Typst Lexer (#1007) 2024-10-07 09:05:36 +11:00
renovate[bot]
fbce34f1b8
chore(deps): update all non-major dependencies (#997)
This PR contains the following updates:

| Package | Type | Update | Change | Age | Adoption | Passing |
Confidence |
|---|---|---|---|---|---|---|---|
| [esbuild](https://redirect.github.com/evanw/esbuild) | | minor |
`0.23.1` -> `0.24.0` |
[![age](https://developer.mend.io/api/mc/badges/age/hermit/esbuild/0.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/esbuild/0.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/esbuild/0.23.1/0.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/esbuild/0.23.1/0.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/alecthomas/assert/v2](https://redirect.github.com/alecthomas/assert)
| require | minor | `v2.10.0` -> `v2.11.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2falecthomas%2fassert%2fv2/v2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2falecthomas%2fassert%2fv2/v2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2falecthomas%2fassert%2fv2/v2.10.0/v2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2falecthomas%2fassert%2fv2/v2.10.0/v2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [go](https://redirect.github.com/golang/go) | | patch | `1.23.0` ->
`1.23.2` |
[![age](https://developer.mend.io/api/mc/badges/age/hermit/go/1.23.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/go/1.23.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/go/1.23.0/1.23.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/go/1.23.0/1.23.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>evanw/esbuild (esbuild)</summary>

###
[`v0.24.0`](https://redirect.github.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0240)

[Compare
Source](https://redirect.github.com/evanw/esbuild/compare/v0.23.1...v0.24.0)

***This release deliberately contains backwards-incompatible changes.***
To avoid automatically picking up releases like this, you should either
be pinning the exact version of `esbuild` in your `package.json` file
(recommended) or be using a version range syntax that only accepts patch
upgrades such as `^0.23.0` or `~0.23.0`. See npm's documentation about
[semver](https://docs.npmjs.com/cli/v6/using-npm/semver/) for more
information.

- Drop support for older platforms
([#&#8203;3902](https://redirect.github.com/evanw/esbuild/pull/3902))

    This release drops support for the following operating system:

    -   macOS 10.15 Catalina

This is because the Go programming language dropped support for this
operating system version in Go 1.23, and this release updates esbuild
from Go 1.22 to Go 1.23. Go 1.23 now requires macOS 11 Big Sur or later.

Note that this only affects the binary esbuild executables that are
published to the esbuild npm package. It's still possible to compile
esbuild's source code for these older operating systems. If you need to,
you can compile esbuild for yourself using an older version of the Go
compiler (before Go version 1.23). That might look something like this:

        git clone https://github.com/evanw/esbuild.git
        cd esbuild
        go build ./cmd/esbuild
        ./esbuild --version

- Fix class field decorators in TypeScript if `useDefineForClassFields`
is `false`
([#&#8203;3913](https://redirect.github.com/evanw/esbuild/issues/3913))

Setting the `useDefineForClassFields` flag to `false` in `tsconfig.json`
means class fields use the legacy TypeScript behavior instead of the
standard JavaScript behavior. Specifically they use assign semantics
instead of define semantics (e.g. setters are triggered) and fields
without an initializer are not initialized at all. However, when this
legacy behavior is combined with standard JavaScript decorators,
TypeScript switches to always initializing all fields, even those
without initializers. Previously esbuild incorrectly continued to omit
field initializers for this edge case. These field initializers in this
case should now be emitted starting with this release.

- Avoid incorrect cycle warning with `tsconfig.json` multiple
inheritance
([#&#8203;3898](https://redirect.github.com/evanw/esbuild/issues/3898))

TypeScript 5.0 introduced multiple inheritance for `tsconfig.json` files
where `extends` can be an array of file paths. Previously esbuild would
incorrectly treat files encountered more than once when processing
separate subtrees of the multiple inheritance hierarchy as an
inheritance cycle. With this release, `tsconfig.json` files containing
this edge case should work correctly without generating a warning.

- Handle Yarn Plug'n'Play stack overflow with `tsconfig.json`
([#&#8203;3915](https://redirect.github.com/evanw/esbuild/issues/3915))

Previously a `tsconfig.json` file that `extends` another file in a
package with an `exports` map could cause a stack overflow when Yarn's
Plug'n'Play resolution was active. This edge case should work now
starting with this release.

- Work around more issues with Deno 1.31+
([#&#8203;3917](https://redirect.github.com/evanw/esbuild/pull/3917))

This version of Deno broke the `stdin` and `stdout` properties on
command objects for inherited streams, which matters when you run
esbuild's Deno module as the entry point (i.e. when `import.meta.main`
is `true`). Previously esbuild would crash in Deno 1.31+ if you ran
esbuild like that. This should be fixed starting with this release.

This fix was contributed by
[@&#8203;Joshix-1](https://redirect.github.com/Joshix-1).

</details>

<details>
<summary>alecthomas/assert (github.com/alecthomas/assert/v2)</summary>

###
[`v2.11.0`](https://redirect.github.com/alecthomas/assert/compare/v2.10.0...v2.11.0)

[Compare
Source](https://redirect.github.com/alecthomas/assert/compare/v2.10.0...v2.11.0)

</details>

<details>
<summary>golang/go (go)</summary>

###
[`v1.23.2`](https://redirect.github.com/golang/go/compare/go1.23.1...go1.23.2)

[Compare
Source](https://redirect.github.com/golang/go/compare/go1.23.1...go1.23.2)

###
[`v1.23.1`](https://redirect.github.com/golang/go/compare/go1.23.0...go1.23.1)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- 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/alecthomas/chroma).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguOTcuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-06 23:53:20 +11:00
Johan Walles
876fb612a7
Pager friendly terminal formatting (#1006)
Let's say a pager, like [moar](https://github.com/walles/moar) (uses
Chroma for syntax highlighting) or `less`, shows a line in the middle of
a file.

Unless that line starts with the correct formatting for the line, the
pager would have to scan the whole file from the start to get the
coloring of this single line right.

Before this PR, lines were not guaranteed to start with formatting, but
could sometimes rely on formatting from the preceding lines.

With this change in place, lines can now stand by themselves, and paging
will work better on Chroma's output.

Missing formatting at the start of the line would happen when a token
had a linefeed in the middle.
2024-10-03 07:20:59 +10:00
Fredrare
a56e228d32
Update TypeScript lexer to allow nested generics (#1002)
https://github.com/alecthomas/chroma/issues/425 shows that generics are
not correctly identified in general, but they are rather being treated
as JSX elements. I proposed a simple solution in the comments by adding
a space between `<` and the word next to it, but I believe most people
will either not find the solution or some of them will find it rather
unappealing.

For this reason, I made the JSX rules recursive and added a `","`
`Punctuation` token inside so that there can be a number of generics
used, as well as allowing nested generics. While I am not really fond of
this hack, given that generics are already treated as JSX elements, I
think this is a fair and easy enough solution for most cases.

#### Before
<img width="359" alt="Screenshot 2024-09-20 at 9 28 05 PM"
src="https://github.com/user-attachments/assets/b03c2c8a-3278-438b-8803-00eb62cc4a17">

#### With spacing solution
<img width="392" alt="Screenshot 2024-09-20 at 9 30 13 PM"
src="https://github.com/user-attachments/assets/89289476-c92a-41df-b893-5ab289fa96aa">

#### With recursive JSX and `","` `Punctuation` token
<img width="362" alt="Screenshot 2024-09-20 at 9 55 11 PM"
src="https://github.com/user-attachments/assets/d77d892e-667d-4fb4-93cf-8227d5bd4b17">
2024-09-22 07:46:46 +10:00
Aru Sahni
10c0c524c4
Update the Materialize lexer (#1001)
Syncing over the latest keywords for the Materialize lexer.

Thank you for the review!
2024-09-21 03:22:07 +10:00
renovate[bot]
7a4d1d9cbf
chore(deps): update module github.com/alecthomas/kong to v1 (#999)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/alecthomas/kong](https://redirect.github.com/alecthomas/kong)
| `v0.9.0` -> `v1.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2falecthomas%2fkong/v1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2falecthomas%2fkong/v1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2falecthomas%2fkong/v0.9.0/v1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2falecthomas%2fkong/v0.9.0/v1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>alecthomas/kong (github.com/alecthomas/kong)</summary>

###
[`v1.2.1`](https://redirect.github.com/alecthomas/kong/compare/v1.2.0...v1.2.1)

[Compare
Source](https://redirect.github.com/alecthomas/kong/compare/v1.2.0...v1.2.1)

###
[`v1.2.0`](https://redirect.github.com/alecthomas/kong/compare/v1.1.0...v1.2.0)

[Compare
Source](https://redirect.github.com/alecthomas/kong/compare/v1.1.0...v1.2.0)

###
[`v1.1.0`](https://redirect.github.com/alecthomas/kong/compare/v1.0.0...v1.1.0)

[Compare
Source](https://redirect.github.com/alecthomas/kong/compare/v1.0.0...v1.1.0)

###
[`v1.0.0`](https://redirect.github.com/alecthomas/kong/compare/v0.9.0...v1.0.0)

[Compare
Source](https://redirect.github.com/alecthomas/kong/compare/v0.9.0...v1.0.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
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/alecthomas/chroma).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC43NC4xIiwidXBkYXRlZEluVmVyIjoiMzguNzQuMSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-16 19:50:25 +10:00
Konrad Reiche
ebd6894926
Update GitHub light color palette (#998)
I noticed that the current syntax highlighting generator uses an older
color palette that doesn’t reflect GitHub’s latest light theme, which
now features lighter, pastel tones for improved readability and
accessibility. I’ve updated the color scheme to match the newer colors.

I was wondering if it makes sense to adopt these changes or, if
maintaining the current color scheme is essential, whether it would be
better to publish this as a separate variant under a different name.

## Example

### Before 

![before](https://github.com/user-attachments/assets/7cb6f80b-f7c5-4071-8531-5aa7c338bcf4)

### After

![after](https://github.com/user-attachments/assets/dfb7930d-4ef5-4797-bf6c-2a35ae23d43e)
2024-09-16 10:40:14 +10:00
Jannis
a6994de218
add beef syntax and tests (#995)
This adds #994 Beeflang.
The syntax itself is just a modifed version of c# with a few keywords
added or removed.
Also Ive added a test and run the test until it worked.

I am unsure if the mime_type is relevant to keep in there since I dont
know where that actually used.
Another thing im unsure of is how the selection of what language/syntax
to use for a file actually works aka:
Does this actually choose Beef syntax highlighting over Brainfuck if its
used on a beef (.bf) file ?
for that I would probably need help.

Co-authored-by: Booklordofthedings <Booklordofthedings@tutanota.com>
2024-08-28 02:46:33 +10:00
renovate[bot]
9e60ae3cfc
chore(deps): update all non-major dependencies (#991)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [esbuild](https://togithub.com/evanw/esbuild) | patch | `0.23.0` ->
`0.23.1` |
| [svu](https://togithub.com/caarlos0/svu) | minor | `2.1.0` -> `2.2.0`
|

---

### Release Notes

<details>
<summary>evanw/esbuild (esbuild)</summary>

###
[`v0.23.1`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0231)

[Compare
Source](https://togithub.com/evanw/esbuild/compare/v0.23.0...v0.23.1)

- Allow using the `node:` import prefix with `es*` targets
([#&#8203;3821](https://togithub.com/evanw/esbuild/issues/3821))

The [`node:` prefix on
imports](https://nodejs.org/api/esm.html#node-imports) is an alternate
way to import built-in node modules. For example, `import fs from "fs"`
can also be written `import fs from "node:fs"`. This only works with
certain newer versions of node, so esbuild removes it when you target
older versions of node such as with `--target=node14` so that your code
still works. With the way esbuild's platform-specific feature
compatibility table works, this was added by saying that only newer
versions of node support this feature. However, that means that a target
such as `--target=node18,es2022` removes the `node:` prefix because none
of the `es*` targets are known to support this feature. This release
adds the support for the `node:` flag to esbuild's internal
compatibility table for `es*` to allow you to use compound targets like
this:

    ```js
    // Original code
    import fs from 'node:fs'
    fs.open

// Old output (with --bundle --format=esm --platform=node
--target=node18,es2022)
    import fs from "fs";
    fs.open;

// New output (with --bundle --format=esm --platform=node
--target=node18,es2022)
    import fs from "node:fs";
    fs.open;
    ```

- Fix a panic when using the CLI with invalid build flags if `--analyze`
is present
([#&#8203;3834](https://togithub.com/evanw/esbuild/issues/3834))

Previously esbuild's CLI could crash if it was invoked with flags that
aren't valid for a "build" API call and the `--analyze` flag is present.
This was caused by esbuild's internals attempting to add a Go plugin
(which is how `--analyze` is implemented) to a null build object. The
panic has been fixed in this release.

- Fix incorrect location of certain error messages
([#&#8203;3845](https://togithub.com/evanw/esbuild/issues/3845))

This release fixes a regression that caused certain errors relating to
variable declarations to be reported at an incorrect location. The
regression was introduced in version 0.18.7 of esbuild.

- Print comments before case clauses in switch statements
([#&#8203;3838](https://togithub.com/evanw/esbuild/issues/3838))

With this release, esbuild will attempt to print comments that come
before case clauses in switch statements. This is similar to what
esbuild already does for comments inside of certain types of
expressions. Note that these types of comments are not printed if
minification is enabled (specifically whitespace minification).

- Fix a memory leak with `pluginData`
([#&#8203;3825](https://togithub.com/evanw/esbuild/issues/3825))

With this release, the build context's internal `pluginData` cache will
now be cleared when starting a new build. This should fix a leak of
memory from plugins that return `pluginData` objects from `onResolve`
and/or `onLoad` callbacks.

</details>

<details>
<summary>caarlos0/svu (svu)</summary>

### [`v2.2.0`](https://togithub.com/caarlos0/svu/releases/tag/v2.2.0)

#### Changelog

##### New Features

-
[`8e1fe56`](8e1fe5609c):
Revert "feat: try to infer sub-package tag
([#&#8203;161](https://togithub.com/caarlos0/svu/issues/161))"
([@&#8203;caarlos0](https://togithub.com/caarlos0))

##### Bug fixes

-
[`fc3e2dc`](fc3e2dce4b):
Revert "fix: normalise path separators on Windows to fix sub-package
tags ([#&#8203;165](https://togithub.com/caarlos0/svu/issues/165))"
([@&#8203;caarlos0](https://togithub.com/caarlos0))

***

*Released with [GoReleaser Pro](https://goreleaser.com/pro)!*

### [`v2.1.1`](https://togithub.com/caarlos0/svu/releases/tag/v2.1.1)

#### Changelog

##### Bug fixes

-
[`6862035`](6862035746):
fix: normalise path separators on Windows to fix sub-package tags
([#&#8203;165](https://togithub.com/caarlos0/svu/issues/165))
([@&#8203;doug-fitzmaurice-rowden](https://togithub.com/doug-fitzmaurice-rowden))

***

*Released with [GoReleaser Pro](https://goreleaser.com/pro)!*

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job
log](https://developer.mend.io/github/alecthomas/chroma).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-25 19:48:58 +10:00
Alec Thomas
cc157bfce4 chore: upgrade go+golangci-lint 2024-08-25 16:37:15 +10:00
Gusted
4d11870090
Don't output extra whitespace in YAML multiline (#993)
This resolves a particular issue with parsing YAML multiline, for
example:
```yaml
a: |
  multiline literal
  line 2
```

The regex used would capture the amount of indentation in the third
capture group and then use that as a kind of "status" to know which
lines are part of the indented multiline. However, because its a
captured group it has to be assigned a token which was `TextWhitespace`.
This meant that the indentation was outputted after the multiline,
technically it should be seen as an non-captured group, but then its no
longer to refer to it in the regex. Therefore I've gone with the
solution to add a new token, Ignore, which will not be emitted as a
token in the iterator, which can safely be used to make use of capture
groups but not have them show up in the output.

## Before

![image](https://github.com/user-attachments/assets/c29353c5-9e15-4f14-a733-57a60fb51910)

## After

![image](https://github.com/user-attachments/assets/57b5d129-a9d3-4b84-ae1f-dc05182b9ad3)
2024-08-23 06:58:31 +10:00
Koki Fukuda
895a0488b5
Port Minecraft lexers from Pygments (#992)
Ported lexers for mcfuntion, snbt from Pygments using
`pygments2chroma_xml.py` script.

While doing so, I encountered lack of `LiteralNumberByte` in TokenType,
so I've added the type and regenerated tokentype_enumer.go.
2024-08-23 06:04:41 +10:00
Mikko Ahlroth
763c2ea5e2
Add Gleam to README (#990) 2024-08-07 16:20:46 +10:00
renovate[bot]
c6e90314df
chore(deps): update all non-major dependencies (#985)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type |
Update |
|---|---|---|---|---|---|---|---|
| [github.com/dlclark/regexp2](https://togithub.com/dlclark/regexp2) |
`v1.11.2` -> `v1.11.4` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fdlclark%2fregexp2/v1.11.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fdlclark%2fregexp2/v1.11.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fdlclark%2fregexp2/v1.11.2/v1.11.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fdlclark%2fregexp2/v1.11.2/v1.11.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
| [svu](https://togithub.com/caarlos0/svu) | `2.0.1` -> `2.1.0` |
[![age](https://developer.mend.io/api/mc/badges/age/hermit/svu/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/svu/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/svu/2.0.1/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/svu/2.0.1/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| | minor |

---

### Release Notes

<details>
<summary>dlclark/regexp2 (github.com/dlclark/regexp2)</summary>

###
[`v1.11.4`](https://togithub.com/dlclark/regexp2/compare/v1.11.3...v1.11.4)

[Compare
Source](https://togithub.com/dlclark/regexp2/compare/v1.11.3...v1.11.4)

###
[`v1.11.3`](https://togithub.com/dlclark/regexp2/compare/v1.11.2...v1.11.3)

[Compare
Source](https://togithub.com/dlclark/regexp2/compare/v1.11.2...v1.11.3)

</details>

<details>
<summary>caarlos0/svu (svu)</summary>

### [`v2.1.0`](https://togithub.com/caarlos0/svu/releases/tag/v2.1.0)

#### Changelog

##### New Features

-
[`680777b`](680777bb64):
feat: try to infer sub-package tag
([#&#8203;161](https://togithub.com/caarlos0/svu/issues/161))
([@&#8203;aymanbagabas](https://togithub.com/aymanbagabas))

##### Bug fixes

-
[`3af7242`](3af72427ab):
fix: pre-release flag only worked on the pr command
([#&#8203;160](https://togithub.com/caarlos0/svu/issues/160))
([@&#8203;djgilcrease](https://togithub.com/djgilcrease))

##### Other work

-
[`d3987e0`](d3987e0e06):
ci: goreleaser.yml ([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`5fedd09`](5fedd09051):
ci: update goreleaser configs
([@&#8203;caarlos0](https://togithub.com/caarlos0))

***

*Released with [GoReleaser Pro](https://goreleaser.com/pro)!*

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job
log](https://developer.mend.io/github/alecthomas/chroma).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-05 15:27:49 +10:00
Aru Sahni
9221c6d919
Update the Materialize lexer (#987) 2024-08-03 07:38:08 +10:00
Mikhail Sorochan
3044bf5f32
Go lexer: single line comment without consuming endline, disable EnsureNL (#984)
This PR changes `CommentSingle` to not consume the newline at the end as
a part of comment.
That solves the problems of single line comment being not parsed at the
end of the line or at the end of the file. Which was reported earlier as
the reason to not highlight single line comment properly.

Disabling `EnsureNL: true` does not add unnecessary newline element for
`Text`, `CommentSymbol` symbols. Using chroma in console with syntax
highlighting was unusable becasue of this, since typing e.g. `b := `
adds newline each time space is at the end when host app asks for
highlighted text from `quick`.

Tokens behavior:
<table>
<tr>
<td> Before </td> <td> After </td>
</tr>
<tr>
<td>

``` go
t.Run("Single space", func(t *testing.T) {
        tokens, _ := chroma.Tokenise(Go, nil, " ")
        expected := []chroma.Token{
                {chroma.Text, " \n"},
        }
        assert.Equal(t, expected, tokens)
})
t.Run("Assignment unfinished", func(t *testing.T) {
        tokens, _ := chroma.Tokenise(Go, nil, "i = ")
        expected := []chroma.Token{
                { chroma.NameOther, "i" },
                { chroma.Text, " " },
                { chroma.Punctuation, "=" },
                { chroma.Text, " \n" },
        }
        assert.Equal(t, expected, tokens)
})
t.Run("Single comment", func(t *testing.T) {
        tokens, _ := chroma.Tokenise(Go, nil, "// W")
        expected := []chroma.Token{
                { chroma.CommentSingle, "// W\n" },
        }
        assert.Equal(t, expected, tokens)
})
```

</td>
<td>
    
``` go
t.Run("Single space", func(t *testing.T) {
        tokens, _ := chroma.Tokenise(Go, nil, " ")
        expected := []chroma.Token{
                {chroma.Text, " "},
        }
        assert.Equal(t, expected, tokens)
})
t.Run("Assignment unfinished", func(t *testing.T) {
        tokens, _ := chroma.Tokenise(Go, nil, "i = ")
        expected := []chroma.Token{
                { chroma.NameOther, "i" },
                { chroma.Text, " " },
                { chroma.Punctuation, "=" },
                { chroma.Text, " " },
        }
        assert.Equal(t, expected, tokens)
})
t.Run("Single comment", func(t *testing.T) {
        tokens, _ := chroma.Tokenise(Go, nil, "// W")
        expected := []chroma.Token{
                { chroma.CommentSingle, "// W" },
        }
        assert.Equal(t, expected, tokens)
})
```
</td>
</tr>
</table>
2024-07-23 02:19:08 +10:00
Vlad Dimov
40e5e9989e
Add JSONata Lexer (#983)
Add lexer for [JSONata](https://docs.jsonata.org/overview.html)
including test data.
2024-07-12 05:24:31 +10:00
renovate[bot]
8c889434ec
chore(deps): update all non-major dependencies (#981)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change | Age | Adoption | Passing |
Confidence |
|---|---|---|---|---|---|---|---|
| [esbuild](https://togithub.com/evanw/esbuild) | | minor | `0.21.5` ->
`0.23.0` |
[![age](https://developer.mend.io/api/mc/badges/age/hermit/esbuild/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/esbuild/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/esbuild/0.21.5/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/esbuild/0.21.5/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [github.com/dlclark/regexp2](https://togithub.com/dlclark/regexp2) |
require | patch | `v1.11.0` -> `v1.11.2` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fdlclark%2fregexp2/v1.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fdlclark%2fregexp2/v1.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fdlclark%2fregexp2/v1.11.0/v1.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fdlclark%2fregexp2/v1.11.0/v1.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [go](https://togithub.com/golang/go) | | patch | `1.22.4` -> `1.22.5`
|
[![age](https://developer.mend.io/api/mc/badges/age/hermit/go/1.22.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/go/1.22.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/go/1.22.4/1.22.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/go/1.22.4/1.22.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [watchexec](https://togithub.com/watchexec/watchexec) | | patch |
`2.1.1` -> `2.1.2` |
[![age](https://developer.mend.io/api/mc/badges/age/hermit/watchexec/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/watchexec/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/watchexec/2.1.1/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/watchexec/2.1.1/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>evanw/esbuild (esbuild)</summary>

###
[`v0.23.0`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0230)

[Compare
Source](https://togithub.com/evanw/esbuild/compare/v0.22.0...v0.23.0)

***This release deliberately contains backwards-incompatible changes.***
To avoid automatically picking up releases like this, you should either
be pinning the exact version of `esbuild` in your `package.json` file
(recommended) or be using a version range syntax that only accepts patch
upgrades such as `^0.22.0` or `~0.22.0`. See npm's documentation about
[semver](https://docs.npmjs.com/cli/v6/using-npm/semver/) for more
information.

- Revert the recent change to avoid bundling dependencies for node
([#&#8203;3819](https://togithub.com/evanw/esbuild/issues/3819))

This release reverts the recent change in version 0.22.0 that made
`--packages=external` the default behavior with `--platform=node`. The
default is now back to `--packages=bundle`.

I've just been made aware that Amazon doesn't pin their dependencies in
their "AWS CDK" product, which means that whenever esbuild publishes a
new release, many people (potentially everyone?) using their SDK around
the world instantly starts using it without Amazon checking that it
works first. This change in version 0.22.0 happened to break their SDK.
I'm amazed that things haven't broken before this point. This revert
attempts to avoid these problems for Amazon's customers. Hopefully
Amazon will pin their dependencies in the future.

In addition, this is probably a sign that esbuild is used widely enough
that it now needs to switch to a more complicated release model. I may
have esbuild use a beta channel model for further development.

- Fix preserving collapsed JSX whitespace
([#&#8203;3818](https://togithub.com/evanw/esbuild/issues/3818))

When transformed, certain whitespace inside JSX elements is ignored
completely if it collapses to an empty string. However, the whitespace
should only be ignored if the JSX is being transformed, not if it's
being preserved. This release fixes a bug where esbuild was previously
incorrectly ignoring collapsed whitespace with `--jsx=preserve`. Here is
an example:

    ```jsx
    // Original code
    <Foo>
      <Bar />
    </Foo>

    // Old output (with --jsx=preserve)
    <Foo><Bar /></Foo>;

    // New output (with --jsx=preserve)
    <Foo>
      <Bar />
    </Foo>;
    ```

###
[`v0.22.0`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0220)

[Compare
Source](https://togithub.com/evanw/esbuild/compare/v0.21.5...v0.22.0)

**This release deliberately contains backwards-incompatible changes.**
To avoid automatically picking up releases like this, you should either
be pinning the exact version of `esbuild` in your `package.json` file
(recommended) or be using a version range syntax that only accepts patch
upgrades such as `^0.21.0` or `~0.21.0`. See npm's documentation about
[semver](https://docs.npmjs.com/cli/v6/using-npm/semver/) for more
information.

- Omit packages from bundles by default when targeting node
([#&#8203;1874](https://togithub.com/evanw/esbuild/issues/1874),
[#&#8203;2830](https://togithub.com/evanw/esbuild/issues/2830),
[#&#8203;2846](https://togithub.com/evanw/esbuild/issues/2846),
[#&#8203;2915](https://togithub.com/evanw/esbuild/issues/2915),
[#&#8203;3145](https://togithub.com/evanw/esbuild/issues/3145),
[#&#8203;3294](https://togithub.com/evanw/esbuild/issues/3294),
[#&#8203;3323](https://togithub.com/evanw/esbuild/issues/3323),
[#&#8203;3582](https://togithub.com/evanw/esbuild/issues/3582),
[#&#8203;3809](https://togithub.com/evanw/esbuild/issues/3809),
[#&#8203;3815](https://togithub.com/evanw/esbuild/issues/3815))

This breaking change is an experiment. People are commonly confused when
using esbuild to bundle code for node (i.e. for `--platform=node`)
because some packages may not be intended for bundlers, and may use
node-specific features that don't work with a bundler. Even though
esbuild's "getting started" instructions say to use
`--packages=external` to work around this problem, many people don't
read the documentation and don't do this, and are then confused when it
doesn't work. So arguably this is a bad default behavior for esbuild to
have if people keep tripping over this.

With this release, esbuild will now omit packages from the bundle by
default when the platform is `node` (i.e. the previous behavior of
`--packages=external` is now the default in this case). *Note that your
dependencies must now be present on the file system when your bundle is
run.* If you don't want this behavior, you can do `--packages=bundle` to
allow packages to be included in the bundle (i.e. the previous default
behavior). Note that `--packages=bundle` doesn't mean all packages are
bundled, just that packages are allowed to be bundled. You can still
exclude individual packages from the bundle using `--external:` even
when `--packages=bundle` is present.

The `--packages=` setting considers all import paths that "look like"
package imports in the original source code to be package imports.
Specifically import paths that don't start with a path segment of `/` or
`.` or `..` are considered to be package imports. The only two
exceptions to this rule are [subpath
imports](https://nodejs.org/api/packages.html#subpath-imports) (which
start with a `#` character) and TypeScript path remappings via `paths`
and/or `baseUrl` in `tsconfig.json` (which are applied first).

- Drop support for older platforms
([#&#8203;3802](https://togithub.com/evanw/esbuild/issues/3802))

    This release drops support for the following operating systems:

    -   Windows 7
    -   Windows 8
    -   Windows Server 2008
    -   Windows Server 2012

This is because the Go programming language dropped support for these
operating system versions in [Go
1.21](https://go.dev/doc/go1.21#windows), and this release updates
esbuild from Go 1.20 to Go 1.22.

Note that this only affects the binary esbuild executables that are
published to the `esbuild` npm package. It's still possible to compile
esbuild's source code for these older operating systems. If you need to,
you can compile esbuild for yourself using an older version of the Go
compiler (before Go version 1.21). That might look something like this:

        git clone https://github.com/evanw/esbuild.git
        cd esbuild
        go build ./cmd/esbuild
        ./esbuild.exe --version

In addition, this release increases the minimum required node version
for esbuild's JavaScript API from node 12 to node 18. Node 18 is the
oldest version of node that is still being supported (see node's
[release schedule](https://nodejs.org/en/about/previous-releases) for
more information). This increase is because of an incompatibility
between the JavaScript that the Go compiler generates for the
`esbuild-wasm` package and versions of node before node 17.4
(specifically the `crypto.getRandomValues` function).

-   Update `await using` behavior to match TypeScript

TypeScript 5.5 subtly changes the way `await using` behaves. This
release updates esbuild to match these changes in TypeScript. You can
read more about these changes in
[microsoft/TypeScript#58624](https://togithub.com/microsoft/TypeScript/pull/58624).

-   Allow `es2024` as a target environment

The ECMAScript 2024 specification was just approved, so it has been
added to esbuild as a possible compilation target. You can read more
about the features that it adds here:
<https://2ality.com/2024/06/ecmascript-2024.html>. The only addition
that's relevant for esbuild is the regular expression `/v` flag. With
`--target=es2024`, regular expressions that use the `/v` flag will now
be passed through untransformed instead of being transformed into a call
to `new RegExp`.

- Publish binaries for OpenBSD on 64-bit ARM
([#&#8203;3665](https://togithub.com/evanw/esbuild/issues/3665),
[#&#8203;3674](https://togithub.com/evanw/esbuild/pull/3674))

With this release, you should now be able to install the `esbuild` npm
package in OpenBSD on 64-bit ARM, such as on an Apple device with an M1
chip.

This was contributed by
[@&#8203;ikmckenz](https://togithub.com/ikmckenz).

- Publish binaries for WASI (WebAssembly System Interface) preview 1
([#&#8203;3300](https://togithub.com/evanw/esbuild/issues/3300),
[#&#8203;3779](https://togithub.com/evanw/esbuild/pull/3779))

The upcoming WASI (WebAssembly System Interface) standard is going to be
a way to run WebAssembly outside of a JavaScript host environment. In
this scenario you only need a `.wasm` file without any supporting
JavaScript code. Instead of JavaScript providing the APIs for the host
environment, the WASI standard specifies a "system interface" that
WebAssembly code can access directly (e.g. for file system access).

Development versions of the WASI specification are being released using
preview numbers. The people behind WASI are currently working on preview
2 but the Go compiler has [released support for preview
1](https://go.dev/blog/wasi), which from what I understand is now
considered an unsupported legacy release. However, some people have
requested that esbuild publish binary executables that support WASI
preview 1 so they can experiment with them.

This release publishes esbuild precompiled for WASI preview 1 to the
`@esbuild/wasi-preview1` package on npm (specifically the file
`@esbuild/wasi-preview1/esbuild.wasm`). This binary executable has not
been tested and won't be officially supported, as it's for an old
preview release of a specification that has since moved in another
direction. If it works for you, great! If not, then you'll likely have
to wait for the ecosystem to evolve before using esbuild with WASI. For
example, it sounds like perhaps WASI preview 1 doesn't include support
for opening network sockets so esbuild's local development server is
unlikely to work with WASI preview 1.

- Warn about `onResolve` plugins not setting a path
([#&#8203;3790](https://togithub.com/evanw/esbuild/issues/3790))

Plugins that return values from `onResolve` without resolving the path
(i.e. without setting either `path` or `external: true`) will now cause
a warning. This is because esbuild only uses return values from
`onResolve` if it successfully resolves the path, and it's not good for
invalid input to be silently ignored.

- Add a new Go API for running the CLI with plugins
([#&#8203;3539](https://togithub.com/evanw/esbuild/pull/3539))

With esbuild's Go API, you can now call `cli.RunWithPlugins(args,
plugins)` to pass an array of esbuild plugins to be used during the
build process. This allows you to create a CLI that behaves similarly to
esbuild's CLI but with additional Go plugins enabled.

This was contributed by [@&#8203;edewit](https://togithub.com/edewit).

</details>

<details>
<summary>dlclark/regexp2 (github.com/dlclark/regexp2)</summary>

###
[`v1.11.2`](https://togithub.com/dlclark/regexp2/compare/v1.11.1...v1.11.2)

[Compare
Source](https://togithub.com/dlclark/regexp2/compare/v1.11.1...v1.11.2)

###
[`v1.11.1`](https://togithub.com/dlclark/regexp2/compare/v1.11.0...v1.11.1)

[Compare
Source](https://togithub.com/dlclark/regexp2/compare/v1.11.0...v1.11.1)

</details>

<details>
<summary>golang/go (go)</summary>

###
[`v1.22.5`](https://togithub.com/golang/go/compare/go1.22.4...go1.22.5)

</details>

<details>
<summary>watchexec/watchexec (watchexec)</summary>

###
[`v2.1.2`](https://togithub.com/watchexec/watchexec/releases/tag/v2.1.2):
CLI v2.1.2

- New feature: `--watch-file`
([#&#8203;849](https://togithub.com/watchexec/watchexec/issues/849))
-   Fix: manpage entry in deb/rpm packagings

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/alecthomas/chroma).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjEuOSIsInVwZGF0ZWRJblZlciI6IjM3LjQyNS4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-12 04:07:16 +10:00
oliverpool
e06b52822a
pygments2chroma: escape regex.words (#982)
Discovered while building on top of
https://github.com/alecthomas/chroma/issues/877#issuecomment-1858982870
(by @miliog)

The pygments "regex.words" should be escaped, since they may contain
special regex chars (like `^` or `+`).
2024-07-10 19:38:21 +10:00
wackbyte
76772513ea
feat(lexers/hare): add done keyword (#979)
Adds the `done` keyword described in [this blog
post](https://harelang.org/blog/2024-04-01-introducing-for-each-loops-in-hare/)
and introduced in
[0.24.2-rc1](https://lists.sr.ht/~sircmpwn/hare-dev/%3CD2FVIMECX52X.2MYXMW7OG4UIK@cmpwn.com%3E).
2024-07-06 21:40:16 +10:00
Aru Sahni
d1034f8fe1
Update the Materialize lexer (#978)
This introduces some additional keywords. I've also scripted this on our
end hence the changes in formatting and encoding of certain characters
in attribute values.

This also includes:

 - Some tests
- Updates to the README to call out the `--csrf-key` argument for
chromad. Without it securecookie throws an error.
2024-06-29 07:27:47 +10:00
Avi Herman
2d94bda8a5
added the nordic theme via chroma/styles/nordic.xml (#977)
I added the "Nordic" theme from
[AlexvZyl's](https://github.com/AlexvZyl) project
[nordic.nvim](https://github.com/AlexvZyl/nordic.nvim).

All colors are cross referenced from the nordic theme and matches 95% of
syntax highlighting exactly.

Thanks!
2024-06-26 06:52:56 +10:00
renovate[bot]
42005cfd38
chore(deps): update dependency python3 to v3.12.3 (#976)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [python3](https://togithub.com/indygreg/python-build-standalone) |
patch | `3.12.2` -> `3.12.3` |

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/alecthomas/chroma).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQxMy4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-24 10:06:52 +10:00
renovate[bot]
5d317d2fd4
chore(deps): update all non-major dependencies (#974) 2024-06-10 13:39:05 +10:00
Joe Mooring
2060600780
styles: Fix Gleam alias (#973) 2024-06-09 08:46:02 +10:00
renovate[bot]
b35d6a86c7
chore(deps): update all non-major dependencies (#955)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change | Age | Adoption | Passing |
Confidence |
|---|---|---|---|---|---|---|---|
| [esbuild](https://togithub.com/evanw/esbuild) | | minor | `0.20.2` ->
`0.21.4` |
[![age](https://developer.mend.io/api/mc/badges/age/hermit/esbuild/0.21.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/esbuild/0.21.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/esbuild/0.20.2/0.21.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/esbuild/0.20.2/0.21.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/alecthomas/assert/v2](https://togithub.com/alecthomas/assert)
| require | minor | `v2.7.0` -> `v2.10.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2falecthomas%2fassert%2fv2/v2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2falecthomas%2fassert%2fv2/v2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2falecthomas%2fassert%2fv2/v2.7.0/v2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2falecthomas%2fassert%2fv2/v2.7.0/v2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/alecthomas/chroma/v2](https://togithub.com/alecthomas/chroma)
| require | minor | `v2.13.0` -> `v2.14.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2falecthomas%2fchroma%2fv2/v2.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2falecthomas%2fchroma%2fv2/v2.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2falecthomas%2fchroma%2fv2/v2.13.0/v2.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2falecthomas%2fchroma%2fv2/v2.13.0/v2.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [go](https://togithub.com/golang/go) | | patch | `1.22.1` -> `1.22.3`
|
[![age](https://developer.mend.io/api/mc/badges/age/hermit/go/1.22.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/go/1.22.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/go/1.22.1/1.22.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/go/1.22.1/1.22.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [goreleaser](https://togithub.com/goreleaser/goreleaser) | | minor |
`1.24.0` -> `1.26.2` |
[![age](https://developer.mend.io/api/mc/badges/age/hermit/goreleaser/1.26.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/goreleaser/1.26.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/goreleaser/1.24.0/1.26.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/goreleaser/1.24.0/1.26.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>evanw/esbuild (esbuild)</summary>

###
[`v0.21.4`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0214)

[Compare
Source](https://togithub.com/evanw/esbuild/compare/v0.21.3...v0.21.4)

- Update support for import assertions and import attributes in node
([#&#8203;3778](https://togithub.com/evanw/esbuild/issues/3778))

Import assertions (the `assert` keyword) have been removed from node
starting in v22.0.0. So esbuild will now strip them and generate a
warning with `--target=node22` or above:

▲ [WARNING] The "assert" keyword is not supported in the configured
target environment ("node22") [assert-to-with]

            example.mjs:1:40:
1 │ import json from "esbuild/package.json" assert { type: "json" }
                │                                         ~~~~~~
                ╵                                         with

          Did you mean to use "with" instead of "assert"?

Import attributes (the `with` keyword) have been backported to node 18
starting in v18.20.0. So esbuild will no longer strip them with
`--target=node18.N` if `N` is 20 or greater.

-   Fix `for await` transform when a label is present

This release fixes a bug where the `for await` transform, which wraps
the loop in a `try` statement, previously failed to also move the loop's
label into the `try` statement. This bug only affects code that uses
both of these features in combination. Here's an example of some
affected code:

    ```js
    // Original code
    async function test() {
      outer: for await (const x of [Promise.resolve([0, 1])]) {
        for (const y of x) if (y) break outer
        throw 'fail'
      }
    }

    // Old output (with --target=es6)
    function test() {
      return __async(this, null, function* () {
        outer: try {
for (var iter = __forAwait([Promise.resolve([0, 1])]), more, temp,
error; more = !(temp = yield iter.next()).done; more = false) {
            const x = temp.value;
            for (const y of x) if (y) break outer;
            throw "fail";
          }
        } catch (temp) {
          error = [temp];
        } finally {
          try {
            more && (temp = iter.return) && (yield temp.call(iter));
          } finally {
            if (error)
              throw error[0];
          }
        }
      });
    }

    // New output (with --target=es6)
    function test() {
      return __async(this, null, function* () {
        try {
outer: for (var iter = __forAwait([Promise.resolve([0, 1])]), more,
temp, error; more = !(temp = yield iter.next()).done; more = false) {
            const x = temp.value;
            for (const y of x) if (y) break outer;
            throw "fail";
          }
        } catch (temp) {
          error = [temp];
        } finally {
          try {
            more && (temp = iter.return) && (yield temp.call(iter));
          } finally {
            if (error)
              throw error[0];
          }
        }
      });
    }
    ```

- Do additional constant folding after cross-module enum inlining
([#&#8203;3416](https://togithub.com/evanw/esbuild/issues/3416),
[#&#8203;3425](https://togithub.com/evanw/esbuild/issues/3425))

This release adds a few more cases where esbuild does constant folding
after cross-module enum inlining.

    ```ts
    // Original code: enum.ts
    export enum Platform {
      WINDOWS = 'windows',
      MACOS = 'macos',
      LINUX = 'linux',
    }

    // Original code: main.ts
    import { Platform } from './enum';
    declare const PLATFORM: string;
    export function logPlatform() {
      if (PLATFORM == Platform.WINDOWS) console.log('Windows');
      else if (PLATFORM == Platform.MACOS) console.log('macOS');
      else if (PLATFORM == Platform.LINUX) console.log('Linux');
      else console.log('Other');
    }

// Old output (with --bundle '--define:PLATFORM="macos"' --minify
--format=esm)
function
n(){"windows"=="macos"?console.log("Windows"):"macos"=="macos"?console.log("macOS"):"linux"=="macos"?console.log("Linux"):console.log("Other")}export{n
as logPlatform};

// New output (with --bundle '--define:PLATFORM="macos"' --minify
--format=esm)
    function n(){console.log("macOS")}export{n as logPlatform};
    ```

- Pass import attributes to on-resolve plugins
([#&#8203;3384](https://togithub.com/evanw/esbuild/issues/3384),
[#&#8203;3639](https://togithub.com/evanw/esbuild/issues/3639),
[#&#8203;3646](https://togithub.com/evanw/esbuild/issues/3646))

With this release, on-resolve plugins will now have access to the import
attributes on the import via the `with` property of the arguments
object. This mirrors the `with` property of the arguments object that's
already passed to on-load plugins. In addition, you can now pass `with`
to the `resolve()` API call which will then forward that value on to all
relevant plugins. Here's an example of a plugin that can now be written:

    ```js
    const examplePlugin = {
      name: 'Example plugin',
      setup(build) {
        build.onResolve({ filter: /.*/ }, args => {
          if (args.with.type === 'external')
            return { external: true }
        })
      }
    }

    require('esbuild').build({
      stdin: {
        contents: `
          import foo from "./foo" with { type: "external" }
          foo()
        `,
      },
      bundle: true,
      format: 'esm',
      write: false,
      plugins: [examplePlugin],
    }).then(result => {
      console.log(result.outputFiles[0].text)
    })
    ```

- Formatting support for the `@position-try` rule
([#&#8203;3773](https://togithub.com/evanw/esbuild/issues/3773))

Chrome shipped this new CSS at-rule in version 125 as part of the [CSS
anchor positioning
API](https://developer.chrome.com/blog/anchor-positioning-api). With
this release, esbuild now knows to expect a declaration list inside of
the `@position-try` body block and will format it appropriately.

- Always allow internal string import and export aliases
([#&#8203;3343](https://togithub.com/evanw/esbuild/issues/3343))

Import and export names can be string literals in ES2022+. Previously
esbuild forbid any usage of these aliases when the target was below
ES2022. Starting with this release, esbuild will only forbid such usage
when the alias would otherwise end up in output as a string literal.
String literal aliases that are only used internally in the bundle and
are "compiled away" are no longer errors. This makes it possible to use
string literal aliases with esbuild's `inject` feature even when the
target is earlier than ES2022.

###
[`v0.21.3`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0213)

[Compare
Source](https://togithub.com/evanw/esbuild/compare/v0.21.2...v0.21.3)

- Implement the decorator metadata proposal
([#&#8203;3760](https://togithub.com/evanw/esbuild/issues/3760))

This release implements the [decorator metadata
proposal](https://togithub.com/tc39/proposal-decorator-metadata), which
is a sub-proposal of the [decorators
proposal](https://togithub.com/tc39/proposal-decorators). Microsoft
shipped the decorators proposal in [TypeScript
5.0](https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#decorators)
and the decorator metadata proposal in [TypeScript
5.2](https://devblogs.microsoft.com/typescript/announcing-typescript-5-2/#decorator-metadata),
so it's important that esbuild also supports both of these features.
Here's a quick example:

    ```js
    // Shim the "Symbol.metadata" symbol
    Symbol.metadata ??= Symbol('Symbol.metadata')

    const track = (_, context) => {
      (context.metadata.names ||= []).push(context.name)
    }

    class Foo {
      @&#8203;track foo = 1
      @&#8203;track bar = 2
    }

    // Prints ["foo", "bar"]
    console.log(Foo[Symbol.metadata].names)
    ```

    **⚠️ WARNING ⚠️**

This proposal has been marked as "stage 3" which means "recommended for
implementation". However, it's still a work in progress and isn't a part
of JavaScript yet, so keep in mind that any code that uses JavaScript
decorator metadata may need to be updated as the feature continues to
evolve. If/when that happens, I will update esbuild's implementation to
match the specification. I will not be supporting old versions of the
specification.

- Fix bundled decorators in derived classes
([#&#8203;3768](https://togithub.com/evanw/esbuild/issues/3768))

In certain cases, bundling code that uses decorators in a derived class
with a class body that references its own class name could previously
generate code that crashes at run-time due to an incorrect variable
name. This problem has been fixed. Here is an example of code that was
compiled incorrectly before this fix:

    ```js
    class Foo extends Object {
      @&#8203;(x => x) foo() {
        return Foo
      }
    }
    console.log(new Foo().foo())
    ```

- Fix `tsconfig.json` files inside symlinked directories
([#&#8203;3767](https://togithub.com/evanw/esbuild/issues/3767))

This release fixes an issue with a scenario involving a `tsconfig.json`
file that `extends` another file from within a symlinked directory that
uses the `paths` feature. In that case, the implicit `baseURL` value
should be based on the real path (i.e. after expanding all symbolic
links) instead of the original path. This was already done for other
files that esbuild resolves but was not yet done for `tsconfig.json`
because it's special-cased (the regular path resolver can't be used
because the information inside `tsconfig.json` is involved in path
resolution). Note that this fix no longer applies if the
`--preserve-symlinks` setting is enabled.

###
[`v0.21.2`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0212)

[Compare
Source](https://togithub.com/evanw/esbuild/compare/v0.21.1...v0.21.2)

- Correct `this` in field and accessor decorators
([#&#8203;3761](https://togithub.com/evanw/esbuild/issues/3761))

This release changes the value of `this` in initializers for class field
and accessor decorators from the module-level `this` value to the
appropriate `this` value for the decorated element (either the class or
the instance). It was previously incorrect due to lack of test coverage.
Here's an example of a decorator that doesn't work without this change:

    ```js
    const dec = () => function() { this.bar = true }
    class Foo { @&#8203;dec static foo }
    console.log(Foo.bar) // Should be "true"
    ```

- Allow `es2023` as a target environment
([#&#8203;3762](https://togithub.com/evanw/esbuild/issues/3762))

TypeScript recently [added
`es2023`](https://togithub.com/microsoft/TypeScript/pull/58140) as a
compilation target, so esbuild now supports this too. There is no
difference between a target of `es2022` and `es2023` as far as esbuild
is concerned since the 2023 edition of JavaScript doesn't introduce any
new syntax features.

###
[`v0.21.1`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0211)

- Fix a regression with `--keep-names`
([#&#8203;3756](https://togithub.com/evanw/esbuild/issues/3756))

The previous release introduced a regression with the `--keep-names`
setting and object literals with `get`/`set` accessor methods, in which
case the generated code contained syntax errors. This release fixes the
regression:

    ```js
    // Original code
    x = { get y() {} }

    // Output from version 0.21.0 (with --keep-names)
    x = { get y: /* @&#8203;__PURE__ */ __name(function() {
    }, "y") };

    // Output from this version (with --keep-names)
    x = { get y() {
    } };
    ```

</details>

<details>
<summary>alecthomas/assert (github.com/alecthomas/assert/v2)</summary>

###
[`v2.10.0`](https://togithub.com/alecthomas/assert/compare/v2.9.0...v2.10.0)

[Compare
Source](https://togithub.com/alecthomas/assert/compare/v2.9.0...v2.10.0)

###
[`v2.9.0`](https://togithub.com/alecthomas/assert/compare/v2.8.1...v2.9.0)

[Compare
Source](https://togithub.com/alecthomas/assert/compare/v2.8.1...v2.9.0)

###
[`v2.8.1`](https://togithub.com/alecthomas/assert/compare/v2.8.0...v2.8.1)

[Compare
Source](https://togithub.com/alecthomas/assert/compare/v2.8.0...v2.8.1)

###
[`v2.8.0`](https://togithub.com/alecthomas/assert/compare/v2.7.0...v2.8.0)

[Compare
Source](https://togithub.com/alecthomas/assert/compare/v2.7.0...v2.8.0)

</details>

<details>
<summary>alecthomas/chroma (github.com/alecthomas/chroma/v2)</summary>

###
[`v2.14.0`](https://togithub.com/alecthomas/chroma/releases/tag/v2.14.0)

[Compare
Source](https://togithub.com/alecthomas/chroma/compare/v2.13.0...v2.14.0)

#### Changelog

- [`1e983e7`](https://togithub.com/alecthomas/chroma/commit/1e983e7)
lexers/cue: support CUE attributes
([#&#8203;961](https://togithub.com/alecthomas/chroma/issues/961))
- [`9347b55`](https://togithub.com/alecthomas/chroma/commit/9347b55) Add
Gleam syntax highlighting
([#&#8203;959](https://togithub.com/alecthomas/chroma/issues/959))
- [`6b7ffe1`](https://togithub.com/alecthomas/chroma/commit/6b7ffe1)
chore(styles): add tokyonight inspired styles
([#&#8203;957](https://togithub.com/alecthomas/chroma/issues/957))
- [`736c0ea`](https://togithub.com/alecthomas/chroma/commit/736c0ea)
Typescript: Several fixes
([#&#8203;952](https://togithub.com/alecthomas/chroma/issues/952))
- [`e5c25d0`](https://togithub.com/alecthomas/chroma/commit/e5c25d0)
Org: Keep all newlines
([#&#8203;951](https://togithub.com/alecthomas/chroma/issues/951))
- [`d07caa4`](https://togithub.com/alecthomas/chroma/commit/d07caa4)
chore(deps): update module github.com/alecthomas/assert/v2 to v2.7.0
([#&#8203;949](https://togithub.com/alecthomas/chroma/issues/949))
- [`5f83664`](https://togithub.com/alecthomas/chroma/commit/5f83664)
Vue: Handle more edge cases
([#&#8203;950](https://togithub.com/alecthomas/chroma/issues/950))
- [`32c053f`](https://togithub.com/alecthomas/chroma/commit/32c053f)
chore(deps): update all non-major dependencies
([#&#8203;948](https://togithub.com/alecthomas/chroma/issues/948))
- [`2580aaa`](https://togithub.com/alecthomas/chroma/commit/2580aaa) Add
Bazel bzlmod support into Python lexer
([#&#8203;947](https://togithub.com/alecthomas/chroma/issues/947))

</details>

<details>
<summary>golang/go (go)</summary>

###
[`v1.22.3`](https://togithub.com/golang/go/compare/go1.22.2...go1.22.3)

###
[`v1.22.2`](https://togithub.com/golang/go/compare/go1.22.1...go1.22.2)

</details>

<details>
<summary>goreleaser/goreleaser (goreleaser)</summary>

###
[`v1.26.2`](https://togithub.com/goreleaser/goreleaser/releases/tag/v1.26.2)

#### Changelog

##### Bug fixes

-
[`b3d6460`](b3d6460699):
fix(docs): version typo
([#&#8203;4878](https://togithub.com/goreleaser/goreleaser/issues/4878))
([@&#8203;nullswan](https://togithub.com/nullswan))

##### Dependency updates

-
[`73a22e5`](73a22e56dd):
chore(deps): bump actions/checkout from 4.1.5 to 4.1.6
([#&#8203;4876](https://togithub.com/goreleaser/goreleaser/issues/4876))
([@&#8203;dependabot](https://togithub.com/dependabot)\[bot])
-
[`1c66ce4`](1c66ce40d0):
chore(deps): bump anchore/sbom-action from 0.15.11 to 0.16.0
([#&#8203;4881](https://togithub.com/goreleaser/goreleaser/issues/4881))
([@&#8203;dependabot](https://togithub.com/dependabot)\[bot])
-
[`39d1f44`](39d1f446f5):
chore(deps): bump cachix/install-nix-action from 26 to 27
([#&#8203;4874](https://togithub.com/goreleaser/goreleaser/issues/4874))
([@&#8203;dependabot](https://togithub.com/dependabot)\[bot])
-
[`1d49b22`](1d49b225c6):
chore(deps): bump codecov/codecov-action from 4.4.0 to 4.4.1
([#&#8203;4882](https://togithub.com/goreleaser/goreleaser/issues/4882))
([@&#8203;dependabot](https://togithub.com/dependabot)\[bot])
-
[`fae464e`](fae464e278):
chore(deps): bump github.com/caarlos0/env/v11 from 11.0.0 to 11.0.1
([#&#8203;4888](https://togithub.com/goreleaser/goreleaser/issues/4888))
([@&#8203;dependabot](https://togithub.com/dependabot)\[bot])
-
[`de796eb`](de796eb4e5):
chore(deps): bump github.com/google/ko from 0.15.2 to 0.15.4
([#&#8203;4885](https://togithub.com/goreleaser/goreleaser/issues/4885))
([@&#8203;dependabot](https://togithub.com/dependabot)\[bot])
-
[`b4d768b`](b4d768bf16):
chore(deps): bump github.com/mattn/go-mastodon from 0.0.6 to 0.0.8
([#&#8203;4872](https://togithub.com/goreleaser/goreleaser/issues/4872))
([@&#8203;dependabot](https://togithub.com/dependabot)\[bot])
-
[`a82491a`](a82491afe4):
chore(deps): bump github.com/slack-go/slack from 0.12.5 to 0.13.0
([#&#8203;4871](https://togithub.com/goreleaser/goreleaser/issues/4871))
([@&#8203;dependabot](https://togithub.com/dependabot)\[bot])
-
[`cf2c47a`](cf2c47a589):
chore(deps): bump github/codeql-action from 2.13.4 to 3.25.5
([#&#8203;4880](https://togithub.com/goreleaser/goreleaser/issues/4880))
([@&#8203;dependabot](https://togithub.com/dependabot)\[bot])
-
[`79caa9c`](79caa9c28a):
chore(deps): bump github/codeql-action from 3.25.5 to 3.25.6
([#&#8203;4883](https://togithub.com/goreleaser/goreleaser/issues/4883))
([@&#8203;dependabot](https://togithub.com/dependabot)\[bot])
-
[`b534f07`](b534f07d5b):
chore(deps): bump golang from `c24516e` to `f1fe698`
([#&#8203;4873](https://togithub.com/goreleaser/goreleaser/issues/4873))
([@&#8203;dependabot](https://togithub.com/dependabot)\[bot])
-
[`d7c23c1`](d7c23c168f):
chore(deps): bump golang from `f1fe698` to `b8ded51`
([#&#8203;4887](https://togithub.com/goreleaser/goreleaser/issues/4887))
([@&#8203;dependabot](https://togithub.com/dependabot)\[bot])

##### Documentation updates

-
[`2023d4b`](2023d4bcc6):
docs: fix winget default path
([#&#8203;4875](https://togithub.com/goreleaser/goreleaser/issues/4875))
([@&#8203;lionello](https://togithub.com/lionello))

##### Build process updates

-
[`f4cd8fc`](f4cd8fc156):
build: fix changelog not showing dependencies updates
([@&#8203;caarlos0](https://togithub.com/caarlos0))

##### Other work

-
[`919b132`](919b132e0d):
chore: auto-update generated files
([@&#8203;actions-user](https://togithub.com/actions-user))

**Full Changelog**:
https://github.com/goreleaser/goreleaser/compare/v1.26.1...v1.26.2

#### Helping out

This release is only possible thanks to **all** the support of some
**awesome people**!

Want to be one of them?
You can [sponsor](https://goreleaser.com/sponsors/), get a [Pro
License](https://goreleaser.com/pro) or [contribute with
code](https://goreleaser.com/contributing).

#### Where to go next?

- Find examples and commented usage of all options in our
[website](https://goreleaser.com/intro/).
- Reach out on [Discord](https://discord.gg/RGEBtg8vQ6) and
[Twitter](https://twitter.com/goreleaser)!

<a href="https://goreleaser.com"><img
src="https://raw.githubusercontent.com/goreleaser/artwork/master/opencollective-header.png"
with="100%" alt="GoReleaser logo"></a>

###
[`v1.26.1`](https://togithub.com/goreleaser/goreleaser/releases/tag/v1.26.1)

#### Changelog

##### Security updates

-
[`19b94f6`](19b94f676f):
sec: GHSA-f6mm-5fc7-3g3c
([@&#8203;caarlos0](https://togithub.com/caarlos0))

##### Bug fixes

-
[`9cf3bbb`](9cf3bbbc5c):
fix(build): do not print 'go: downloading' bits of go build output
([#&#8203;4869](https://togithub.com/goreleaser/goreleaser/issues/4869))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`e466507`](e466507637):
fix(cmd): --draft should only override if set
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`c5204df`](c5204dfb64):
fix: close HTTP resp body to prevent resource leak
([#&#8203;4857](https://togithub.com/goreleaser/goreleaser/issues/4857))
([@&#8203;alexandear](https://togithub.com/alexandear))
-
[`7e0155c`](7e0155c557):
fix: disable logs on some commands
([#&#8203;4865](https://togithub.com/goreleaser/goreleaser/issues/4865))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`6505654`](6505654c86):
fix: fix nolintlint issues
([#&#8203;4854](https://togithub.com/goreleaser/goreleaser/issues/4854))
([@&#8203;alexandear](https://togithub.com/alexandear))
-
[`00a376c`](00a376cc64):
refactor: remove unneeded in Go 1.22 loop var copy
([#&#8203;4856](https://togithub.com/goreleaser/goreleaser/issues/4856))
([@&#8203;alexandear](https://togithub.com/alexandear))

##### Documentation updates

-
[`ba7e915`](ba7e915cd8):
docs: announce v1.26
([#&#8203;4851](https://togithub.com/goreleaser/goreleaser/issues/4851))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`2f56643`](2f56643a63):
docs: update action docs
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`c148106`](c148106c56):
docs: update old Go website links
([#&#8203;4855](https://togithub.com/goreleaser/goreleaser/issues/4855))
([@&#8203;alexandear](https://togithub.com/alexandear))

##### Build process updates

-
[`c09c86c`](c09c86cb39):
build: disable appendAssign gocritic check
([@&#8203;caarlos0](https://togithub.com/caarlos0))

**Full Changelog**:
https://github.com/goreleaser/goreleaser/compare/v1.26.0...v1.26.1

#### Helping out

This release is only possible thanks to **all** the support of some
**awesome people**!

Want to be one of them?
You can [sponsor](https://goreleaser.com/sponsors/), get a [Pro
License](https://goreleaser.com/pro) or [contribute with
code](https://goreleaser.com/contributing).

#### Where to go next?

- Find examples and commented usage of all options in our
[website](https://goreleaser.com/intro/).
- Reach out on [Discord](https://discord.gg/RGEBtg8vQ6) and
[Twitter](https://twitter.com/goreleaser)!

<a href="https://goreleaser.com"><img
src="https://raw.githubusercontent.com/goreleaser/artwork/master/opencollective-header.png"
with="100%" alt="GoReleaser logo"></a>

###
[`v1.26.0`](https://togithub.com/goreleaser/goreleaser/releases/tag/v1.26.0)

#### Changelog

##### New Features

-
[`de72cab`](de72cab5d9):
feat(announce): add BlueSky support
([#&#8203;4779](https://togithub.com/goreleaser/goreleaser/issues/4779))
([@&#8203;jghiloni](https://togithub.com/jghiloni))
-
[`e538341`](e538341179):
feat(archive): support tar.zst
([#&#8203;4825](https://togithub.com/goreleaser/goreleaser/issues/4825))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`39bf666`](39bf6668bc):
feat(changelog): custom commit format
([#&#8203;4802](https://togithub.com/goreleaser/goreleaser/issues/4802))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`5d98c69`](5d98c69f0f):
feat(checksum): supports BLAKE2 and SHA-3
([#&#8203;4850](https://togithub.com/goreleaser/goreleaser/issues/4850))
([@&#8203;sorairolake](https://togithub.com/sorairolake))
-
[`c1615ea`](c1615ea521):
feat(cmd): release --draft
([#&#8203;4771](https://togithub.com/goreleaser/goreleaser/issues/4771))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`c8488dc`](c8488dc825):
feat(gitea): implement `Changelog` function
([#&#8203;4794](https://togithub.com/goreleaser/goreleaser/issues/4794))
([@&#8203;appleboy](https://togithub.com/appleboy))
-
[`2c93bd7`](2c93bd7c7f):
feat(gitlab): Allow PRs to be created
([#&#8203;4793](https://togithub.com/goreleaser/goreleaser/issues/4793))
([@&#8203;baurmatt](https://togithub.com/baurmatt))
-
[`5d37c9a`](5d37c9a5a0):
feat: always log build output
([#&#8203;4787](https://togithub.com/goreleaser/goreleaser/issues/4787))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`60a1ccc`](60a1cccf57):
feat: isEnvSet tmpl function
([#&#8203;4775](https://togithub.com/goreleaser/goreleaser/issues/4775))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`b05a62f`](b05a62fddc):
feat: migrate to new homebrew constuctions (on_arm, on_intel)
([#&#8203;4822](https://togithub.com/goreleaser/goreleaser/issues/4822))
([@&#8203;kvendingoldo](https://togithub.com/kvendingoldo))
-
[`3cd2e07`](3cd2e07c68):
feat: notarize macos binaries
([#&#8203;4774](https://togithub.com/goreleaser/goreleaser/issues/4774))
([@&#8203;caarlos0](https://togithub.com/caarlos0))

##### Security updates

-
[`c052ccc`](c052ccc691):
sec(deps): update runc for CVE-2024-3154
([@&#8203;caarlos0](https://togithub.com/caarlos0))

##### Bug fixes

-
[`172d6d4`](172d6d4b99):
Revert "fix: temp disable snapcraft"
([#&#8203;4830](https://togithub.com/goreleaser/goreleaser/issues/4830))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`b45c3b1`](b45c3b1720):
fix(bluesky): change default env, fix user agent, update tests
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`bee8665`](bee8665d9e):
fix(brew): cpu conditionals
([#&#8203;4814](https://togithub.com/goreleaser/goreleaser/issues/4814))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`14ab459`](14ab459300):
fix(brew): linux brew with extra end
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`b1723af`](b1723afff2):
fix(gitea): changelog output
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`fd40f5d`](fd40f5d772):
fix(gitlab): Use start_branch for file creation if branch doesn't exist
already
([#&#8203;4792](https://togithub.com/goreleaser/goreleaser/issues/4792))
([@&#8203;baurmatt](https://togithub.com/baurmatt))
-
[`bf31227`](bf31227b4e):
fix(nfpm): termux platform
([#&#8203;4812](https://togithub.com/goreleaser/goreleaser/issues/4812))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`2f87663`](2f876631b3):
fix(nix): update valid licenses
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`56e0f79`](56e0f79473):
fix(telegram): mdv2escape ProjectName by default
([#&#8203;4784](https://togithub.com/goreleaser/goreleaser/issues/4784))
([@&#8203;EpicStep](https://togithub.com/EpicStep))
-
[`ca52f85`](ca52f855fc):
fix: bad json tag name
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`7552d0b`](7552d0b4e0):
fix: lint issues ([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`7982a33`](7982a33a06):
fix: telegram default message
([#&#8203;4821](https://togithub.com/goreleaser/goreleaser/issues/4821))
([@&#8203;EpicStep](https://togithub.com/EpicStep))
-
[`fbddb70`](fbddb7081d):
fix: temp disable snapcraft
([#&#8203;4826](https://togithub.com/goreleaser/goreleaser/issues/4826))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`0a38d90`](0a38d90f66):
fix: typo in User-Agent header value
([#&#8203;4765](https://togithub.com/goreleaser/goreleaser/issues/4765))
([@&#8203;alexandear](https://togithub.com/alexandear))
-
[`780a3a4`](780a3a40d9):
fix: update SBOM generation to add .json as file type
([#&#8203;4781](https://togithub.com/goreleaser/goreleaser/issues/4781))
([@&#8203;cpanato](https://togithub.com/cpanato))
-
[`bf79c2c`](bf79c2cf91):
fix: use correct path variable for logging in check command
([#&#8203;4756](https://togithub.com/goreleaser/goreleaser/issues/4756))
([@&#8203;hhromic](https://togithub.com/hhromic))
-
[`1ed1a62`](1ed1a62b90):
fix: winget paths on windows
([#&#8203;4786](https://togithub.com/goreleaser/goreleaser/issues/4786))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`6735555`](673555519a):
refactor: improve switch
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`ddb60f4`](ddb60f417e):
refactor: improve switch
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`d5fc94a`](d5fc94a81d):
refactor: optimize strings replacers
([#&#8203;4788](https://togithub.com/goreleaser/goreleaser/issues/4788))
([@&#8203;EpicStep](https://togithub.com/EpicStep))

##### Dependency updates

-
[`8391ce5`](8391ce56e1):
fix(deps): update go-set to fix armv7 build
([@&#8203;caarlos0](https://togithub.com/caarlos0))

##### Documentation updates

-
[`9b3f514`](9b3f514449):
docs: description for chocolateys.package_source_url
([#&#8203;4763](https://togithub.com/goreleaser/goreleaser/issues/4763))
([@&#8203;alexandear](https://togithub.com/alexandear))
-
[`f6615b1`](f6615b138b):
docs: fix typos
([#&#8203;4764](https://togithub.com/goreleaser/goreleaser/issues/4764))
([@&#8203;alexandear](https://togithub.com/alexandear))
-
[`e21a99a`](e21a99a54b):
docs: improve -p help message
([#&#8203;4798](https://togithub.com/goreleaser/goreleaser/issues/4798))
([@&#8203;jftuga](https://togithub.com/jftuga))
-
[`7b78e19`](7b78e195e2):
docs: notes on prefixed tags and monorepos
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`0481e63`](0481e63fb3):
docs: remove mentions to --skip-something flags
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`919f220`](919f220e71):
docs: update ([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`4015fa3`](4015fa32bc):
docs: update ([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`12d236d`](12d236ded2):
docs: update ([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`2cffcc5`](2cffcc58c5):
docs: update ([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`b7b4883`](b7b4883420):
docs: update ([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`f4c149e`](f4c149e10b):
docs: update USERS.md
([#&#8203;4839](https://togithub.com/goreleaser/goreleaser/issues/4839))
([@&#8203;xcloudscript](https://togithub.com/xcloudscript))
-
[`faadd02`](faadd02cc1):
docs: update bluesky docs
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`60f12de`](60f12deae0):
docs: update changelog
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`7468cf8`](7468cf8556):
docs: update dirty.md deprecated syntax
([#&#8203;4766](https://togithub.com/goreleaser/goreleaser/issues/4766))
([@&#8203;johnmaguire](https://togithub.com/johnmaguire))
-
[`652fd30`](652fd30c69):
docs: update repository.md
([@&#8203;caarlos0](https://togithub.com/caarlos0))

##### Build process updates

-
[`1ec2e16`](1ec2e16288):
build: fix nightly job
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`52dc2cb`](52dc2cb4e4):
build: use latest snapcraft
([#&#8203;4849](https://togithub.com/goreleaser/goreleaser/issues/4849))
([@&#8203;caarlos0](https://togithub.com/caarlos0))

##### Other work

-
[`3c0c714`](3c0c7148fd):
blob: permit skipping the configuration of the Content-Disposition
header
([#&#8203;4832](https://togithub.com/goreleaser/goreleaser/issues/4832))
([@&#8203;mvisonneau](https://togithub.com/mvisonneau))

**Full Changelog**:
https://github.com/goreleaser/goreleaser/compare/v1.25.1...v1.26.0

#### Helping out

This release is only possible thanks to **all** the support of some
**awesome people**!

Want to be one of them?
You can [sponsor](https://goreleaser.com/sponsors/), get a [Pro
License](https://goreleaser.com/pro) or [contribute with
code](https://goreleaser.com/contributing).

#### Where to go next?

- Find examples and commented usage of all options in our
[website](https://goreleaser.com/intro/).
- Reach out on [Discord](https://discord.gg/RGEBtg8vQ6) and
[Twitter](https://twitter.com/goreleaser)!

<a href="https://goreleaser.com"><img
src="https://raw.githubusercontent.com/goreleaser/artwork/master/opencollective-header.png"
with="100%" alt="GoReleaser logo"></a>

###
[`v1.25.1`](https://togithub.com/goreleaser/goreleaser/releases/tag/v1.25.1)

#### Changelog

##### Bug fixes

-
[`053eccd`](053eccdba0):
fix(release): only change release draft status on new releases
([#&#8203;4744](https://togithub.com/goreleaser/goreleaser/issues/4744))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`22b7daa`](22b7daadb4):
fix(release): publish tag with skip_upload
([#&#8203;4745](https://togithub.com/goreleaser/goreleaser/issues/4745))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`0ff94f1`](0ff94f13e4):
fix: properly skip docker builds of skipped builds
([#&#8203;4747](https://togithub.com/goreleaser/goreleaser/issues/4747))
([@&#8203;caarlos0](https://togithub.com/caarlos0))

##### Documentation updates

-
[`d972be9`](d972be9704):
docs: announce v1.25 ([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`6a7a9ba`](6a7a9ba399):
docs: fix deprecation typos
([#&#8203;4750](https://togithub.com/goreleaser/goreleaser/issues/4750))
([@&#8203;j178](https://togithub.com/j178))

##### Build process updates

-
[`85cb59c`](85cb59c1a0):
build: simplify
([#&#8203;4748](https://togithub.com/goreleaser/goreleaser/issues/4748))
([@&#8203;caarlos0](https://togithub.com/caarlos0))

**Full Changelog**:
https://github.com/goreleaser/goreleaser/compare/v1.25.0...v1.25.1

#### Helping out

This release is only possible thanks to **all** the support of some
**awesome people**!

Want to be one of them?
You can [sponsor](https://goreleaser.com/sponsors/), get a [Pro
License](https://goreleaser.com/pro) or [contribute with
code](https://goreleaser.com/contributing).

#### Where to go next?

- Find examples and commented usage of all options in our
[website](https://goreleaser.com/intro/).
- Reach out on [Discord](https://discord.gg/RGEBtg8vQ6) and
[Twitter](https://twitter.com/goreleaser)!

<a href="https://goreleaser.com"><img
src="https://raw.githubusercontent.com/goreleaser/artwork/master/opencollective-header.png"
with="100%" alt="GoReleaser logo"></a>

###
[`v1.25.0`](https://togithub.com/goreleaser/goreleaser/releases/tag/v1.25.0)

#### Changelog

##### New Features

-
[`1db9347`](1db9347363):
feat(archives): format override to 'none' to skip certain goos
([#&#8203;4730](https://togithub.com/goreleaser/goreleaser/issues/4730))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`4d2bcfd`](4d2bcfdc46):
feat(brew): allow to set headers in the url
([#&#8203;4648](https://togithub.com/goreleaser/goreleaser/issues/4648))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`b9b8a65`](b9b8a65618):
feat(brew): sync fork before opening PR
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`ec7106f`](ec7106fdea):
feat(git): retry git clone on retriable error
([#&#8203;4725](https://togithub.com/goreleaser/goreleaser/issues/4725))
([@&#8203;Zebradil](https://togithub.com/Zebradil))
-
[`2ecd71e`](2ecd71ee71):
feat(krew): sync fork before opening PR
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`d9e9e82`](d9e9e82ca7):
feat(nfpm): also allow $NFPM_PASSPHRASE
([#&#8203;4633](https://togithub.com/goreleaser/goreleaser/issues/4633))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`42d2db2`](42d2db2021):
feat(nfpm): compression, fields, and predends on debs
([#&#8203;4632](https://togithub.com/goreleaser/goreleaser/issues/4632))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`42b6282`](42b6282e46):
feat(nix): sync fork before opening PR
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`1af98af`](1af98af0b5):
feat(nix): update licenses
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`ef90821`](ef90821ee7):
feat(pipe/release): Mark GitHub releases as non-draft only after all
artifacts are uploaded.
([#&#8203;4626](https://togithub.com/goreleaser/goreleaser/issues/4626))
([@&#8203;nichtverstehen](https://togithub.com/nichtverstehen))
-
[`500be66`](500be667af):
feat(scoop): sync fork before opening PR
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`3687c09`](3687c097cd):
feat(winget): sync fork before opening PR
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`263cd05`](263cd059f2):
feat(winget): update manifest version to 1.6.0
([#&#8203;4658](https://togithub.com/goreleaser/goreleaser/issues/4658))
([@&#8203;vedantmgoyal9](https://togithub.com/vedantmgoyal9))
-
[`2498ea7`](2498ea7029):
feat: add metadata to the release
([#&#8203;4714](https://togithub.com/goreleaser/goreleaser/issues/4714))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`6e0f426`](6e0f426339):
feat: allow to delete existing artifacts in the release
([#&#8203;4711](https://togithub.com/goreleaser/goreleaser/issues/4711))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`54ee014`](54ee014b50):
feat: checksums.split
([#&#8203;4707](https://togithub.com/goreleaser/goreleaser/issues/4707))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`7fc9399`](7fc93995b8):
feat: consistently use directory in property names
([#&#8203;4737](https://togithub.com/goreleaser/goreleaser/issues/4737))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`566e99a`](566e99ad73):
feat: fig is being sunset, remove
([#&#8203;4694](https://togithub.com/goreleaser/goreleaser/issues/4694))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`a00bf7e`](a00bf7e5d6):
feat: support .config dir
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`b614d64`](b614d646ef):
feat: support netbsd/arm64
([#&#8203;4706](https://togithub.com/goreleaser/goreleaser/issues/4706))
([@&#8203;maxbrunet](https://togithub.com/maxbrunet))
-
[`56c5a09`](56c5a09f9a):
feat: support projectID for gitlab CreateFile (brew, nix, etc)
([#&#8203;4705](https://togithub.com/goreleaser/goreleaser/issues/4705))
([@&#8203;bradleyjames](https://togithub.com/bradleyjames))
-
[`e43604f`](e43604f4a0):
feat: use go 1.22
([#&#8203;4614](https://togithub.com/goreleaser/goreleaser/issues/4614))
([@&#8203;caarlos0](https://togithub.com/caarlos0))

##### Bug fixes

-
[`08851dc`](08851dce61):
fix(aur): allow to have multiple AUR configs pointing to the same repo
([#&#8203;4712](https://togithub.com/goreleaser/goreleaser/issues/4712))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`554ca5f`](554ca5f3e0):
fix(build): buildmode: pie
([#&#8203;4631](https://togithub.com/goreleaser/goreleaser/issues/4631))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`be511eb`](be511eb341):
fix(nix): update licenses
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`ec22d60`](ec22d60b19):
fix(winget): name is not actually required
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`8d3cd4c`](8d3cd4cef6):
fix: `run` not being truly POSIX-compliant
([#&#8203;4739](https://togithub.com/goreleaser/goreleaser/issues/4739))
([@&#8203;bartekpacia](https://togithub.com/bartekpacia))
-
[`c9ca63e`](c9ca63ece7):
fix: adjust unused function params in client mock package
([#&#8203;4738](https://togithub.com/goreleaser/goreleaser/issues/4738))
([@&#8203;idnandre](https://togithub.com/idnandre))
-
[`dc0de4c`](dc0de4ce59):
fix: artifact filtering
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`b33f14c`](b33f14c0fa):
fix: better universalbinary message
([#&#8203;4627](https://togithub.com/goreleaser/goreleaser/issues/4627))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`e0db6ac`](e0db6ac7fa):
fix: brews.url_headers is not required
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`5a8b6d4`](5a8b6d41fb):
fix: convert `run` install script to pure POSIX sh
([#&#8203;4736](https://togithub.com/goreleaser/goreleaser/issues/4736))
([@&#8203;bartekpacia](https://togithub.com/bartekpacia))
-
[`6f356ff`](6f356ffcfa):
fix: do not log `release published` if it is a draft
([#&#8203;4691](https://togithub.com/goreleaser/goreleaser/issues/4691))
([@&#8203;nekohasekai](https://togithub.com/nekohasekai))
-
[`af97e63`](af97e63dd3):
fix: improve artifact refresh and filtering
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`0a27203`](0a272037b3):
fix: only build archlinux and aur for supported arches
([#&#8203;4695](https://togithub.com/goreleaser/goreleaser/issues/4695))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`c9068b4`](c9068b4b3c):
fix: properly template builds.gobinary
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`994d01a`](994d01a0ce):
fix: remove repetitive words
([#&#8203;4701](https://togithub.com/goreleaser/goreleaser/issues/4701))
([@&#8203;standstaff](https://togithub.com/standstaff))
-
[`306999b`](306999b78b):
fix: sort order of brew artifacts
([#&#8203;4617](https://togithub.com/goreleaser/goreleaser/issues/4617))
([@&#8203;brianstrauch](https://togithub.com/brianstrauch))
-
[`8cd325e`](8cd325eb5a):
fix: support dir in gomod
([#&#8203;4729](https://togithub.com/goreleaser/goreleaser/issues/4729))
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`05e8b33`](05e8b33a89):
fix: use new refresh func
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`c54e530`](c54e530902):
refactor: moving config load logic to another file
([@&#8203;caarlos0](https://togithub.com/caarlos0))

##### Documentation updates

-
[`df3e799`](df3e799bec):
docs(blog): fix broken link
([#&#8203;4704](https://togithub.com/goreleaser/goreleaser/issues/4704))
([@&#8203;alexandear](https://togithub.com/alexandear))
-
[`6353982`](6353982e33):
docs: Minor edits to 'dockerhub'
([#&#8203;4740](https://togithub.com/goreleaser/goreleaser/issues/4740))
([@&#8203;rfay](https://togithub.com/rfay))
-
[`fd24a00`](fd24a00e47):
docs: bump setup-go version
([#&#8203;4638](https://togithub.com/goreleaser/goreleaser/issues/4638))
([@&#8203;ddymko](https://togithub.com/ddymko))
-
[`85f213c`](85f213c9da):
docs: clarify changelog sorting
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`26c003a`](26c003a076):
docs: dockerhub singular
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`e539e12`](e539e1256c):
docs: fix broken links
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`f0abada`](f0abada909):
docs: fix default for `build.id` attribute
([#&#8203;4734](https://togithub.com/goreleaser/goreleaser/issues/4734))
([@&#8203;hhromic](https://togithub.com/hhromic))
-
[`e354734`](e35473423d):
docs: fix dockerhub missing images property
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`12fe252`](12fe252827):
docs: fix link ([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`79aa2fc`](79aa2fc319):
docs: fix typo username in dockerhubs example
([#&#8203;4733](https://togithub.com/goreleaser/goreleaser/issues/4733))
([@&#8203;rfay](https://togithub.com/rfay))
-
[`7baf594`](7baf594a13):
docs: sort the GoReleaser configuration YAML code examples
([#&#8203;4652](https://togithub.com/goreleaser/goreleaser/issues/4652))
([@&#8203;cafferata](https://togithub.com/cafferata))
-
[`5073bd1`](5073bd1a5f):
docs: update ([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`1f39bdd`](1f39bddcb3):
docs: update ([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`1a9d3f7`](1a9d3f72c6):
docs: update ([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`84e214a`](84e214a809):
docs: update ([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`74c0885`](74c088548f):
docs: update ([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`ec8819a`](ec8819a95c):
docs: update ([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`f36318b`](f36318b6fd):
docs: update CONTRIBUTING
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`2c892be`](2c892be4f8):
docs: update contributing
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`fa431f3`](fa431f313d):
docs: update docs ([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`5256f06`](5256f063d0):
docs: update github action
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`6262ce5`](6262ce5433):
docs: update nix.md ([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`b728f52`](b728f52f68):
docs: update sign docs
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`932e424`](932e4249af):
docs: update users ([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`b31a2ac`](b31a2acde9):
docs: update users ([@&#8203;caarlos0](https://togithub.com/caarlos0))
-   [`72a0d9d`](https://togithub.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/alecthomas/chroma).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM3Ny44IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-04 22:02:52 +10:00
renovate[bot]
4af3b82c6b
chore(deps): update dependency watchexec to v2 (#962)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [watchexec](https://togithub.com/watchexec/watchexec) | major |
`1.25.1` -> `2.1.1` |

---

### Release Notes

<details>
<summary>watchexec/watchexec (watchexec)</summary>

###
[`v2.1.1`](https://togithub.com/watchexec/watchexec/releases/tag/v2.1.1):
CLI v2.1.1

- Regression: `-w, --watch` was accidentally set to behave as `-W`
([#&#8203;828](https://togithub.com/watchexec/watchexec/issues/828))

###
[`v2.1.0`](https://togithub.com/watchexec/watchexec/releases/tag/v2.1.0):
CLI v2.1.0

- New: `-W`, `--watch-non-recursive` for watching paths without also
watching subfolders.
- New: out-of-tree git repositories are now detected (i.e. when `.git`
is a file rather than a folder)
-   Logs are also improved slightly with less nonsense at startup.

###
[`v2.0.0`](https://togithub.com/watchexec/watchexec/releases/tag/v2.0.0):
CLI v2.0.0

This is the first breaking release. Most of it is cleaning up a number
of deprecated options, and changing some defaults. The idea, however, is
to start a new era of Watchexec releases, where breaking changes are
allowed more easily (to give an idea of how breaking-change-averse the
project has been: this release was planned *in January 2022!* and
ever-delayed since).

Fear not! The cadence of breaking releases will be at most once or twice
a year, and whenever possible a deprecation will precede a break by at
least three months. Watchexec will remain a stable part of your
workflow, while allowing ourselves some evolution.

- Shell default changes to `$SHELL` when it is present.
([#&#8203;210](https://togithub.com/watchexec/watchexec/issues/210))
    Use `--shell=sh` to switch back if your `$SHELL` is something else.
- Shell default changes to Powershell on Windows when Watchexec detects
it is running in Powershell.
([#&#8203;80](https://togithub.com/watchexec/watchexec/issues/80))
Use `--shell=cmd` to switch back to CMD.EXE, or set the `SHELL`
environment variable.
A reminder that Windows 7 is *not* supported, and hasn't been for years.
-   `--on-busy-update` defaults to `do-nothing` now (was `queue`).
Events received while a command is running won't trigger a run of the
command immediately following this one.
-   `-W` / `--watch-when-idle` is removed, as it is now the default.
-   The default for `--stop-timeout` is now 10 seconds.
- `--debounce`, `--delay-run`, `--poll`, and `--stop-timeout` now prefer
durations with a unit, and warn if given unit-less durations. The
default units for these are millisecond for `--debounce` and `--poll`,
and seconds for `--delay-run` and `--stop-timeout`, which is a source of
confusion. Unit-less durations will be removed in a future breaking
release.
-   `--no-shell` is removed.
Use `--shell=none` instead. The `-n` short option remains as an alias to
`--shell=none`.
-   `-k` / `--kill` is removed.
    Use `--signal=KILL` instead.
-   `--changes-only` is removed.
    Use `--print-events` instead.
- `--emit-events-to` defaults to `none`, and the `environment` mode is
deprecated.
- `--emit-events-to` no longer accepts `stdin` (deprecated alias for
`stdio`) and `json-stdin`(deprecated alias for `json-stdio`).
-   `--no-ignore` is removed.
    Use `--no-project-ignore` instead.
-   `--no-environment` is deprecated.
- `--clear=reset` will reset the screen on graceful shutdown.
([#&#8203;797](https://togithub.com/watchexec/watchexec/issues/797))
-   `--no-process-group` is deprecated.
- Watchexec no longer warns (nor does anything else) when it sees the
deprecated `WATCHEXEC_FILTERER` environment variable.

#### Improvements

- New: `--wrap-process=MODE` lets you choose between using process
groups, process sessions, or nothing at all.
([#&#8203;794](https://togithub.com/watchexec/watchexec/issues/794))
- New: the `WATCHEXEC_TMPDIR` environment variable can be used to
customize where Watchexec will write temporary files, if for some reason
your `$TMPDIR` is unwritable.
([#&#8203;814](https://togithub.com/watchexec/watchexec/issues/814))
- Fix: watchexec no longer creates a temporary file at startup.
([#&#8203;814](https://togithub.com/watchexec/watchexec/issues/814))
- Fix: the screen is no longer cleared on all events, only when starting
a new process.
([#&#8203;809](https://togithub.com/watchexec/watchexec/issues/809))

#### Experimental new feature

As a treat, this release also features an experimental new option: `-j`
or `--filter-prog`, which lets you write *filter programs*.

##### `-j`, `--filter-prog EXPRESSION`

Provide your own custom filter programs in
[jaq](https://togithub.com/01mf02/jaq#examples) (similar to jq) syntax.
Programs are given an event in the same format as described in
`--emit-events-to` and must return a boolean. In addition to the jaq
stdlib, watchexec adds some custom filter definitions:

- `path | file_meta` returns file metadata or null if the file does not
exist.
- `path | file_size` returns the size of the file at path, or null if it
does not exist.
- `path | file_read(bytes)` returns a string with the first n bytes of
the file at path. If the file is smaller than n bytes, the whole file is
returned. There is no filter to read the whole file at once to encourage
limiting the amount of data read and processed.
- `string | hash`, and `path | file_hash` return the hash of the string
or file at path. No guarantee is made about the algorithm used: treat it
as an opaque value.
- `any | kv_store(key)`, `kv_fetch(key)`, and `kv_clear` provide a
simple key-value store. Data is kept in memory only, there is no
persistence. Consistency is not guaranteed.
- `any | printout`, `any | printerr`, and `any | log(level)` will print
or log any given value to stdout, stderr, or the log (levels = error,
warn, info, debug, trace), and pass the value through (so `[1] |
log("debug") | .[]` will produce a `1` and log `[1]`).

All filtering done with such programs, and especially those using kv or
filesystem access, is much slower than the other filtering methods. If
filtering is too slow, events will back up and stall watchexec. Take
care when designing your filters.

If the argument to this option starts with an '@&#8203;', the rest of
the argument is taken to be the path to a file containing a jaq program.

Jaq programs are run in order, after all other filters, and
short-circuit: if a filter (jaq or not) rejects an event, execution
stops there, and no other filters are run. Additionally, they stop after
outputting the first value, so you'll want to use 'any' or 'all' when
iterating, otherwise only the first item will be processed, which can be
quite confusing!

##### Examples:

Regexp ignore filter on paths:

```jq
all(.tags[] | select(.kind == "path"); .absolute | test("[.]test[.]js$")) | not
```

Pass any event that creates a file:

```jq
any(.tags[] | select(.kind == "fs"); .simple == "create")
```

Pass events that touch executable files:

```jq
any(.tags[] | select(.kind == "path" && .filetype == "file"); .absolute | metadata | .executable)
```

Ignore files that start with shebangs:

```jq
any(.tags[] | select(.kind == "path" && .filetype == "file"); .absolute | read(2) == "#!") | not
```

More examples can be found and contributed in the [discussion
thread](https://togithub.com/watchexec/watchexec/discussions/592)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/alecthomas/chroma).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMTMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjMyMS4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-04 22:01:09 +10:00
renovate[bot]
e1ed1890f0
chore(deps): update dependency svu to v2 (#971)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [svu](https://togithub.com/caarlos0/svu) | major | `1.12.0` -> `2.0.1`
|

---

### Release Notes

<details>
<summary>caarlos0/svu (svu)</summary>

### [`v2.0.1`](https://togithub.com/caarlos0/svu/releases/tag/v2.0.1)

This is just to prevent gomod caching issues when using it as a library.
It is otherwise the same as v2.0.0, I had to recreate that tag due to a
CI misconfiguration.

#### Changelog

##### New Features

-
[`b58abe1`](b58abe18a2):
feat: update kingpin to latest v2
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`f9df0ac`](f9df0ace1c):
feat: update semver to v3
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`adf3c2a`](adf3c2a8f8):
feat: use go 1.22 ([@&#8203;caarlos0](https://togithub.com/caarlos0))

##### Bug fixes

-
[`dc4ce5b`](dc4ce5ba4e):
fix: go 1.22 ([@&#8203;caarlos0](https://togithub.com/caarlos0))

##### Other work

-
[`7cf187a`](7cf187a636):
feat!: gate v0 increment prevention
([@&#8203;caarlos0](https://togithub.com/caarlos0))
-
[`710f53a`](710f53a13f):
feat!: prepare for v2 release
([@&#8203;caarlos0](https://togithub.com/caarlos0))

***

*Released with [GoReleaser Pro](https://goreleaser.com/pro)!*

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/alecthomas/chroma).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNzcuOCIsInVwZGF0ZWRJblZlciI6IjM3LjM3Ny44IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-04 22:00:20 +10:00
robin
6f1db96235
chore(styles): add evergarden inspired style (#970) 2024-06-02 18:30:07 +10:00
Simran
d7cf9378e7
AQL: Add builtin functions introduced in v3.12 (#968)
New functions added to 3.12.0 (`PARSE_COLLECTION()`, `PARSE_KEY()`,
`RANDOM()`, `REPEAT()`, `TO_CHAR()`) and the current stand for the
upcoming 3.12.1 (`ENTRIES()`).

Some functions were also removed (`CALL_GREENSPUN()`, `PREGEL_RESULT()`)
but I think it makes sense to keep them in the definition so that
highlighting older queries still works.
2024-05-30 08:12:17 +10:00
Paul Jolly
1e983e734d
lexers/cue: support CUE attributes (#961)
Currently the following CUE results in the chroma lexer producing an
error token for the '@':

    value: string @go(Value)

This code is, however, valid CUE. '@go' is an attributes.

This change adds lexer support for attributes in CUE.
v2.14.0
2024-04-28 19:32:07 +10:00