diff options
author | Zach White <skullydazed@gmail.com> | 2021-04-14 19:00:22 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-14 19:00:22 -0700 |
commit | 588bcdc8ca212b195a428fc43766a59a9252c08d (patch) | |
tree | 4867ef610b2178d51002063bd4913e806f771543 /lib/python/qmk/cli/c2json.py | |
parent | b33e6793de6c5f5124ee88fb3eb62d8f54f74940 (diff) | |
download | qmk_firmware-588bcdc8ca212b195a428fc43766a59a9252c08d.tar.gz qmk_firmware-588bcdc8ca212b195a428fc43766a59a9252c08d.zip |
Add support for tab completion (#12411)
* Add support for tab completion
* make flake8 happy
* Add documentation
Diffstat (limited to 'lib/python/qmk/cli/c2json.py')
-rw-r--r-- | lib/python/qmk/cli/c2json.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/python/qmk/cli/c2json.py b/lib/python/qmk/cli/c2json.py index 1fa833b64..e66b0a1b5 100644 --- a/lib/python/qmk/cli/c2json.py +++ b/lib/python/qmk/cli/c2json.py | |||
@@ -2,20 +2,21 @@ | |||
2 | """ | 2 | """ |
3 | import json | 3 | import json |
4 | 4 | ||
5 | from argcomplete.completers import FilesCompleter | ||
5 | from milc import cli | 6 | from milc import cli |
6 | 7 | ||
7 | import qmk.keymap | 8 | import qmk.keymap |
8 | import qmk.path | 9 | import qmk.path |
9 | from qmk.json_encoders import InfoJSONEncoder | 10 | from qmk.json_encoders import InfoJSONEncoder |
10 | from qmk.keyboard import keyboard_folder | 11 | from qmk.keyboard import keyboard_completer, keyboard_folder |
11 | 12 | ||
12 | 13 | ||
13 | @cli.argument('--no-cpp', arg_only=True, action='store_false', help='Do not use \'cpp\' on keymap.c') | 14 | @cli.argument('--no-cpp', arg_only=True, action='store_false', help='Do not use \'cpp\' on keymap.c') |
14 | @cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to') | 15 | @cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to') |
15 | @cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") | 16 | @cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") |
16 | @cli.argument('-kb', '--keyboard', arg_only=True, type=keyboard_folder, required=True, help='The keyboard\'s name') | 17 | @cli.argument('-kb', '--keyboard', arg_only=True, type=keyboard_folder, completer=keyboard_completer, required=True, help='The keyboard\'s name') |
17 | @cli.argument('-km', '--keymap', arg_only=True, required=True, help='The keymap\'s name') | 18 | @cli.argument('-km', '--keymap', arg_only=True, required=True, help='The keymap\'s name') |
18 | @cli.argument('filename', arg_only=True, help='keymap.c file') | 19 | @cli.argument('filename', arg_only=True, completer=FilesCompleter('.c'), help='keymap.c file') |
19 | @cli.subcommand('Creates a keymap.json from a keymap.c file.') | 20 | @cli.subcommand('Creates a keymap.json from a keymap.c file.') |
20 | def c2json(cli): | 21 | def c2json(cli): |
21 | """Generate a keymap.json from a keymap.c file. | 22 | """Generate a keymap.json from a keymap.c file. |