-
Notifications
You must be signed in to change notification settings - Fork 33
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
Completion for file-paths/directories #6
Comments
I don't think there is currently a great way to do that. That definitely something that would be nice, if someone wants to give it a try! For now, in our private application, we are completing with both the directory name and the directory name with a trailing slash:
because there are two entries that begin exactly the same, the completion is done up to the full dir name, without the slash, and without space, so it is possilbe to continue the completion process. |
Ah, nice workaround, thanks! Will use that for now. |
Hi @makkus and @glehmann , could you give a more complete example on how I use the fish shell and the autocompletion is currently useless to me since filenames are not completed :/ p.s. It seems that from glob import glob
import click
complete_filenames = click.Choice(glob("**", recursive=True))
...
@click.argument("filename", type=complete_filenames)
... does the job for me. Anyway if you have other suggestions, please let me know. Thanks! p.p.s it does only when the directory tree is too large. p.p.p.s this seems to be sufficient and doesn't require complete_filenames = click.Path(exists=True) p.p.p.p.s. only on |
Is it possible to do filename completion without having to load all files of a matching folder in the
complete
method? That strikes me as very expensive if there are a lot of files.Currently, I have something like:
This will complete a folder with an appended '/', but also a whitespace, and there's no way to complete on the content of this folder? Am I missing something? Thanks!
The text was updated successfully, but these errors were encountered: