From 89811dfa82315b74e4981041a6f7de0c4a0bf3d3 Mon Sep 17 00:00:00 2001 From: rsteube Date: Sun, 3 Nov 2024 14:33:14 +0100 Subject: [PATCH] env: added `CARAPACE_NOSPACE` --- docs/src/setup/environment.md | 8 +++ docs/src/setup/nospace.cast | 118 ++++++++++++++++++++++++++++++++++ pkg/actions/env/carapace.go | 4 ++ 3 files changed, 130 insertions(+) create mode 100644 docs/src/setup/nospace.cast diff --git a/docs/src/setup/environment.md b/docs/src/setup/environment.md index 8683694e79..da66127ffb 100644 --- a/docs/src/setup/environment.md +++ b/docs/src/setup/environment.md @@ -65,6 +65,14 @@ Whether to match case insensitive. - `1` - case insensitive ![](./match.cast) + +## CARAPACE_NOSPACE + +Extend suffixes that prevent space suffix. + +- `*` - matches all + +![](./nospace.cast) ## CARAPACE_SANDBOX diff --git a/docs/src/setup/nospace.cast b/docs/src/setup/nospace.cast new file mode 100644 index 0000000000..a166d5d0f7 --- /dev/null +++ b/docs/src/setup/nospace.cast @@ -0,0 +1,118 @@ +{"version": 2, "width": 80, "height": 12, "timestamp": 1730641083, "env": {"SHELL": "elvish", "TERM": "tmux-256color"}} +[0.10506, "o", "\u001b[?7h\u001b[7m⏎\u001b[m \r \r\u001b[?7l\u001b[?2004h"] +[0.105606, "o", "\u001b[?25l\r???> ???> \r\u001b[5C\u001b[?25h\u001b[?25l\r\u001b[5C\u001b[K\r\u001b[5C\u001b[?25h"] +[0.119573, "o", "\u001b[?25l\r\r\u001b[5C\u001b[?25h\u001b[?25l\r\u001b[K\u001b[0;1;36m~\u001b[0;m \r\n\u001b[0;1;37mesh\u001b[0;m \u001b[0;1;32m❯\u001b[0;m \r\u001b[6C\u001b[?25h"] +[0.673202, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[6C\u001b[0;31mp\u001b[0;m\r\u001b[7C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[7C\u001b[?25h"] +[0.673358, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[7C\u001b[?25h"] +[0.675248, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[7C\u001b[?25h"] +[0.676312, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[7C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[7C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[7C\u001b[?25h"] +[0.677811, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[7C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[7C\u001b[?25h"] +[0.684686, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[7C\u001b[?25h"] +[0.68498, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[7C\u001b[?25h"] +[0.845347, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[7C\u001b[0;31mk\u001b[0;m\r\u001b[8C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[8C\u001b[?25h"] +[1.019012, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[8C\u001b[0;31mi\u001b[0;m\r\u001b[9C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[9C\u001b[?25h"] +[1.199736, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[9C\u001b[0;31ml\u001b[0;m\r\u001b[10C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[10C\u001b[?25h"] +[1.3632, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[6C\u001b[K\u001b[0;32mpkill\u001b[0;m\r\u001b[11C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[11C\u001b[?25h"] +[1.701377, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[11C \r\u001b[12C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[12C\u001b[?25h"] +[1.829416, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[12C-\r\u001b[13C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[13C\u001b[?25h"] +[1.958642, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[13C-\r\u001b[14C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[14C\u001b[?25h"] +[2.29908, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[12C\u001b[K\u001b[0;4m--count \r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7m--count\u001b[0;2;7m (count of matching processes) \u001b[0;m --logpidfile\u001b[0;2m (fail if PID file is\r\n\u001b[0;m--echo\u001b[0;2m (display what is killed) \u001b[0;m --newest\u001b[0;2m (select most recently st\r\n\u001b[0;34m--euid\u001b[0;2m (match by effective IDs) \u001b[0;m \u001b[0;34m--ns\u001b[0;2m (match the processes that be\r\n\u001b[0;m--exact\u001b[0;2m (match exactly with the command name)\u001b[0;m \u001b[0;34m--nslist\u001b[0;2m (list which namespaces w\r\n\u001b[0;m--full\u001b[0;2m (use full process name to match) \u001b[0;m --oldest\u001b[0;2m (select least recently s\r\n\u001b[0;34m--group\u001b[0;2m (match real group IDs) \u001b[0;m \u001b[0;34m--parent\u001b[0;2m (match only child proces\r\n\u001b[0;m--help\u001b[0;2m (display this help and exit) \u001b[0;m \u001b[0;34m--pgroup\u001b[0;2m (match listed process gr\r\n\u001b[0;m--ignore-case\u001b[0;2m (match case insensitively) \u001b[0;m \u001b[0;34m--pidfile\u001b[0;2m (read PIDs from file) \r\n\u001b[0;7;35m \u001b[0;35m━━━━━━━━━━━━━━━━━━━━━━\u001b[0;m\u001b[9A\r\u001b[22C\u001b[?25h"] +[2.674731, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[22Cs\r\n\u001b[49C\u001b[Knewest\u001b[0;2m (select most recently st\r\n\u001b[47C\u001b[0;m\u001b[K\u001b[0;34m--ns\u001b[0;2m (match the processes that be\r\n\u001b[51C\u001b[0;m\u001b[K\u001b[0;34mlist\u001b[0;2m (list which namespaces w\r\n\u001b[2C\u001b[0;m\u001b[Kfull\u001b[0;2m (use full process name to match) \u001b[0;m --oldest\u001b[0;2m (select least recently s\r\n\u001b[0;m\u001b[K\u001b[0;34m--group\u001b[0;2m (match real group IDs) \u001b[0;m \u001b[0;34m--parent\u001b[0;2m (match only child proces\r\n\u001b[0;m\u001b[K--help\u001b[0;2m (display this help and exit) \u001b[0;m \u001b[0;34m--pgroup\u001b[0;2m (match listed process gr\r\n\u001b[2C\u001b[0;m\u001b[Kignore-case\u001b[0;2m (match case insensitively) \u001b[0;m \u001b[0;34m--pidfile\u001b[0;2m (read PIDs from file) \r\n\u001b[2C\u001b[0;m\u001b[Klogpidfile\u001b[0;2m (fail if PID file is not locked)\u001b[0;m \u001b[0;34m--runstates\u001b[0;2m (match runstates [D,S\r\n\u001b[58C\u001b[0;m\u001b[K\u001b[0;7;35m \u001b[0;35m━━━━━━━━━━━━━━━━\u001b[0;m\u001b[9A\r\u001b[23C\u001b[?25h"] +[2.810362, "o", "\u001b[?25l\u001b[2A\r\r\n\u001b[14C\u001b[K\u001b[0;4mignore-case \r\n\u001b[23C\u001b[0;mi\r\n\u001b[2C\u001b[K\u001b[0;7mignore-case\u001b[0;2;7m (match case insensitively) \r\n\u001b[0;m\u001b[K\u001b[0;34m--nslist\u001b[0;2m (list which namespaces will be considered for the --ns option.)\r\n\u001b[2C\u001b[0;m\u001b[K\u001b[0;34msession\u001b[0;2m (match session IDs) \r\n\u001b[0;m\u001b[K\u001b[0;34m--signal\u001b[0;2m (signal to send (either number or name)) \r\n\u001b[0;m\u001b[K--version\u001b[0;2m (output version information and exit) \u001b[0;m\r\n\u001b[J\u001b[A\u001b[5A\r\u001b[24C\u001b[?25h"] +[2.811246, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\n\r\n\r\n\r\n\r\n\u001b[5A\r\u001b[24C\u001b[?25h"] +[2.951668, "o", "\u001b[?25l\u001b[2A\r\r\n\u001b[14C\u001b[K\u001b[0;4msignal \r\n\u001b[24C\u001b[0;mg\r\n\u001b[K\u001b[0;7;34m--signal\u001b[0;2;7m (signal to send (either number or name))\u001b[0;m\r\n\u001b[J\u001b[A\u001b[1A\r\u001b[25C\u001b[?25h"] +[2.951782, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\n\u001b[1A\r\u001b[25C\u001b[?25h"] +[3.262851, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[25Cn\r\n\u001b[1A\r\u001b[26C\u001b[?25h"] +[3.262985, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\n\u001b[1A\r\u001b[26C\u001b[?25h"] +[3.65488, "o", "\u001b[?25l\u001b[2A\r\r\n\u001b[12C\u001b[K--signal \r\n\u001b[J\u001b[A\r\u001b[21C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[21C\u001b[?25h"] +[4.296656, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[21C\u001b[0;4mABRT \r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7;35mABRT\u001b[0;2;7m (Abnormal termination) \u001b[0;m \u001b[0;31mINT\u001b[0;2m (Interrupt from keyboard) \r\n\u001b[0;31mALRM\u001b[0;2m (Virtual alarm clock) \u001b[0;m \u001b[0;31mKILL\u001b[0;2m (Kill, unblockable) \r\n\u001b[0;35mBUS\u001b[0;2m (BUS error) \u001b[0;m \u001b[0;31mPIPE\u001b[0;2m (Broken pipe) \r\n\u001b[0;34mCHLD\u001b[0;2m (Child status has changed) \u001b[0;m \u001b[0;31mPOLL\u001b[0;2m (Pollable event occurred) \r\n\u001b[0;32mCONT\u001b[0;2m (Continue stopped process) \u001b[0;m \u001b[0;31mPROF\u001b[0;2m (Profiling alarm clock timer\r\n\u001b[0;35mFPE\u001b[0;2m (Floating-point exception) \u001b[0;m \u001b[0;31mPWR\u001b[0;2m (Power failure restart) \r\n\u001b[0;31mHUP\u001b[0;2m (Hangup detected on controlling terminal)\u001b[0;m \u001b[0;35mQUIT\u001b[0;2m (Quit from keyboard) \r\n\u001b[0;35mILL\u001b[0;2m (Illegal instruction) \u001b[0;m \u001b[0;35mSEGV\u001b[0;2m (Segmentation violation) \r\n\u001b[0;7;35m \u001b[0;35m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0;m\u001b[9A\r\u001b[22C\u001b[?25h"] +[5.019127, "o", "\u001b[?25l\u001b[2A\r\r\n\u001b[21C\u001b[KABRT \r\n\u001b[J\u001b[A\r\u001b[26C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[26C\u001b[?25h"] +[6.538111, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[25C\u001b[K\r\u001b[25C\u001b[?25h"] +[6.837284, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[24C\u001b[K\r\u001b[24C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[24C\u001b[?25h"] +[6.863074, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[23C\u001b[K\r\u001b[23C\u001b[?25h"] +[6.887737, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[22C\u001b[K\r\u001b[22C\u001b[?25h"] +[6.912939, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[21C\u001b[K\r\u001b[21C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[21C\u001b[?25h"] +[6.937524, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[20C\u001b[K\r\u001b[20C\u001b[?25h"] +[6.962738, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[19C\u001b[K\r\u001b[19C\u001b[?25h"] +[6.987497, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[18C\u001b[K\r\u001b[18C\u001b[?25h"] +[7.012315, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[17C\u001b[K\r\u001b[17C\u001b[?25h"] +[7.036974, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[16C\u001b[K\r\u001b[16C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[16C\u001b[?25h"] +[7.062482, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[15C\u001b[K\r\u001b[15C\u001b[?25h"] +[7.087141, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[14C\u001b[K\r\u001b[14C\u001b[?25h"] +[7.112444, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[13C\u001b[K\r\u001b[13C\u001b[?25h"] +[7.13717, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[12C\u001b[K\r\u001b[12C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[12C\u001b[?25h"] +[7.162318, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[11C\u001b[K\r\u001b[11C\u001b[?25h"] +[7.187372, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[6C\u001b[K\u001b[0;31mpkil\u001b[0;m\r\u001b[10C\u001b[?25h"] +[7.21273, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[9C\u001b[K\r\u001b[9C\u001b[?25h"] +[7.237536, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[8C\u001b[K\r\u001b[8C\u001b[?25h"] +[7.262552, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[7C\u001b[K\r\u001b[7C\u001b[?25h"] +[7.287574, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[6C\u001b[K\r\u001b[6C\u001b[?25h"] +[7.312733, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[6C\u001b[?25h"] +[7.337109, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[6C\u001b[?25h"] +[7.362168, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[6C\u001b[?25h"] +[7.387186, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[6C\u001b[?25h"] +[7.411958, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[6C\u001b[?25h"] +[7.412423, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[6C\u001b[?25h"] +[7.436835, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[6C\u001b[?25h"] +[7.462062, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[6C\u001b[?25h"] +[7.475747, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[6C\u001b[0;31ms\u001b[0;m\r\u001b[7C\u001b[?25h"] +[7.555926, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[7C\u001b[0;31me\u001b[0;m\r\u001b[8C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[8C\u001b[?25h"] +[7.650423, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[6C\u001b[K\u001b[0;32mset\u001b[0;m\r\u001b[9C\u001b[?25h"] +[7.65056, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[9C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[9C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[9C\u001b[?25h"] +[7.755137, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[6C\u001b[K\u001b[0;31mset-\u001b[0;m\r\u001b[10C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[10C\u001b[?25h"] +[7.855498, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[10C\u001b[0;31me\u001b[0;m\r\u001b[11C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[11C\u001b[?25h"] +[8.005605, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[11C\u001b[0;31mn\u001b[0;m\r\u001b[12C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[12C\u001b[?25h"] +[8.105051, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[6C\u001b[K\u001b[0;32mset-env\u001b[0;m\r\u001b[13C\u001b[?25h"] +[8.105424, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[13C\u001b[?25h"] +[8.105691, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[13C\u001b[?25h"] +[8.456262, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[13C \r\u001b[14C\u001b[?25h"] +[8.854153, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[14C\u001b[0;4mAR \r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7mAR\u001b[0;2;7m (The command to use to manipulate library archives when building with the gcc\r\n\u001b[0;34mASCIINEMA_REC\u001b[0;2m (1) \r\n\u001b[0;mAWS_ \r\nBROWSER\u001b[0;2m (the browser to use) \r\n\u001b[0;mBUILDKIT_ \r\nCARAPACE_ \r\n\u001b[0;34mCARAPACE_BRIDGES\u001b[0;2m (zsh,fish,bash) \r\n\u001b[0;34mCARAPACE_MATCH\u001b[0;2m (1) \r\n\u001b[0;7;35m \u001b[0;35m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0;m\u001b[9A\r\u001b[22C\u001b[?25h"] +[9.243401, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[22Cc\r\n\r\n\r\n\u001b[KCARAPACE_ \r\n\u001b[K\u001b[0;34mCARAPACE_BRIDGES\u001b[0;2m (zsh,fish,bash) \r\n\u001b[0;m\u001b[K\u001b[0;34mCARAPACE_MATCH\u001b[0;2m (1) \r\n\u001b[3C\u001b[0;m\u001b[KGO_ \r\n\u001b[KCC\u001b[0;2m (The command to use to compile C code) \r\n\u001b[0;m\u001b[KCGO_ \r\n\u001b[4C\u001b[K\u001b[0;7;35m \u001b[0;35m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0;m\u001b[9A\r\u001b[23C\u001b[?25h"] +[9.284607, "o", "\u001b[?25l\u001b[2A\r\r\n\u001b[14C\u001b[K\u001b[0;4mCARAPACE_\r\n\u001b[23C\u001b[0;ma\r\n\u001b[K\u001b[0;7mCARAPACE_ \r\n\u001b[0;m\u001b[K\u001b[0;34mCARAPACE_BRIDGES\u001b[0;2m (zsh,fish,bash) \r\n\u001b[0;m\u001b[K\u001b[0;34mCARAPACE_MATCH\u001b[0;2m (1) \r\n\u001b[0;m\u001b[KCARGO_ \r\n\u001b[KGOCACHE\u001b[0;2m (The directory where the go command will store cached information for re\r\n\u001b[0;m\u001b[KGOENV\u001b[0;2m (The location of the Go environment configuration file) \r\n\u001b[0;m\u001b[KGOMODCACHE\u001b[0;2m (The directory where the go command will store downloaded modules) \r\n\u001b[0;m\u001b[K\u001b[0;34mGOPRIVATE\u001b[0;2m (github.com/carapace-sh,github.com/tap-dance) \r\n\u001b[6C\u001b[0;m\u001b[K\u001b[0;7;35m \u001b[0;35m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0;m\u001b[9A\r\u001b[24C\u001b[?25h"] +[9.444024, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[24Cr\r\n\u001b[55C\u001b[K\r\n\u001b[55C\u001b[K\r\n\u001b[55C\u001b[K\r\n\u001b[55C\u001b[K\r\n\u001b[K\u001b[0;34mGOPRIVATE\u001b[0;2m (github.com/carapace-sh,github.com/tap-dance)\u001b[0;m\r\n\u001b[J\u001b[A\u001b[5A\r\u001b[25C\u001b[?25h"] +[9.86993, "o", "\u001b[?25l\u001b[2A\r\r\n\u001b[14C\u001b[KCARAPACE_\r\n\u001b[J\u001b[A\r\u001b[23C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[23C\u001b[?25h"] +[9.870015, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[23C\u001b[?25h"] +[10.247784, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[14C\u001b[K\u001b[0;4mCARAPACE_BRIDGES \r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7;34mCARAPACE_BRIDGES\u001b[0;2;7m (zsh,fish,bash) \u001b[0;m CARAPACE_NOSPACE\u001b[0;2m (nosp\r\n\u001b[0;mCARAPACE_COVERDIR\u001b[0;2m (coverage directory for sandbox tests)\u001b[0;m CARAPACE_SANDBOX\u001b[0;2m (mock\r\n\u001b[0;mCARAPACE_ENV\u001b[0;2m (register get-env, set-env and unset-env) \u001b[0;m CARAPACE_ZSH_HASH_DIRS\r\nCARAPACE_EXCLUDES\u001b[0;2m (internal completers to exclude) \r\n\u001b[0;mCARAPACE_HIDDEN\u001b[0;2m (show hidden commands/flags) \r\n\u001b[0;mCARAPACE_LENIENT\u001b[0;2m (allow unknown flags) \r\n\u001b[0;mCARAPACE_LOG\u001b[0;2m (enable logging) \r\n\u001b[0;34mCARAPACE_MATCH\u001b[0;2m (1) \r\n\u001b[0;7;35m \u001b[0;m\u001b[9A\r\u001b[22C\u001b[?25h"] +[11.369812, "o", "\u001b[?25l\u001b[2A\r\r\n\u001b[23C\u001b[K\u001b[0;4mCOVERDIR \r\n\u001b[22C\u001b[0;mn\r\n\u001b[K\u001b[0;7mCARAPACE_COVERDIR\u001b[0;2;7m (coverage directory for sandbox tests)\r\n\u001b[9C\u001b[0;m\u001b[KENV\u001b[0;2m (register get-env, set-env and unset-env) \r\n\u001b[10C\u001b[0;m\u001b[KXCLUDES\u001b[0;2m (internal completers to exclude) \r\n\u001b[9C\u001b[0;m\u001b[KHIDDEN\u001b[0;2m (show hidden commands/flags) \r\n\u001b[9C\u001b[0;m\u001b[KLENIENT\u001b[0;2m (allow unknown flags) \r\n\u001b[10C\u001b[0;m\u001b[KOG\u001b[0;2m (enable logging) \r\n\u001b[9C\u001b[0;m\u001b[KNOSPACE\u001b[0;2m (nospace suffixes) \r\n\u001b[0;m\u001b[KCARAPACE_SANDBOX\u001b[0;2m (mock context for sandbox tests) \u001b[0;m\r\n\u001b[J\u001b[A\u001b[8A\r\u001b[23C\u001b[?25h"] +[11.371496, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\u001b[8A\r\u001b[23C\u001b[?25h"] +[11.372265, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\u001b[8A\r\u001b[23C\u001b[?25h"] +[11.44621, "o", "\u001b[?25l\u001b[2A\r\r\n\u001b[23C\u001b[K\u001b[0;4mLENIENT \r\n\u001b[23C\u001b[0;mo\r\n\u001b[9C\u001b[K\u001b[0;7mLENIENT\u001b[0;2;7m (allow unknown flags)\u001b[0;m CARAPACE_NOSPACE\u001b[0;2m (nospace suffixes)\u001b[0;m\r\n\u001b[J\u001b[A\u001b[1A\r\u001b[24C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\n\u001b[1A\r\u001b[24C\u001b[?25h"] +[12.161219, "o", "\u001b[?25l\u001b[2A\r\r\n\u001b[23C\u001b[K\u001b[0;4mNOSPACE \r\n\r\n\u001b[0;m\u001b[KCARAPACE_LENIENT\u001b[0;2m (allow unknown flags)\u001b[0;m \u001b[0;7mCARAPACE_NOSPACE\u001b[0;2;7m (nospace suffixes)\u001b[0;m\u001b[1A\r\u001b[24C\u001b[?25h"] +[12.402566, "o", "\u001b[?25l\u001b[2A\r\r\n\u001b[14C\u001b[KCARAPACE_NOSPACE \r\n\u001b[J\u001b[A\r\u001b[31C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[31C\u001b[?25h"] +[12.706614, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[31C\u001b[0;33m'*'\u001b[0;m\r\u001b[34C\u001b[?25h"] +[13.340354, "o", "\u001b[?25l\u001b[1A\r\r\n\r\n\r\u001b[?25h\u001b[?7h\u001b[?2004l\r"] +[13.397861, "o", "\u001b[?7h\u001b[7m⏎\u001b[m \r \r\u001b[?7l\u001b[?2004h"] +[13.398584, "o", "\u001b[?25l\r\u001b[0;1;36m~\u001b[0;m \r\n\u001b[0;1;37mesh\u001b[0;m \u001b[0;1;32m❯\u001b[0;m \r\u001b[6C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[6C\u001b[?25h"] +[13.399165, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[6C\u001b[?25h"] +[13.424173, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[6C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[6C\u001b[?25h"] +[13.424285, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[6C\u001b[?25h"] +[14.541472, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[6C\u001b[0;31mp\u001b[0;m\r\u001b[7C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[7C\u001b[?25h"] +[14.727439, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[7C\u001b[0;31mk\u001b[0;m\r\u001b[8C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[8C\u001b[?25h"] +[14.878511, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[8C\u001b[0;31mi\u001b[0;m\r\u001b[9C\u001b[?25h"] +[15.059468, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[9C\u001b[0;31ml\u001b[0;m\r\u001b[10C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[10C\u001b[?25h"] +[15.229733, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[6C\u001b[K\u001b[0;32mpkill\u001b[0;m\r\u001b[11C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[11C\u001b[?25h"] +[15.370003, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[11C \r\u001b[12C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[12C\u001b[?25h"] +[15.573936, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[12C-\r\u001b[13C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[13C\u001b[?25h"] +[15.699962, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[13C-\r\u001b[14C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[14C\u001b[?25h"] +[15.950704, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[12C\u001b[K\u001b[0;4m--count\r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7m--count\u001b[0;2;7m (count of matching processes) \u001b[0;m --logpidfile\u001b[0;2m (fail if PID file is\r\n\u001b[0;m--echo\u001b[0;2m (display what is killed) \u001b[0;m --newest\u001b[0;2m (select most recently st\r\n\u001b[0;34m--euid\u001b[0;2m (match by effective IDs) \u001b[0;m \u001b[0;34m--ns\u001b[0;2m (match the processes that be\r\n\u001b[0;m--exact\u001b[0;2m (match exactly with the command name)\u001b[0;m \u001b[0;34m--nslist\u001b[0;2m (list which namespaces w\r\n\u001b[0;m--full\u001b[0;2m (use full process name to match) \u001b[0;m --oldest\u001b[0;2m (select least recently s\r\n\u001b[0;34m--group\u001b[0;2m (match real group IDs) \u001b[0;m \u001b[0;34m--parent\u001b[0;2m (match only child proces\r\n\u001b[0;m--help\u001b[0;2m (display this help and exit) \u001b[0;m \u001b[0;34m--pgroup\u001b[0;2m (match listed process gr\r\n\u001b[0;m--ignore-case\u001b[0;2m (match case insensitively) \u001b[0;m \u001b[0;34m--pidfile\u001b[0;2m (read PIDs from file) \r\n\u001b[0;7;35m \u001b[0;35m━━━━━━━━━━━━━━━━━━━━━━\u001b[0;m\u001b[9A\r\u001b[22C\u001b[?25h"] +[16.310445, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[22Cs\r\n\u001b[49C\u001b[Knewest\u001b[0;2m (select most recently st\r\n\u001b[47C\u001b[0;m\u001b[K\u001b[0;34m--ns\u001b[0;2m (match the processes that be\r\n\u001b[51C\u001b[0;m\u001b[K\u001b[0;34mlist\u001b[0;2m (list which namespaces w\r\n\u001b[2C\u001b[0;m\u001b[Kfull\u001b[0;2m (use full process name to match) \u001b[0;m --oldest\u001b[0;2m (select least recently s\r\n\u001b[0;m\u001b[K\u001b[0;34m--group\u001b[0;2m (match real group IDs) \u001b[0;m \u001b[0;34m--parent\u001b[0;2m (match only child proces\r\n\u001b[0;m\u001b[K--help\u001b[0;2m (display this help and exit) \u001b[0;m \u001b[0;34m--pgroup\u001b[0;2m (match listed process gr\r\n\u001b[2C\u001b[0;m\u001b[Kignore-case\u001b[0;2m (match case insensitively) \u001b[0;m \u001b[0;34m--pidfile\u001b[0;2m (read PIDs from file) \r\n\u001b[2C\u001b[0;m\u001b[Klogpidfile\u001b[0;2m (fail if PID file is not locked)\u001b[0;m \u001b[0;34m--runstates\u001b[0;2m (match runstates [D,S\r\n\u001b[58C\u001b[0;m\u001b[K\u001b[0;7;35m \u001b[0;35m━━━━━━━━━━━━━━━━\u001b[0;m\u001b[9A\r\u001b[23C\u001b[?25h"] +[16.311463, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\u001b[9A\r\u001b[23C\u001b[?25h"] +[16.42402, "o", "\u001b[?25l\u001b[2A\r\r\n\u001b[14C\u001b[K\u001b[0;4mignore-case\r\n\u001b[23C\u001b[0;mi\r\n\u001b[2C\u001b[K\u001b[0;7mignore-case\u001b[0;2;7m (match case insensitively) \r\n\u001b[0;m\u001b[K\u001b[0;34m--nslist\u001b[0;2m (list which namespaces will be considered for the --ns option.)\r\n\u001b[2C\u001b[0;m\u001b[K\u001b[0;34msession\u001b[0;2m (match session IDs) \r\n\u001b[0;m\u001b[K\u001b[0;34m--signal\u001b[0;2m (signal to send (either number or name)) \r\n\u001b[0;m\u001b[K--version\u001b[0;2m (output version information and exit) \u001b[0;m\r\n\u001b[J\u001b[A\u001b[5A\r\u001b[24C\u001b[?25h"] +[16.424481, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\n\r\n\r\n\r\n\r\n\u001b[5A\r\u001b[24C\u001b[?25h"] +[16.548604, "o", "\u001b[?25l\u001b[2A\r\r\n\u001b[14C\u001b[K\u001b[0;4msignal\r\n\u001b[24C\u001b[0;mg\r\n\u001b[K\u001b[0;7;34m--signal\u001b[0;2;7m (signal to send (either number or name))\u001b[0;m\r\n\u001b[J\u001b[A\u001b[1A\r\u001b[25C\u001b[?25h"] +[16.548763, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\r\n\u001b[1A\r\u001b[25C\u001b[?25h"] +[16.647475, "o", "\u001b[?25l\u001b[2A\r\r\n\r\n\u001b[25Cn\r\n\u001b[1A\r\u001b[26C\u001b[?25h\u001b[?25l\u001b[2A\r\r\n\r\n\r\n\u001b[1A\r\u001b[26C\u001b[?25h"] +[17.160479, "o", "\u001b[?25l\u001b[2A\r\r\n\u001b[12C\u001b[K--signal\r\n\u001b[J\u001b[A\r\u001b[20C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[20C\u001b[?25h"] +[17.921017, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[20C \r\u001b[21C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[21C\u001b[?25h"] +[19.402903, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[21C\u001b[0;4mABRT\r\n\u001b[0;1;37;45m COMPLETING argument \u001b[0;m \r\n\u001b[0;7;35mABRT\u001b[0;2;7m (Abnormal termination) \u001b[0;m \u001b[0;31mINT\u001b[0;2m (Interrupt from keyboard) \r\n\u001b[0;31mALRM\u001b[0;2m (Virtual alarm clock) \u001b[0;m \u001b[0;31mKILL\u001b[0;2m (Kill, unblockable) \r\n\u001b[0;35mBUS\u001b[0;2m (BUS error) \u001b[0;m \u001b[0;31mPIPE\u001b[0;2m (Broken pipe) \r\n\u001b[0;34mCHLD\u001b[0;2m (Child status has changed) \u001b[0;m \u001b[0;31mPOLL\u001b[0;2m (Pollable event occurred) \r\n\u001b[0;32mCONT\u001b[0;2m (Continue stopped process) \u001b[0;m \u001b[0;31mPROF\u001b[0;2m (Profiling alarm clock timer\r\n\u001b[0;35mFPE\u001b[0;2m (Floating-point exception) \u001b[0;m \u001b[0;31mPWR\u001b[0;2m (Power failure restart) \r\n\u001b[0;31mHUP\u001b[0;2m (Hangup detected on controlling terminal)\u001b[0;m \u001b[0;35mQUIT\u001b[0;2m (Quit from keyboard) \r\n\u001b[0;35mILL\u001b[0;2m (Illegal instruction) \u001b[0;m \u001b[0;35mSEGV\u001b[0;2m (Segmentation violation) \r\n\u001b[0;7;35m \u001b[0;35m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0;m\u001b[9A\r\u001b[22C\u001b[?25h"] +[20.133676, "o", "\u001b[?25l\u001b[2A\r\r\n\u001b[21C\u001b[KABRT\r\n\u001b[J\u001b[A\r\u001b[25C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[25C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[25C\u001b[?25h"] +[21.331699, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[25C \r\u001b[26C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[26C\u001b[?25h"] +[22.58302, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[6C\u001b[K\r\u001b[6C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[6C\u001b[?25h"] +[22.583549, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[6C\u001b[?25h"] +[22.612132, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[6C\u001b[?25h"] +[22.612184, "o", "\u001b[?25l\u001b[1A\r\r\n\r\u001b[6C\u001b[?25h"] +[22.939814, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[6C\u001b[0;31me\u001b[0;m\r\u001b[7C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[7C\u001b[?25h"] +[23.137701, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[7C\u001b[0;31mx\u001b[0;m\r\u001b[8C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[8C\u001b[?25h"] +[23.317248, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[8C\u001b[0;31mi\u001b[0;m\r\u001b[9C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[9C\u001b[?25h"] +[23.409225, "o", "\u001b[?25l\u001b[1A\r\r\n\u001b[6C\u001b[K\u001b[0;32mexit\u001b[0;m\r\u001b[10C\u001b[?25h\u001b[?25l\u001b[1A\r\r\n\r\u001b[10C\u001b[?25h"] +[23.542033, "o", "\u001b[?25l\u001b[1A\r\r\n\r\n\r\u001b[?25h\u001b[?7h\u001b[?2004l\r"] diff --git a/pkg/actions/env/carapace.go b/pkg/actions/env/carapace.go index 7632495972..6e7413d49a 100644 --- a/pkg/actions/env/carapace.go +++ b/pkg/actions/env/carapace.go @@ -19,6 +19,7 @@ func init() { "CARAPACE_LENIENT": "allow unknown flags", "CARAPACE_LOG": "enable logging", "CARAPACE_MATCH": "match case insensitive", + "CARAPACE_NOSPACE": "nospace suffixes", "CARAPACE_SANDBOX": "mock context for sandbox tests", "CARAPACE_ZSH_HASH_DIRS": "zsh hash directories", // carapace-bin @@ -36,6 +37,9 @@ func init() { "0", "CASE_SENSITIVE", "1", "CASE_INSENSITIVE", ).StyleF(style.ForKeyword), + "CARAPACE_NOSPACE": carapace.ActionValuesDescribed( + "*", "match all", + ).UniqueList(""), "CARAPACE_SANDBOX": carapace.ActionValues(), // carapace-bin "CARAPACE_EXCLUDES": carapace.Batch(