Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

External mkdir command completes into internal mkdir #5424

Closed
zetanumbers opened this issue May 3, 2022 · 7 comments · Fixed by #7405
Closed

External mkdir command completes into internal mkdir #5424

zetanumbers opened this issue May 3, 2022 · 7 comments · Fixed by #7405
Labels
completions Issues related to tab completion enhancement New feature or request external-commands Issues related to external commands needs-design this feature requires design
Milestone

Comments

@zetanumbers
Copy link
Contributor

Describe the bug

See above

How to reproduce

mkdi<tab> and try complete the external one

Expected behavior

mkdi<tab> should be able to complete into ^mkdir, if prompted.

Screenshots

изображение

Configuration

key value
version 0.61.1
branch main
tag
short_commit e36649f
commit_hash e36649f
commit_date 2022-05-03 00:37:38 +00:00
build_os linux-x86_64
rust_version rustc 1.62.0-nightly (18f314e70 2022-04-24)
rust_channel nightly-x86_64-unknown-linux-gnu
cargo_version cargo 1.62.0-nightly (edffc4a 2022-04-19)
pkg_version 0.61.1
build_time 2022-05-03 13:04:26 +03:00
build_rust_channel debug
features default, trash, which, zip
installed_plugins

Additional context

No response

@herlon214
Copy link
Contributor

good catch.
I'm not sure which one we should show (the built-in or the external).

@zetanumbers
Copy link
Contributor Author

Why not both?

@fdncred
Copy link
Collaborator

fdncred commented May 3, 2022

if we know that it's an external command, and you choose it off the completion menu, it should be smart enough to prepend the external command with a caret.

@herlon214
Copy link
Contributor

interesting, so for externals we complete with ^
but then we would need to show them with ^ as well and it won't look very good IMO, once we don't have the ability to display one thing and complete other (e.g: display mkdir and complete ^mkdir)

@fdncred
Copy link
Collaborator

fdncred commented May 3, 2022

i kind of like the ^ differentiating externals from internals. i think it's a good visual flag that what you're about to run is an external command. maybe i'm the only one who feels this way. :)

@herlon214
Copy link
Contributor

@fdncred for completions that can be a little bit hard, specially prefixed, once you will type mkd<tab> and the completion starts with ^
not impossible though

@fdncred
Copy link
Collaborator

fdncred commented May 3, 2022

@herlon214 i'm just saying it would be neat. let's if others respond before we do anything.

@onthebridgetonowhere onthebridgetonowhere added enhancement New feature or request needs-design this feature requires design external-commands Issues related to external commands labels May 6, 2022
@rgwood rgwood added the completions Issues related to tab completion label Oct 23, 2022
sophiajt pushed a commit that referenced this issue Dec 9, 2022
# Description

Fixes #5424. Checking the code, apparently this was always supposed to
work; however, because it compared the `Suggestion`s directly, and
internal commands had descriptions while external commands did not, it
never did function properly.

# User-Facing Changes

Completing to external commands (with overlap) adds a caret so the
external command is actually run.

# Tests + Formatting

Don't forget to add tests that cover your changes.

Make sure you've run and fixed any issues with these commands:

- `cargo fmt --all -- --check` to check standard code formatting (`cargo
fmt --all` applies these changes)
- `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used -A
clippy::needless_collect` to check that you're using the standard code
style
- `cargo test --workspace` to check that all tests pass

# After Submitting

If your PR had any user-facing changes, update [the
documentation](https://github.com/nushell/nushell.github.io) after the
PR is merged, if necessary. This will help us keep the docs up to date.
@hustcer hustcer added this to the v0.73 milestone Dec 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
completions Issues related to tab completion enhancement New feature or request external-commands Issues related to external commands needs-design this feature requires design
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants