click-contrib / click-repl

Subcommand REPL for click apps
MIT License
215 stars 41 forks source link

[feature request] start with repl mode without an extra command #119

Open derVedro opened 1 month ago

derVedro commented 1 month ago

May be it's already possible but I could not figure out how to bring the app direct into REPL mode just by starting it without an additional command. Also I would prefer if calling $ myapp would not show me the help handler but do the same as $ myapp repl. If both ways could start interactive mode it would be great.

GhostOps77 commented 3 weeks ago

You can already do it by calling the click_repl.repl() function inside the main group which holds all of your other commands, like this

from click_repl import repl
import click

@click.group(invoke_without_command=True)
@click.pass_context
def main(ctx: click.Context):
    if ctx.invoked_subcommand:
        repl(ctx)
    ...

# Rest of your code/commands
derVedro commented 2 weeks ago

Thank you! It works like a charm, I just adjusted it to:

if not ctx.invoked_subcommand:
    repl(ctx)