diff --git a/docs/book.toml b/docs/book.toml index 14da17f1c0..9e1f444f59 100644 --- a/docs/book.toml +++ b/docs/book.toml @@ -19,4 +19,4 @@ enable = true [output.linkcheck] follow-web-links = true -exclude = [ 'archlinux\.org', 'github\.com/carapace-sh' ] +exclude = [ 'archlinux\.org', 'github\.com'] diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md index 28eb85fecc..4178957ee7 100644 --- a/docs/src/SUMMARY.md +++ b/docs/src/SUMMARY.md @@ -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) diff --git a/docs/src/release_notes/v1.2.md b/docs/src/release_notes/v1.2.md new file mode 100644 index 0000000000..78116ed8bc --- /dev/null +++ b/docs/src/release_notes/v1.2.md @@ -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 ` 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 diff --git a/docs/src/release_notes/v1.2/banner.png b/docs/src/release_notes/v1.2/banner.png new file mode 100644 index 0000000000..48af0c40e0 Binary files /dev/null and b/docs/src/release_notes/v1.2/banner.png differ diff --git a/docs/src/release_notes/v1.2/compose.cast b/docs/src/release_notes/v1.2/compose.cast new file mode 100644 index 0000000000..3583af18e5 --- /dev/null +++ b/docs/src/release_notes/v1.2/compose.cast @@ -0,0 +1,151 @@ +{"version": 2, "width": 108, "height": 24, "timestamp": 1737826803, "env": {"SHELL": "elvish", "TERM": "tmux-256color"}} +[0.099578, "o", "\u001b[?7h\u001b[7m⏎\u001b[m \r \r\u001b[?7l\u001b[?2004h"] +[0.100165, "o", "\u001b[?25l\r???> ???> \r\u001b[5C\u001b[?25h"] +[0.10053, "o", "\u001b[?25l\r\u001b[5C\u001b[K\r\u001b[5C\u001b[?25h"] +[0.130086, "o", "\u001b[?25l\r\r\u001b[5C\u001b[?25h"] +[0.130413, "o", "\u001b[?25l\r\u001b[K\r\n\u001b[0;1;36mcarapace-bin\u001b[0;m on \u001b[0;1;35m master\u001b[0;m via \u001b[0;1;36m🐹 v1.23.4 \r\n\u001b[0;1;37mesh\u001b[0;m \u001b[0;1;32m❯\u001b[0;m \r\u001b[6C\u001b[?25h"] +[0.341193, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[0;31md\u001b[0;m\r\u001b[7C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[7C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[7C\u001b[?25h"] +[0.369452, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[7C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[7C\u001b[?25h"] +[0.408677, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[7C\u001b[0;31mo\u001b[0;m\r\u001b[8C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[8C\u001b[?25h"] +[0.473427, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[8C\u001b[0;31mc\u001b[0;m\r\u001b[9C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[9C\u001b[?25h"] +[0.593349, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[9C\u001b[0;31mk\u001b[0;m\r\u001b[10C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[10C\u001b[?25h"] +[0.647663, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[10C\u001b[0;31me\u001b[0;m\r\u001b[11C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[11C\u001b[?25h"] +[0.720434, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[K\u001b[0;32mdocker\u001b[0;m\r\u001b[12C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[12C\u001b[?25h"] +[0.764882, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[12C \r\u001b[13C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[13C\u001b[?25h"] +[0.887349, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[13Cc\r\u001b[14C\u001b[?25h"] +[0.96898, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[14Co\r\u001b[15C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[15C\u001b[?25h"] +[1.035256, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[15Cm\r\u001b[16C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[16C\u001b[?25h"] +[1.438509, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[16Cpose \r\u001b[21C\u001b[?25h"] +[1.545332, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[21Cu\r\u001b[22C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[22C\u001b[?25h"] +[1.920894, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[21C\u001b[K\r\u001b[21C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[21C\u001b[?25h"] +[2.011407, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[21Cr\r\u001b[22C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[22C\u001b[?25h"] +[2.08384, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[22Cu\r\u001b[23C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[23C\u001b[?25h"] +[2.268964, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[23Cn\r\u001b[24C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[24C\u001b[?25h"] +[2.351643, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[24C \r\u001b[25C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[25C\u001b[?25h"] +[2.506403, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[25C-\r\u001b[26C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[26C\u001b[?25h"] +[2.647423, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[26C-\r\u001b[27C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[27C\u001b[?25h"] +[2.738631, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[27Cr\r\u001b[28C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[28C\u001b[?25h"] +[2.861915, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[28Cm\r\u001b[29C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[29C\u001b[?25h"] +[2.987216, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[29C \r\u001b[30C\u001b[?25h"] +[2.987672, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[30C\u001b[?25h"] +[3.498324, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[30C\u001b[0;4mapk \r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7mapk\u001b[0;2;7m (ghcr.io/carapace-sh/carapace-bin:apk) \r\n\u001b[0;mbash\u001b[0;2m (ghcr.io/carapace-sh/base) \r\n\u001b[0;mbash-ble\u001b[0;2m (ghcr.io/carapace-sh/shell-bash-ble) \r\n\u001b[0;mbloop\u001b[0;2m (ghcr.io/carapace-sh/carapace-bin:bloop) \r\n\u001b[0;mbuild\u001b[0;2m (golang) \r\n\u001b[0;mcmd-clink\u001b[0;2m (ghcr.io/carapace-sh/carapace-bin:cmd-clink)\r\n\u001b[0;melvish\u001b[0;2m (ghcr.io/carapace-sh/shell-elvish) \r\n\u001b[0;mfish\u001b[0;2m (ghcr.io/carapace-sh/shell-fish) \r\n\u001b[0;mfzf-tab\u001b[0;2m (ghcr.io/carapace-sh/carapace-bin:fzf-tab) \r\n\u001b[0;mgcloud\u001b[0;2m (ghcr.io/carapace-sh/carapace-bin:gcloud) \r\n\u001b[0;mnix\u001b[0;2m (ghcr.io/carapace-sh/carapace-bin:nix) \r\n\u001b[0;mnushell\u001b[0;2m (ghcr.io/carapace-sh/shell-nushell) \r\n\u001b[0;moil\u001b[0;2m (ghcr.io/carapace-sh/shell-oil) \r\n\u001b[0;mpowershell\u001b[0;2m (ghcr.io/carapace-sh/shell-powershell) \r\n\u001b[0;mtcsh\u001b[0;2m (ghcr.io/carapace-sh/shell-tcsh) \r\n\u001b[0;mxbps\u001b[0;2m (ghcr.io/carapace-sh/carapace-bin:xbps) \r\n\u001b[0;mxonsh\u001b[0;2m (ghcr.io/carapace-sh/shell-xonsh) \r\n\u001b[0;mzsh\u001b[0;2m (ghcr.io/carapace-sh/shell-zsh) \u001b[0;m\u001b[18A\r\u001b[22C\u001b[?25h"] +[3.500232, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\u001b[18A\r\u001b[22C\u001b[?25h"] +[3.501066, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\u001b[18A\r\u001b[22C\u001b[?25h"] +[3.898161, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\u001b[22Cg\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\u001b[18A\r\u001b[23C\u001b[?25h"] +[3.899475, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\u001b[18A\r\u001b[23C\u001b[?25h"] +[4.097355, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[30C\u001b[K\u001b[0;4mgcloud \r\n\u001b[23C\u001b[0;mc\r\n\u001b[K\u001b[0;7mgcloud\u001b[0;2;7m (ghcr.io/carapace-sh/carapace-bin:gcloud)\u001b[0;m\r\n\u001b[J\u001b[A\u001b[1A\r\u001b[24C\u001b[?25h"] +[4.097528, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\r\n\u001b[1A\r\u001b[24C\u001b[?25h"] +[4.214253, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\u001b[24Cl\r\n\u001b[1A\r\u001b[25C\u001b[?25h"] +[4.214406, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\r\n\u001b[1A\r\u001b[25C\u001b[?25h"] +[4.399669, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\u001b[25Co\r\n\u001b[1A\r\u001b[26C\u001b[?25h"] +[4.689452, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[30C\u001b[Kgcloud \r\n\u001b[J\u001b[A\r\u001b[37C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[37C\u001b[?25h"] +[5.152829, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\n\r\u001b[?25h\u001b[?7h\u001b[?2004l\r"] +[5.589802, "o", "g"] +[5.683603, "o", "\u001b[?7h\u001b[7m⏎\u001b[m \r \r\u001b[?7l\u001b[?2004h\u001b[?25l\r???> ???> \r\u001b[5C\u001b[?25h"] +[5.683954, "o", "\u001b[?25l\r\u001b[K/\u001b[0;31m# g\u001b[0;m \u001b[0;7mroot@carapace-bin:gcloud\u001b[0;m\r\u001b[4C\u001b[?25h"] +[5.684085, "o", "\u001b[?25l\r\r\u001b[4C\u001b[?25h"] +[6.091432, "o", "\u001b[?25l\r\u001b[4C\u001b[K\u001b[0;31mc\u001b[0;m \u001b[0;7mroot@carapace-bin:gcloud\u001b[0;m\r\u001b[5C\u001b[?25h\u001b[?25l\r\r\u001b[5C\u001b[?25h"] +[6.28188, "o", "\u001b[?25l\r\u001b[5C\u001b[K\u001b[0;31ml\u001b[0;m \u001b[0;7mroot@carapace-bin:gcloud\u001b[0;m\r\u001b[6C\u001b[?25h\u001b[?25l\r\r\u001b[6C\u001b[?25h"] +[6.432903, "o", "\u001b[?25l\r\u001b[6C\u001b[K\u001b[0;31mo\u001b[0;m \u001b[0;7mroot@carapace-bin:gcloud\u001b[0;m\r\u001b[7C\u001b[?25h"] +[6.508799, "o", "\u001b[?25l\r\u001b[7C\u001b[K\u001b[0;31mu\u001b[0;m \u001b[0;7mroot@carapace-bin:gcloud\u001b[0;m\r\u001b[8C\u001b[?25h\u001b[?25l\r\r\u001b[8C\u001b[?25h"] +[6.63554, "o", "\u001b[?25l\r\u001b[3C\u001b[K\u001b[0;32mgcloud\u001b[0;m \u001b[0;7mroot@carapace-bin:gcloud\u001b[0;m\r\u001b[9C\u001b[?25h\u001b[?25l\r\r\u001b[9C\u001b[?25h"] +[6.718063, "o", "\u001b[?25l\r\r\u001b[10C\u001b[?25h\u001b[?25l\r\r\u001b[10C\u001b[?25h"] +[7.62163, "o", "\u001b[?25l\r\u001b[10C\u001b[K\u001b[0;4maccess-approval \u001b[0;m \u001b[0;7mroot@carapace-bin:gcloud\r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7maccess-approval \u001b[0;m billing developer-connect ids notebooks \r\naccess-context-manager bms dns immersive-stream oracle-database \r\nactive-directory builds docker info org-policies \r\nai certificate-manager domains infra-manager organizations \r\nai-platform cheat-sheet edge-cache init pam \r\nalloydb cloud-shell edge-cloud kms policy-intelligence\r\nalpha colab emulators logging policy-troubleshoot\r\nanthos components endpoints looker preview \r\napi-gateway composer essential-contacts managed-kafka privateca \r\napigee compute eventarc memcache projects \r\napp config feedback memorystore publicca \r\napphub container filestore metastore pubsub \r\nartifacts data-catalog firebase migration recaptcha \r\nasset database-migration firestore ml recommender \r\nassured dataflow functions ml-engine redis \r\naudit-manager dataplex gemini monitoring resource-manager \r\nauth dataproc healthcare netapp run \r\nbackup-dr datastore help network-connectivity scc \r\nbatch datastream iam network-management scheduler \r\nbeta deploy iap network-security secrets \r\nbigtable deployment-manager identity network-services service-directory \r\n\u001b[0;7;35m \u001b[0;35m━━━━━━━━━━━━━━━\u001b[0;m\u001b[22A\r\u001b[22C\u001b[?25h"] +[7.942782, "o", "\u001b[?25l\u001b[1A\r\u001b[17C\u001b[K\u001b[0;4mcontext-manager \u001b[0;m \u001b[0;7mroot@carapace-bin:gcloud\r\n\r\n\u001b[0;m\u001b[Kaccess-approval billing developer-connect ids notebooks \r\n\u001b[K\u001b[0;7maccess-context-manager\u001b[0;m bms dns immersive-stream oracle-database \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\u001b[22A\r\u001b[22C\u001b[?25h"] +[8.085695, "o", "\u001b[?25l\u001b[1A\r\u001b[12C\u001b[K\u001b[0;4mtive-directory \u001b[0;m \u001b[0;7mroot@carapace-bin:gcloud\r\n\r\n\r\n\u001b[0;m\u001b[Kaccess-context-manager bms dns immersive-stream oracle-database \r\n\u001b[K\u001b[0;7mactive-directory \u001b[0;m builds docker info org-policies \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\u001b[22A\r\u001b[22C\u001b[?25h"] +[8.482318, "o", "\u001b[?25l\u001b[1A\r\u001b[10C\u001b[K\u001b[0;4mbuilds \u001b[0;m \u001b[0;7mroot@carapace-bin:gcloud\r\n\r\n\r\n\r\n\u001b[0;m\u001b[Kactive-directory \u001b[0;7mbuilds \u001b[0;m docker info org-policies \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\u001b[22A\r\u001b[22C\u001b[?25h"] +[8.485229, "o", "\u001b[?25l\u001b[1A\r\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\u001b[22A\r\u001b[22C\u001b[?25h"] +[8.658129, "o", "\u001b[?25l\u001b[1A\r\u001b[10C\u001b[K\u001b[0;4mdocker \u001b[0;m \u001b[0;7mroot@carapace-bin:gcloud\r\n\r\n\r\n\r\n\u001b[24C\u001b[0;m\u001b[Kbuilds \u001b[0;7mdocker \u001b[0;m info org-policies \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\u001b[22A\r\u001b[22C\u001b[?25h"] +[8.807308, "o", "\u001b[?25l\u001b[1A\r\u001b[10C\u001b[K\u001b[0;4minfo \u001b[0;m \u001b[0;7mroot@carapace-bin:gcloud\r\n\r\n\r\n\r\n\u001b[45C\u001b[0;m\u001b[Kdocker \u001b[0;7minfo \u001b[0;m org-policies \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\u001b[22A\r\u001b[22C\u001b[?25h"] +[9.094078, "o", "\u001b[?25l\u001b[1A\r\u001b[10C\u001b[Kinfo \u001b[0;7mroot@carapace-bin:gcloud\u001b[0;m\r\n\u001b[J\u001b[A\r\u001b[15C\u001b[?25h\u001b[?25l\r\r\u001b[15C\u001b[?25h"] +[9.568901, "o", "\u001b[?25l\r\u001b[15C\u001b[K- \u001b[0;7mroot@carapace-bin:gcloud\u001b[0;m\r\u001b[16C\u001b[?25h\u001b[?25l\r\r\u001b[16C\u001b[?25h"] +[9.931789, "o", "\u001b[?25l\r\u001b[15C\u001b[K\u001b[0;4;33m'--access-token-file='\u001b[0;m \u001b[0;7mroot@carapace-bin:gcloud\r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7m--access-token-file=\u001b[0;m --flatten= --quiet \r\n--account= --format= --run-diagnostics \r\n--anonymize --help --show-log \r\n--billing-project= --impersonate-service-account= --trace-token= \r\n--configuration= --log-http --user-output-enabled\r\n--flags-file= --project= --verbosity= \u001b[6A\r\u001b[22C\u001b[?25h"] +[11.208503, "o", "\u001b[?25l\u001b[1A\r\u001b[3C\u001b[K \u001b[0;7mroot@carapace-bin:gcloud\u001b[0;m\r\n\u001b[J\u001b[A\r\u001b[3C\u001b[?25h\u001b[?25l\r\r\u001b[3C\u001b[?25h"] +[11.208875, "o", "\u001b[?25l\r\r\u001b[3C\u001b[?25h\u001b[?25l\r\r\u001b[3C\u001b[?25h"] +[11.466929, "o", "\u001b[?25l\r\r\u001b[3C\u001b[?25h"] +[11.467384, "o", "\u001b[?25l\r\r\u001b[3C\u001b[?25h\u001b[?25l\r\r\u001b[3C\u001b[?25h\u001b[?25l\r\r\u001b[3C\u001b[?25h"] +[11.753837, "o", "\u001b[?25l\r\u001b[3C\u001b[K\u001b[0;31me\u001b[0;m \u001b[0;7mroot@carapace-bin:gcloud\u001b[0;m\r\u001b[4C\u001b[?25h\u001b[?25l\r\r\u001b[4C\u001b[?25h"] +[11.946522, "o", "\u001b[?25l\r\u001b[4C\u001b[K\u001b[0;31mx\u001b[0;m \u001b[0;7mroot@carapace-bin:gcloud\u001b[0;m\r\u001b[5C\u001b[?25h\u001b[?25l\r\r\u001b[5C\u001b[?25h"] +[12.132752, "o", "\u001b[?25l\r\u001b[5C\u001b[K\u001b[0;31mi\u001b[0;m \u001b[0;7mroot@carapace-bin:gcloud\u001b[0;m\r\u001b[6C\u001b[?25h\u001b[?25l\r\r\u001b[6C\u001b[?25h"] +[12.169771, "o", "\u001b[?25l\r\u001b[3C\u001b[K\u001b[0;32mexit\u001b[0;m \u001b[0;7mroot@carapace-bin:gcloud\u001b[0;m\r\u001b[7C\u001b[?25h\u001b[?25l\r\r\u001b[7C\u001b[?25h"] +[12.32961, "o", "\u001b[?25l\r\u001b[7C\u001b[K\r\n\r\u001b[?25h\u001b[?7h\u001b[?2004l\r"] +[12.722533, "o", "\u001b[?7h\u001b[7m⏎\u001b[m \r \r\u001b[?7l\u001b[?2004h"] +[12.722841, "o", "\u001b[?25l\r\r\n\u001b[0;1;36mcarapace-bin\u001b[0;m on \u001b[0;1;35m master\u001b[0;m via \u001b[0;1;36m🐹 v1.23.4 \r\n\u001b[0;1;37mesh\u001b[0;m \u001b[0;1;32m❯\u001b[0;m \r\u001b[6C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"] +[12.722954, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"] +[12.75362, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"] +[12.754081, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"] +[12.754858, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"] +[12.754919, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"] +[12.754967, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"] +[13.522574, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[0;4;32mdocker\u001b[0;4m compose run --rm gcloud \r\n\u001b[0;1;37;45m HISTORY #6136 \u001b[0;m\u001b[1A\r\u001b[37C\u001b[?25h"] +[13.899395, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[K\u001b[0;32mdocker\u001b[0;m compose run --rm gcloud\r\n\u001b[J\u001b[A\r\u001b[36C\u001b[?25h"] +[14.045478, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[35C\u001b[K\r\u001b[35C\u001b[?25h"] +[14.240267, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[34C\u001b[K\r\u001b[34C\u001b[?25h"] +[14.382617, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[33C\u001b[K\r\u001b[33C\u001b[?25h"] +[14.521586, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[32C\u001b[K\r\u001b[32C\u001b[?25h"] +[14.67555, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[31C\u001b[K\r\u001b[31C\u001b[?25h"] +[14.818455, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[30C\u001b[K\r\u001b[30C\u001b[?25h"] +[15.314832, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[30C\u001b[0;4mapk \r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7mapk\u001b[0;2;7m (ghcr.io/carapace-sh/carapace-bin:apk) \r\n\u001b[0;mbash\u001b[0;2m (ghcr.io/carapace-sh/base) \r\n\u001b[0;mbash-ble\u001b[0;2m (ghcr.io/carapace-sh/shell-bash-ble) \r\n\u001b[0;mbloop\u001b[0;2m (ghcr.io/carapace-sh/carapace-bin:bloop) \r\n\u001b[0;mbuild\u001b[0;2m (golang) \r\n\u001b[0;mcmd-clink\u001b[0;2m (ghcr.io/carapace-sh/carapace-bin:cmd-clink)\r\n\u001b[0;melvish\u001b[0;2m (ghcr.io/carapace-sh/shell-elvish) \r\n\u001b[0;mfish\u001b[0;2m (ghcr.io/carapace-sh/shell-fish) \r\n\u001b[0;mfzf-tab\u001b[0;2m (ghcr.io/carapace-sh/carapace-bin:fzf-tab) \r\n\u001b[0;mgcloud\u001b[0;2m (ghcr.io/carapace-sh/carapace-bin:gcloud) \r\n\u001b[0;mnix\u001b[0;2m (ghcr.io/carapace-sh/carapace-bin:nix) \r\n\u001b[0;mnushell\u001b[0;2m (ghcr.io/carapace-sh/shell-nushell) \r\n\u001b[0;moil\u001b[0;2m (ghcr.io/carapace-sh/shell-oil) \r\n\u001b[0;mpowershell\u001b[0;2m (ghcr.io/carapace-sh/shell-powershell) \r\n\u001b[0;mtcsh\u001b[0;2m (ghcr.io/carapace-sh/shell-tcsh) \r\n\u001b[0;mxbps\u001b[0;2m (ghcr.io/carapace-sh/carapace-bin:xbps) \r\n\u001b[0;mxonsh\u001b[0;2m (ghcr.io/carapace-sh/shell-xonsh) \r\n\u001b[0;mzsh\u001b[0;2m (ghcr.io/carapace-sh/shell-zsh) \u001b[0;m\u001b[18A\r\u001b[22C\u001b[?25h"] +[15.69805, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[30C\u001b[K\u001b[0;4mfish \r\n\u001b[22C\u001b[0;mf\r\n\u001b[K\u001b[0;7mfish\u001b[0;2;7m (ghcr.io/carapace-sh/shell-fish)\u001b[0;m fzf-tab\u001b[0;2m (ghcr.io/carapace-sh/carapace-bin:fzf-tab)\u001b[0;m\r\n\u001b[J\u001b[A\u001b[1A\r\u001b[23C\u001b[?25h"] +[15.698194, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\r\n\u001b[1A\r\u001b[23C\u001b[?25h"] +[15.925535, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[31C\u001b[K\u001b[0;4mzf-tab \r\n\u001b[23C\u001b[0;mz\r\n\u001b[1C\u001b[K\u001b[0;7mzf-tab\u001b[0;2;7m (ghcr.io/carapace-sh/carapace-bin:fzf-tab)\u001b[0;m\u001b[1A\r\u001b[24C\u001b[?25h"] +[15.926388, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\r\n\u001b[1A\r\u001b[24C\u001b[?25h"] +[16.058717, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\u001b[24Cf\r\n\u001b[1A\r\u001b[25C\u001b[?25h"] +[16.058811, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\r\n\u001b[1A\r\u001b[25C\u001b[?25h"] +[16.508398, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[30C\u001b[Kfzf-tab \r\n\u001b[J\u001b[A\r\u001b[38C\u001b[?25h"] +[16.508516, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[38C\u001b[?25h"] +[16.863834, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\n\r\u001b[?25h"] +[16.863926, "o", "\u001b[?7h\u001b[?2004l\r"] +[17.589463, "o", "\u001b[1m\u001b[7m#\u001b[27m\u001b[1m\u001b[0m \r \r\r\u001b[0m\u001b[27m\u001b[24m\u001b[Jcarapace-bin:fzf-tab# \u001b[K\u001b[?2004h"] +[18.052685, "o", "g"] +[18.175817, "o", "\bgi"] +[18.21001, "o", "t"] +[18.769367, "o", " "] +[18.856366, "o", "\u001b[?25l"] +[19.002173, "o", "\r\r\u001b[0m\u001b[27m\u001b[24m\u001b[Jcarapace-bin:fzf-tab# git "] +[19.187255, "o", "\r\n\u001b[?12l\u001b[?25h"] +[19.197754, "o", "\u001b[?7l\u001b[?25l\u001b[J\u001b[6n\u001b[?25h\u001b[?7h"] +[19.19891, "o", "\u001b[?7l\u001b[?25l\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\u001b[?1000h\u001b[?1002h\u001b[?1006h\u001b[15A\u001b[G\u001b[K\u001b[6n\u001b[?25h\u001b[?7h"] +[19.212546, "o", "\u001b[?7l\u001b[?25l\r\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[15A\r\r\u001b[;m \r\u001b[;1;34m>\u001b[0m\u001b[;m \u001b[0m\u001b[;1m\u001b[0m\u001b[;1m\u001b[0m\u001b[1B\r\u001b[;1;32m⠏\u001b[0m\u001b[;m \u001b[;37m0/0 (0)\u001b[0m\u001b[;30m \u001b[0m\u001b[;30m─────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[;m \u001b[1A\r\u001b[2C\u001b[1B\r\u001b[;m \u001b[;m \u001b[;37m144/144 (0)\u001b[0m\u001b[;30m \u001b[0m\u001b[;30m─────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[;m \u001b[1B\r\u001b[;1;31;40m▌\u001b[0m\u001b[;40m \u001b[0m\u001b[;1;33;40madd -- Add file contents to the index\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[;30m│\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mam -- Apply a series of patches from a mailbox\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mannotate -- Show what revision and author last modified each line of a file\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mapply -- Apply a patch to files and/or to the index\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;marchimport -- Import a GNU Arch repository into Git\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;marchive -- Create an archive of files from a named tree\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mbisect -- Use binary search to find the commit that introduced a bug\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mblame -- Show what revision and author last modified each line of a file\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mbranch "] +[19.212654, "o", " -- List, create, or delete branches\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mbugreport -- Collect information for user to file a bug report\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mbundle -- Move objects and refs by archive\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mcat-file -- Provide content or type and size information for repository objects\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mcheck-attr -- Display gitattributes information\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mcheck-ignore -- Debug gitignore / exclude files\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[15A\r\u001b[2C\u001b[?25h\u001b[?7h"] +[19.221478, "o", "\u001b[?7l\u001b[?25l\r\u001b[2C\u001b[?25h\u001b[?7h"] +[19.301998, "o", "\u001b[?7l\u001b[?25l\u001b[1B\r\u001b[;m \u001b[;m \u001b[;37m144/144 (0)\u001b[0m\u001b[;30m \u001b[0m\u001b[;30m─────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[;m \u001b[1A\r\u001b[2C\u001b[?25h\u001b[?7h"] +[19.886497, "o", "\u001b[?7l\u001b[?25l\r\u001b[;m \r\u001b[;1;34m>\u001b[0m\u001b[;m \u001b[0m\u001b[;1ml\u001b[0m\u001b[;1m\u001b[0m\u001b[2B\r\u001b[;1;31;40m▌\u001b[0m\u001b[;40m \u001b[0m\u001b[;1;33;40madd -- Add file contents to the index\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mam -- Apply a series of patches from a mailbox\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mannotate -- Show what revision and author last modified each line of a file\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mapply -- Apply a patch to files and/or to the index\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;marchimport -- Import a GNU Arch repository into Git\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;marchive -- Create an archive of files from a named tree\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mbisect -- Use binary search to find the commit that introduced a bug\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mblame -- Show what revision and author last modified each line of a file\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mbranch -- List, create, or delete branches\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mbugreport -- Collect information for user to file a bug report\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mbundle -- Move objects and refs by archive\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mcat-file -- Provide content or type and size information for repository objects\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mcheck-attr -- Display gitattributes information\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mcheck-ignore -- Debug gitignore / exclude files\u001b[0m\u001b[15A\r\u001b[3C\u001b[?25h\u001b[?7h"] +[19.88794, "o", "\u001b[?7l\u001b[?25l\u001b[1B\r\u001b[;m \u001b[;m \u001b[;37m102/144 (0)\u001b[0m\u001b[;30m \u001b[0m\u001b[;30m─────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[;m \u001b[1B\r\u001b[;1;31;40m▌\u001b[0m\u001b[;40m \u001b[0m\u001b[;1;33;40m\u001b[0m\u001b[;1;32;40ml\u001b[0m\u001b[;1;33;40mog -- Show commit logs\u001b[0m\u001b[;m \u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;m\u001b[0m\u001b[;32ml\u001b[0m\u001b[;ms-files -- Show information about files in the index and the working tree\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;m\u001b[0m\u001b[;32ml\u001b[0m\u001b[;ms-remote -- List references in a remote repository\u001b[0m\u001b[;m \u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;m\u001b[0m\u001b[;32ml\u001b[0m\u001b[;ms-tree -- List the contents of a tree object\u001b[0m\u001b[;m \u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mrefs -- \u001b[0m\u001b[;32mL\u001b[0m\u001b[;mow-level access to refs\u001b[0m\u001b[;m \u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mbranch -- \u001b[0m\u001b[;32mL\u001b[0m\u001b[;mist, create, or delete branches\u001b[0m\u001b[;m \u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mshow-ref -- \u001b[0m\u001b[;32mL\u001b[0m\u001b[;mist references in a local repository\u001b[0m\u001b[;m \u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mwhatchanged -- Show \u001b[0m\u001b[;32ml\u001b[0m\u001b[;mogs with difference each commit introduces\u001b[0m\u001b[;m \u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mgrep -- Print \u001b[0m\u001b[;32ml\u001b[0m\u001b[;mines matching a pattern\u001b[0m\u001b[;m \u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mreplace -- Create, \u001b[0m\u001b[;32ml\u001b[0m\u001b[;mist, delete refs to replace objects\u001b[0m\u001b[;m \u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mshell -- Restricted \u001b[0m\u001b[;32ml\u001b[0m\u001b[;mogin shell for Git-only SSH access\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mtag -- Create, \u001b[0m\u001b[;32ml\u001b[0m\u001b[;mist, delete or verify a tag object signed with GPG\u001b[0m\u001b[;m \u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mvar -- Show a Git \u001b[0m\u001b[;32ml\u001b[0m\u001b[;mogical variable\u001b[0m\u001b[;m \u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mshortlog -- Summarize 'git \u001b[0m\u001b[;32ml\u001b[0m\u001b[;mog' output\u001b[0m\u001b[;m \u001b[15A\r\u001b[3C\u001b[?25h\u001b[?7h"] +[20.047252, "o", "\u001b[?7l\u001b[?25l\r\u001b[;m \r\u001b[;1;34m>\u001b[0m\u001b[;m \u001b[0m\u001b[;1mlo\u001b[0m\u001b[;1m\u001b[0m\u001b[2B\r\u001b[;1;31;40m▌\u001b[0m\u001b[;40m \u001b[0m\u001b[;1;33;40m\u001b[0m\u001b[;1;32;40ml\u001b[0m\u001b[;1;33;40mog -- Show commit logs\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;m\u001b[0m\u001b[;32ml\u001b[0m\u001b[;ms-files -- Show information about files in the index and the working tree\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;m\u001b[0m\u001b[;32ml\u001b[0m\u001b[;ms-remote -- List references in a remote repository\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;m\u001b[0m\u001b[;32ml\u001b[0m\u001b[;ms-tree -- List the contents of a tree object\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mrefs -- \u001b[0m\u001b[;32mL\u001b[0m\u001b[;mow-level access to refs\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mbranch -- \u001b[0m\u001b[;32mL\u001b[0m\u001b[;mist, create, or delete branches\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mshow-ref -- \u001b[0m\u001b[;32mL\u001b[0m\u001b[;mist references in a local repository\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mwhatchanged -- Show \u001b[0m\u001b[;32ml\u001b[0m\u001b[;mogs with difference each commit introduces\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mgrep -- Print \u001b[0m\u001b[;32ml\u001b[0m\u001b[;mines matching a pattern\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mreplace -- Create, \u001b[0m\u001b[;32ml\u001b[0m\u001b[;mist, delete refs to replace objects\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mshell -- Restricted \u001b[0m\u001b[;32ml\u001b[0m\u001b[;mogin shell for Git-only SSH access\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mtag -- Create, \u001b[0m\u001b[;32ml\u001b[0m\u001b[;mist, delete or verify a tag object signed with GPG\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mvar -- Show a Git \u001b[0m\u001b[;32ml\u001b[0m\u001b[;mogical variable\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mshortlog -- Summarize 'git \u001b[0m\u001b[;32ml\u001b[0m\u001b[;mog' output\u001b[0m\u001b[15A\r\u001b[4C\u001b[?25h\u001b[?7h"] +[20.048204, "o", "\u001b[?7l\u001b[?25l\u001b[1B\r\u001b[;m \u001b[;m \u001b[;37m89/144 (0)\u001b[0m\u001b[;30m \u001b[0m\u001b[;30m──────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[;m \u001b[1B\r\u001b[;1;31;40m▌\u001b[0m\u001b[;40m \u001b[0m\u001b[;1;33;40m\u001b[0m\u001b[;1;32;40ml\u001b[0m\u001b[;1;33;40m\u001b[0m\u001b[;1;32;40mo\u001b[0m\u001b[;1;33;40mg -- Show commit logs\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mrefs -- \u001b[0m\u001b[;32mL\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mw-level access to refs\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[;30m│\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mwhatchanged -- Show \u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mgs with difference each commit introduces\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mshell -- Restricted \u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mgin shell for Git-only SSH access\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mvar -- Show a Git \u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mgical variable\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mshortlog -- Summarize 'git \u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mg' output\u001b[0m\u001b[;m \u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mshow-ref -- List references in a \u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mcal repository\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mgc -- Cleanup unnecessary files and optimize the \u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mcal repository\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mcvsimport -- Salvage your data out of another SCM people \u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mve to hate\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mpull -- Fetch from and integrate with another repository or a \u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mcal branch\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mfor-each-repo -- Run a Git command on a \u001b[0m\u001b[;32ml\u001b[0m\u001b[;mist \u001b[0m\u001b[;32mo\u001b[0m\u001b[;mf repositories\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mannotate -- Show what revision and author last modified each \u001b[0m\u001b[;32ml\u001b[0m\u001b[;mine \u001b[0m\u001b[;32mo\u001b[0m\u001b[;mf a file\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mblame -- Show what revision and author last modified each \u001b[0m\u001b[;32ml\u001b[0m\u001b[;mine \u001b[0m\u001b[;32mo\u001b[0m\u001b[;mf a file\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mrev-list -- \u001b[0m\u001b[;32mL\u001b[0m\u001b[;mists commit \u001b[0m\u001b[;32mo\u001b[0m\u001b[;mbjects in reverse chronological order\u001b[0m\u001b[15A\r\u001b[4C\u001b[?25h\u001b[?7h"] +[20.142545, "o", "\u001b[?7l\u001b[?25l\r\u001b[;m \r\u001b[;1;34m>\u001b[0m\u001b[;m \u001b[0m\u001b[;1mlog\u001b[0m\u001b[;1m\u001b[0m\u001b[2B\r\u001b[;1;31;40m▌\u001b[0m\u001b[;40m \u001b[0m\u001b[;1;33;40m\u001b[0m\u001b[;1;32;40ml\u001b[0m\u001b[;1;33;40m\u001b[0m\u001b[;1;32;40mo\u001b[0m\u001b[;1;33;40mg -- Show commit logs\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mrefs -- \u001b[0m\u001b[;32mL\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mw-level access to refs\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mwhatchanged -- Show \u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mgs with difference each commit introduces\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mshell -- Restricted \u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mgin shell for Git-only SSH access\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mvar -- Show a Git \u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mgical variable\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mshortlog -- Summarize 'git \u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mg' output\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mshow-ref -- List references in a \u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mcal repository\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mgc -- Cleanup unnecessary files and optimize the \u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mcal repository\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mcvsimport -- Salvage your data out of another SCM people \u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mve to hate\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mpull -- Fetch from and integrate with another repository or a \u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mcal branch\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mfor-each-repo -- Run a Git command on a \u001b[0m\u001b[;32ml\u001b[0m\u001b[;mist \u001b[0m\u001b[;32mo\u001b[0m\u001b[;mf repositories\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mannotate -- Show what revision and author last modified each \u001b[0m\u001b[;32ml\u001b[0m\u001b[;mine \u001b[0m\u001b[;32mo\u001b[0m\u001b[;mf a file\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mblame -- Show what revision and author last modified each \u001b[0m\u001b[;32ml\u001b[0m\u001b[;mine \u001b[0m\u001b[;32mo\u001b[0m\u001b[;mf a file\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mrev-list -- \u001b[0m\u001b[;32mL\u001b[0m\u001b[;mists commit \u001b[0m\u001b[;32mo\u001b[0m\u001b[;mbjects in reverse chronological order\u001b[0m\u001b[15A\r\u001b[5C\u001b[?25h\u001b[?7h"] +[20.144367, "o", "\u001b[?7l\u001b[?25l\u001b[1B\r\u001b[;m \u001b[;m \u001b[;37m40/144 (0)\u001b[0m\u001b[;30m \u001b[0m\u001b[;30m──────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[;m \u001b[1B\r\u001b[;1;31;40m▌\u001b[0m\u001b[;40m \u001b[0m\u001b[;1;33;40m\u001b[0m\u001b[;1;32;40ml\u001b[0m\u001b[;1;33;40m\u001b[0m\u001b[;1;32;40mo\u001b[0m\u001b[;1;33;40m\u001b[0m\u001b[;1;32;40mg\u001b[0m\u001b[;1;33;40m -- Show commit logs\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mwhatchanged -- Show \u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;m\u001b[0m\u001b[;32mg\u001b[0m\u001b[;ms with difference each commit introduces\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mshell -- Restricted \u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;m\u001b[0m\u001b[;32mg\u001b[0m\u001b[;min shell for Git-only SSH access\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[;30m│\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mvar -- Show a Git \u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;m\u001b[0m\u001b[;32mg\u001b[0m\u001b[;mical variable\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[;30m│\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mshortlog -- Summarize 'git \u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;m\u001b[0m\u001b[;32mg\u001b[0m\u001b[;m' output\u001b[0m\u001b[;m \u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mref\u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;m\u001b[0m\u001b[;32mg\u001b[0m\u001b[;m -- Manage reflog information\u001b[0m\u001b[;m \u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mrev-list -- Lists commit objects in reverse chrono\u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;m\u001b[0m\u001b[;32mg\u001b[0m\u001b[;mical order\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mhttp-backend -- Server side imp\u001b[0m\u001b[;32ml\u001b[0m\u001b[;mementation \u001b[0m\u001b[;32mo\u001b[0m\u001b[;mf \u001b[0m\u001b[;32mG\u001b[0m\u001b[;mit over HTTP\u001b[0m\u001b[;m \u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mpush -- Update remote refs a\u001b[0m\u001b[;32ml\u001b[0m\u001b[;m\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mn\u001b[0m\u001b[;32mg\u001b[0m\u001b[;m with associated objects\u001b[0m\u001b[;m \u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mcvsserver -- A CVS server emu\u001b[0m\u001b[;32ml\u001b[0m\u001b[;mator f\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mr \u001b[0m\u001b[;32mG\u001b[0m\u001b[;mit\u001b[0m\u001b[;m \u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mmerge-one-file -- The standard he\u001b[0m\u001b[;32ml\u001b[0m\u001b[;mper pr\u001b[0m\u001b[;32mo\u001b[0m\u001b[;m\u001b[0m\u001b[;32mg\u001b[0m\u001b[;mram to use with git-merge-index\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mcitool -- Graphical a\u001b[0m\u001b[;32ml\u001b[0m\u001b[;mternative t\u001b[0m\u001b[;32mo\u001b[0m\u001b[;m \u001b[0m\u001b[;32mg\u001b[0m\u001b[;mit-commit\u001b[0m\u001b[;m \u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mname-rev -- Find symbo\u001b[0m\u001b[;32ml\u001b[0m\u001b[;mic names f\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mr \u001b[0m\u001b[;32mg\u001b[0m\u001b[;miven revs\u001b[0m\u001b[;m \u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;mdaemon -- A really simp\u001b[0m\u001b[;32ml\u001b[0m\u001b[;me server f\u001b[0m\u001b[;32mo\u001b[0m\u001b[;mr \u001b[0m\u001b[;32mG\u001b[0m\u001b[;mit repositories\u001b[0m\u001b[;m \u001b[15A\r\u001b[5C\u001b[?25h\u001b[?7h"] +[20.606455, "o", "\u001b[?7l\u001b[?25l\r\u001b[J\u001b[?1000l\u001b[?1002l\u001b[?1006l\u001b[?25h\u001b[?7h"] +[20.607988, "o", "\u001b[?25l\u001b[A"] +[20.616937, "o", "\u001b[?12l\u001b[?25h\r\r\u001b[0m\u001b[27m\u001b[24m\u001b[Jcarapace-bin:fzf-tab# git log\u001b[K\u001b[1C"] +[20.895829, "o", "-"] +[21.060633, "o", "-"] +[21.196078, "o", "\u001b[?25l"] +[21.209664, "o", "\r\r\u001b[0m\u001b[27m\u001b[24m\u001b[Jcarapace-bin:fzf-tab# git log --"] +[21.380253, "o", "\r\n\u001b[?12l\u001b[?25h"] +[21.392611, "o", "\u001b[?7l\u001b[?25l\u001b[J\u001b[6n\u001b[?25h\u001b[?7h"] +[21.394468, "o", "\u001b[?7l\u001b[?25l\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\n\u001b[G\u001b[?1000h\u001b[?1002h\u001b[?1006h\u001b[15A\u001b[G\u001b[K\u001b[6n\u001b[?25h\u001b[?7h"] +[21.416586, "o", "\u001b[?7l\u001b[?25l\r\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[1B\r\u001b[;m \r\u001b[15A\r\r\u001b[;m \r\u001b[;1;34m>\u001b[0m\u001b[;m \u001b[0m\u001b[;1m\u001b[0m\u001b[;1m\u001b[0m\u001b[1B\r\u001b[;1;32m⠙\u001b[0m\u001b[;m \u001b[;37m0/213 (0)\u001b[0m\u001b[;30m \u001b[0m\u001b[;30m───────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[;m \u001b[1A\r\u001b[2C\u001b[1B\r\u001b[;1;32m⠙\u001b[0m\u001b[;m \u001b[;37m213/213 (0)\u001b[0m\u001b[;30m \u001b[0m\u001b[;30m─────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[;m \u001b[1B\r\u001b[;1;31;40m▌\u001b[0m\u001b[;40m \u001b[0m\u001b[;1;33;40m--abbrev -- show only a partial prefix\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[;30m│\u001b[0m\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;m--abbrev-commit -- Show a prefix that names the object uniquely\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;m--after -- Show commits more recent than a specific date\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;m--all -- Pretend as if all the refs in refs/ are listed on the command line\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;m--all-match -- Limit output to ones matching all given --grep\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;m--alternate-refs -- Pretend as if all alternate ref tips are listed on the command line\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;m--ancestry-path -- When given a range of commits to display, only display commits that exis\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;m--anchored -- Generate a diff using the \"anchored diff\" algorithm\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;m--author "] +[21.416854, "o", " -- Limit output to ones with matching author header\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;m--author-date-order -- Show no parents before all of its children are shown, but otherwise show\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;m--base -- compare with base\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;m--basic-regexp -- Consider the limiting patterns to be basic regular expressions\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;m--before -- Show commits older than a specific date.\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[1B\r\u001b[;40m \u001b[0m\u001b[;m \u001b[;m--binary -- output a binary diff\u001b[0m\u001b[;m \r\u001b[107C\u001b[;m \r\u001b[107C\u001b[15A\r\u001b[2C\r\u001b[2C\u001b[?25h\u001b[?7h"] +[21.422288, "o", "\u001b[?7l\u001b[?25l\u001b[1B\r\u001b[;m \u001b[;m \u001b[;37m213/213 (0)\u001b[0m\u001b[;30m \u001b[0m\u001b[;30m─────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[;m \u001b[1A\r\u001b[2C\u001b[?25h\u001b[?7h"] +[21.496696, "o", "\u001b[?7l\u001b[?25l\u001b[1B\r\u001b[;m \u001b[;m \u001b[;37m213/213 (0)\u001b[0m\u001b[;30m \u001b[0m\u001b[;30m─────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[;m \u001b[1A\r\u001b[2C\u001b[?25h\u001b[?7h"] +[22.313626, "o", "\u001b[?7l\u001b[?25l\r\u001b[J\u001b[?1000l\u001b[?1002l\u001b[?1006l\u001b[?25h\u001b[?7h"] +[22.314987, "o", "\u001b[?25l\u001b[A"] +[22.32319, "o", "\u001b[?12l\u001b[?25h\r\r\u001b[0m\u001b[27m\u001b[24m\u001b[Jcarapace-bin:fzf-tab# git log --abbrev\u001b[K\u001b[1C"] +[22.927171, "o", "\u001b[?2004l\r\r\n\u001b[1m\u001b[7m#\u001b[27m\u001b[1m\u001b[0m \r \r\r\u001b[0m\u001b[27m\u001b[24m\u001b[Jcarapace-bin:fzf-tab# \u001b[K\u001b[?2004h"] +[23.330841, "o", "e"] +[23.542429, "o", "\bex"] +[23.799385, "o", "i"] +[23.832292, "o", "t"] +[24.314357, "o", "\u001b[?2004l\r\r\n"] +[24.710664, "o", "Exception: \u001b[31;1mdocker exited with 130\u001b[m\r\n [tty 2]:1:1-32: \u001b[1;4mdocker compose run --rm fzf-tab \u001b[m\r\n\u001b[?7h\u001b[7m⏎\u001b[m \r \r\u001b[?7l\u001b[?2004h"] +[24.710919, "o", "\u001b[?25l\r\r\n\u001b[0;1;36mcarapace-bin\u001b[0;m on \u001b[0;1;35m master\u001b[0;m via \u001b[0;1;36m🐹 v1.23.4 \r\n\u001b[0;1;37mesh\u001b[0;m \u001b[0;1;32m❯\u001b[0;m \r\u001b[6C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"] +[24.711494, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"] +[24.740657, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"] +[24.740928, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"] +[25.195403, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[0;31me\u001b[0;m\r\u001b[7C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[7C\u001b[?25h"] +[25.392136, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[7C\u001b[0;31mx\u001b[0;m\r\u001b[8C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[8C\u001b[?25h"] +[25.621504, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[8C\u001b[0;31mi\u001b[0;m\r\u001b[9C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[9C\u001b[?25h"] +[25.714066, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[K\u001b[0;32mexit\u001b[0;m\r\u001b[10C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[10C\u001b[?25h"] +[25.865286, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\n\r\u001b[?25h\u001b[?7h\u001b[?2004l\r"] diff --git a/docs/src/release_notes/v1.x/env-spec.cast b/docs/src/release_notes/v1.2/env-spec.cast similarity index 100% rename from docs/src/release_notes/v1.x/env-spec.cast rename to docs/src/release_notes/v1.2/env-spec.cast diff --git a/docs/src/release_notes/v1.x/env.cast b/docs/src/release_notes/v1.2/env.cast similarity index 100% rename from docs/src/release_notes/v1.x/env.cast rename to docs/src/release_notes/v1.2/env.cast diff --git a/docs/src/release_notes/v1.x/unfiltered.cast b/docs/src/release_notes/v1.2/unfiltered.cast similarity index 100% rename from docs/src/release_notes/v1.x/unfiltered.cast rename to docs/src/release_notes/v1.2/unfiltered.cast diff --git a/docs/src/release_notes/v1.2/word.elvish.gif b/docs/src/release_notes/v1.2/word.elvish.gif new file mode 100644 index 0000000000..4317f848ed Binary files /dev/null and b/docs/src/release_notes/v1.2/word.elvish.gif differ diff --git a/docs/src/release_notes/v1.2/zsh.cast b/docs/src/release_notes/v1.2/zsh.cast new file mode 100644 index 0000000000..260c9baa3b --- /dev/null +++ b/docs/src/release_notes/v1.2/zsh.cast @@ -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"] diff --git a/docs/src/release_notes/v1.x.md b/docs/src/release_notes/v1.x.md index cc2decbf58..765a2327e9 100644 --- a/docs/src/release_notes/v1.x.md +++ b/docs/src/release_notes/v1.x.md @@ -3,43 +3,3 @@ ![](./v1.x/banner.png) Under development. - -## Variable - -Extracted the `set-env ` 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/