keymaps.py 983 B

12345678910111213141516171819202122232425
  1. """List the keymaps for a specific keyboard
  2. """
  3. from milc import cli
  4. import qmk.keymap
  5. from qmk.decorators import automagic_keyboard
  6. from qmk.errors import NoSuchKeyboardError
  7. @cli.argument("-kb", "--keyboard", help="Specify keyboard name. Example: 1upkeyboards/1up60hse")
  8. @cli.subcommand("List the keymaps for a specific keyboard")
  9. @automagic_keyboard
  10. def list_keymaps(cli):
  11. """List the keymaps for a specific keyboard
  12. """
  13. try:
  14. for name in qmk.keymap.list_keymaps(cli.config.list_keymaps.keyboard):
  15. # We echo instead of cli.log.info to allow easier piping of this output
  16. cli.echo('%s', name)
  17. except NoSuchKeyboardError as e:
  18. cli.echo("{fg_red}%s: %s", cli.config.list_keymaps.keyboard, e.message)
  19. except (FileNotFoundError, PermissionError) as e:
  20. cli.echo("{fg_red}%s: %s", cli.config.list_keymaps.keyboard, e)
  21. except TypeError:
  22. cli.echo("{fg_red}Something went wrong. Did you specify a keyboard?")