Skip to content

Regarding KISS and direction of the project #1251

Closed
@GnikDroy

Description

@GnikDroy

Firstly, thank you for your excellent piece of software. cmd2 works well for my applications.

A case for KISS

I realize that it is rather unusual to request for the removal of a feature, but I think some of the features of cmd2 don't fit. A very clear example is the table creation API. As you already know, Textualize/rich is a project that also supports this, is popular, and is likely used in conjunction with cmd2. Please correct me if I'm wrong, but cmd2 isn't supposed to be a library to help render output of a command. But facilitate writing commands that can be used in a shell like environment.

Features like, autocomplete, history, argument processing, scripting, aliases fit well with the project. Features like table creation do not. I think table creation should be removed from cmd2 and delegated to a project like rich.

Similarly, the main Cmd2 class also has some features that might be better off separated into a plugin.
For example,

        include_py: bool = False,
        include_ipy: bool = False,

And all the relevant codepaths are better off in a separate plugin/mixin instead of the main Cmd2 class.

Maybe some stuff in ansi.py is also better off delegated to rich, or some other library? I am not sure.

A case for improvement.

A feature that is in scope for the project and potentially useful to the users is syntax highlighted help messages and argument options. Many people, including me, have been using this for quite some time, and I believe it should be the default (but customizable) behavior.

Example:

WindowsTerminal_iMgQcr0YEy

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions