diff --git a/piker/brokers/cli.py b/piker/brokers/cli.py index cc92f3cc..2dbc1a9a 100644 --- a/piker/brokers/cli.py +++ b/piker/brokers/cli.py @@ -248,3 +248,20 @@ def symbol_info(config, tickers): brokermod.log.warn(f"Could not find symbol {ticker}?") click.echo(colorize_json(quotes)) + + +@cli.command() +@click.argument('pattern', required=True) +@click.pass_obj +def search(config, pattern): + """Search for symbols from broker backend(s). + """ + # global opts + brokermod = config['brokermod'] + + quotes = trio.run(partial(core.symbol_search, brokermod, pattern)) + if not quotes: + log.error(f"No matches could be found for {pattern}?") + return + + click.echo(colorize_json(quotes))