You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

23 lines
1.0 KiB

  1. """List the keymaps for a specific keyboard
  2. """
  3. from milc import cli
  4. import qmk.keymap
  5. from qmk.errors import NoSuchKeyboardError
  6. @cli.argument("-kb", "--keyboard", help="Specify keyboard name. Example: 1upkeyboards/1up60hse")
  7. @cli.subcommand("List the keymaps for a specific keyboard")
  8. def list_keymaps(cli):
  9. """List the keymaps for a specific keyboard
  10. """
  11. # ask for user input if keyboard was not provided in the command line
  12. if not cli.config.list_keymaps.keyboard:
  13. cli.config.list_keymaps.keyboard = input("Keyboard Name: ")
  14. try:
  15. for name in qmk.keymap.list_keymaps(cli.config.list_keymaps.keyboard):
  16. # We echo instead of cli.log.info to allow easier piping of this output
  17. cli.echo('%s:%s', cli.config.list_keymaps.keyboard, name)
  18. except NoSuchKeyboardError as e:
  19. cli.echo("{fg_red}%s: %s", cli.config.list_keymaps.keyboard, e.message)
  20. except (FileNotFoundError, PermissionError) as e:
  21. cli.echo("{fg_red}%s: %s", cli.config.list_keymaps.keyboard, e)