@cli.command()<EOL>@click.argument('<STR_LIT>', nargs=-<NUM_LIT:1>)<EOL>@click.option('<STR_LIT>', '<STR_LIT>', '<STR_LIT>', is_flag=True,<EOL>help='<STR_LIT>')<EOL>@click.pass_context<EOL>def kinds(context, show_all, ids_or_names):
logging.info(_('<STR_LIT>'))<EOL>logging.debug('<STR_LIT>', ids_or_names)<EOL>sense = context.obj['<STR_LIT>']<EOL>none = True<EOL>if show_all:<EOL><INDENT>none = False<EOL>print(sense.query_kinds(None))<EOL><DEDENT>else:<EOL><INDENT>for id_or_name in ids_or_names:<EOL><INDENT>id_name = sense.query_kinds(id_or_name)<EOL>if id_name:<EOL><INDENT>none = False<EOL>print(id_name)<EOL><DEDENT><DEDENT><DEDENT>sys.exit(<NUM_LIT:1> if none else <NUM_LIT:0>)<EOL>
Operate on IntelliSense kind ids and names.

    Without an argument, list all available kinds and their ids.

    Windows database must be prepared before using this.