aboutsummaryrefslogtreecommitdiffstats
path: root/lib/python/qmk/cli/list/keymaps.py
blob: 494fe66a1214389c57bf1f76df2a076a8251ef4d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
"""List the keymaps for a specific keyboard
"""
from milc import cli
import qmk.keymap
from qmk.errors import NoSuchKeyboardError

@cli.argument("-kb", "--keyboard", help="Specify keyboard name. Example: 1upkeyboards/1up60hse")
@cli.subcommand("List the keymaps for a specific keyboard")
def list_keymaps(cli):
    """List the keymaps for a specific keyboard
    """
    # ask for user input if keyboard was not provided in the command line
    keyboard_name = cli.config.list_keymaps.keyboard if cli.config.list_keymaps.keyboard else input("Keyboard Name: ")

    try:
        for name in qmk.keymap.list_keymaps(keyboard_name):
            # We echo instead of cli.log.info to allow easier piping of this output
            cli.echo(keyboard_name + ":" + name)
    except NoSuchKeyboardError as e:
        cli.echo("{fg_red}" + e.message)