Skip to content

Commit

Permalink
Merge pull request #2690 from carapace-sh/sea-change
Browse files Browse the repository at this point in the history
doc: added v1.2
  • Loading branch information
rsteube authored Jan 25, 2025
2 parents 31588a5 + ba6f0c7 commit 075325c
Show file tree
Hide file tree
Showing 11 changed files with 348 additions and 41 deletions.
2 changes: 1 addition & 1 deletion docs/book.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ enable = true

[output.linkcheck]
follow-web-links = true
exclude = [ 'archlinux\.org', 'github\.com/carapace-sh' ]
exclude = [ 'archlinux\.org', 'github\.com']
1 change: 1 addition & 0 deletions docs/src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
- [carapace-generate](./development/tools/carapace-generate.md)
- [Release Notes](./release_notes.md)
- [v1.x](./release_notes/v1.x.md)
- [v1.2](./release_notes/v1.2.md)
- [v1.1](./release_notes/v1.1.md)
- [v1.0](./release_notes/v1.0.md)
- [v0.30](./release_notes/v0.30.md)
Expand Down
69 changes: 69 additions & 0 deletions docs/src/release_notes/v1.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# v1.2 - Sea Change

![](./v1.2/banner.png)

Moby has grown a little too big.

## Docker

Split the `carapace` container into [several smaller ones](https://github.com/carapace-sh/docker).

## Compose

Updated compose services with the new docker containers.
Also added services for specific tools.

![](./v1.2/compose.cast)

## Zsh

Reworked the handling of quoted values.

![](./v1.2/zsh.cast)

## VHS

Added [VHS] tapes to [verify](https://carapace-sh.github.io/carapace/development/vhs/word.html) the shell integration.

![](./v1.2/word.elvish.gif)

## Variable

Extracted the `set-env <NAME> <VALUE>` completion as generic action.

![](./v1.2/env.cast)

> Completions use the **local** environment so there are some limitations.
### Spec

In specs it can be used as **attached** (default) or **positional** completion.

```yaml
# yaml-language-server: $schema=https://carapace.sh/schemas/command.json
name: variable
completion:
positional:
- ["$carapace.env.NameValues"] # attached (NAME[=VALUE])
- ["$carapace.env.NameValues(true) ||| $shift(1)"] # positional (NAME)
- ["$carapace.env.NameValues(true) ||| $shift(1)"] # positional (VALUE)
```
![](./v1.2/env-spec.cast)
> - Use [`shift`] to skip previous arguments during **positional** completion.
> - Renamed `env.KnownEnvironmentVariables` to `env.Names`.
> - Renamed `env.EnvironmentVariableValues` to `env.Values`.


## Unfiltered

Added `CARAPACE_UNFILTERED` environment variable to skip the final filtering step.

![](./v1.2/unfiltered.cast)

> This enables fuzzy completion in [fish] (to a degree), but is limited to mostly static values.

[fish]:https://fishshell.com/
[`shift`]:https://carapace-sh.github.io/carapace-spec/carapace-spec/macros/modifier.html#shift
[VHS]:https://github.com/charmbracelet/vhs
Binary file added docs/src/release_notes/v1.2/banner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
151 changes: 151 additions & 0 deletions docs/src/release_notes/v1.2/compose.cast

Large diffs are not rendered by default.

File renamed without changes.
File renamed without changes.
File renamed without changes.
Binary file added docs/src/release_notes/v1.2/word.elvish.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
126 changes: 126 additions & 0 deletions docs/src/release_notes/v1.2/zsh.cast
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
{"version": 2, "width": 108, "height": 24, "timestamp": 1737475196, "env": {"SHELL": "elvish", "TERM": "tmux-256color"}}
[0.106194, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
[0.137459, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1;36m~\u001b[0m \r\n\u001b[1;37mzsh\u001b[0m \u001b[1;32m❯\u001b[0m \u001b[K\u001b[?2004h"]
[0.665659, "o", "e"]
[0.927524, "o", "\bex"]
[1.052229, "o", "a"]
[1.161092, "o", "m"]
[1.217614, "o", "p"]
[1.340109, "o", "l"]
[1.396919, "o", "e"]
[1.466403, "o", " "]
[1.6256, "o", "\u0007\r\r\n"]
[1.625822, "o", "\u001b[0m\u001b[34maction\u001b[0m \u001b[34malias\u001b[0m \u001b[2m-- action example \u001b[0m\r\n\u001b[34mflag\u001b[0m \u001b[2m-- flag example \u001b[0m\r\n\u001b[0m\u001b[33mmodifier\u001b[0m\u001b[2m -- modifier example\u001b[0m\r\n\u001b[0m\u001b[mchain\u001b[0m\u001b[2m -- shorthand chain\u001b[0m\r\n\u001b[mcompletion\u001b[0m\u001b[2m -- Generate the autocompletion script for the specified shell\u001b[0m\r\n\u001b[mgroup\u001b[0m\u001b[2m -- group example\u001b[0m\r\n\u001b[mhelp\u001b[0m\u001b[2m -- Help about any command\u001b[0m\r\n\u001b[minterspersed\u001b[0m\u001b[2m -- interspersed example\u001b[0m\r\n\u001b[mmultiparts\u001b[0m\u001b[2m -- multiparts example\u001b[0m\r\n\u001b[msubcommand\u001b[0m\u001b[2m -- subcommand example\u001b[0m\r\n\u001b[mcompat\u001b[0m \u001b[mspecial\u001b[0m \r\n\u001b[J\u001b[0m\u001b[35mplugin\u001b[0m\u001b[2m -- dynamic plugin command\u001b[0m\u001b[J\u001b[12A\u001b[0m\u001b[27m\u001b[24m\r\u001b[6Cexample\u001b[K\u001b[1C"]
[2.224184, "o", "action \r\r\n"]
[2.224567, "o", "\u001b[7maction\u001b[0m \u001b[34malias\u001b[0m \u001b[2m-- action example \u001b[0m\u001b[K\r\n\u001b[34mflag\u001b[0m \u001b[2m-- flag example \u001b[0m\u001b[K\r\n\u001b[0m\u001b[33mmodifier\u001b[0m\u001b[2m -- modifier example\u001b[0m\u001b[K\u001b[K\r\n\u001b[0m\u001b[mchain\u001b[0m\u001b[2m -- shorthand chain\u001b[0m\u001b[K\u001b[K\r\n\u001b[mcompletion\u001b[0m\u001b[2m -- Generate the autocompletion script for the specified shell\u001b[0m\u001b[K\u001b[K\r\n\u001b[mgroup\u001b[0m\u001b[2m -- group example\u001b[0m\u001b[K\u001b[K\r\n\u001b[mhelp\u001b[0m\u001b[2m -- Help about any command\u001b[0m\u001b[K\u001b[K\r\n\u001b[minterspersed\u001b[0m\u001b[2m -- interspersed example\u001b[0m\u001b[K\u001b[K\r\n\u001b[mmultiparts\u001b[0m\u001b[2m -- multiparts example\u001b[0m\u001b[K\u001b[K\r\n\u001b[msubcommand\u001b[0m\u001b[2m -- subcommand example\u001b[0m\u001b[K\u001b[K\r\n\u001b[mcompat\u001b[0m \u001b[mspecial\u001b[0m \u001b[K\r\n\u001b[J\u001b[0m\u001b[35mplugin\u001b[0m\u001b[2m -- dynamic plugin command\u001b[0m\u001b[K\u001b[J\u001b[12A\u001b[0m\u001b[27m\u001b[24m\r\u001b[6Cexample action\u001b[K\u001b[1C"]
[2.652252, "o", "\r\r\n\u001b[7maction\u001b[0m \r\u001b[7maction\u001b[0m \r\u001bM\u001b[0m\u001b[27m\u001b[24m\r\u001b[6Cexample action\u001b[K\u001b[1C\r\r\n\u001b[J\u001bM\u001b[21C"]
[3.225503, "o", "embeddedP"]
[3.774746, "o", "\u0007\r\r\n\u001b[J\u001b[2maction [pos1] [pos2] [--] [dashAny]...\u001b[m\r\n\u001b[J\u001b[0m\u001b[membeddedP1\u001b[0m \u001b[J\u001b[membeddedPositional1\u001b[0m\u001b[J\u001bM\u001bM\u001b[0m\u001b[27m\u001b[24m\r\u001b[6Cexample action embeddedP\u001b[K"]
[4.31971, "o", "1 \r\r\n\u001b[2maction [pos1] [pos2] [--] [dashAny]...\u001b[m\u001b[K\u001b[K\r\n\u001b[J\u001b[7membeddedP1 \u001b[0m \u001b[J\u001b[membeddedPositional1\u001b[0m\u001b[J\u001bM\u001bM\u001b[0m\u001b[27m\u001b[24m\r\u001b[6Cexample action embeddedP1\u001b[K\u001b[1C"]
[4.750609, "o", "\r\r\n\u001b[1B\u001b[7membeddedP1 \u001b[0m \r\u001b[7membeddedP1 \u001b[0m \r\u001bM\u001bM\u001b[0m\u001b[27m\u001b[24m\r\u001b[6Cexample action embeddedP1\u001b[K\u001b[1C\r\r\n\u001b[J\u001bM\u001b[32C"]
[4.839928, "o", "embeddedP"]
[5.28059, "o", "\u0007\r\r\n\u001b[J\u001b[2maction [pos1] [pos2] [--] [dashAny]...\u001b[m\r\n\u001b[J\u001b[0m\u001b[membeddedP2 with space\u001b[0m \u001b[J\u001b[membeddedPositional2 with space\u001b[0m\u001b[J\u001bM\u001bM\u001b[0m\u001b[27m\u001b[24m\r\u001b[6Cexample action embeddedP1 embeddedP\u001b[K"]
[5.771745, "o", "2\\ with\\ space \r\r\n\u001b[2maction [pos1] [pos2] [--] [dashAny]...\u001b[m\u001b[K\u001b[K\r\n\u001b[J\u001b[7membeddedP2 with space \u001b[0m \u001b[J\u001b[membeddedPositional2 with space\u001b[0m\u001b[J\u001bM\u001bM\u001b[0m\u001b[27m\u001b[24m\r\u001b[6Cexample action embeddedP1 embeddedP2\\ with\\ space\u001b[K\u001b[1C"]
[6.40181, "o", "\r\r\n\u001b[1B\u001b[7membeddedP2 with space \u001b[0m \r\u001b[7membeddedP2 with space \u001b[0m \r\u001bM\u001bM\u001b[0m\u001b[27m\u001b[24m\r\u001b[6Cexample action embeddedP1 embeddedP2\\ with\\ space\u001b[K\u001b[1C\r\r\n\u001b[J\u001bM\u001b[56C"]
[6.757115, "o", "\b"]
[6.930476, "o", "\b \b"]
[7.077179, "o", "\b \b"]
[7.325839, "o", "ce "]
[7.57097, "o", "\b"]
[7.871556, "o", "\b \b"]
[7.896186, "o", "\b \b"]
[7.920999, "o", "\b \b"]
[7.946102, "o", "\b \b"]
[7.971257, "o", "\b \b"]
[7.995697, "o", "\b"]
[8.020389, "o", "\b \b"]
[8.047047, "o", "\b \b"]
[8.070529, "o", "\b \b"]
[8.095663, "o", "\b \b"]
[8.120529, "o", "\b \b"]
[8.145433, "o", "\b"]
[8.171051, "o", "\b \b"]
[8.195518, "o", "\b \b"]
[8.220367, "o", "\b \b"]
[8.246366, "o", "\b \b"]
[8.270878, "o", "\b \b"]
[8.295502, "o", "\b \b"]
[8.322068, "o", "\b \b"]
[8.345574, "o", "\b \b"]
[8.450129, "o", "\b \b"]
[8.616201, "o", "\b \b"]
[8.786125, "o", "\b \b"]
[9.023529, "o", "\""]
[9.247984, "o", "embeddedP"]
[9.745361, "o", "\u0007\r\r\n\u001b[J\u001b[2maction [pos1] [pos2] [--] [dashAny]...\u001b[m\r\n\u001b[J\u001b[0m\u001b[membeddedP2 with space\u001b[0m \u001b[J\u001b[membeddedPositional2 with space\u001b[0m\u001b[J\u001bM\u001bM\u001b[0m\u001b[27m\u001b[24m\r\u001b[6Cexample action embeddedP1 \"embeddedP\u001b[K"]
[10.370428, "o", "2 with space\" \r\r\n\u001b[2maction [pos1] [pos2] [--] [dashAny]...\u001b[m\u001b[K\u001b[K\r\n\u001b[J\u001b[7membeddedP2 with space \u001b[0m \u001b[J\u001b[membeddedPositional2 with space\u001b[0m\u001b[J\u001bM\u001bM\u001b[0m\u001b[27m\u001b[24m\r\u001b[6Cexample action embeddedP1 \"embeddedP2 with space\"\u001b[K\u001b[1C"]
[10.678481, "o", "\r\r\n\u001b[1B\u001b[7membeddedP2 with space \u001b[0m \r\u001b[7membeddedP2 with space \u001b[0m \r\u001bM\u001bM\u001b[0m\u001b[27m\u001b[24m\r\u001b[6Cexample action embeddedP1 \"embeddedP2 with space\"\u001b[K\u001b[1C\r\r\n\u001b[J\u001bM\u001b[56C"]
[11.067129, "o", "\b"]
[11.366837, "o", "\b \b"]
[11.39205, "o", "\b \b"]
[11.417956, "o", "\b \b"]
[11.442093, "o", "\b \b"]
[11.781547, "o", "\b \b"]
[12.026449, "o", "\""]
[12.474983, "o", "\bpace\""]
[13.079455, "o", "\b \b"]
[13.229952, "o", "\b \b"]
[13.408514, "o", "\b \b"]
[13.543505, "o", "\b \b"]
[13.697497, "o", "\b \b"]
[14.026309, "o", "2"]
[14.336798, "o", "\b \b"]
[14.529488, "o", "\""]
[14.75604, "o", "p"]
[15.064806, "o", "\b\bpace\" "]
[15.596256, "o", "\b"]
[15.896384, "o", "\b \b"]
[15.921316, "o", "\b \b"]
[15.946782, "o", "\b \b"]
[15.971789, "o", "\b \b"]
[15.996582, "o", "\b \b"]
[16.021546, "o", "\b \b"]
[16.046919, "o", "\b"]
[16.071538, "o", "\b \b"]
[16.096933, "o", "\b \b"]
[16.121526, "o", "\b \b"]
[16.147204, "o", "\b \b"]
[16.171528, "o", "\b"]
[16.196388, "o", "\b \b"]
[16.222582, "o", "\b \b"]
[16.246864, "o", "\b \b"]
[16.271181, "o", "\b \b"]
[16.296477, "o", "\b \b"]
[16.321745, "o", "\b \b"]
[16.450993, "o", "\b \b"]
[16.603815, "o", "\b \b"]
[16.752509, "o", "\b \b"]
[16.904717, "o", "\b \b"]
[17.06751, "o", "\b \b"]
[17.267339, "o", "'"]
[17.612324, "o", "embeddedP"]
[18.0856, "o", "\u0007\r\r\n\u001b[J\u001b[2maction [pos1] [pos2] [--] [dashAny]...\u001b[m\r\n\u001b[J\u001b[0m\u001b[membeddedP2 with space\u001b[0m \u001b[J\u001b[membeddedPositional2 with space\u001b[0m\u001b[J\u001bM\u001bM\u001b[0m\u001b[27m\u001b[24m\r\u001b[6Cexample action embeddedP1 'embeddedP\u001b[K"]
[18.547202, "o", "2 with space' \r\r\n\u001b[2maction [pos1] [pos2] [--] [dashAny]...\u001b[m\u001b[K\u001b[K\r\n\u001b[J\u001b[7membeddedP2 with space \u001b[0m \u001b[J\u001b[membeddedPositional2 with space\u001b[0m\u001b[J\u001bM\u001bM\u001b[0m\u001b[27m\u001b[24m\r\u001b[6Cexample action embeddedP1 'embeddedP2 with space'\u001b[K\u001b[1C"]
[18.84931, "o", "\r\r\n\u001b[1B\u001b[7membeddedP2 with space \u001b[0m \r\u001b[7membeddedP2 with space \u001b[0m \r\u001bM\u001bM\u001b[0m\u001b[27m\u001b[24m\r\u001b[6Cexample action embeddedP1 'embeddedP2 with space'\u001b[K\u001b[1C\r\r\n\u001b[J\u001bM\u001b[56C"]
[19.068383, "o", "\b"]
[19.368879, "o", "\b \b"]
[19.393846, "o", "\b \b"]
[19.418976, "o", "\b \b"]
[19.443747, "o", "\b \b"]
[19.547657, "o", "ace' "]
[19.832658, "o", "\b"]
[20.133294, "o", "\b \b"]
[20.157846, "o", "\b \b"]
[20.182997, "o", "\b \b"]
[20.207703, "o", "\b \b"]
[20.499715, "o", "\b \b"]
[20.765974, "o", "'"]
[21.243264, "o", "p"]
[21.599286, "o", "\b\bpace' "]
[22.594754, "o", "\u001b[?2004l\r\r\n\u001b[J\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
[22.625946, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1;36m~\u001b[0m \r\n\u001b[1;37mzsh\u001b[0m \u001b[1;32m❯\u001b[0m \u001b[K\u001b[?2004h"]
[22.849295, "o", "e"]
[23.035086, "o", "\bex"]
[23.159362, "o", "i"]
[23.260621, "o", "t"]
[23.348548, "o", "\u001b[?2004l\r\r\n"]
40 changes: 0 additions & 40 deletions docs/src/release_notes/v1.x.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,43 +3,3 @@
![](./v1.x/banner.png)

Under development.

## Variable

Extracted the `set-env <NAME> <VALUE>` completion as generic action.

![](./v1.x/env.cast)

> Completions use the **local** environment so there are some limitations.
### Spec

In specs it can be used as **attached** (default) or **positional** completion.

```yaml
# yaml-language-server: $schema=https://carapace.sh/schemas/command.json
name: variable
completion:
positional:
- ["$carapace.env.NameValues"] # attached (NAME[=VALUE])
- ["$carapace.env.NameValues(true) ||| $shift(1)"] # positional (NAME)
- ["$carapace.env.NameValues(true) ||| $shift(1)"] # positional (VALUE)
```
![](./v1.x/env-spec.cast)
> - Use [`shift`] to skip previous arguments during **positional** completion.
> - Renamed `env.KnownEnvironmentVariables` to `env.Names`.
> - Renamed `env.EnvironmentVariableValues` to `env.Values`.

[`shift`]:https://carapace-sh.github.io/carapace-spec/carapace-spec/macros/modifier.html#shift

## Unfiltered

Added `CARAPACE_UNFILTERED` environment variable to skip the final filtering step.

![](./v1.x/unfiltered.cast)

> This enables fuzzy completion in [fish], but only works for (mostly) static values.

[fish]:https://fishshell.com/

0 comments on commit 075325c

Please sign in to comment.