diff --git a/docs/book.toml b/docs/book.toml
index e19131c235..ea2e10efac 100644
--- a/docs/book.toml
+++ b/docs/book.toml
@@ -7,7 +7,7 @@ title = "carapace-bin"
[output.html]
default-theme = "Mocha"
-additional-css = ["asciinema/asciinema-player.css", "./theme/catppuccin.css", "./theme/catppuccin-highlight.css"]
+additional-css = ["asciinema/asciinema-player.css", "./theme/catppuccin.css"]
additional-js = ["asciinema/asciinema-player.min.js", "asciinema/load.js"]
git-repository-url = "https://github.com/rsteube/carapace-bin"
edit-url-template = "https://github.com/rsteube/carapace-bin/edit/master/docs/{path}"
diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md
index 6766423888..f8447c24f9 100644
--- a/docs/src/SUMMARY.md
+++ b/docs/src/SUMMARY.md
@@ -31,3 +31,18 @@
- [v0.28](./changelog/v0.28.md)
- [v0.27](./changelog/v0.27.md)
- [v0.26](./changelog/v0.26.md)
+ - [v0.25](./changelog/v0.25.md)
+ - [v0.24](./changelog/v0.24.md)
+ - [v0.23](./changelog/v0.23.md)
+ - [v0.22](./changelog/v0.22.md)
+ - [v0.21](./changelog/v0.21.md)
+ - [v0.20](./changelog/v0.20.md)
+ - [v0.19](./changelog/v0.19.md)
+ - [v0.18](./changelog/v0.18.md)
+ - [v0.17](./changelog/v0.17.md)
+ - [v0.16](./changelog/v0.16.md)
+ - [v0.15](./changelog/v0.15.md)
+ - [v0.14](./changelog/v0.14.md)
+ - [v0.13](./changelog/v0.13.md)
+ - [v0.12](./changelog/v0.12.md)
+ - [v0.11](./changelog/v0.11.md)
diff --git a/docs/src/changelog/in_the_style_of_gravityfalls__espresso_machine_S1601100496_St50_G7.5(1).png b/docs/src/changelog/in_the_style_of_gravityfalls__espresso_machine_S1601100496_St50_G7.5(1).png
new file mode 100644
index 0000000000..03e686754b
Binary files /dev/null and b/docs/src/changelog/in_the_style_of_gravityfalls__espresso_machine_S1601100496_St50_G7.5(1).png differ
diff --git a/docs/src/changelog/v0.11.md b/docs/src/changelog/v0.11.md
new file mode 100644
index 0000000000..715d107653
--- /dev/null
+++ b/docs/src/changelog/v0.11.md
@@ -0,0 +1,29 @@
+# v0.11 - Puking Rainbows
+
+![](./v0.11/banner.png)
+
+This release adds color support for `zsh` and `elvish` and thus raises `elvish` minimum version to `v0.18.0`.
+
+![](./v0.11/rainbow.png)
+
+## LS_COLORS
+`LS_COLORS` should now be working correctly - e.g with [vivid](https://github.com/sharkdp/vivid) in `elvish`:
+```sh
+set E:LS_COLORS = (vivid generate dracula)
+```
+
+![](./v0.11/lscolors1.png)
+
+![](./v0.11/lscolors2.png)
+
+## Style Config
+
+Styles can now be configured with `carapace --style key=value` (an empty value restores the default).
+
+![](./v0.11/style-config.png)
+
+## Powershell Style
+
+Added color support for powershell.
+
+![](./v0.11/powershell.png)
diff --git a/docs/src/changelog/v0.11/162618295-b947f846-32fb-4b2b-b371-aef75636cd83.png b/docs/src/changelog/v0.11/162618295-b947f846-32fb-4b2b-b371-aef75636cd83.png
new file mode 100644
index 0000000000..a35c80e5fc
Binary files /dev/null and b/docs/src/changelog/v0.11/162618295-b947f846-32fb-4b2b-b371-aef75636cd83.png differ
diff --git a/docs/src/changelog/v0.11/banner.png b/docs/src/changelog/v0.11/banner.png
new file mode 100644
index 0000000000..e0e5a5c994
Binary files /dev/null and b/docs/src/changelog/v0.11/banner.png differ
diff --git a/docs/src/changelog/v0.11/lscolors1.png b/docs/src/changelog/v0.11/lscolors1.png
new file mode 100644
index 0000000000..af3cb4b568
Binary files /dev/null and b/docs/src/changelog/v0.11/lscolors1.png differ
diff --git a/docs/src/changelog/v0.11/lscolors2.png b/docs/src/changelog/v0.11/lscolors2.png
new file mode 100644
index 0000000000..a3eb5794b3
Binary files /dev/null and b/docs/src/changelog/v0.11/lscolors2.png differ
diff --git a/docs/src/changelog/v0.11/powershell.png b/docs/src/changelog/v0.11/powershell.png
new file mode 100644
index 0000000000..a35c80e5fc
Binary files /dev/null and b/docs/src/changelog/v0.11/powershell.png differ
diff --git a/docs/src/changelog/v0.11/rainbow.png b/docs/src/changelog/v0.11/rainbow.png
new file mode 100644
index 0000000000..4fbf78ae0a
Binary files /dev/null and b/docs/src/changelog/v0.11/rainbow.png differ
diff --git a/docs/src/changelog/v0.11/style-config.png b/docs/src/changelog/v0.11/style-config.png
new file mode 100644
index 0000000000..3e8cc28946
Binary files /dev/null and b/docs/src/changelog/v0.11/style-config.png differ
diff --git a/docs/src/changelog/v0.12.md b/docs/src/changelog/v0.12.md
new file mode 100644
index 0000000000..841338ec69
--- /dev/null
+++ b/docs/src/changelog/v0.12.md
@@ -0,0 +1,73 @@
+# v0.12 - Preinfusion
+
+![](./v0.12/banner.png)
+
+## Preinvoke
+
+Generic alteration of completion before execution which enables features like directory change in `git -C
`:
+
+![](./v0.12/preinvoke.png)
+
+## Spec
+
+Experimental support for simple completions using `yaml` [spec files](https://github.com/rsteube/carapace-spec/tree/master/example):
+
+```yaml
+name: example
+description:
+flags:
+ --dynamic=: dynamic value
+ -o, --optarg?: optarg flag
+ -s, --styled=: styled values
+completion:
+ flag:
+ dynamic: ["$(git branch --all | cut -c 3- | sed 's/$/\t\tblue/')", "static value"]
+ optarg: ["first", "second", "third"]
+ styled:
+ - "blue\tblue\tblue"
+ - "cyan\tcyan\tcyan"
+ positional:
+ - ["pos1-a", "pos1-b", "pos1-c"]
+ - ["$_files"]
+```
+
+## Spec Autoloading
+
+Specs placed in `${UserConfigDir}/carapace/specs/` ([UserConfigDir](https://pkg.go.dev/os@go1.18.1#UserConfigDir)) are now registered with `carapace _carapace`.
+File name must be the command to be completed and match `^[0-9a-zA-Z_\-.]+\.yaml$` (sanity check to avoid breakage in scripts).
+
+## Custom Macros
+
+Exposed [actions](https://pkg.go.dev/github.com/rsteube/carapace-bin/pkg/actions) as custom macros (list with `carapace --macros`).
+Removed the `_` prefix from core macros to avoid clashes (e.g. `$files`, `$directories`).
+
+## Macro Arguments
+Arguments are parsed as `yaml` (`$macro(yaml)` - e.g.: `$_tools.gh.Users({users: true})`).
+Brackets are optional when no argument is passed (`$files` instead of `$files()`).
+
+## Variable Substitution
+
+Variables are replaced using [drone/envsubst](https://github.com/drone/envsubst) for contextual completion:
+
+```yaml
+name: myzip
+completion:
+ positional:
+ - ["$files([.zip])"] # ${C_ARG0}
+ positionalany: ["$_fs.ZipFileContents(${C_ARG0})"] # ${C_ARG1},${C_ARG2},...
+```
+
+Flags are only added to env when their value changed (thus: `${C_FLAG_FLAGNAME:-default}`):
+
+```yaml
+name: myrefs
+flags:
+ --tags: list tags # ${C_FLAG_TAGS}
+ --localbranches: list local branches # ${C_FLAG_LOCALBRANCHES}
+ --commits=: amount of commits # ${C_FLAG_COMMITS}
+completion:
+ positional:
+ - ["$_tools.git.Refs({tags: ${C_FLAG_TAGS:-false}, localbranches: ${C_FLAG_LOCALBRANCHES:-false}, commits: ${C_FLAG_COMMITS:-0}})"] # refs based on flag values with defaults
+ - ["$_tools.git.Refs"] # default refs
+ - ["$(env)"] # env
+```
\ No newline at end of file
diff --git a/docs/src/changelog/v0.12/banner.png b/docs/src/changelog/v0.12/banner.png
new file mode 100644
index 0000000000..f045912652
Binary files /dev/null and b/docs/src/changelog/v0.12/banner.png differ
diff --git a/docs/src/changelog/v0.12/preinvoke.png b/docs/src/changelog/v0.12/preinvoke.png
new file mode 100644
index 0000000000..d9a53a74d3
Binary files /dev/null and b/docs/src/changelog/v0.12/preinvoke.png differ
diff --git a/docs/src/changelog/v0.13.md b/docs/src/changelog/v0.13.md
new file mode 100644
index 0000000000..25685bcd80
--- /dev/null
+++ b/docs/src/changelog/v0.13.md
@@ -0,0 +1 @@
+# v0.13
diff --git a/docs/src/changelog/v0.14.md b/docs/src/changelog/v0.14.md
new file mode 100644
index 0000000000..12aa2cd872
--- /dev/null
+++ b/docs/src/changelog/v0.14.md
@@ -0,0 +1 @@
+# v0.14
diff --git a/docs/src/changelog/v0.15.md b/docs/src/changelog/v0.15.md
new file mode 100644
index 0000000000..873085c918
--- /dev/null
+++ b/docs/src/changelog/v0.15.md
@@ -0,0 +1 @@
+# v0.15
diff --git a/docs/src/changelog/v0.16.md b/docs/src/changelog/v0.16.md
new file mode 100644
index 0000000000..d16fcb456d
--- /dev/null
+++ b/docs/src/changelog/v0.16.md
@@ -0,0 +1 @@
+# v0.16
diff --git a/docs/src/changelog/v0.17.md b/docs/src/changelog/v0.17.md
new file mode 100644
index 0000000000..270ec237e0
--- /dev/null
+++ b/docs/src/changelog/v0.17.md
@@ -0,0 +1,85 @@
+# v0.17 - Spec-tacular Citizen
+
+![](./v0.17/banner.png)
+
+[Specs] are now first-class citizens in carapace. They are integrated on root level and should behave similar to the existing completers (`carapace [spec.name] `).
+
+## List
+
+Completers based on [Specs] are highlighted in shells that support colors (details: `carapace --list=json`):
+
+![](./v0.17/list.png)
+
+## Bridge
+
+Using [Specs] for [bridging](../spec/bridge.html) is from now on the recommended approach.
+As these are auto-loaded with `carapace _carapace` and provide support for embedded completion like `sudo [spec.name] `.
+
+Existing completers with the same name will also be overridden.
+E.g. `kubectl` (which is currently a bit outdated) can be configured to use the official completer:
+
+```yaml
+# ${UserConfigDir}/carapace/specs/kubectl.yaml
+name: kubectl
+description: kubectl controls the Kubernetes cluster manager
+completion:
+ positionalany: ["$_bridge.Cobra(kubectl)"]
+```
+
+> Note that bridging adds a slight overhead (~7-9ms?) for each invocation and is limited to supported frameworks / commands.
+
+
+## Plugin
+
+Taking this one step further plugin completion like `cargo-[plugin]`, `gh-[plugin]`, `git-[plugin]` can now also be defined by [Specs].
+
+E.g. the [gh-repo-collab](https://github.com/mislav/gh-repo-collab) extension for [github-cli](https://cli.github.com/):
+```yaml
+# ${UserConfigDir}/carapace/specs/gh-repo-collab.yaml
+name: gh-repo-collab
+description: manage repository collaborators
+commands:
+ -
+ name: list
+ completion:
+ positional:
+ - ["$_tools.gh.OwnerRepositories"]
+ -
+ name: add
+ flags:
+ --permission=: set permission
+ completion:
+ flag:
+ permission: ["pull", "triage", "push", "maintain", "admin\t\tred"]
+ positional:
+ - ["$_tools.gh.OwnerRepositories"]
+ - ["$_tools.gh.Users"]
+ -
+ name: remove
+ completion:
+ positional:
+ - ["$_tools.gh.OwnerRepositories"]
+ - ["$_tools.gh.Users"]
+```
+
+![](./v0.17/plugin.png)
+
+## Nushell
+
+With https://github.com/nushell/nushell/pull/6652 (upcoming [v0.70.0](https://github.com/nushell/nushell/milestone/11?closed=1)) the [nushell] integration is now working on positional arguments.
+The recommended configuration is equivalent to the example configuration in `config.nu`:
+
+```nu
+let carapace_completer = {|spans|
+ carapace $spans.0 nushell $spans | from json
+}
+
+let-env config = {
+ external_completer: $carapace_completer
+}
+```
+
+> Be sure to remove the `module completions` example so that it won't override the carapace completion
+
+[nushell]:https://www.nushell.sh/
+[Specs]:https://github.com/rsteube/carapace-spec
\ No newline at end of file
diff --git a/docs/src/changelog/v0.17/banner.png b/docs/src/changelog/v0.17/banner.png
new file mode 100644
index 0000000000..ff37ed8fd8
Binary files /dev/null and b/docs/src/changelog/v0.17/banner.png differ
diff --git a/docs/src/changelog/v0.17/list.png b/docs/src/changelog/v0.17/list.png
new file mode 100644
index 0000000000..958fa9c89f
Binary files /dev/null and b/docs/src/changelog/v0.17/list.png differ
diff --git a/docs/src/changelog/v0.17/plugin.png b/docs/src/changelog/v0.17/plugin.png
new file mode 100644
index 0000000000..4be6e69f54
Binary files /dev/null and b/docs/src/changelog/v0.17/plugin.png differ
diff --git a/docs/src/changelog/v0.18.md b/docs/src/changelog/v0.18.md
new file mode 100644
index 0000000000..cc43d7da81
--- /dev/null
+++ b/docs/src/changelog/v0.18.md
@@ -0,0 +1 @@
+# v0.18
diff --git a/docs/src/changelog/v0.19.md b/docs/src/changelog/v0.19.md
new file mode 100644
index 0000000000..b258874534
--- /dev/null
+++ b/docs/src/changelog/v0.19.md
@@ -0,0 +1 @@
+# v0.19
diff --git a/docs/src/changelog/v0.20.md b/docs/src/changelog/v0.20.md
new file mode 100644
index 0000000000..e38a2fed32
--- /dev/null
+++ b/docs/src/changelog/v0.20.md
@@ -0,0 +1 @@
+# v0.20
diff --git a/docs/src/changelog/v0.21.md b/docs/src/changelog/v0.21.md
new file mode 100644
index 0000000000..2d0e2dc890
--- /dev/null
+++ b/docs/src/changelog/v0.21.md
@@ -0,0 +1 @@
+# v0.21
diff --git a/docs/src/changelog/v0.22.md b/docs/src/changelog/v0.22.md
new file mode 100644
index 0000000000..8fed65dcca
--- /dev/null
+++ b/docs/src/changelog/v0.22.md
@@ -0,0 +1 @@
+# v0.22
diff --git a/docs/src/changelog/v0.23.md b/docs/src/changelog/v0.23.md
new file mode 100644
index 0000000000..d43c4a8b6b
--- /dev/null
+++ b/docs/src/changelog/v0.23.md
@@ -0,0 +1 @@
+# v0.23
diff --git a/docs/src/changelog/v0.24.md b/docs/src/changelog/v0.24.md
new file mode 100644
index 0000000000..fafdaada02
--- /dev/null
+++ b/docs/src/changelog/v0.24.md
@@ -0,0 +1,17 @@
+# v0.24 - Spring Cleaning
+
+![](./v0.24/banner.png)
+
+## carapace-bridge
+
+Moved bridge actions to [carapace-bridge].
+The shell bridges now use custom configs at [`${UserConfigDir}/carapace/bridge`]
+(e.g. `~/.config/carapace/bridge/fish/config.fish` instead of `~/.config/fish/config.fish`).
+
+## removed flags
+
+Removed `--bridge` and `--spec` flags as user specs are preferred and there are [carapace-bridge] and [carapace-spec] as well.
+
+[`${UserConfigDir}/carapace/bridge`]:https://pkg.go.dev/os#UserConfigDir
+[carapace-bridge]:https://github.com/rsteube/carapace-bridge
+[carapace-spec]:https://github.com/rsteube/carapace-spec
\ No newline at end of file
diff --git a/docs/src/changelog/v0.24/banner.png b/docs/src/changelog/v0.24/banner.png
new file mode 100644
index 0000000000..6685e3437a
Binary files /dev/null and b/docs/src/changelog/v0.24/banner.png differ
diff --git a/docs/src/changelog/v0.25.md b/docs/src/changelog/v0.25.md
new file mode 100644
index 0000000000..4a2d701571
--- /dev/null
+++ b/docs/src/changelog/v0.25.md
@@ -0,0 +1 @@
+# v0.25
diff --git a/docs/theme/catppuccin-admonish.css b/docs/theme/catppuccin-admonish.css
deleted file mode 100644
index 2a30e9f438..0000000000
--- a/docs/theme/catppuccin-admonish.css
+++ /dev/null
@@ -1,363 +0,0 @@
-.mocha :is(.admonition):is(.admonish-hint, .admonish-important, .admonish-tip) {
- border-color: #f9e2af;
-}
-.mocha :is(.admonish-hint, .admonish-important, .admonish-tip) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(249, 226, 175, 0.2);
-}
-.mocha :is(.admonish-hint, .admonish-important, .admonish-tip) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #f9e2af;
-}
-.mocha :is(.admonition):is(.admonish-abstract, .admonish-summary, .admonish-tldr) {
- border-color: #f2cdcd;
-}
-.mocha :is(.admonish-abstract, .admonish-summary, .admonish-tldr) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(242, 205, 205, 0.2);
-}
-.mocha :is(.admonish-abstract, .admonish-summary, .admonish-tldr) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #f2cdcd;
-}
-.mocha :is(.admonition):is(.admonish-example) {
- border-color: #cba6f7;
-}
-.mocha :is(.admonish-example) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(203, 166, 247, 0.2);
-}
-.mocha :is(.admonish-example) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #cba6f7;
-}
-.mocha :is(.admonition):is(.admonish-info, .admonish-todo) {
- border-color: #89dceb;
-}
-.mocha :is(.admonish-info, .admonish-todo) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(137, 220, 235, 0.2);
-}
-.mocha :is(.admonish-info, .admonish-todo) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #89dceb;
-}
-.mocha :is(.admonition):is(.admonish-check, .admonish-done, .admonish-success) {
- border-color: #a6e3a1;
-}
-.mocha :is(.admonish-check, .admonish-done, .admonish-success) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(166, 227, 161, 0.2);
-}
-.mocha :is(.admonish-check, .admonish-done, .admonish-success) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #a6e3a1;
-}
-.mocha :is(.admonition):is(.admonish-note) {
- border-color: #89b4fa;
-}
-.mocha :is(.admonish-note) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(137, 180, 250, 0.2);
-}
-.mocha :is(.admonish-note) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #89b4fa;
-}
-.mocha :is(.admonition):is(.admonish-attention, .admonish-caution, .admonish-warning) {
- border-color: #fab387;
-}
-.mocha :is(.admonish-attention, .admonish-caution, .admonish-warning) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(250, 179, 135, 0.2);
-}
-.mocha :is(.admonish-attention, .admonish-caution, .admonish-warning) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #fab387;
-}
-.mocha :is(.admonition):is(.admonish-faq, .admonish-help, .admonish-question) {
- border-color: #94e2d5;
-}
-.mocha :is(.admonish-faq, .admonish-help, .admonish-question) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(148, 226, 213, 0.2);
-}
-.mocha :is(.admonish-faq, .admonish-help, .admonish-question) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #94e2d5;
-}
-.mocha :is(.admonition):is(.admonish-bug, .admonish-danger, .admonish-error, .admonish-fail, .admonish-failure, .admonish-missing) {
- border-color: #f38ba8;
-}
-.mocha :is(.admonish-bug, .admonish-danger, .admonish-error, .admonish-fail, .admonish-failure, .admonish-missing) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(243, 139, 168, 0.2);
-}
-.mocha :is(.admonish-bug, .admonish-danger, .admonish-error, .admonish-fail, .admonish-failure, .admonish-missing) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #f38ba8;
-}
-.mocha :is(.admonition):is(.admonish-cite, .admonish-quote) {
- border-color: #f5c2e7;
-}
-.mocha :is(.admonish-cite, .admonish-quote) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(245, 194, 231, 0.2);
-}
-.mocha :is(.admonish-cite, .admonish-quote) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #f5c2e7;
-}
-
-.macchiato :is(.admonition):is(.admonish-hint, .admonish-important, .admonish-tip) {
- border-color: #eed49f;
-}
-.macchiato :is(.admonish-hint, .admonish-important, .admonish-tip) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(238, 212, 159, 0.2);
-}
-.macchiato :is(.admonish-hint, .admonish-important, .admonish-tip) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #eed49f;
-}
-.macchiato :is(.admonition):is(.admonish-abstract, .admonish-summary, .admonish-tldr) {
- border-color: #f0c6c6;
-}
-.macchiato :is(.admonish-abstract, .admonish-summary, .admonish-tldr) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(240, 198, 198, 0.2);
-}
-.macchiato :is(.admonish-abstract, .admonish-summary, .admonish-tldr) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #f0c6c6;
-}
-.macchiato :is(.admonition):is(.admonish-example) {
- border-color: #c6a0f6;
-}
-.macchiato :is(.admonish-example) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(198, 160, 246, 0.2);
-}
-.macchiato :is(.admonish-example) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #c6a0f6;
-}
-.macchiato :is(.admonition):is(.admonish-info, .admonish-todo) {
- border-color: #91d7e3;
-}
-.macchiato :is(.admonish-info, .admonish-todo) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(145, 215, 227, 0.2);
-}
-.macchiato :is(.admonish-info, .admonish-todo) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #91d7e3;
-}
-.macchiato :is(.admonition):is(.admonish-check, .admonish-done, .admonish-success) {
- border-color: #a6da95;
-}
-.macchiato :is(.admonish-check, .admonish-done, .admonish-success) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(166, 218, 149, 0.2);
-}
-.macchiato :is(.admonish-check, .admonish-done, .admonish-success) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #a6da95;
-}
-.macchiato :is(.admonition):is(.admonish-note) {
- border-color: #8aadf4;
-}
-.macchiato :is(.admonish-note) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(138, 173, 244, 0.2);
-}
-.macchiato :is(.admonish-note) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #8aadf4;
-}
-.macchiato :is(.admonition):is(.admonish-attention, .admonish-caution, .admonish-warning) {
- border-color: #f5a97f;
-}
-.macchiato :is(.admonish-attention, .admonish-caution, .admonish-warning) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(245, 169, 127, 0.2);
-}
-.macchiato :is(.admonish-attention, .admonish-caution, .admonish-warning) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #f5a97f;
-}
-.macchiato :is(.admonition):is(.admonish-faq, .admonish-help, .admonish-question) {
- border-color: #8bd5ca;
-}
-.macchiato :is(.admonish-faq, .admonish-help, .admonish-question) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(139, 213, 202, 0.2);
-}
-.macchiato :is(.admonish-faq, .admonish-help, .admonish-question) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #8bd5ca;
-}
-.macchiato :is(.admonition):is(.admonish-bug, .admonish-danger, .admonish-error, .admonish-fail, .admonish-failure, .admonish-missing) {
- border-color: #ed8796;
-}
-.macchiato :is(.admonish-bug, .admonish-danger, .admonish-error, .admonish-fail, .admonish-failure, .admonish-missing) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(237, 135, 150, 0.2);
-}
-.macchiato :is(.admonish-bug, .admonish-danger, .admonish-error, .admonish-fail, .admonish-failure, .admonish-missing) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #ed8796;
-}
-.macchiato :is(.admonition):is(.admonish-cite, .admonish-quote) {
- border-color: #f5bde6;
-}
-.macchiato :is(.admonish-cite, .admonish-quote) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(245, 189, 230, 0.2);
-}
-.macchiato :is(.admonish-cite, .admonish-quote) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #f5bde6;
-}
-
-.frappe :is(.admonition):is(.admonish-hint, .admonish-important, .admonish-tip) {
- border-color: #e5c890;
-}
-.frappe :is(.admonish-hint, .admonish-important, .admonish-tip) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(229, 200, 144, 0.2);
-}
-.frappe :is(.admonish-hint, .admonish-important, .admonish-tip) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #e5c890;
-}
-.frappe :is(.admonition):is(.admonish-abstract, .admonish-summary, .admonish-tldr) {
- border-color: #eebebe;
-}
-.frappe :is(.admonish-abstract, .admonish-summary, .admonish-tldr) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(238, 190, 190, 0.2);
-}
-.frappe :is(.admonish-abstract, .admonish-summary, .admonish-tldr) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #eebebe;
-}
-.frappe :is(.admonition):is(.admonish-example) {
- border-color: #ca9ee6;
-}
-.frappe :is(.admonish-example) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(202, 158, 230, 0.2);
-}
-.frappe :is(.admonish-example) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #ca9ee6;
-}
-.frappe :is(.admonition):is(.admonish-info, .admonish-todo) {
- border-color: #99d1db;
-}
-.frappe :is(.admonish-info, .admonish-todo) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(153, 209, 219, 0.2);
-}
-.frappe :is(.admonish-info, .admonish-todo) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #99d1db;
-}
-.frappe :is(.admonition):is(.admonish-check, .admonish-done, .admonish-success) {
- border-color: #a6d189;
-}
-.frappe :is(.admonish-check, .admonish-done, .admonish-success) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(166, 209, 137, 0.2);
-}
-.frappe :is(.admonish-check, .admonish-done, .admonish-success) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #a6d189;
-}
-.frappe :is(.admonition):is(.admonish-note) {
- border-color: #8caaee;
-}
-.frappe :is(.admonish-note) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(140, 170, 238, 0.2);
-}
-.frappe :is(.admonish-note) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #8caaee;
-}
-.frappe :is(.admonition):is(.admonish-attention, .admonish-caution, .admonish-warning) {
- border-color: #ef9f76;
-}
-.frappe :is(.admonish-attention, .admonish-caution, .admonish-warning) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(239, 159, 118, 0.2);
-}
-.frappe :is(.admonish-attention, .admonish-caution, .admonish-warning) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #ef9f76;
-}
-.frappe :is(.admonition):is(.admonish-faq, .admonish-help, .admonish-question) {
- border-color: #81c8be;
-}
-.frappe :is(.admonish-faq, .admonish-help, .admonish-question) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(129, 200, 190, 0.2);
-}
-.frappe :is(.admonish-faq, .admonish-help, .admonish-question) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #81c8be;
-}
-.frappe :is(.admonition):is(.admonish-bug, .admonish-danger, .admonish-error, .admonish-fail, .admonish-failure, .admonish-missing) {
- border-color: #e78284;
-}
-.frappe :is(.admonish-bug, .admonish-danger, .admonish-error, .admonish-fail, .admonish-failure, .admonish-missing) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(231, 130, 132, 0.2);
-}
-.frappe :is(.admonish-bug, .admonish-danger, .admonish-error, .admonish-fail, .admonish-failure, .admonish-missing) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #e78284;
-}
-.frappe :is(.admonition):is(.admonish-cite, .admonish-quote) {
- border-color: #f4b8e4;
-}
-.frappe :is(.admonish-cite, .admonish-quote) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(244, 184, 228, 0.2);
-}
-.frappe :is(.admonish-cite, .admonish-quote) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #f4b8e4;
-}
-
-.latte :is(.admonition):is(.admonish-hint, .admonish-important, .admonish-tip) {
- border-color: #df8e1d;
-}
-.latte :is(.admonish-hint, .admonish-important, .admonish-tip) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(223, 142, 29, 0.2);
-}
-.latte :is(.admonish-hint, .admonish-important, .admonish-tip) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #df8e1d;
-}
-.latte :is(.admonition):is(.admonish-abstract, .admonish-summary, .admonish-tldr) {
- border-color: #dd7878;
-}
-.latte :is(.admonish-abstract, .admonish-summary, .admonish-tldr) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(221, 120, 120, 0.2);
-}
-.latte :is(.admonish-abstract, .admonish-summary, .admonish-tldr) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #dd7878;
-}
-.latte :is(.admonition):is(.admonish-example) {
- border-color: #8839ef;
-}
-.latte :is(.admonish-example) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(136, 57, 239, 0.2);
-}
-.latte :is(.admonish-example) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #8839ef;
-}
-.latte :is(.admonition):is(.admonish-info, .admonish-todo) {
- border-color: #04a5e5;
-}
-.latte :is(.admonish-info, .admonish-todo) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(4, 165, 229, 0.2);
-}
-.latte :is(.admonish-info, .admonish-todo) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #04a5e5;
-}
-.latte :is(.admonition):is(.admonish-check, .admonish-done, .admonish-success) {
- border-color: #40a02b;
-}
-.latte :is(.admonish-check, .admonish-done, .admonish-success) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(64, 160, 43, 0.2);
-}
-.latte :is(.admonish-check, .admonish-done, .admonish-success) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #40a02b;
-}
-.latte :is(.admonition):is(.admonish-note) {
- border-color: #1e66f5;
-}
-.latte :is(.admonish-note) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(30, 102, 245, 0.2);
-}
-.latte :is(.admonish-note) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #1e66f5;
-}
-.latte :is(.admonition):is(.admonish-attention, .admonish-caution, .admonish-warning) {
- border-color: #fe640b;
-}
-.latte :is(.admonish-attention, .admonish-caution, .admonish-warning) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(254, 100, 11, 0.2);
-}
-.latte :is(.admonish-attention, .admonish-caution, .admonish-warning) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #fe640b;
-}
-.latte :is(.admonition):is(.admonish-faq, .admonish-help, .admonish-question) {
- border-color: #179299;
-}
-.latte :is(.admonish-faq, .admonish-help, .admonish-question) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(23, 146, 153, 0.2);
-}
-.latte :is(.admonish-faq, .admonish-help, .admonish-question) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #179299;
-}
-.latte :is(.admonition):is(.admonish-bug, .admonish-danger, .admonish-error, .admonish-fail, .admonish-failure, .admonish-missing) {
- border-color: #d20f39;
-}
-.latte :is(.admonish-bug, .admonish-danger, .admonish-error, .admonish-fail, .admonish-failure, .admonish-missing) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(210, 15, 57, 0.2);
-}
-.latte :is(.admonish-bug, .admonish-danger, .admonish-error, .admonish-fail, .admonish-failure, .admonish-missing) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #d20f39;
-}
-.latte :is(.admonition):is(.admonish-cite, .admonish-quote) {
- border-color: #ea76cb;
-}
-.latte :is(.admonish-cite, .admonish-quote) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(234, 118, 203, 0.2);
-}
-.latte :is(.admonish-cite, .admonish-quote) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #ea76cb;
-}
diff --git a/docs/theme/catppuccin-highlight.css b/docs/theme/catppuccin-highlight.css
deleted file mode 100644
index 6c3c4fa6a6..0000000000
--- a/docs/theme/catppuccin-highlight.css
+++ /dev/null
@@ -1,359 +0,0 @@
-.mocha code,
-.mocha .hljs {
- background: #181825;
-}
-.mocha code .hljs-attr,
-.mocha code .hljs-string {
- color: #a6e3a1;
-}
-.mocha code .hljs-tag {
- color: #f38ba8;
-}
-.mocha code .hljs-name {
- color: #f2cdcd;
-}
-.mocha pre .hljs {
- background: #181825 !important;
-}
-.mocha pre .hljs-params {
- color: #f38ba8 !important;
-}
-.mocha pre .hljs-built_in,
-.mocha pre .hljs-selector-tag,
-.mocha pre .hljs-section,
-.mocha pre .hljs-link {
- color: #74c7ec !important;
-}
-.mocha pre .hljs-keyword {
- color: #cba6f7 !important;
-}
-.mocha pre .hljs,
-.mocha pre .hljs-subst {
- color: #a6adc8 !important;
-}
-.mocha pre .hljs-title {
- color: #89b4fa !important;
-}
-.mocha pre .hljs-attr,
-.mocha pre .hljs-meta-keyword {
- color: #a6e3a1 !important;
-}
-.mocha pre .hljs-type {
- color: #89b4fa !important;
-}
-.mocha pre .hljs-string {
- color: #a6e3a1 !important;
-}
-.mocha pre .hljs-tag {
- color: #f38ba8 !important;
-}
-.mocha pre .hljs-meta,
-.mocha pre .hljs-name,
-.mocha pre .hljs-symbol,
-.mocha pre .hljs-bullet,
-.mocha pre .hljs-addition,
-.mocha pre .hljs-variable,
-.mocha pre .hljs-template-tag,
-.mocha pre .hljs-template-variable {
- color: #f2cdcd !important;
-}
-.mocha pre .hljs-addition {
- background-color: #181825 !important;
- color: #a6e3a1 !important;
-}
-.mocha pre .hljs-deletion {
- background-color: #181825 !important;
- color: #f38ba8 !important;
-}
-.mocha pre .hljs-comment,
-.mocha pre .hljs-quote {
- color: #585b70 !important;
-}
-.mocha pre .hljs-keyword,
-.mocha pre .hljs-selector-tag,
-.mocha pre .hljs-literal,
-.mocha pre .hljs-title,
-.mocha pre .hljs-section,
-.mocha pre .hljs-doctag,
-.mocha pre .hljs-type,
-.mocha pre .hljs-name,
-.mocha pre .hljs-strong {
- font-weight: bold !important;
-}
-.mocha pre .hljs-literal,
-.mocha pre .hljs-number {
- color: #fab387 !important;
-}
-.mocha pre .hljs-emphasis {
- font-style: italic !important;
-}
-
-.macchiato code,
-.macchiato .hljs {
- background: #1e2030;
-}
-.macchiato code .hljs-attr,
-.macchiato code .hljs-string {
- color: #a6da95;
-}
-.macchiato code .hljs-tag {
- color: #ed8796;
-}
-.macchiato code .hljs-name {
- color: #f0c6c6;
-}
-.macchiato pre .hljs {
- background: #1e2030 !important;
-}
-.macchiato pre .hljs-params {
- color: #ed8796 !important;
-}
-.macchiato pre .hljs-built_in,
-.macchiato pre .hljs-selector-tag,
-.macchiato pre .hljs-section,
-.macchiato pre .hljs-link {
- color: #7dc4e4 !important;
-}
-.macchiato pre .hljs-keyword {
- color: #c6a0f6 !important;
-}
-.macchiato pre .hljs,
-.macchiato pre .hljs-subst {
- color: #a5adcb !important;
-}
-.macchiato pre .hljs-title {
- color: #8aadf4 !important;
-}
-.macchiato pre .hljs-attr,
-.macchiato pre .hljs-meta-keyword {
- color: #a6da95 !important;
-}
-.macchiato pre .hljs-type {
- color: #8aadf4 !important;
-}
-.macchiato pre .hljs-string {
- color: #a6da95 !important;
-}
-.macchiato pre .hljs-tag {
- color: #ed8796 !important;
-}
-.macchiato pre .hljs-meta,
-.macchiato pre .hljs-name,
-.macchiato pre .hljs-symbol,
-.macchiato pre .hljs-bullet,
-.macchiato pre .hljs-addition,
-.macchiato pre .hljs-variable,
-.macchiato pre .hljs-template-tag,
-.macchiato pre .hljs-template-variable {
- color: #f0c6c6 !important;
-}
-.macchiato pre .hljs-addition {
- background-color: #1e2030 !important;
- color: #a6da95 !important;
-}
-.macchiato pre .hljs-deletion {
- background-color: #1e2030 !important;
- color: #ed8796 !important;
-}
-.macchiato pre .hljs-comment,
-.macchiato pre .hljs-quote {
- color: #5b6078 !important;
-}
-.macchiato pre .hljs-keyword,
-.macchiato pre .hljs-selector-tag,
-.macchiato pre .hljs-literal,
-.macchiato pre .hljs-title,
-.macchiato pre .hljs-section,
-.macchiato pre .hljs-doctag,
-.macchiato pre .hljs-type,
-.macchiato pre .hljs-name,
-.macchiato pre .hljs-strong {
- font-weight: bold !important;
-}
-.macchiato pre .hljs-literal,
-.macchiato pre .hljs-number {
- color: #f5a97f !important;
-}
-.macchiato pre .hljs-emphasis {
- font-style: italic !important;
-}
-
-.frappe code,
-.frappe .hljs {
- background: #292c3c;
-}
-.frappe code .hljs-attr,
-.frappe code .hljs-string {
- color: #a6d189;
-}
-.frappe code .hljs-tag {
- color: #e78284;
-}
-.frappe code .hljs-name {
- color: #eebebe;
-}
-.frappe pre .hljs {
- background: #292c3c !important;
-}
-.frappe pre .hljs-params {
- color: #e78284 !important;
-}
-.frappe pre .hljs-built_in,
-.frappe pre .hljs-selector-tag,
-.frappe pre .hljs-section,
-.frappe pre .hljs-link {
- color: #85c1dc !important;
-}
-.frappe pre .hljs-keyword {
- color: #ca9ee6 !important;
-}
-.frappe pre .hljs,
-.frappe pre .hljs-subst {
- color: #a5adce !important;
-}
-.frappe pre .hljs-title {
- color: #8caaee !important;
-}
-.frappe pre .hljs-attr,
-.frappe pre .hljs-meta-keyword {
- color: #a6d189 !important;
-}
-.frappe pre .hljs-type {
- color: #8caaee !important;
-}
-.frappe pre .hljs-string {
- color: #a6d189 !important;
-}
-.frappe pre .hljs-tag {
- color: #e78284 !important;
-}
-.frappe pre .hljs-meta,
-.frappe pre .hljs-name,
-.frappe pre .hljs-symbol,
-.frappe pre .hljs-bullet,
-.frappe pre .hljs-addition,
-.frappe pre .hljs-variable,
-.frappe pre .hljs-template-tag,
-.frappe pre .hljs-template-variable {
- color: #eebebe !important;
-}
-.frappe pre .hljs-addition {
- background-color: #292c3c !important;
- color: #a6d189 !important;
-}
-.frappe pre .hljs-deletion {
- background-color: #292c3c !important;
- color: #e78284 !important;
-}
-.frappe pre .hljs-comment,
-.frappe pre .hljs-quote {
- color: #626880 !important;
-}
-.frappe pre .hljs-keyword,
-.frappe pre .hljs-selector-tag,
-.frappe pre .hljs-literal,
-.frappe pre .hljs-title,
-.frappe pre .hljs-section,
-.frappe pre .hljs-doctag,
-.frappe pre .hljs-type,
-.frappe pre .hljs-name,
-.frappe pre .hljs-strong {
- font-weight: bold !important;
-}
-.frappe pre .hljs-literal,
-.frappe pre .hljs-number {
- color: #ef9f76 !important;
-}
-.frappe pre .hljs-emphasis {
- font-style: italic !important;
-}
-
-.latte code,
-.latte .hljs {
- background: #e6e9ef;
-}
-.latte code .hljs-attr,
-.latte code .hljs-string {
- color: #40a02b;
-}
-.latte code .hljs-tag {
- color: #d20f39;
-}
-.latte code .hljs-name {
- color: #dd7878;
-}
-.latte pre .hljs {
- background: #e6e9ef !important;
-}
-.latte pre .hljs-params {
- color: #d20f39 !important;
-}
-.latte pre .hljs-built_in,
-.latte pre .hljs-selector-tag,
-.latte pre .hljs-section,
-.latte pre .hljs-link {
- color: #209fb5 !important;
-}
-.latte pre .hljs-keyword {
- color: #8839ef !important;
-}
-.latte pre .hljs,
-.latte pre .hljs-subst {
- color: #6c6f85 !important;
-}
-.latte pre .hljs-title {
- color: #1e66f5 !important;
-}
-.latte pre .hljs-attr,
-.latte pre .hljs-meta-keyword {
- color: #40a02b !important;
-}
-.latte pre .hljs-type {
- color: #1e66f5 !important;
-}
-.latte pre .hljs-string {
- color: #40a02b !important;
-}
-.latte pre .hljs-tag {
- color: #d20f39 !important;
-}
-.latte pre .hljs-meta,
-.latte pre .hljs-name,
-.latte pre .hljs-symbol,
-.latte pre .hljs-bullet,
-.latte pre .hljs-addition,
-.latte pre .hljs-variable,
-.latte pre .hljs-template-tag,
-.latte pre .hljs-template-variable {
- color: #dd7878 !important;
-}
-.latte pre .hljs-addition {
- background-color: #e6e9ef !important;
- color: #40a02b !important;
-}
-.latte pre .hljs-deletion {
- background-color: #e6e9ef !important;
- color: #d20f39 !important;
-}
-.latte pre .hljs-comment,
-.latte pre .hljs-quote {
- color: #acb0be !important;
-}
-.latte pre .hljs-keyword,
-.latte pre .hljs-selector-tag,
-.latte pre .hljs-literal,
-.latte pre .hljs-title,
-.latte pre .hljs-section,
-.latte pre .hljs-doctag,
-.latte pre .hljs-type,
-.latte pre .hljs-name,
-.latte pre .hljs-strong {
- font-weight: bold !important;
-}
-.latte pre .hljs-literal,
-.latte pre .hljs-number {
- color: #fe640b !important;
-}
-.latte pre .hljs-emphasis {
- font-style: italic !important;
-}