From 1948f2511f6528fb2ea876070514fb54c9187ff5 Mon Sep 17 00:00:00 2001 From: rsteube Date: Thu, 27 Jul 2023 17:36:29 +0200 Subject: [PATCH] doc: PreRun --- docs/src/carapace/gen/preInvoke.cast | 219 +++++++++++++++------------ docs/src/carapace/gen/preInvoke.md | 2 +- docs/src/carapace/gen/preRun.cast | 41 +++++ docs/src/carapace/gen/preRun.md | 23 +++ example/cmd/root.go | 23 +++ example/cmd/root_test.go | 6 + 6 files changed, 215 insertions(+), 99 deletions(-) create mode 100644 docs/src/carapace/gen/preRun.cast diff --git a/docs/src/carapace/gen/preInvoke.cast b/docs/src/carapace/gen/preInvoke.cast index 18f10d16..5d27d884 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 f463c4d9..4798372e 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 00000000..8ebed241 --- /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 41a03832..4f626e39 100644 --- a/docs/src/carapace/gen/preRun.md +++ b/docs/src/carapace/gen/preRun.md @@ -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 b6a07594..5e1886c1 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()) + }) } diff --git a/example/cmd/root_test.go b/example/cmd/root_test.go index 10640150..7be4d9b0 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,