shannmu
d1e0f6073c
feat(clap_complete): Support hiding long flags and their long aliases
2024-07-19 22:49:35 +08:00
shannmu
903b73bd1c
test(clap_complete): Add test cases for hiding long flags and their long aliases
2024-07-19 22:49:35 +08:00
Ed Page
7f903005b8
Merge pull request #5586 from shannmu/glue_documentation
...
docs: Add document comments how to source dynamic completions
2024-07-19 09:29:32 -05:00
shannmu
43e17f2c2b
docs: Add document comments how to source dynamic completions
2024-07-19 22:04:12 +08:00
shannmu
67e31af334
refactor(clap_complete): Add CompletionCandidate
to replace (OsString, Option<StyledStr>)
2024-07-19 18:29:16 +08:00
shannmu
697b88e28f
feat(clap_complete): Add elvish support for native completion
2024-07-18 13:44:27 +08:00
Ed Page
4a8d6806d9
Merge pull request #5549 from shannmu/hidden_aliases
...
feat(clap_complete): Add support for visible subcommand aliases
2024-07-17 16:20:17 -05:00
shannmu
cef9393c5d
feat(clap_complete): Add zsh support for native completion
2024-07-17 23:29:48 +08:00
shanmu
152b2e8a55
feat(clap_complete): Add support for visible subcommand aliases
2024-07-16 16:26:52 +08:00
shanmu
c41d41cbdc
test(clap_complete): Add test case for visible subcommand aliases
2024-07-16 16:26:02 +08:00
Ed Page
44189f3388
chore: Release
2024-07-10 20:34:37 -05:00
Ed Page
f5e7b7a16a
docs: Update changelog
2024-07-10 20:34:29 -05:00
Lzu Tao
6243d65463
fix: Only generate stubs if has subcommands
2024-07-11 06:01:42 +07:00
Lzu Tao
76b9c46241
style: Prefer matching with enum name
2024-07-09 07:51:21 +07:00
Lzu Tao
0462be61cc
doc: Explain why we fallback to the old behavior
2024-07-09 07:40:11 +07:00
Lzu Tao
eba26a9376
chore: Explain why -lt 3 levels of subcommands
2024-07-09 06:56:31 +07:00
Lzu Tao
1dd1056cd7
fix: Check for real optional arguments
2024-07-07 07:27:47 +07:00
Lzu Tao
e276fc420b
fix: Fix conditions to generate helpers
...
Both should be met.
2024-07-07 00:26:53 +07:00
Lzu Tao
6c706d534b
chore: Use get_action to filter out help/version flags
2024-07-07 00:16:48 +07:00
Lzu Tao
2167fee212
fix(fish): Don't handle level 3 nested subcommand
...
Nested subcommand more than 3 levels is not practical in public.
Take rustup for example, `rustup toolchain install <version>`,
there is only 3 levels of nested subcommands. But there is also
the case of `rustup help toolchain install`, or `rustup toolchain help install`.
2024-07-06 07:58:43 +07:00
Lzu Tao
a6ac45f566
feat(fish): Support nested subcommand completion
2024-07-06 07:27:56 +07:00
Lzu Tao
1c5a625ad0
fix: Fix wrong cfg(linux)
2024-07-05 15:35:01 -05:00
Lzu Tao
2d2d1f4987
chore: Bump completest
2024-07-05 15:35:01 -05:00
Lzu Tao
7c00ad2e3e
test(comlete): Show all fish completions
2024-07-05 15:34:42 -05:00
Ed Page
3689a4c867
test(complete): Fix snapshots
2024-07-05 15:02:08 -05:00
Ed Page
469d847d35
chore: Release
2024-06-28 12:44:19 -04:00
Ed Page
e323b912a6
docs: Update changelog
2024-06-28 12:43:51 -04: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
b1a0508cf9
refactor: Rewrite iterator for followup changes
2024-06-27 07:21:18 +07:00
Ed Page
5cc44bb91e
Merge pull request #5548 from tesuji/fish-escape-tab
...
style: fish: escaping tab as \t for more readibility
2024-06-26 12:27:13 -05:00
Ed Page
0724b7ba2b
chore: Remove tarpaulin support
2024-06-26 09:03:34 -04:00
Lzu Tao
b16f987ad7
style: Escaping tab as \t for more readability for fish
2024-06-25 08:42:49 +07:00
Ed Page
9c1153d6b4
chore: Release
2024-06-19 16:03:52 -05:00
Ed Page
b3effeae10
style: Make clippy happy
2024-06-13 12:45:33 -05:00
Ed Page
2f645d3e81
chore: Release
2024-06-07 16:13:55 -05:00
Ed Page
6e1e0368f9
docs: Update changelog
2024-06-07 16:12:56 -05:00
Ben Rogers
8e3c273b61
fix(zsh): Separate options from _arguments options
2024-06-07 15:20:04 -04:00
Ed Page
ff3713d770
chore: Release
2024-06-06 16:41:05 -05:00
Ed Page
3572ab8fa3
chore(complete): Require latest clap
2024-06-06 16:37:19 -05:00
Ed Page
d87dee6d48
Merge pull request #5476 from pzmarzly/issue-4265
...
feat(complete): generate completions for visible aliases
2024-06-06 16:33:01 -05:00
Ed Page
f087c39884
chore: Release
2024-06-06 15:14:24 -05:00
Ed Page
5e3386bb40
docs: Link to repo, not webpage inside repo
2024-06-04 15:36:17 -05:00
Ed Page
75e2199415
chore: Upgrade snapbox
2024-05-24 10:13:50 -05: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
Ed Page
800d7cb8ad
chore: Update from template
2024-05-14 12:27:02 -05:00
renovate[bot]
24651fcfef
chore(deps): update compatible (dev) ( #5477 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-01 01:04:57 +00:00
Ed Page
3092aa4a0d
chore: Release
2024-04-09 12:08:43 -05:00
Ed Page
dc333288ec
docs: Update changelog
2024-04-09 12:08:33 -05: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
renovate[bot]
9d14f394ba
chore(deps): update compatible (dev) ( #5438 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-01 00:30:25 +00:00
Pi-Cla
3b35dba160
docs: Add mention of nushell to clap_complete README
2024-03-22 11:43:50 -06:00
renovate[bot]
a2aa644368
chore(deps): update compatible (dev) ( #5381 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-01 00:16:52 +00:00
Ed Page
0c01b5558d
chore: Release
2024-02-16 16:33:14 -06:00
Ed Page
08e0b5bde4
docs: Update changelog
2024-02-16 16:32:57 -06: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
Ed Page
5f9cecb6bd
chore: Update snapbox/trycmd
2024-02-14 16:44:57 -06:00
Ed Page
a751c5fe65
chore: Release
2024-02-08 10:34:06 -06:00
Ed Page
9ec6c942b8
chore: Release
2024-02-08 10:33:13 -06:00
Ed Page
0735119775
docs: Update changelog
2024-02-08 10:32:13 -06:00
Ed Page
ea77b98da3
test(complete): Make it order independent
2024-02-08 06:19:06 -06:00
Ed Page
708afa33ef
chore: Release
2024-02-02 10:12:09 -06:00
Ed Page
ec74349838
docs: Update changelog
2024-02-02 10:12:02 -06:00
sudotac
1edffb8576
fix(complete): Prevent filenames splitting
...
Fix #5313
2024-02-02 23:31:03 +09:00
sudotac
fe16f24ed8
test(complete): Verify filename splitting
2024-02-02 23:31:03 +09:00
renovate[bot]
4788918e01
chore(deps): update compatible (dev) ( #5333 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-01 01:26:55 +00:00
Ed Page
bd9583059b
chore: Release
2024-01-22 09:46:21 -06:00
Ed Page
35a96b0824
docs: Update changelog
2024-01-22 09:46:07 -06: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
sudotac
62a5ace9f1
test(complete): Verify some variants of ValueHint
2024-01-20 21:28:52 +09:00
Ed Page
6a2b3bf4fa
chore: Release
2024-01-19 10:47:00 -06:00
Ed Page
069c7a6245
docs: Update changelog
2024-01-19 10:46:46 -06: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
c742b8eb0c
chore(complete): Update completest-pty
2024-01-15 14:42:42 -06:00
Ed Page
f524d84c1d
chore: Release
2024-01-15 13:09:45 -06:00
Ed Page
944fb81cf5
docs: Update changelog
2024-01-15 13:09:24 -06: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
Ed Page
419f231dad
chore: Update completest
2024-01-15 12:21:42 -06:00
Ed Page
6e862f5617
chore: Update completest
2024-01-15 12:21:41 -06:00
Ed Page
48d28aa689
chore: Release
2024-01-02 15:00:09 -06:00
Ed Page
748ce18cc2
docs: Update changelog
2024-01-02 15:00:00 -06:00
Henry Hsieh
2b48858ba8
fix: Skip nosort option below bash 4.4
2024-01-02 21:14:20 +08:00
renovate[bot]
924b2524d0
chore(deps): update compatible (dev) ( #5276 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-01 01:44:12 +00:00
Ed Page
29208083b0
test: Update snapshots
2023-12-27 12:09:15 -06:00
Ed Page
28763ebb6d
chore: Release
2023-12-27 11:58:25 -06:00
Ed Page
ace7bb5b45
docs(complete): Update changelog
2023-12-27 11:58:12 -06:00
Ed Page
76beca4d4d
docs(complete): Polish API reference for dynamic
2023-12-27 11:57:38 -06:00
Ed Page
3724b9e2e4
docs: Include more content on docs.rs
2023-12-27 11:30:42 -06:00
Ed Page
28425e484f
style(docs): Resolve warnings
2023-11-07 13:44:41 -06:00
renovate[bot]
14fd853fb9
chore(deps): update compatible (dev) ( #5192 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-01 01:03:46 +00:00
Ed Page
9bfa5a338c
chore: Release
2023-10-24 13:25:07 -05:00
Ed Page
38b5a2f956
chore: Release
2023-10-24 11:45:21 -05:00
Ed Page
dcced5ae6a
chore: Bump completest
2023-10-16 13:16:40 -05:00
Ed Page
dfebb54423
style: Make clippy happy
2023-10-12 08:32:59 -05:00
Ed Page
39f5e807af
chore: Release
2023-09-28 14:36:28 -05:00
Ed Page
485b957c4b
chore: Upgrade anstream
2023-09-28 14:13:54 -05:00
Ed Page
204552890d
chore: Release
2023-09-25 16:31:57 -05:00
Ed Page
55d2230016
docs: Update changelog
2023-09-25 16:31:49 -05:00
Ed Page
017c258be1
fix(complete): Include positionals in subcommands
...
Fixes #5139
2023-09-25 16:15:02 -05:00
Ed Page
82c93ce024
test(complete): Verify dynamic subcommand positional completion
2023-09-25 16:10:42 -05:00
Ed Page
6eac61154b
chore: Release
2023-09-07 08:58:13 -05:00
Ed Page
a2f8b1a0a8
docs: Update changelog
2023-09-07 08:58:02 -05: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
renovate[bot]
dc63cba772
chore(deps): update compatible (dev) ( #5108 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-01 01:47:45 +00:00
Ed Page
4647a8a860
chore: Update dependencies
2023-08-28 11:12:59 -05:00
Ed Page
2e49645418
chore: Release
2023-08-24 11:08:02 -05:00
Ed Page
7224e5044e
docs: Update changelog
2023-08-24 11:06:00 -05:00
Roland Fredenhagen
aa3f47c239
test(complete): Help for possible value
2023-08-07 14:02:57 +07:00
Roland Fredenhagen
65b9c2b37d
test(complete): Helper for asserting dynamic completions
2023-08-07 13:46:27 +07:00
Roland Fredenhagen
5b10a9d83c
test(complete): Test help escaping
2023-08-04 01:20:50 +07:00
Roland Fredenhagen
bdefebf663
feat(complete): Show help in dynamic completions
2023-08-04 01:20:47 +07:00
Roland Fredenhagen
b613548b03
refactor(complete): Stop using generate utils in dynamic
2023-08-03 16:51:01 +07:00
renovate[bot]
1afb100687
chore(deps): update rust crate completest to 0.0.17
2023-08-01 00:56:25 +00:00
Roland Fredenhagen
4f9cf6be20
feat(complete): Dynamic fish completions
2023-08-01 01:42:05 +07:00
Roland Fredenhagen
a59c175396
fix(complete): Return leading dash on short args
2023-07-28 14:52:05 -05:00
Ed Page
0669994bbc
style: Make clippy happy
2023-07-28 14:51:57 -05:00
Roland Fredenhagen
edabdf72b5
fix(complete): Only return imidiate child subcommands
2023-07-28 14:51:56 -05: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
dac33b686b
test(complete): Only limit by command when needed
2023-07-28 12:52:44 -05:00
Ed Page
fa95531230
test(complete): Make room for alt completion styles
2023-07-28 12:48:36 -05:00
Ed Page
abdb1d513e
refactor(test): Move nushell tests to completest
2023-07-26 21:06:11 -05:00
Ed Page
053c778e98
Merge pull request #5045 from ModProg/fish-dynamic-completions-v3
...
chore(ci): Verify dynamic completion support
2023-07-27 08:01:17 -05:00
Ed Page
71d6a3d3ca
chore: Update completest
2023-07-26 20:48:02 -05:00
Roland Fredenhagen
ab1407f1ae
chore: Fix dynamic completion tests
2023-07-26 23:52:14 +07:00
Roland Fredenhagen
f16a1a76bc
chore: Clippy
2023-07-26 23:48:37 +07:00
Ed Page
f98ba908aa
chore(complete): Update completest
2023-07-24 12:57:56 -05:00
Ed Page
0137a8be65
chore(complete): Update completest
2023-07-21 14:42:49 -05:00
Ed Page
51e37af365
test(complete): Add basic tests for all shells
2023-07-20 20:08:58 -05:00
Ed Page
34a7973e53
refactor(complete): Assert on home change
2023-07-20 20:06:28 -05:00
Ed Page
1d0fa2c6ce
refactor(complete): Make test code reusable
2023-07-20 20:06:08 -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
Ed Page
5c362fe5b1
refactor(complete): Merge test binaries for better parallelism
2023-07-20 20:06:08 -05:00
Ed Page
010d7c5464
test(complete): First end-to-end test
2023-07-20 20:06:01 -05:00
Ed Page
35a9d8438e
fix(complete): Prefer our own sort order
...
For testing, I'm seeing different sort orders for local and CI despite
using the same bash version...
2023-07-20 12:14:24 -05:00
Ed Page
00e9217183
feat(complete)!: Open to new shells for dynamic completions
2023-07-18 21:50:34 -05:00
Ed Page
830dd740ef
feat(complete): Add dynamic-support shell enum
2023-07-18 21:19:54 -05:00
Ed Page
278ae3ec63
refactor(complete): Pull out completer
2023-07-18 21:14:48 -05:00
Ed Page
e3f1ad932b
refactor(complete): Generalize dynamic CLI interface
2023-07-18 21:06:29 -05:00
Ed Page
8e9ded2f6a
fix(complete)!: Pull out generic completion code
2023-07-18 20:42:46 -05:00
Ed Page
e8622c5391
refactor(complete): Split out bash dynamic code
2023-07-18 20:39:34 -05:00
Ed Page
4bbcf6088f
refactor(complete): Split dynamic into a directory
2023-07-18 20:37:51 -05:00
Ed Page
1289534b19
chore: Release
2023-07-05 10:38:09 -05:00
Ed Page
8d7ce55f79
docs: Update changelog
2023-07-05 10:37:56 -05:00
RubixDev
7b5bc6640c
fix(complete): PS short options not case-sensitive
...
fixes #2145
2023-07-04 15:27:47 +08:00
Ed Page
50f0e6bffb
chore: Release
2023-06-01 21:10:46 -05:00
renovate[bot]
534be345d8
chore(deps): update compatible (dev)
2023-06-01 00:38:25 +00:00
Ed Page
9c3dc187cb
chore: Release
2023-05-19 11:55:42 -05:00
Ed Page
5047bb40bd
chore: Release
2023-05-19 11:48:29 -05:00
Cosmic Horror
863dd90ca4
docs(complete): Demo generating all completions
2023-05-13 11:25:55 -06:00
Ed Page
36f79289ca
chore: Release
2023-05-12 10:23:52 +02:00
Ed Page
9d0e4512fa
docs: Update changelog
2023-05-12 10:23:40 +02:00
clubby789
b1b2231db2
fix: Don't emit catchall when we have subcommands
2023-05-10 19:44:02 +01:00
Ed Page
2d4644a870
chore: Release
2023-05-09 21:44:11 +02:00
Ed Page
ea38450643
docs: Update changelog
2023-05-09 21:43:28 +02:00
clubby789
2f97216156
fix: Respect ValueHint::Other
in bash
2023-05-09 20:11:48 +01:00
Yuri Astrakhan
d0302c5556
chore: Inline simple non-mixed format args
2023-05-04 15:58:04 -04:00
Ed Page
47c3b6f580
Merge pull request #4884 from nyurik/impl-order
...
chore: Order trait impl same as trait
2023-05-03 21:14:22 -05:00
Ed Page
5fb1b25799
Merge pull request #4883 from nyurik/happy-clippy
...
chore: Make Clippy happy
2023-05-03 21:13:47 -05:00
Yuri Astrakhan
1dc6304fcf
chore: Order trait impl same as trait
2023-05-03 22:01:16 -04:00
Yuri Astrakhan
ebbdce4820
chore: Make Clippy happy
2023-05-03 21:56:07 -04:00
Yuri Astrakhan
797c23c415
chore: Inline format args using clippy fix
...
This command cleaned up all the format args,
making code significantly shorter and more readable.
```
cargo clippy --workspace --fix -- -A clippy::all -W clippy::uninlined_format_args
```
2023-05-03 21:49:11 -04:00
Yuri Astrakhan
47cbc5f247
chore: Deduplicate powershell code complete
...
Makes powershell code more concise
2023-05-03 21:02:30 -04:00
Ed Page
43591bc1ee
chore: Release
2023-04-21 07:42:44 -05:00
Ed Page
9bda2ac8a0
docs: Update changelog
2023-04-21 07:42:33 -05:00
Huan-Cheng Chang
a379bae895
fix: Escape special characters properly for zsh
...
Signed-off-by: Huan-Cheng Chang <changhc84@gmail.com>
2023-04-20 21:52:36 +02:00
Ed Page
feddd124b0
style: Move away from banned fns
2023-03-30 02:18:00 -05:00
Ed Page
8fc65e28b6
chore: Release
2023-03-28 02:19:08 -05:00
Ed Page
2852653656
chore: Release
2023-03-27 19:41:39 -05:00
Ed Page
2bb4146374
chore: Release
2023-03-25 03:56:28 -05:00
Ed Page
ea4dada1e4
fix(lex): Allow reporting errors for non-UTF8 longs
2023-03-25 03:42:04 -05:00
Ed Page
6419a0d937
perf!(lex): Build faster by removing os_str_bytes
...
We are doing direct transmutes between `OsStr` and `[u8]`.
https://github.com/rust-lang/rust/pull/95290 would make this natively
supported but I got tired of waitin for it.
This only saves about 1/4s off of `cargo build`.
This took 2.9 KiB off of `cargo bloat --release --example git`
2023-03-25 01:59:24 -05:00
Ed Page
d9a641bcc8
docs: Consistently use console fence type
2023-03-24 21:33:49 -05:00
mochi33i
7c6cf81476
docs(clap_complete): The file name of the command in the clap_complete example documentation was not supported, so it has been updated
2023-03-27 23:24:50 +09:00
Ed Page
e78bba0ec5
chore: Release
2023-03-16 10:42:06 -05:00
Ed Page
dec82598b2
chore: Upgrade trycmd
2023-03-16 06:07:46 -05:00
Ed Page
6c0600a031
chore: Fully specify dependencies
2023-03-16 06:07:08 -05:00
renovate[bot]
8469554c17
chore(deps): update compatible (dev) ( #4741 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-01 04:51:19 +00:00
Ed Page
84a9b53cee
chore: Release
2023-02-27 04:20:28 -06:00
Ed Page
9fa48d5f92
docs: Update changelog
2023-02-27 04:20:07 -06:00
XiaoXiaoSN
0f3e729358
feat(complete): Support to run ZSH completion as a script
2023-02-27 23:23:50 +08:00
Ed Page
cdb33b6ad2
test(complete): Adjust bash snapshot
2023-02-24 07:40:24 -06:00
Ed Page
2deb372195
chore: Release
2023-02-23 11:56:20 -06:00
Ed Page
c064da01c9
docs: Update changelog
2023-02-23 11:56:12 -06:00
Ed Page
77803337f8
Merge pull request #4612 from davvid/zsh-multi-length-arguments
...
clap_complete: fix support for two multi-length arguments in zsh
2023-02-23 11:55:17 -06:00
Ed Page
953e2dcd34
docs: Remove remaining references to clap attribute
2023-02-18 18:42:07 -06:00
Ed Page
fb9435d026
chore: Release
2023-02-15 10:27:15 -06:00
Martin
704d0e7a4f
chore: Make format!() calls more readable
2023-01-29 19:14:47 +00:00
Ed Page
90c042eeae
chore: Release
2023-01-23 13:05:20 -06:00
Ed Page
4f638b5c75
docs: Update changelog
2023-01-23 13:05:15 -06:00
Fredrik Jansson
3426310d8e
fix: Bash test cases
2023-01-23 19:20:09 +01:00
Fredrik Jansson
8b455d28e7
fix: Make cmd a local var in bash completion
2023-01-23 19:07:15 +01:00
Ed Page
34d856b449
chore: Release
2023-01-13 09:27:31 -06:00
Ed Page
889ca7a537
chore: Bump versions for 4.1
2023-01-13 09:24:37 -06:00
Ed Page
a41ca2edb0
docs: Update changelog
2023-01-13 07:13:28 -06:00
David Aguilar
170bd59111
fix(complete): Handle multi-valued arguments
...
zsh completions for commands that have multiple Vec arguments require
special care.
We can have two Vec args separated with a value terminator.
We can also have two Vec args with no value terminators specified
where the final arg uses 'raw' and thus requires '--' to be used.
The 2nd of these scenarios requires special handling to avoid
emitting a duplicate '*:arguments' completion entry.
Currently, the zsh completions generate an error in this scenario:
$ my-app <TAB>
_arguments:...: doubled rest argument definition:
*::second -- second set of of multi-length arguments:
We already use the '-S' option when calling _arguments.
This option makes it so that completion stops after '--' is encountered.
This means that the handling for trailing 'raw' arguments does not need
to specified.
Special-case multi-valued arguments so that we can skip emitting
the final multi-valued argument if a previous multi-valued argument
has already been emitted.
Closes #3022
Signed-off-by: David Aguilar <davvid@gmail.com>
2023-01-10 14:39:33 -08:00
David Aguilar
58b0c504d8
fix(complete): Emit value terminators on zsh
...
Emit the user-defined value terminator into the zsh completion pattern
to avoid doubled rest-arguments definitions:
$ my-app <TAB>
_arguments:comparguments:325: doubled rest argument definition:
*::second -- second set of of multi-length arguments:
https://github.com/clap-rs/clap/issues/3266#issuecomment-1007901407
noted that including the value terminator is one step towards a
robust solution for handling multiple multi-valued arguments.
This change does not yet handle automatically detecting when a value
terminator is needed, but it does add tests to ensure that
user-specified value terminators are used on zsh.
Related-to: #3022
Signed-off-by: David Aguilar <davvid@gmail.com>
2023-01-10 00:59:25 -08:00
Ed Page
fa02111092
chore: Switch to workspace inheritance
2023-01-09 12:35:54 -06:00
Ed Page
f25fe5b3e0
chore: Bump MSRV to 1.64.0
2023-01-09 12:29:41 -06:00
Ed Page
c2efb60a5f
fix(error): Lowercase the start of error messages
...
This matches the rustc error style
2023-01-03 13:17:46 -06:00
Ed Page
36bc641648
fix(help): Remove extraneous text from built-ins
...
This is an intermediate solution for #4408 . As there were no agreeed
upon goals, I went with what I felt read well and that I saw commonly
used on non-clap commands.
- "information" isn't really a necessary word.
- I originally favored `Print this help` but realied that doesn't read
correctly in completions.
- Besides being shorter, the reason for the flipped short/long hint is
it gives people the context they need for scanning, emphasizing
"summary" and "more".
Fixes #4409
2023-01-03 11:02:26 -06:00
renovate[bot]
acfc493a35
chore(deps): update compatible (dev)
2023-01-01 02:25:24 +00:00
Ed Page
0eccd556ac
chore: Release
2022-12-22 12:40:15 -06:00
renovate[bot]
9b2b718df6
chore(deps): update dev
2022-12-01 21:38:13 +00:00
Ed Page
3262016c26
chore: Release
2022-11-24 11:40:15 -06:00
Ed Page
623ccbc152
style: Make clippy happy
2022-11-24 08:05:21 -06:00
Hugo Osvaldo Barrera
d169849330
docs: Clarify mention of example elsewhere
...
This points to "the example above", but there's no example above when
this gets rendered in docs.rs:
https://docs.rs/clap_complete/latest/clap_complete/generator/fn.generate.html
I suppose this reference is just stale since moving docs from a single
markdown file or something similar.
2022-11-19 12:22:37 +01:00
Ed Page
c75b81eeb8
chore: Release
2022-11-07 07:39:49 -06:00
Ed Page
28324d8df7
docs: Update changelog
2022-11-07 07:39:36 -06:00
Ed Page
571f45080e
Merge pull request #4447 from tmccombs/guess-shell
...
Add support for determining current shell from environment
2022-11-07 07:38:51 -06:00
Ed Page
b4b94af0f8
chore: Release
2022-11-07 06:24:02 -06:00
Thayne McCombs
86db119153
feat(complete): Support getting shell from env
...
Add functions for getting the Shell from a path and for getting the
current shell form environment variables.
Closes : #4446
2022-11-06 23:39:55 -07:00
Ed Page
a24fb589eb
chore: Update trycmd
2022-11-04 10:27:57 -05:00
Ed Page
996636d56f
chore: Release
2022-10-18 14:37:53 -05:00
Ed Page
3e23cd102f
fix: Require release versions of clap
2022-10-18 14:36:44 -05:00
dependabot[bot]
f0d971562a
chore(deps): bump snapbox from 0.3.3 to 0.4.0
...
Bumps [snapbox](https://github.com/assert-rs/trycmd ) from 0.3.3 to 0.4.0.
- [Release notes](https://github.com/assert-rs/trycmd/releases )
- [Changelog](https://github.com/assert-rs/trycmd/blob/main/CHANGELOG.md )
- [Commits](https://github.com/assert-rs/trycmd/compare/snapbox-v0.3.3...snapbox-v0.4.0 )
---
updated-dependencies:
- dependency-name: snapbox
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 18:58:27 +00:00
Ed Page
eeafb2574b
docs(complete): Don't use deprecated API
2022-09-29 16:11:03 -05:00
Ed Page
80fb67edaa
chore: Release
2022-09-29 12:08:47 -05:00
Ed Page
83db04c0c3
docs: Update changelog
2022-09-29 12:08:40 -05:00
Martin von Zweigbergk
33fa7c4c19
fix(complete): Fix command alias and Bash
...
With the previous fixes for #4273 and #4280 in place, it's now easy to
add support for subcommand aliases, which this commit does. This
addresses #4265 for Bash.
2022-09-29 08:58:32 -07:00
Martin von Zweigbergk
9ee45f7f3d
fix(complete): Fix git diff log <TAB>
for Bash
...
This continues the work started with the fix for #4273 . There was
another bug caused by using the subcommand names without considering
their position in the argument list. If the user enters `git diff log
<TAB>`, we build up a string that identifies the subcommand. We ended
up making the string `git__diff__log` in this case because we appended
`__log` without considering the current state. Since `git__diff__log`
does not correspond to an actual command, we wouldn't provide any
suggestions.
This commit restructures the code so we walk subcommands and
subsubcommands in `bash.rs`. While walking those, we build up a list
containing triples of the parent `$cmd` name (e.g. `git__diff`), the
current command's name (e.g. `log`), and the `$cmd` for the current
command. We then build the shell script's case arms based on that
information.
We could instead have fixed #4280 by using the second element in the
pair returned from `utils::all_subcommands()` (a stringified list of
the subcommand path) instead of the first one. However, that would not
have helped us solve #4265 .
Closes #4280
2022-09-29 08:58:32 -07:00
Martin von Zweigbergk
ea264fde16
fix(complete): Fix git diff git <TAB>
for Bash
...
Early in the Bash-completion script, we build up a string that
identifies the command or subcommand. When we see the top-level
command's name (e.g. `git`) we set the command so far to that
value. We do that regardless of where in the argument list it
appears. For example, if the argument list is `git diff git`, we set
the current command to `git` when run into it the second time. We
therefore suggest arguments to the top-level command afterwards, which
is not correct.
This patch fixes that by also considering the string that identifies
the command so far, so we only set the overall command to `git` if the
command so far is the empty string.
This is actually just a step on the way to getting completion to work
for aliases of subcommands.
Closes #4273
2022-09-29 08:40:54 -07:00
Martin von Zweigbergk
35b5f9b276
refactor(complete): Remove an always-true check
...
The `text` variable here is clearly never empty, so don't check if it
is.
2022-09-29 08:40:54 -07:00
Martin von Zweigbergk
9c59c69bb0
refactor(complete): Remove unnecessary early return
...
There seems to be little reason to return early with an empty list
when there are no subcommands, instead of going through the loop 0
times and then returning the empty list.
2022-09-29 08:40:54 -07:00
Martin von Zweigbergk
8d0ef124e0
test(complete): Include a visible command alias
...
Only zsh includes completion for visible aliases of subcommands. Let's
show that in tests.
2022-09-29 08:40:54 -07:00
Martin von Zweigbergk
5020d739d5
refactor(complete): Add an alias for the subcommand
...
I want to add support for completion of arguments for aliased
subcommands so it's nice to have an example to test on.
2022-09-29 08:39:49 -07:00
Martin von Zweigbergk
6bc8d2632c
refactor(complete): Add a subcommand to examples
...
It's useful when testing to have a subcommand in the examples.
2022-09-29 08:39:17 -07:00
Martin von Zweigbergk
8b33da3138
fix(complete): Make the two examples consistent
...
The derive-based example has a `///` comment on one argument, which
ends up as a description for the argument in the generated completion
scripts. Let's switch to `//` so the two scripts produce the same
output (except for the binary name), so they're easy to compare.
2022-09-29 08:37:03 -07:00
Martin von Zweigbergk
59270b1c81
fix(complete): Make example commands match binary
...
The example binaries were renamed in 89c2b3bb0d
, but the commands in
them were not, making the generated completion scripts not work
(because we use the command name as binary name in the examples).
2022-09-29 08:34:19 -07:00
Ed Page
bf42ff04d5
chore: Release
2022-09-28 15:34:33 -05:00
Ed Page
824f6589ad
docs: Update changelog
2022-09-28 15:34:25 -05:00
Ed Page
7b886d2c63
Merge pull request #4278 from intgr/zsh-completion-fix-multiple-args-handling
...
fix(complete): Fix zsh handling of multiple arguments
2022-09-28 15:33:42 -05:00
Marti Raudsepp
89cae3a2b3
fix(complete): Fix handling of multiple arguments
2022-09-28 23:02:31 +03:00
Ed Page
8aafddff01
docs(complete): Ensure examples work
...
Fixes #4272
2022-09-28 14:34:56 -05:00
Ed Page
3a74d82376
chore: Release
2022-09-28 12:00:48 -05:00
Ed Page
a82029c707
chore: Release
2022-09-20 16:30:29 -05:00
Ed Page
af64699912
chore: Release
2022-09-20 16:28:27 -05:00
Ed Page
7a5dad89ff
feat(help): Break out help feature flag
...
This removes auto-generated help, saving about 50 KiB.
2022-09-19 11:54:10 -05:00
Ed Page
c165b601ac
perf: Switch to &'static str
by default
...
Originally, clap carried a lifetime parameter. When moving away from
that, we took the approach that dynamically generated strings are always
supported and `&'static str` was just an optimization.
The problem is the code size increase from this is dramatic. So we're
taking the opposite approach and making dynamic formatting opt-in under
the `string` feature flag. When deciding on an implementation, I
favored the faster one rather than the one with smaller code size since
small code size can be gotten through other means.
Before: 567.2 KiB, 15.975 µs
After: 541.1 KiB, 9.7855 µs
With `string`: 576.6 KiB, 13.016 µs
2022-09-16 16:44:39 -05:00
Roland Fredenhagen
a2cf7f1dea
fix: Tests/clippy/errors bash dynamic completion
2022-09-07 20:25:06 -05:00
Ed Page
bffce7f57a
fix: Deprecate Command::trailing_var_arg
...
Now that we have it on `Arg`, we don't need it on `Command`
2022-09-06 19:41:17 -05:00