Skip to content

Autocomplete for Dynamic CLI #126

Open

Description

@GouravSardana

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 -

OnPaste 20210930-165426

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 -
endgoal

Credit for autocomplete and xosh - gitsome

Activity

  1. added
    Level3New features, major bug fixing.
    hacktoberfest-acceptedGood Work, Your Pull Request is Accepted for the Hacktoberfest
    on Sep 30, 2021
  2. lainq commented on Sep 30, 2021

    @lainq
    Contributor

    Hmm, that would be a nice addon

  3. added
    HacktoberfestThis Issue Will be Consider Under Hacktoberfest 2021
    and removed
    hacktoberfest-acceptedGood Work, Your Pull Request is Accepted for the Hacktoberfest
    on Oct 6, 2021
  4. kriptonian1 commented on Mar 1, 2022

    @kriptonian1

    Is it like what we have to fetch it from history

  5. GouravSardana commented on Mar 1, 2022

    @GouravSardana
    MemberAuthor

    Nops. Not from the history. We have to make patterns according to what user is typing

  6. shivankar-p commented on Mar 12, 2022

    @shivankar-p
    Contributor

    @GouravSardana I would like to work on this as a GSSOC contributor.

  7. GouravSardana commented on Mar 12, 2022

    @GouravSardana
    MemberAuthor

    Please go ahead @shivankar-p

  8. shivankar-p commented on Mar 12, 2022

    @shivankar-p
    Contributor

    @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?

  9. GouravSardana commented on Mar 12, 2022

    @GouravSardana
    MemberAuthor

    Can you come up with a design for this before implementing?

  10. shivankar-p commented on Mar 12, 2022

    @shivankar-p
    Contributor

    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.

  11. shivankar-p commented on Mar 12, 2022

    @shivankar-p
    Contributor

    Screenshot from 2022-03-12 23-24-28
    Screenshot from 2022-03-12 23-24-10
    Design wise it would look this way. User gets to access this features of dynamic-cli once he enters dynamic-cli in command line

  12. GouravSardana commented on Mar 12, 2022

    @GouravSardana
    MemberAuthor

    This looks good only. I have 2 concern :

    1. Do we get the history or the current folder ? Something like that
    2. Can we integrate in such a way if we type dynamic then only it’ll activate ?
  13. shivankar-p commented on Mar 12, 2022

    @shivankar-p
    Contributor

    This looks good only. I have 2 concern :

    1. Do we get the history or the current folder ? Something like that
    2. Can we integrate in such a way if we type dynamic then only it’ll activate ?
    1. 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)
  14. GouravSardana commented on Mar 12, 2022

    @GouravSardana
    MemberAuthor

    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

  15. shivankar-p commented on Mar 13, 2022

    @shivankar-p
    Contributor

    @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

  16. mridul45 commented on May 20, 2023

    @mridul45

    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.

  17. GouravSardana commented on Oct 21, 2026

    @GouravSardana
    MemberAuthor

    Restart triage: P3 — separate completion requirements from a new REPL. Current dynamic/main.py has no autocomplete path. PR #172 proposes a broader interactive shell, and the existing discussion leaves command compatibility and normal-shell access unresolved.

    Next step: decide whether the requirement is shell completion, in-session command suggestions, history completion or a dedicated REPL. Review #172 against that scope after baseline CLI tests; adopting xonsh in #125 is not automatically required.

    Source review only; this was not run or reproduced during triage. Keeping the issue open.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    HacktoberfestThis Issue Will be Consider Under Hacktoberfest 2021Level3New features, major bug fixing.enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions