dynamic-cli
dynamic-cli copied to clipboard
Autocomplete for Dynamic CLI
We need to autocomplete feature for dynamic to make it easier to use.
For example -
If I type dynamic
in the terminal it will show a popup like --help, -post, -no
See this -
For implementation of autocomplete in python refer to this - https://python-prompt-toolkit.readthedocs.io/en/master/
This issue is dependent upon #125 . Because to use autocomplete we need a different shell to make our changes visible. That shell can be created by xonsh.
The end goal should be similar to this -
Credit for autocomplete and xosh - gitsome
Hmm, that would be a nice addon
Is it like what we have to fetch it from history
Nops. Not from the history. We have to make patterns according to what user is typing
@GouravSardana I would like to work on this as a GSSOC contributor.
Please go ahead @shivankar-p
@GouravSardana Instead of using xonsh shell. Won't it be a better idea if there is something like a dynamic-cli REPL or shell which gets activated by running some command in bash like dynamic
. And users will enter related commands in the REPL. In this case we can customise autocompletion and all just using prompt_toolkit.
I'm not sure if this will have any disadvantages compared with current way of implementation?
Can you come up with a design for this before implementing?
Can you come up with a design for this before implementing?
I was planning to take input from the input stream/console for commands instead of getting them from command line. But the console is just in a formatted way like any other REPL. For this maybe I would need to add some new functions for auto-completion and add the input logic like we do while taking input in any other python program.
Design wise it would look this way. User gets to access this features of dynamic-cli once he enters
dynamic-cli
in command line
This looks good only. I have 2 concern :
- Do we get the history or the current folder ? Something like that
- Can we integrate in such a way if we type dynamic then only it’ll activate ?
This looks good only. I have 2 concern :
- Do we get the history or the current folder ? Something like that
- Can we integrate in such a way if we type dynamic then only it’ll activate ?
- Yes 1 . I didn't get what you meant. But if you are asking about autocomplete based on previous queries that could be done for a single session(I meant till the time user exits the REPL). To remember the previous session's queries for autocomplete is what I was looking for(still not sure about how to implement this)
Got it. I mean we were creating sessions or not. I think it’s clear now. We don’t have to worry about the autocomplete after the session Please go on and start integrating this first. Will figure it out a way
@GouravSardana I made a pull request. Can you review it? I still need to handle some options/commands properly. Commands like -help, -file are not yet handled
I would be happy to contribute to the project as I find my skills a good fit for the issue . As a GSSOC 23 member I humbly ask to allow me to contribute to the issue. I firmly believe that I can be a valuable asset.