Commit graph

88 commits

Author SHA1 Message Date
Ed Page
c402ec61ee feat(complete): Env hook for dynamic completions
Fixes #3930
2024-08-12 10:53:24 -05:00
Ed Page
6288e1169d test(complete): Specialize tests 2024-08-12 10:40:41 -05:00
Ed Page
cddbb5689f fix(complete): Correct version check 2024-08-12 08:29:11 -05:00
Ed Page
64bf287e68 fix(complete)!: Switch --shell to a positional
This matches how I've seen it done elsewhere
and removes extra boilerplate
2024-08-10 19:38:59 -05:00
Ed Page
c9df58bcf7 fix(complete)!: Remove --register
Our focus is on encouraging people to generate this on shell load so its
more "auto-updating" as programs are updated.
Having a flag for saving to a file is counter to that goal.
2024-08-10 19:33:49 -05:00
Ed Page
34c86159a9 fix(complete): Ensure bash does not sort, we do 2024-08-10 18:31:30 -05:00
Ed Page
918cfed43d
Merge pull request #5610 from Mixu78/powershell_hyphens
Add missing option hyphens to generated PowerShell completion scripts
2024-08-09 19:22:30 -05:00
Ed Page
219a1915e9 fix(complete): Improve help output 2024-08-09 16:17:44 -05:00
Ed Page
734cac730c feat(complete): Make '--register' optional 2024-08-09 16:16:15 -05:00
Ed Page
e65e46356d docs(complete): Have dynamic Shell match static Shell 2024-08-09 15:59:59 -05:00
shannmu
f9a87bf1bf feat(clap_complete): Add support for Powershell 2024-08-09 15:48:20 -05:00
Mixu78
10fd5fe8e3
fix(clap_complete): Add missing option hyphens to the listItemText parameter in PowerShell completions 2024-07-31 21:30:55 +03:00
shannmu
697b88e28f feat(clap_complete): Add elvish support for native completion 2024-07-18 13:44:27 +08:00
shannmu
cef9393c5d feat(clap_complete): Add zsh support for native completion 2024-07-17 23:29:48 +08:00
Lzu Tao
6243d65463 fix: Only generate stubs if has subcommands 2024-07-11 06:01:42 +07:00
Lzu Tao
1dd1056cd7 fix: Check for real optional arguments 2024-07-07 07:27:47 +07:00
Lzu Tao
a6ac45f566 feat(fish): Support nested subcommand completion 2024-07-06 07:27:56 +07:00
Lzu Tao
2d2d1f4987 chore: Bump completest 2024-07-05 15:35:01 -05:00
Lzu Tao
5ee1a2570e fix(fish): Don't ignore files if has positional args 2024-06-28 10:20:09 +07:00
Lzu Tao
1e3681bfbc refactor: Pass list to __fish_seen_subcommand_from 2024-06-27 07:22:04 +07:00
Lzu Tao
b16f987ad7 style: Escaping tab as \t for more readability for fish 2024-06-25 08:42:49 +07:00
Ben Rogers
8e3c273b61 fix(zsh): Separate options from _arguments options 2024-06-07 15:20:04 -04:00
Pawel Zmarzly
5000d58f38 feat(complete): Add autocomplete for visible_alias
Let's generate autocompletions for aliased subcommands.

    $ source before.zsh
    $ clap-test [TAB] <- gives me "foo bar --"
    $ clap-test foo [TAB] <- gives me "--my-flag"
    $ clap-test bar [TAB] <- no reaction

    $ source after.zsh
    $ clap-test [TAB] <- gives me "foo bar --"
    $ clap-test foo [TAB] <- gives me "--my-flag"
    $ clap-test bar [TAB] <- gives me "--my-flag"
2024-05-17 15:17:44 +01:00
Pawel Zmarzly
be15bd5d96 fix(complete): Fix zsh.rs subcommand deduplication
Fixing the iteration over all_subcommands in zsh.rs. We deduplicate
values on (sc_name, bin_name) keys, but then only iterate on bin_name.
This doesn't cause problems now, since all bin names seem to be unique.
However, without fixing this, the next commit would have started
generating duplicated functions with same names.

For example, with an #[long = "foo", visible_alias = "bar"] subcommand,
we'll end up with 2 pairs: [("foo", "foo"), ("bar", "foo")]. Before this
commit, we would have ended up generating _my-app__foo_commands()
functions. These functions should have identical content, so it is not
an error, just an inefficiency that we can fix.
2024-05-17 15:16:43 +01:00
sudotac
cd82f8cc8e fix(complete): Avoid use of -v in bash completion
Because -v is not supported below bash 5.0.
2024-04-07 23:19:50 +09:00
Alexis (Poliorcetics) Bourget
e782775229 fix(complete): Handle newlines in command/arg descriptions
Found while trying to add Nushell completions to
[`jj`](https://github.com/martinvonz/jj).
2024-02-16 16:17:22 -06:00
Ed Page
fba7c8597b test(complete): Show newline issue 2024-02-16 16:16:36 -06:00
sudotac
1edffb8576 fix(complete): Prevent filenames splitting
Fix #5313
2024-02-02 23:31:03 +09:00
Ed Page
646134a9a9
Merge pull request #5240 from sudotac/improve-bash-completion-with-compopt
Improve bash completion with compopt
2024-01-22 09:44:11 -06:00
sudotac
13a79804c9 fix(complete): Suppress a useless space completion 2024-01-20 21:29:51 +09:00
sudotac
e25b1abddf feat(complete): Add DirPath support in bash 2024-01-20 21:29:50 +09:00
sudotac
3a222def22 fix(complete): Fix path completion in bash
Fix #5239
2024-01-20 21:29:06 +09:00
Sebastian Holmin
ba378e635c fix(complete): Use bin_name for subcommands
Bash completions for subcommands used package
name, which broke completions when the `bin_name`
was different.

Update the `custom_bin_name` test to reflect the
correct behavior.
2024-01-19 10:27:36 +01:00
Sebastian Holmin
6411995641 test(complete): Add custom bin name test 2024-01-19 10:26:26 +01:00
Ed Page
6fcba9821d fix(complete): Don't provide help output for user
We shouldn't be injecting help when being flattened.

Unsure why this made tests fail inconsistentkly between CI and local
2024-01-15 12:51:45 -06:00
Henry Hsieh
2b48858ba8 fix: Skip nosort option below bash 4.4 2024-01-02 21:14:20 +08:00
Ed Page
29208083b0 test: Update snapshots 2023-12-27 12:09:15 -06:00
jporwal05
34291a2b46 fix: (fish-completion) Help for value enum
Resolves #5101

- The completion of value enums now displays accurate help text
- This fix encloses help text in single quotes
- Any text after tab is taken as help text
- Comma in help text is not escaped
- This is because the the help text is now treated as literal
- No variable expansion or command substitution in help text
2023-09-07 17:54:28 +05:30
jporwal05
ca06c321c5 test: (completion) enum value help
- Breaking for fish shell
- Matching the bad output to make the test pass
2023-09-07 17:19:43 +05:30
Roland Fredenhagen
5b10a9d83c
test(complete): Test help escaping 2023-08-04 01:20:50 +07:00
Roland Fredenhagen
4f9cf6be20
feat(complete): Dynamic fish completions 2023-08-01 01:42:05 +07:00
Ed Page
12e1877627 fix(complete): Fix bash dynamic completions 2023-07-28 14:10:22 -05:00
Ed Page
56afdabcc0 test(complete): Rename fixture to avoid ambiguity 2023-07-28 13:54:02 -05:00
Ed Page
dc953e95d0 test(complete): Register bash dynamic completions 2023-07-28 13:28:30 -05:00
Roland Fredenhagen
9a6208c795 test(complete): Allow E2E dynamic completion tests 2023-07-28 12:55:57 -05:00
Ed Page
fa95531230 test(complete): Make room for alt completion styles 2023-07-28 12:48:36 -05:00
Roland Fredenhagen
ab1407f1ae
chore: Fix dynamic completion tests 2023-07-26 23:52:14 +07:00
Ed Page
f98ba908aa chore(complete): Update completest 2023-07-24 12:57:56 -05:00
Ed Page
51e37af365 test(complete): Add basic tests for all shells 2023-07-20 20:08:58 -05:00
Ed Page
28be38b3a7 refactor(complete): Split tests up
This makes them easier to read and and easier to manually invoke
2023-07-20 20:06:08 -05:00