Repository: rsteube/carapace
Pull request #848 (2023-07-27 15:36:43)

doc: PreRun


Patch:
diff --git a/docs/src/carapace/gen/preInvoke.cast b/docs/src/carapace/gen/preInvoke.cast
index 18f10d1..5d27d88 100644
--- a/docs/src/carapace/gen/preInvoke.cast
+++ b/docs/src/carapace/gen/preInvoke.cast
@@ -1,98 +1,121 @@
-{"version": 2, "width": 108, "height": 24, "timestamp": 1690468606, "env": {"SHELL": "elvish", "TERM": "tmux-256color"}}
-[0.083416, "o", "\u001b[?7h\u001b[7m⏎\u001b[m                                                                                                           \r \r\u001b[?7l\u001b[?2004h"]
-[0.084147, "o", "\u001b[?25l\r???>                                                                                                   ???> \r\u001b[5C\u001b[?25h\u001b[?25l\r\u001b[5C\u001b[K\r\u001b[5C\u001b[?25h"]
-[0.095545, "o", "\u001b[?25l\r\r\u001b[5C\u001b[?25h\u001b[?25l\r\u001b[K\r\n\u001b[0;1;36mcarapace\u001b[0;m on \u001b[0;1;35m master\u001b[0;m \u001b[0;1;31m[$!]\u001b[0;m via \u001b[0;1;36m🐹 v1.20.6 \r\n\u001b[0;1;37mesh\u001b[0;m \u001b[0;1;32m❯\u001b[0;m \r\u001b[6C\u001b[?25h"]
-[1.151324, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[0;32mg\u001b[0;m\r\u001b[7C\u001b[?25h"]
-[1.151463, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[7C\u001b[?25h"]
-[1.152158, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[7C\u001b[?25h"]
-[1.172821, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[7C\u001b[?25h"]
-[1.172883, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[7C\u001b[?25h"]
-[1.658174, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[K\u001b[0;31mgi\u001b[0;m\r\u001b[8C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[8C\u001b[?25h"]
-[1.762537, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[K\u001b[0;32mgit\u001b[0;m\r\u001b[9C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[9C\u001b[?25h"]
-[1.832005, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[9C \r\u001b[10C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[10C\u001b[?25h"]
-[2.275462, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[10Cs\r\u001b[11C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[11C\u001b[?25h"]
-[2.392088, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[11Ch\r\u001b[12C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[12C\u001b[?25h"]
-[2.431143, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[12Co\r\u001b[13C\u001b[?25h"]
-[2.431653, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[13C\u001b[?25h"]
-[2.432917, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[13C\u001b[?25h"]
-[2.432979, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[13C\u001b[?25h"]
-[2.483956, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[13Cw\r\u001b[14C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[14C\u001b[?25h"]
-[2.763047, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[14C \r\u001b[15C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[15C\u001b[?25h"]
-[3.145833, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[15C\u001b[0;4m023935b\r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7m023935b\u001b[0;2;7m (tmp)                                                            \u001b[0;m  32b51ec\u001b[0;2m (coveralls: filter third_\r\n\u001b[0;m0cdfd98\u001b[0;2m (log: added separator)                                           \u001b[0;m  38a5413\u001b[0;2m (style: swap loose/strict\r\n\u001b[0;m0e03080\u001b[0;2m (test)                                                           \u001b[0;m  395a33d\u001b[0;2m (fix goreleaser)         \r\n\u001b[0;m1316601\u001b[0;2m (doc: updated default actions)                                   \u001b[0;m  3980203\u001b[0;2m (Update README.md)       \r\n\u001b[0;m1381669\u001b[0;2m (tmp)                                                            \u001b[0;m  3c1d4ce\u001b[0;2m (support FlagSet.interspe\r\n\u001b[0;m1418d45\u001b[0;2m (action: added Shift)                                            \u001b[0;m  3d2676c\u001b[0;2m (tmp)                    \r\n\u001b[0;m173b04b\u001b[0;2m (handle windows volume support in context.Abs)                   \u001b[0;m  3f79509\u001b[0;2m (action: added Retain)   \r\n\u001b[0;m1c0763e\u001b[0;2m (doc: updated structure (no content yet))                        \u001b[0;m  4157a2a\u001b[0;2m (limit test files to linu\r\n\u001b[0;m1c59156\u001b[0;2m (traverse: fix shorthand flagseries check)                       \u001b[0;m  437ada0\u001b[0;2m (tmp)                    \r\n\u001b[0;m1dce090\u001b[0;2m (spec: support hidden)                                           \u001b[0;m  4556148\u001b[0;2m (tmp)                    \r\n\u001b[0;m1e2ebf3\u001b[0;2m (InvokedAction: retain - use vararg for consistency with Action) \u001b[0;m  46e8d9a\u001b[0;2m (sandbox: unset LS_COLORS\r\n\u001b[0;m1ea9c3a\u001b[0;2m (Add support for Windows absolute path + fixes to relative paths)\u001b[0;m  4d9f50c\u001b[0;2m (standalone: fix fake hel\r\n\u001b[0;m286b1be\u001b[0;2m (tmp)                                                            \u001b[0;m  506a7fd\u001b[0;2m (doc: simpler usage examp\r\n\u001b[0;m2a465fe\u001b[0;2m (env: add `CARAPACE_HIDDEN` to show hidden)                      \u001b[0;m  528d12f\u001b[0;2m (tmp)                    \r\n\u001b[0;m2a47898\u001b[0;2m (tmp)                                                            \u001b[0;m  54dcd51\u001b[0;2m (tmp)                    \r\n\u001b[0;m2c08d5e\u001b[0;2m (tmp)                                                            \u001b[0;m  58aea7d\u001b[0;2m (tmp)                    \r\n\u001b[0;m2e131a9\u001b[0;2m (tmp)                                                            \u001b[0;m  5d20fce\u001b[0;2m (index on style-internal-\r\n\u001b[0;m2f02319\u001b[0;2m (tmp)                                                            \u001b[0;m  5ebfe84\u001b[0;2m (added Action.Split)     \r\n\u001b[0;m301b380\u001b[0;2m (tmp)                                                            \u001b[0;m  60b7b86\u001b[0;2m (traverse: fix shorthand \r\n\u001b[0;7;35m        \u001b[0;35m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0;m\u001b[20A\r\u001b[22C\u001b[?25h"]
-[5.584203, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[15C\u001b[K\r\n\u001b[J\u001b[A\r\u001b[15C\u001b[?25h"]
-[5.584336, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[15C\u001b[?25h"]
-[5.585028, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[15C\u001b[?25h"]
-[5.974633, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[14C\u001b[K\r\u001b[14C\u001b[?25h"]
-[6.134162, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[13C\u001b[K\r\u001b[13C\u001b[?25h"]
-[6.277299, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[12C\u001b[K\r\u001b[12C\u001b[?25h"]
-[6.427907, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[11C\u001b[K\r\u001b[11C\u001b[?25h"]
-[6.548215, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[10C\u001b[K\r\u001b[10C\u001b[?25h"]
-[6.751258, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[10C-\r\u001b[11C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[11C\u001b[?25h"]
-[7.169507, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[11CC\r\u001b[12C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[12C\u001b[?25h"]
-[7.630462, "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"]
-[7.898661, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[13C.\r\u001b[14C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[14C\u001b[?25h"]
-[8.094269, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[14C.\r\u001b[15C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[15C\u001b[?25h"]
-[8.171139, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[15C/\r\u001b[16C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[16C\u001b[?25h"]
-[8.452812, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[16Ce\r\u001b[17C\u001b[?25h"]
-[8.452908, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[17C\u001b[?25h"]
-[8.554959, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[17Cl\r\u001b[18C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[18C\u001b[?25h"]
-[8.65547, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[18Cv\r\u001b[19C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[19C\u001b[?25h"]
-[8.719069, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[19Ci\r\u001b[20C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[20C\u001b[?25h"]
-[8.989369, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[20Csh/\r\u001b[23C\u001b[?25h"]
-[9.622722, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[23C \r\u001b[24C\u001b[?25h"]
-[9.622788, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[24C\u001b[?25h"]
-[9.79223, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[24Cs\r\u001b[25C\u001b[?25h"]
-[9.920223, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[25Ch\r\u001b[26C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[26C\u001b[?25h"]
-[9.944085, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[26Co\r\u001b[27C\u001b[?25h"]
-[9.944177, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[27C\u001b[?25h"]
-[10.017157, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[27Cw\r\u001b[28C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[28C\u001b[?25h"]
-[10.132054, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[28C \r\u001b[29C\u001b[?25h"]
-[10.132518, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[29C\u001b[?25h"]
-[10.133171, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[29C\u001b[?25h"]
-[10.133394, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[29C\u001b[?25h"]
-[10.361707, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[29C\u001b[0;4m0557e2a\r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7m0557e2a\u001b[0;2;7m (pkg/eval/evaltests: Make APIs of special matchers functions.)    \u001b[0;m  2b68c2d\u001b[0;2m (Bump dependencies.)    \r\n\u001b[0;m058f981\u001b[0;2m (pkg/eval: Fix the equality test in \"has-value\".)                 \u001b[0;m  2dc067d\u001b[0;2m (Fix some Go build/lint/\r\n\u001b[0;m059a849\u001b[0;2m (pkg/edit/highlight: Highlight arguments to \"del\".)               \u001b[0;m  2e1a1e1\u001b[0;2m (Update stat_unix.go)   \r\n\u001b[0;m06ac651\u001b[0;2m (Implement `str:fields`)                                          \u001b[0;m  2f8b0f7\u001b[0;2m (LICENSE: Capitalize \"El\r\n\u001b[0;m0adf0ec\u001b[0;2m (Use the unix build tag.)                                         \u001b[0;m  2fe4512\u001b[0;2m (pkg/eval/vals: Make Rep\r\n\u001b[0;m0b2c6d5\u001b[0;2m (.cirrus.yml: Fix OpenBSD image family.)                          \u001b[0;m  33cca98\u001b[0;2m (pkg/sys/ewindows: Regen\r\n\u001b[0;m0e9287f\u001b[0;2m (vscode/sample.elv: Add trailing newline.)                        \u001b[0;m  34b115d\u001b[0;2m (Bump prog.DeprecationLe\r\n\u001b[0;m155ea5a\u001b[0;2m (pkg/eval: Bump the sleep time in the test for peach more.)       \u001b[0;m  34bd94d\u001b[0;2m (Remove obsolete build c\r\n\u001b[0;m17a41af\u001b[0;2m (vscode: Bump dependencies and version number.)                   \u001b[0;m  34cc365\u001b[0;2m (pkg/cli/modes: Fix the \r\n\u001b[0;m1974b30\u001b[0;2m (pkg/lsp: Store parse results synchronously; add tests for hover.)\u001b[0;m  360102f\u001b[0;2m (Advertise 0.19.2 as the\r\n\u001b[0;m19bd75d\u001b[0;2m (pkg/eval: Make the peach test cases print $best-run on failure.) \u001b[0;m  37f8c47\u001b[0;2m (Update VersionBase to 0\r\n\u001b[0;m1a65886\u001b[0;2m (Make vscode/LICENSE a copy of LICENSE.)                          \u001b[0;m  3820769\u001b[0;2m (elv.sh/get: add instruc\r\n\u001b[0;m1e249ed\u001b[0;2m (pkg/eval.cmp -> pkg/eval/vals.Cmp.)                              \u001b[0;m  3845a2c\u001b[0;2m (Expose stack traces in \r\n\u001b[0;m2493659\u001b[0;2m (.cirrus.yml: Bump NetBSD to 9.3.)                                \u001b[0;m  3dad55a\u001b[0;2m (Remove some external co\r\n\u001b[0;m25a1a7b\u001b[0;2m (0.20.0 release notes: Document the new LSP hover support.)       \u001b[0;m  3f4bbff\u001b[0;2m (pkg/eval: Add option fo\r\n\u001b[0;m25e27d6\u001b[0;2m (pkg/eval/vals: Make Cmp(a, b) return CmpEqual if Equal(a, b).)   \u001b[0;m  4172348\u001b[0;2m (Fix exception capture e\r\n\u001b[0;m278cce6\u001b[0;2m (pkg/lsp: Fix display of code blocks in on-hover docs.)           \u001b[0;m  4187d41\u001b[0;2m (pkg/cli: Notify about u\r\n\u001b[0;m27f34b8\u001b[0;2m (pkg/lsp: Return doc when hovering on the first character of a ..)\u001b[0;m  4b67567\u001b[0;2m (Bump required Go versio\r\n\u001b[0;m2a4740a\u001b[0;2m (pkg/sys/eunix: Simplify build constraints for the termiosFlag ..)\u001b[0;m  531ea80\u001b[0;2m (Bump version of staticc\r\n\u001b[0;7;35m              \u001b[0;35m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0;m\u001b[20A\r\u001b[22C\u001b[?25h"]
-[14.167952, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[29C\u001b[K\r\n\u001b[J\u001b[A\r\u001b[29C\u001b[?25h"]
-[14.168069, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[29C\u001b[?25h"]
-[14.168808, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[29C\u001b[?25h"]
-[14.169126, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[29C\u001b[?25h"]
-[14.554689, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[28C\u001b[K\r\u001b[28C\u001b[?25h"]
-[15.155578, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[27C\u001b[K\r\u001b[27C\u001b[?25h"]
-[15.1954, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[26C\u001b[K\r\u001b[26C\u001b[?25h"]
-[15.235606, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[25C\u001b[K\r\u001b[25C\u001b[?25h"]
-[15.275349, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[24C\u001b[K\r\u001b[24C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[24C\u001b[?25h"]
-[15.314775, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[23C\u001b[K\r\u001b[23C\u001b[?25h"]
-[15.35515, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[22C\u001b[K\r\u001b[22C\u001b[?25h"]
-[15.394191, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[21C\u001b[K\r\u001b[21C\u001b[?25h"]
-[15.435122, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[20C\u001b[K\r\u001b[20C\u001b[?25h"]
-[15.474633, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[19C\u001b[K\r\u001b[19C\u001b[?25h"]
-[15.514912, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[18C\u001b[K\r\u001b[18C\u001b[?25h"]
-[15.554961, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[17C\u001b[K\r\u001b[17C\u001b[?25h"]
-[15.594752, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[16C\u001b[K\r\u001b[16C\u001b[?25h"]
-[15.635143, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[15C\u001b[K\r\u001b[15C\u001b[?25h"]
-[15.741901, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[14C\u001b[K\r\u001b[14C\u001b[?25h"]
-[15.911831, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[13C\u001b[K\r\u001b[13C\u001b[?25h"]
-[16.165314, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[13C/\r\u001b[14C\u001b[?25h"]
-[16.165406, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[14C\u001b[?25h"]
-[16.370466, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[14Ct\r\u001b[15C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[15C\u001b[?25h"]
-[16.472043, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[15Cm\r\u001b[16C\u001b[?25h"]
-[16.623084, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[16Cp/\r\u001b[18C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[18C\u001b[?25h"]
-[17.050542, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[18C \r\u001b[19C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[19C\u001b[?25h"]
-[17.190621, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[19Cs\r\u001b[20C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[20C\u001b[?25h"]
-[17.319039, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[20Ch\r\u001b[21C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[21C\u001b[?25h"]
-[17.364851, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[21Co\r\u001b[22C\u001b[?25h"]
-[17.36551, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[22C\u001b[?25h"]
-[17.409142, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[22Cw\r\u001b[23C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[23C\u001b[?25h"]
-[17.501947, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[23C \r\u001b[24C\u001b[?25h"]
-[17.502036, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[24C\u001b[?25h"]
-[17.946912, "o", "\u001b[?25l\u001b[2A\r\u001b[0;31merror: \u001b[0;mfatal: not a git repository (or any parent up to mount point /)\u001b[K\r\n\u001b[0;31merror:\u001b[0;m no candidates\u001b[K\r\n\u001b[K\r\n\u001b[K\u001b[0;1;36mcarapace\u001b[0;m on \u001b[0;1;35m master\u001b[0;m \u001b[0;1;31m[$!]\u001b[0;m via \u001b[0;1;36m🐹 v1.20.6 \r\n\u001b[0;1;37mesh\u001b[0;m \u001b[0;1;32m❯\u001b[0;m \u001b[0;32mgit\u001b[0;m -C /tmp/ show \r\u001b[24C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[24C\u001b[?25h"]
-[20.91478, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[K\r\u001b[6C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"]
-[20.915483, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"]
-[20.931791, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"]
-[20.931938, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"]
-[21.217464, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[0;31me\u001b[0;m\r\u001b[7C\u001b[?25h"]
-[21.217564, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[7C\u001b[?25h"]
-[21.391125, "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"]
-[21.502706, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[8C\u001b[0;31mi\u001b[0;m\r\u001b[9C\u001b[?25h"]
-[21.502803, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[9C\u001b[?25h"]
-[21.611975, "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"]
-[21.717409, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\n\r\u001b[?25h\u001b[?7h\u001b[?2004l\r"]
+{"version": 2, "width": 108, "height": 24, "timestamp": 1690472050, "env": {"SHELL": "elvish", "TERM": "tmux-256color"}}
+[0.085416, "o", "\u001b[?7h\u001b[7m⏎\u001b[m                                                                                                           \r \r\u001b[?7l\u001b[?2004h"]
+[0.085991, "o", "\u001b[?25l\r???>                                                                                                   ???> \r\u001b[5C\u001b[?25h\u001b[?25l\r\u001b[5C\u001b[K\r\u001b[5C\u001b[?25h"]
+[0.100115, "o", "\u001b[?25l\r\u001b[K\r\n\u001b[0;1;36mcarapace/example\u001b[0;m on \u001b[0;1;35m doc-preinvoke\u001b[0;m \u001b[0;1;31m[$!?]\u001b[0;m via \u001b[0;1;36m🐹 v1.20.6 \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"]
+[0.804954, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[0;31me\u001b[0;m\r\u001b[7C\u001b[?25h"]
+[0.80541, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[7C\u001b[?25h"]
+[0.820197, "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"]
+[1.002453, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[7C\u001b[0;31mx\u001b[0;m\r\u001b[8C\u001b[?25h"]
+[1.003063, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[8C\u001b[?25h"]
+[1.117961, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[K\u001b[0;32mexa\u001b[0;m\r\u001b[9C\u001b[?25h"]
+[1.248205, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[K\u001b[0;31mexam\u001b[0;m\r\u001b[10C\u001b[?25h"]
+[1.248295, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[10C\u001b[?25h"]
+[1.305516, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[10C\u001b[0;31mp\u001b[0;m\r\u001b[11C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[11C\u001b[?25h"]
+[1.448352, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[11C\u001b[0;31ml\u001b[0;m\r\u001b[12C\u001b[?25h"]
+[1.448441, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[12C\u001b[?25h"]
+[1.514473, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[K\u001b[0;32mexample\u001b[0;m\r\u001b[13C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[13C\u001b[?25h"]
+[1.579553, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[13C \r\u001b[14C\u001b[?25h"]
+[1.580061, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[14C\u001b[?25h"]
+[1.580628, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[14C\u001b[?25h"]
+[1.58149, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[14C\u001b[?25h"]
+[1.582126, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[14C\u001b[?25h"]
+[1.582297, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[14C\u001b[?25h"]
+[1.761046, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[14Ca\r\u001b[15C\u001b[?25h"]
+[1.761571, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[15C\u001b[?25h"]
+[1.84681, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[15Cc\r\u001b[16C\u001b[?25h"]
+[1.846909, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[16C\u001b[?25h"]
+[2.026817, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[16Ction \r\u001b[21C\u001b[?25h"]
+[2.551534, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[21C-\r\u001b[22C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[22C\u001b[?25h"]
+[2.590967, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[22C\u001b[?25h"]
+[2.704621, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[22C-\r\u001b[23C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[23C\u001b[?25h"]
+[2.955588, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[23Cf\r\u001b[24C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[24C\u001b[?25h"]
+[3.05149, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[24Ci\r\u001b[25C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[25C\u001b[?25h"]
+[3.157058, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[25Cles\r\u001b[28C\u001b[?25h"]
+[3.750731, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[28C \r\u001b[29C\u001b[?25h"]
+[3.750839, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[29C\u001b[?25h"]
+[3.825389, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[29C\u001b[0;4mREADME.md \r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7;38;2;255;184;108mREADME.md\u001b[0;m  \u001b[0;38;2;189;147;249m_test/\u001b[0;m  \u001b[0;38;2;189;147;249mcmd/\u001b[0;m  \u001b[0;38;2;255;184;108mmain.go\u001b[0;m  \u001b[0;38;2;255;184;108mmain_test.go\u001b[0;m\u001b[1A\r\u001b[22C\u001b[?25h"]
+[4.788739, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[29C\u001b[K\u001b[0;4m_test/\r\n\r\n\u001b[0;m\u001b[K\u001b[0;38;2;255;184;108mREADME.md\u001b[0;m  \u001b[0;7;38;2;189;147;249m_test/\u001b[0;m  \u001b[0;38;2;189;147;249mcmd/\u001b[0;m  \u001b[0;38;2;255;184;108mmain.go\u001b[0;m  \u001b[0;38;2;255;184;108mmain_test.go\u001b[0;m\u001b[1A\r\u001b[22C\u001b[?25h"]
+[5.119222, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[29C\u001b[K_test/\r\n\u001b[J\u001b[A\r\u001b[35C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[35C\u001b[?25h"]
+[5.294037, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[35Cinvoke_\r\u001b[42C\u001b[?25h"]
+[5.754407, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[29C\u001b[K\u001b[0;4m_test/invoke_bash \r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7;38;2;80;250;123minvoke_bash  \u001b[0;m  \u001b[0;38;2;80;250;123minvoke_fish\u001b[0;m  \u001b[0;38;2;80;250;123minvoke_powershell\u001b[0;m  \u001b[0;38;2;139;233;253minvoke_zsh\r\n\u001b[0;38;2;80;250;123minvoke_elvish\u001b[0;m  \u001b[0;38;2;80;250;123minvoke_oil \u001b[0;m  \u001b[0;38;2;80;250;123minvoke_xonsh     \u001b[0;m\u001b[2A\r\u001b[22C\u001b[?25h"]
+[6.276845, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[42C\u001b[K\u001b[0;4melvish \r\n\r\n\u001b[0;m\u001b[K\u001b[0;38;2;80;250;123minvoke_bash  \u001b[0;m  \u001b[0;38;2;80;250;123minvoke_fish\u001b[0;m  \u001b[0;38;2;80;250;123minvoke_powershell\u001b[0;m  \u001b[0;38;2;139;233;253minvoke_zsh\r\n\u001b[0;m\u001b[K\u001b[0;7;38;2;80;250;123minvoke_elvish\u001b[0;m  \u001b[0;38;2;80;250;123minvoke_oil \u001b[0;m  \u001b[0;38;2;80;250;123minvoke_xonsh     \u001b[0;m\u001b[2A\r\u001b[22C\u001b[?25h"]
+[6.426325, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[42C\u001b[K\u001b[0;4mfish \r\n\r\n\u001b[15C\u001b[0;m\u001b[K\u001b[0;7;38;2;80;250;123minvoke_fish\u001b[0;m  \u001b[0;38;2;80;250;123minvoke_powershell\u001b[0;m  \u001b[0;38;2;139;233;253minvoke_zsh\r\n\u001b[0;m\u001b[K\u001b[0;38;2;80;250;123minvoke_elvish\u001b[0;m  \u001b[0;38;2;80;250;123minvoke_oil \u001b[0;m  \u001b[0;38;2;80;250;123minvoke_xonsh     \u001b[0;m\u001b[2A\r\u001b[22C\u001b[?25h"]
+[7.021616, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[29C\u001b[K_test/invoke_fish \r\n\u001b[J\u001b[A\r\u001b[47C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[47C\u001b[?25h"]
+[7.577662, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[46C\u001b[K\r\u001b[46C\u001b[?25h"]
+[8.178756, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[45C\u001b[K\r\u001b[45C\u001b[?25h"]
+[8.218693, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[44C\u001b[K\r\u001b[44C\u001b[?25h"]
+[8.258223, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[43C\u001b[K\r\u001b[43C\u001b[?25h"]
+[8.298089, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[42C\u001b[K\r\u001b[42C\u001b[?25h"]
+[8.337861, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[41C\u001b[K\r\u001b[41C\u001b[?25h"]
+[8.378634, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[40C\u001b[K\r\u001b[40C\u001b[?25h"]
+[8.418626, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[39C\u001b[K\r\u001b[39C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[39C\u001b[?25h"]
+[8.458683, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[38C\u001b[K\r\u001b[38C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[38C\u001b[?25h"]
+[8.498663, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[37C\u001b[K\r\u001b[37C\u001b[?25h"]
+[8.538734, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[36C\u001b[K\r\u001b[36C\u001b[?25h"]
+[8.578535, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[35C\u001b[K\r\u001b[35C\u001b[?25h"]
+[8.618612, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[34C\u001b[K\r\u001b[34C\u001b[?25h"]
+[8.658487, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[33C\u001b[K\r\u001b[33C\u001b[?25h"]
+[8.698607, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[32C\u001b[K\r\u001b[32C\u001b[?25h"]
+[8.738437, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[31C\u001b[K\r\u001b[31C\u001b[?25h"]
+[8.777996, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[30C\u001b[K\r\u001b[30C\u001b[?25h"]
+[8.818455, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[29C\u001b[K\r\u001b[29C\u001b[?25h"]
+[8.857935, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[28C\u001b[K\r\u001b[28C\u001b[?25h"]
+[8.898447, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[27C\u001b[K\r\u001b[27C\u001b[?25h"]
+[8.938079, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[26C\u001b[K\r\u001b[26C\u001b[?25h"]
+[8.978217, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[25C\u001b[K\r\u001b[25C\u001b[?25h"]
+[9.018756, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[24C\u001b[K\r\u001b[24C\u001b[?25h"]
+[9.058124, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[23C\u001b[K\r\u001b[23C\u001b[?25h"]
+[9.098599, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[22C\u001b[K\r\u001b[22C\u001b[?25h"]
+[9.138431, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[21C\u001b[K\r\u001b[21C\u001b[?25h"]
+[9.178685, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[20C\u001b[K\r\u001b[20C\u001b[?25h"]
+[9.218484, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[19C\u001b[K\r\u001b[19C\u001b[?25h"]
+[9.258436, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[18C\u001b[K\r\u001b[18C\u001b[?25h"]
+[9.298111, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[17C\u001b[K\r\u001b[17C\u001b[?25h"]
+[9.338288, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[16C\u001b[K\r\u001b[16C\u001b[?25h"]
+[9.338374, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[16C\u001b[?25h"]
+[9.378522, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[15C\u001b[K\r\u001b[15C\u001b[?25h"]
+[9.418599, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[14C\u001b[K\r\u001b[14C\u001b[?25h"]
+[9.700994, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[14C-\r\u001b[15C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[15C\u001b[?25h"]
+[10.071733, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[15CC\r\u001b[16C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[16C\u001b[?25h"]
+[10.387561, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[16C \r\u001b[17C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[17C\u001b[?25h"]
+[10.508603, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[17C/\r\u001b[18C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[18C\u001b[?25h"]
+[10.619477, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[17C\u001b[K\u001b[0;4m/bin/\r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7;38;2;189;147;249mbin/ \u001b[0;m  \u001b[0;38;2;189;147;249metc/ \u001b[0;m  \u001b[0;38;2;189;147;249mlib64/     \u001b[0;m  \u001b[0;38;2;189;147;249mmnt/\u001b[0;m  \u001b[0;38;2;189;147;249mproc/\u001b[0;m  \u001b[0;38;2;189;147;249msbin/\u001b[0;m  \u001b[0;38;2;40;42;54;48;2;80;250;123mtmp/\r\n\u001b[0;38;2;189;147;249mboot/\u001b[0;m  \u001b[0;38;2;189;147;249mhome/\u001b[0;m  \u001b[0;38;2;189;147;249mlost+found/\u001b[0;m  \u001b[0;38;2;189;147;249mnix/\u001b[0;m  \u001b[0;38;2;189;147;249mroot/\u001b[0;m  \u001b[0;38;2;189;147;249msrv/ \u001b[0;m  \u001b[0;38;2;189;147;249musr/\r\ndev/ \u001b[0;m  \u001b[0;38;2;189;147;249mlib/ \u001b[0;m  \u001b[0;38;2;189;147;249mmedia/     \u001b[0;m  \u001b[0;38;2;189;147;249mopt/\u001b[0;m  \u001b[0;38;2;189;147;249mrun/ \u001b[0;m  \u001b[0;38;2;189;147;249msys/ \u001b[0;m  \u001b[0;38;2;189;147;249mvar/\u001b[0;m\u001b[3A\r\u001b[22C\u001b[?25h"]
+[11.129255, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[19C\u001b[K\u001b[0;4moot/\r\n\u001b[22C\u001b[0;mt\r\n\u001b[1C\u001b[K\u001b[0;7;38;2;189;147;249moot/\u001b[0;m  \u001b[0;38;2;189;147;249metc/\u001b[0;m  \u001b[0;38;2;189;147;249mlost+found/\u001b[0;m  \u001b[0;38;2;189;147;249mmnt/\u001b[0;m  \u001b[0;38;2;189;147;249mopt/\u001b[0;m  \u001b[0;38;2;189;147;249mroot/\u001b[0;m  \u001b[0;38;2;40;42;54;48;2;80;250;123mtmp/\u001b[0;m\r\n\u001b[J\u001b[A\u001b[1A\r\u001b[23C\u001b[?25h"]
+[11.129339, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\r\n\u001b[1A\r\u001b[23C\u001b[?25h"]
+[11.229201, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[18C\u001b[K\u001b[0;4mtmp/\r\n\u001b[23C\u001b[0;mm\r\n\u001b[K\u001b[0;7;38;2;40;42;54;48;2;80;250;123mtmp/\u001b[0;m\u001b[1A\r\u001b[24C\u001b[?25h\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\r\n\u001b[1A\r\u001b[24C\u001b[?25h"]
+[11.840267, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[17C\u001b[K/tmp/\r\n\u001b[J\u001b[A\r\u001b[22C\u001b[?25h"]
+[11.840718, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[22C\u001b[?25h"]
+[12.269625, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[22C \r\u001b[23C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[23C\u001b[?25h"]
+[13.025044, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[23Ca\r\u001b[24C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[24C\u001b[?25h"]
+[13.279209, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[23C\u001b[K\u001b[0;4maction \r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7;34maction\u001b[0;2;7m (action example)\u001b[0;m  \u001b[0;34malias\u001b[0;2m (action example)\u001b[0;m\u001b[1A\r\u001b[22C\u001b[?25h"]
+[13.909791, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[23C\u001b[Kaction \r\n\u001b[J\u001b[A\r\u001b[30C\u001b[?25h"]
+[13.910348, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[30C\u001b[?25h"]
+[14.145138, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[30C-\r\u001b[31C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[31C\u001b[?25h"]
+[14.301307, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[31C-\r\u001b[32C\u001b[?25h"]
+[14.301409, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[32C\u001b[?25h"]
+[14.383167, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[32Cf\r\u001b[33C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[33C\u001b[?25h"]
+[14.504405, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[33Ci\r\u001b[34C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[34C\u001b[?25h"]
+[14.589186, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[34Cles\r\u001b[37C\u001b[?25h"]
+[15.071461, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[37C \r\u001b[38C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[38C\u001b[?25h"]
+[15.18933, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[38C\u001b[0;4mcarapace/\r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7;38;2;189;147;249mcarapace/                             \u001b[0;m  \u001b[0;38;2;189;147;249mgopls-41451.1/             \u001b[0;m  \u001b[0;38;2;58;60;78mswayrd.log                             \r\n\u001b[0;38;2;241;250;140;48;2;40;42;54mclr-debug-pipe-41155-855638-in        \u001b[0;m  \u001b[0;38;2;189;147;249mgopls-41995.1/             \u001b[0;m  \u001b[0;38;2;58;60;78msworkstyle.lock                        \r\n\u001b[0;38;2;241;250;140;48;2;40;42;54mclr-debug-pipe-41155-855638-out       \u001b[0;m  \u001b[0;38;2;189;147;249mgopls-47062.1/             \u001b[0;m  \u001b[0;38;2;58;60;78msworkstyle.log                         \r\n\u001b[0;38;2;241;250;140;48;2;40;42;54mclr-debug-pipe-64959-2249447-in       \u001b[0;m  \u001b[0;38;2;189;147;249mgopls-52740.1/             \u001b[0;m  \u001b[0;38;2;189;147;249msystem-commandline-sentinel-files/     \r\n\u001b[0;38;2;241;250;140;48;2;40;42;54mclr-debug-pipe-64959-2249447-out      \u001b[0;m  \u001b[0;38;2;189;147;249mgopls-69611.1/             \u001b[0;m  \u001b[0;38;2;189;147;249msystemd-private-7ace8c4ae3c74db9bbf0cf3\r\n\u001b[0;38;2;241;250;140;48;2;40;42;54mclr-debug-pipe-70968-2526155-in       \u001b[0;m  \u001b[0;38;2;189;147;249mgopls-75631.1/             \u001b[0;m  \u001b[0;38;2;189;147;249msystemd-private-7ace8c4ae3c74db9bbf0cf3\r\n\u001b[0;38;2;241;250;140;48;2;40;42;54mclr-debug-pipe-70968-2526155-out      \u001b[0;m  \u001b[0;38;2;189;147;249mgopls-79341.1/             \u001b[0;m  \u001b[0;38;2;189;147;249msystemd-private-7ace8c4ae3c74db9bbf0cf3\r\n\u001b[0;38;2;241;250;140;48;2;40;42;54mclr-debug-pipe-73790-2607231-in       \u001b[0;m  \u001b[0;38;2;255;184;108mgopls-diff-stats-1221870294\u001b[0;m  \u001b[0;38;2;189;147;249msystemd-private-7ace8c4ae3c74db9bbf0cf3\r\n\u001b[0;38;2;241;250;140;48;2;40;42;54mclr-debug-pipe-73790-2607231-out      \u001b[0;m  \u001b[0;38;2;255;184;108mgopls-diff-stats-2827717693\u001b[0;m  \u001b[0;38;2;189;147;249msystemd-private-7ace8c4ae3c74db9bbf0cf3\r\n\u001b[0;38;2;241;250;140;48;2;40;42;54mclr-debug-pipe-74561-2625665-in       \u001b[0;m  \u001b[0;38;2;255;184;108mgopls-diff-stats-3062697879\u001b[0;m  \u001b[0;38;2;189;147;249mtmux-1000/                             \r\n\u001b[0;38;2;241;250;140;48;2;40;42;54mclr-debug-pipe-74561-2625665-out      \u001b[0;m  \u001b[0;38;2;255;184;108mgopls-diff-stats-3157216673\u001b[0;m  \u001b[0;38;2;189;147;249mwl-copy-buffer-W24oTy/                 \r\n\u001b[0;38;2;241;250;140;48;2;40;42;54mclr-debug-pipe-79035-2761176-in       \u001b[0;m  \u001b[0;38;2;255;184;108mgopls-diff-stats-3475517680\r\n\u001b[0;38;2;241;250;140;48;2;40;42;54mclr-debug-pipe-79035-2761176-out      \u001b[0;m  \u001b[0;38;2;255;184;108mgopls-diff-stats-3533426502\r\n\u001b[0;1;38;2;255;121;198;48;2;40;42;54mdotnet-diagnostic-64959-2249447-socket\u001b[0;m  \u001b[0;38;2;255;184;108mgopls-diff-stats-354381013 \r\n\u001b[0;1;38;2;255;121;198;48;2;40;42;54mdotnet-diagnostic-70968-2526155-socket\u001b[0;m  \u001b[0;38;2;255;184;108mgopls-diff-stats-3823448706\r\n\u001b[0;1;38;2;255;121;198;48;2;40;42;54mdotnet-diagnostic-79035-2761176-socket\u001b[0;m  \u001b[0;38;2;255;184;108mgopls-diff-stats-3959872384\r\nfile with space.txt                   \u001b[0;m  \u001b[0;38;2;255;184;108mgopls-diff-stats-4196713923\r\n\u001b[0;38;2;189;147;249mgh-cli-cache/                         \u001b[0;m  \u001b[0;38;2;255;184;108mgopls-diff-stats-504177185 \r\n\u001b[0;38;2;189;147;249mgopls-29918.1/                        \u001b[0;m  \u001b[0;38;2;255;184;108mgopls-diff-stats-751390123 \r\n\u001b[0;7;35m                                                                                                            \u001b[0;m\u001b[20A\r\u001b[22C\u001b[?25h"]
+[15.833294, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[39C\u001b[K\u001b[0;4mlr-debug-pipe-41155-855638-in \r\n\r\n\u001b[0;m\u001b[K\u001b[0;38;2;189;147;249mcarapace/                             \u001b[0;m  \u001b[0;38;2;189;147;249mgopls-41451.1/             \u001b[0;m  \u001b[0;38;2;58;60;78mswayrd.log                             \r\n\u001b[0;m\u001b[K\u001b[0;7;38;2;241;250;140;48;2;40;42;54mclr-debug-pipe-41155-855638-in        \u001b[0;m  \u001b[0;38;2;189;147;249mgopls-41995.1/             \u001b[0;m  \u001b[0;38;2;58;60;78msworkstyle.lock                        \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[0;m\u001b[20A\r\u001b[22C\u001b[?25h"]
+[16.378583, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[38C\u001b[K\u001b[0;4mgopls-41995.1/\r\n\r\n\r\n\u001b[0;m\u001b[K\u001b[0;38;2;241;250;140;48;2;40;42;54mclr-debug-pipe-41155-855638-in        \u001b[0;m  \u001b[0;7;38;2;189;147;249mgopls-41995.1/             \u001b[0;m  \u001b[0;38;2;58;60;78msworkstyle.lock                        \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[0;m\u001b[20A\r\u001b[22C\u001b[?25h"]
+[16.664137, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[38C\u001b[K\u001b[0;4msworkstyle.lock \r\n\r\n\u001b[0;m\u001b[K\u001b[0;38;2;58;60;78mswayrd.log                                                                        \r\n\u001b[0;m\u001b[K\u001b[0;7;38;2;58;60;78msworkstyle.lock                                                                   \r\n\u001b[0;m\u001b[K\u001b[0;38;2;58;60;78msworkstyle.log                                                                    \r\n\u001b[0;m\u001b[K\u001b[0;38;2;189;147;249msystem-commandline-sentinel-files/                                                \r\n\u001b[0;m\u001b[K\u001b[0;38;2;189;147;249msystemd-private-7ace8c4ae3c74db9bbf0cf351fd5245a-bluetooth.service-bBIG6d/        \r\n\u001b[0;m\u001b[K\u001b[0;38;2;189;147;249msystemd-private-7ace8c4ae3c74db9bbf0cf351fd5245a-colord.service-3jvcDG/           \r\n\u001b[0;m\u001b[K\u001b[0;38;2;189;147;249msystemd-private-7ace8c4ae3c74db9bbf0cf351fd5245a-systemd-logind.service-rorpLy/   \r\n\u001b[0;m\u001b[K\u001b[0;38;2;189;147;249msystemd-private-7ace8c4ae3c74db9bbf0cf351fd5245a-systemd-timesyncd.service-9N60pH/\r\n\u001b[0;m\u001b[K\u001b[0;38;2;189;147;249msystemd-private-7ace8c4ae3c74db9bbf0cf351fd5245a-upower.service-wnarlB/           \r\n\u001b[0;m\u001b[K\u001b[0;38;2;189;147;249mtmux-1000/                                                                        \r\n\u001b[0;m\u001b[K\u001b[0;38;2;189;147;249mwl-copy-buffer-W24oTy/                                                            \r\n\u001b[0;m\u001b[K\u001b[0;35m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0;7;35m                        \u001b[0;m\r\n\u001b[J\u001b[A\u001b[12A\r\u001b[22C\u001b[?25h"]
+[17.06122, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[51C\u001b[K\u001b[0;4mg \r\n\r\n\r\n\u001b[0;m\u001b[K\u001b[0;38;2;58;60;78msworkstyle.lock                                                                   \r\n\u001b[0;m\u001b[K\u001b[0;7;38;2;58;60;78msworkstyle.log                                                                    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\u001b[0;m\u001b[12A\r\u001b[22C\u001b[?25h"]
+[17.063723, "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\u001b[12A\r\u001b[22C\u001b[?25h"]
+[17.064934, "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\u001b[12A\r\u001b[22C\u001b[?25h"]
+[17.240373, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[39C\u001b[K\u001b[0;4mystem-commandline-sentinel-files/\r\n\r\n\r\n\r\n\u001b[0;m\u001b[K\u001b[0;38;2;58;60;78msworkstyle.log                                                                    \r\n\u001b[0;m\u001b[K\u001b[0;7;38;2;189;147;249msystem-commandline-sentinel-files/                                                \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\u001b[0;m\u001b[12A\r\u001b[22C\u001b[?25h"]
+[17.241287, "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\u001b[12A\r\u001b[22C\u001b[?25h"]
+[17.401017, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[44C\u001b[K\u001b[0;4md-private-7ace8c4ae3c74db9bbf0cf351fd5245a-bluetooth.service-bBI\r\n\u001b[0;m\u001b[K\u001b[0;4mG6d/\r\n\u001b[0;m\u001b[K\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[K\u001b[0;38;2;255;184;108mgopls-diff-stats-504177185                                                        \r\n\u001b[0;m\u001b[K\u001b[0;38;2;255;184;108mgopls-diff-stats-751390123                                                        \r\n\u001b[0;m\u001b[K\u001b[0;38;2;58;60;78mswayrd.log                                                                        \r\n\u001b[0;m\u001b[K\u001b[0;38;2;58;60;78msworkstyle.lock                                                                   \r\n\u001b[0;m\u001b[K\u001b[0;38;2;58;60;78msworkstyle.log                                                                    \r\n\u001b[6C\u001b[0;m\u001b[K\u001b[0;38;2;189;147;249m-commandline-sentinel-files/                                                \r\n\u001b[0;m\u001b[K\u001b[0;7;38;2;189;147;249msystemd-private-7ace8c4ae3c74db9bbf0cf351fd5245a-bluetooth.service-bBIG6d/        \r\n\u001b[49C\u001b[0;m\u001b[K\u001b[0;38;2;189;147;249mcolord.service-3jvcDG/           \r\n\u001b[0;m\u001b[K\u001b[0;38;2;189;147;249msystemd-private-7ace8c4ae3c74db9bbf0cf351fd5245a-systemd-logind.service-rorpLy/   \r\n\u001b[0;m\u001b[K\u001b[0;38;2;189;147;249msystemd-private-7ace8c4ae3c74db9bbf0cf351fd5245a-systemd-timesyncd.service-9N60pH/\r\n\u001b[0;m\u001b[K\u001b[0;38;2;189;147;249msystemd-private-7ace8c4ae3c74db9bbf0cf351fd5245a-upower.service-wnarlB/           \r\ntmux-1000/                                                                        \r\nwl-copy-buffer-W24oTy/                                                            \r\n\u001b[0;35m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0;7;35m                             \u001b[0;m\u001b[14A\r\u001b[22C\u001b[?25h"]
+[17.581383, "o", "\u001b[?25l\u001b[4A\r\r\n\r\n\u001b[87C\u001b[K\u001b[0;4mcolord.service-3jvcDG\r\n\u001b[0;m\u001b[K\u001b[0;4m/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\u001b[0;m\u001b[K\u001b[0;38;2;189;147;249msystemd-private-7ace8c4ae3c74db9bbf0cf351fd5245a-bluetooth.service-bBIG6d/        \r\n\u001b[0;m\u001b[K\u001b[0;7;38;2;189;147;249msystemd-private-7ace8c4ae3c74db9bbf0cf351fd5245a-colord.service-3jvcDG/           \r\n\r\n\r\n\r\n\r\n\r\n\u001b[0;m\u001b[14A\r\u001b[22C\u001b[?25h"]
+[18.676561, "o", "\u001b[?25l\u001b[4A\r\r\n\r\n\u001b[6C\u001b[K\r\n\u001b[J\u001b[A\r\u001b[6C\u001b[?25h"]
+[18.676942, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"]
+[18.677098, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"]
+[18.696004, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"]
+[18.696129, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"]
+[19.711183, "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"]
+[19.914964, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[7C\u001b[0;31mx\u001b[0;m\r\u001b[8C\u001b[?25h"]
+[20.064257, "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"]
+[20.159105, "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"]
+[20.159206, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[10C\u001b[?25h"]
+[21.024886, "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/carapace/gen/preInvoke.md b/docs/src/carapace/gen/preInvoke.md
index f463c4d..4798372 100644
--- a/docs/src/carapace/gen/preInvoke.md
+++ b/docs/src/carapace/gen/preInvoke.md
@@ -4,7 +4,7 @@
 
 ```go
 carapace.Gen(rootCmd).PreInvoke(func(cmd *cobra.Command, flag *pflag.Flag, action carapace.Action) carapace.Action {
-	return action.Chdir(rootCmd.Flag("C").Value.String())
+	return action.Chdir(rootCmd.Flag("chdir").Value.String())
 })
 ```
 
diff --git a/docs/src/carapace/gen/preRun.cast b/docs/src/carapace/gen/preRun.cast
new file mode 100644
index 0000000..8ebed24
--- /dev/null
+++ b/docs/src/carapace/gen/preRun.cast
@@ -0,0 +1,41 @@
+{"version": 2, "width": 108, "height": 24, "timestamp": 1690471863, "env": {"SHELL": "elvish", "TERM": "tmux-256color"}}
+[0.082769, "o", "\u001b[?7h\u001b[7m⏎\u001b[m                                                                                                           \r \r\u001b[?7l\u001b[?2004h"]
+[0.083393, "o", "\u001b[?25l\r???>                                                                                                   ???> \r\u001b[5C\u001b[?25h\u001b[?25l\r\u001b[5C\u001b[K\r\u001b[5C\u001b[?25h"]
+[0.09568, "o", "\u001b[?25l\r\r\u001b[5C\u001b[?25h"]
+[0.095794, "o", "\u001b[?25l\r\u001b[K\r\n\u001b[0;1;36mcarapace/example\u001b[0;m on \u001b[0;1;35m doc-preinvoke\u001b[0;m \u001b[0;1;31m[$!?]\u001b[0;m via \u001b[0;1;36m🐹 v1.20.6 \r\n\u001b[0;1;37mesh\u001b[0;m \u001b[0;1;32m❯\u001b[0;m \r\u001b[6C\u001b[?25h"]
+[0.095847, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"]
+[0.412505, "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"]
+[0.413421, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[7C\u001b[?25h"]
+[0.430073, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[7C\u001b[?25h"]
+[0.430152, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[7C\u001b[?25h"]
+[0.604681, "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"]
+[0.725813, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[K\u001b[0;32mexa\u001b[0;m\r\u001b[9C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[9C\u001b[?25h"]
+[0.836668, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[K\u001b[0;31mexam\u001b[0;m\r\u001b[10C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[10C\u001b[?25h"]
+[0.889595, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[10C\u001b[0;31mp\u001b[0;m\r\u001b[11C\u001b[?25h"]
+[0.889894, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[11C\u001b[?25h"]
+[0.891132, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[11C\u001b[?25h"]
+[0.891192, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[11C\u001b[?25h"]
+[1.015919, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[11C\u001b[0;31ml\u001b[0;m\r\u001b[12C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[12C\u001b[?25h"]
+[1.06554, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[K\u001b[0;32mexample\u001b[0;m\r\u001b[13C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[13C\u001b[?25h"]
+[1.122077, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[13C \r\u001b[14C\u001b[?25h"]
+[1.295771, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[14C\u001b[0;4maction \r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7;34maction\u001b[0;2;7m (action example)                                                \r\n\u001b[0;34malias\u001b[0;2m (action example)                                                 \r\n\u001b[0;mchain\u001b[0;2m (shorthand chain)                                                \r\n\u001b[0;mcompletion\u001b[0;2m (Generate the autocompletion script for the specified shell)\r\n\u001b[0;34mflag\u001b[0;2m (flag example)                                                    \r\n\u001b[0;mgroup\u001b[0;2m (group example)                                                  \r\n\u001b[0;mhelp\u001b[0;2m (Help about any command)                                          \r\n\u001b[0;35minjection\u001b[0;2m (just trying to break things)                                \r\n\u001b[0;minterspersed\u001b[0;2m (interspersed example)                                    \r\n\u001b[0;33mmodifier\u001b[0;2m (modifier example)                                            \r\n\u001b[0;mmultiparts\u001b[0;2m (multiparts example)                                        \r\n\u001b[0;36mplugin\u001b[0;2m (dynamic plugin command)                                        \r\n\u001b[0;mspecial                                                                \u001b[13A\r\u001b[22C\u001b[?25h"]
+[1.763322, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\u001b[22Cp\r\n\r\n\r\n\u001b[1C\u001b[Kompletion\u001b[0;2m (Generate the autocompletion script for the specified shell)\r\n\u001b[0;m\u001b[K\u001b[0;34mflag\u001b[0;2m (flag example)                                                    \r\n\u001b[0;m\u001b[Kgroup\u001b[0;2m (group example)                                                  \r\n\u001b[0;m\u001b[Khelp\u001b[0;2m (Help about any command)                                          \r\n\u001b[0;m\u001b[Kinterspersed\u001b[0;2m (interspersed example)                                    \r\n\u001b[0;m\u001b[K\u001b[0;33mmodifier\u001b[0;2m (modifier example)                                            \r\n\u001b[0;m\u001b[Kmultiparts\u001b[0;2m (multiparts example)                                        \r\n\u001b[0;m\u001b[K\u001b[0;36mplugin\u001b[0;2m (dynamic plugin command)                                        \r\n\u001b[0;m\u001b[Kspecial                                                                \r\n\u001b[J\u001b[A\u001b[11A\r\u001b[23C\u001b[?25h"]
+[1.924854, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\u001b[23Cl\r\n\r\n\r\n\r\n\r\n\r\n\u001b[Kinterspersed\u001b[0;2m (interspersed example)                                    \r\n\u001b[0;m\u001b[K\u001b[0;33mmodifier\u001b[0;2m (modifier example)                                            \r\n\u001b[0;m\u001b[Kmultiparts\u001b[0;2m (multiparts example)                                        \r\n\u001b[0;m\u001b[K\u001b[0;36mplugin\u001b[0;2m (dynamic plugin command)                                        \u001b[0;m\r\n\u001b[J\u001b[A\u001b[9A\r\u001b[24C\u001b[?25h"]
+[2.034708, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[14C\u001b[K\u001b[0;4mplugin \r\n\u001b[24C\u001b[0;mu\r\n\u001b[K\u001b[0;7;36mplugin\u001b[0;2;7m (dynamic plugin command)\u001b[0;m\r\n\u001b[J\u001b[A\u001b[1A\r\u001b[25C\u001b[?25h"]
+[2.034794, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\r\n\r\n\u001b[1A\r\u001b[25C\u001b[?25h"]
+[2.863313, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[14C\u001b[Kplugin \r\n\u001b[J\u001b[A\r\u001b[21C\u001b[?25h"]
+[3.296292, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[21Cpl\r\u001b[23C\u001b[?25h"]
+[3.778875, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[21C\u001b[K\u001b[0;4mpl1 \r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7mpl1\u001b[0;m  pluginArg1\u001b[1A\r\u001b[22C\u001b[?25h"]
+[4.517865, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[23C\u001b[K\u001b[0;4muginArg1 \r\n\r\n\u001b[0;m\u001b[Kpl1  \u001b[0;7mpluginArg1\u001b[0;m\u001b[1A\r\u001b[22C\u001b[?25h"]
+[5.479275, "o", "\u001b[?25l\u001b[3A\r\r\n\r\n\u001b[21C\u001b[KpluginArg1 \r\n\u001b[J\u001b[A\r\u001b[32C\u001b[?25h"]
+[5.479367, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[32C\u001b[?25h"]
+[5.47977, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[32C\u001b[?25h"]
+[6.804825, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[6C\u001b[K\r\u001b[6C\u001b[?25h"]
+[6.806102, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"]
+[6.827759, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[6C\u001b[?25h"]
+[7.105936, "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"]
+[7.289151, "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"]
+[7.387644, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[8C\u001b[0;31mi\u001b[0;m\r\u001b[9C\u001b[?25h"]
+[7.387975, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\u001b[9C\u001b[?25h"]
+[7.497308, "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"]
+[7.598899, "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/carapace/gen/preRun.md b/docs/src/carapace/gen/preRun.md
index 41a0383..4f626e3 100644
--- a/docs/src/carapace/gen/preRun.md
+++ b/docs/src/carapace/gen/preRun.md
@@ -1,1 +1,24 @@
 # PreRun
+
+[`PreRun`] is called before arguments are parsed for the current command and allows modification of its structure.
+
+```go
+carapace.Gen(rootCmd).PreRun(func(cmd *cobra.Command, args []string) {
+	pluginCmd := &cobra.Command{
+		Use:     "plugin",
+		Short:   "dynamic plugin command",
+		GroupID: "plugin",
+		Run:     func(cmd *cobra.Command, args []string) {},
+	}
+
+	carapace.Gen(pluginCmd).PositionalCompletion(
+		carapace.ActionValues("pl1", "pluginArg1"),
+	)
+
+	cmd.AddCommand(pluginCmd)
+})
+```
+
+![](./preRun.cast)
+
+[`PreRun`]:https://pkg.go.dev/github.com/rsteube/carapace#Carapace.PreRun
\ No newline at end of file
diff --git a/example/cmd/root.go b/example/cmd/root.go
index b6a0759..5e1886c 100644
--- a/example/cmd/root.go
+++ b/example/cmd/root.go
@@ -3,6 +3,7 @@ package cmd
 import (
 	"github.com/rsteube/carapace"
 	"github.com/spf13/cobra"
+	"github.com/spf13/pflag"
 )
 
 var rootCmd = &cobra.Command{
@@ -17,6 +18,7 @@ func Execute() error {
 }
 
 func init() {
+	rootCmd.Flags().StringP("chdir", "C", "", "change work directory")
 	rootCmd.Flags().BoolP("toggle", "t", false, "Help message for toggle")
 	rootCmd.PersistentFlags().StringP("persistentFlag", "p", "", "Help message for persistentFlag")
 	rootCmd.PersistentFlags().String("persistentFlag2", "", "Help message for persistentFlag2")
@@ -25,6 +27,7 @@ func init() {
 	rootCmd.Flags().StringArrayP("array", "a", []string{}, "multiflag")
 
 	carapace.Gen(rootCmd).FlagCompletion(carapace.ActionMap{
+		"chdir":           carapace.ActionDirectories(),
 		"persistentFlag":  carapace.ActionValues("p1", "p2", "p3"),
 		"persistentFlag2": carapace.ActionValues("p4", "p5", "p6"),
 	})
@@ -33,5 +36,25 @@ func init() {
 		&cobra.Group{ID: "main", Title: "Main Commands"},
 		&cobra.Group{ID: "modifier", Title: "Modifier Commands"},
 		&cobra.Group{ID: "test", Title: "Test Commands"},
+		&cobra.Group{ID: "plugin", Title: "Plugin Commands"},
 	)
+
+	carapace.Gen(rootCmd).PreRun(func(cmd *cobra.Command, args []string) {
+		pluginCmd := &cobra.Command{
+			Use:     "plugin",
+			Short:   "dynamic plugin command",
+			GroupID: "plugin",
+			Run:     func(cmd *cobra.Command, args []string) {},
+		}
+
+		carapace.Gen(pluginCmd).PositionalCompletion(
+			carapace.ActionValues("pl1", "pluginArg1"),
+		)
+
+		cmd.AddCommand(pluginCmd)
+	})
+
+	carapace.Gen(rootCmd).PreInvoke(func(cmd *cobra.Command, flag *pflag.Flag, action carapace.Action) carapace.Action {
+		return action.Chdir(rootCmd.Flag("chdir").Value.String())
+	})
 }


Test patch:
diff --git a/example/cmd/root_test.go b/example/cmd/root_test.go
index 1064015..7be4d9b 100644
--- a/example/cmd/root_test.go
+++ b/example/cmd/root_test.go
@@ -80,6 +80,9 @@ func TestRoot(t *testing.T) {
 					"multiparts", "multiparts example",
 					"special", "",
 				).Tag("other commands"),
+				carapace.ActionValuesDescribed(
+					"plugin", "dynamic plugin command",
+				).Style(style.Cyan).Tag("plugin commands"),
 			).ToA())
 
 		s.Run("a").
@@ -95,6 +98,8 @@ func TestRoot(t *testing.T) {
 
 		s.Run("-").
 			Expect(carapace.ActionStyledValuesDescribed(
+				"--chdir", "change work directory", style.Blue,
+				"-C", "change work directory", style.Blue,
 				"--array", "multiflag", style.Blue,
 				"-a", "multiflag", style.Blue,
 				"-h", "help for example", style.Default,
@@ -111,6 +116,7 @@ func TestRoot(t *testing.T) {
 		s.Run("--").
 			Expect(carapace.ActionStyledValuesDescribed(
 				"--array", "multiflag", style.Blue,
+				"--chdir", "change work directory", style.Blue,
 				"--help", "help for example", style.Default,
 				"--persistentFlag", "Help message for persistentFlag", style.Yellow,
 				"--persistentFlag2", "Help message for persistentFlag2", style.Blue,