miron / NeonCore

Terminal based Cyberpunk Tabletop RPG with Nostr as database and openAI API compatible commands
3 stars 1 forks source link

Hide commands #41

Closed miron closed 1 year ago

miron commented 1 year ago

The hide_commands() function is a custom function that would need to be implemented in your code. It would likely be used to hide certain commands from the user, so that they are not displayed when the user types help or when tab completing command names.

The implementation could vary depending on the specific requirements of your project, but one way to implement it would be to have a list of commands that should be hidden, and then check if the current command is in that list before displaying it to the user.

For example, you might create a list of hidden commands called hidden_commands and then in your implementation of the do_help() method, you would check if the current command is in that list and if it is, you would not include it in the list of available commands that is displayed to the user.

hidden_commands = ["command1", "command2"]

def do_help(self, arg):
    cmds = self.get_names()
    cmds = [cmd for cmd in cmds if cmd not in hidden_commands]
    self.stdout.write("%s\n" % ‘ ‘.join(cmds))

It's also possible to use hidden_commands attribute of cmd.Cmd() class to hide some commands by default.

class MyCmd(cmd.Cmd):
    __hidden_commands__ = ['do_secret']
miron commented 1 year ago

Solved with completenames override