summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--build_json.mk2
-rw-r--r--docs/cli.md4
-rw-r--r--docs/ja/cli.md4
-rw-r--r--lib/python/qmk/cli/__init__.py1
-rwxr-xr-xlib/python/qmk/cli/json/keymap.py46
-rwxr-xr-xlib/python/qmk/cli/json2c.py56
6 files changed, 65 insertions, 48 deletions
diff --git a/build_json.mk b/build_json.mk
index e04786144c..087944cc41 100644
--- a/build_json.mk
+++ b/build_json.mk
@@ -23,4 +23,4 @@ endif
 
 # Generate the keymap.c
 $(KEYBOARD_OUTPUT)/src/keymap.c: $(KEYMAP_JSON)
-	bin/qmk json-keymap --quiet --output $(KEYMAP_C) $(KEYMAP_JSON)
+	bin/qmk json2c --quiet --output $(KEYMAP_C) $(KEYMAP_JSON)
diff --git a/docs/cli.md b/docs/cli.md
index eda365d87b..61f838536e 100644
--- a/docs/cli.md
+++ b/docs/cli.md
@@ -231,14 +231,14 @@ Check your environment and report problems only:
 
     qmk doctor -n
 
-## `qmk json-keymap`
+## `qmk json2c`
 
 Creates a keymap.c from a QMK Configurator export.
 
 **Usage**:
 
 ```
-qmk json-keymap [-o OUTPUT] filename
+qmk json2c [-o OUTPUT] filename
 ```
 
 ## `qmk kle2json`
diff --git a/docs/ja/cli.md b/docs/ja/cli.md
index 4b1f5da365..e0bee35a6f 100644
--- a/docs/ja/cli.md
+++ b/docs/ja/cli.md
@@ -215,14 +215,14 @@ qmk doctor [-y] [-n]
 
     qmk doctor -n
 
-## `qmk json-keymap`
+## `qmk json2c`
 
 QMK Configurator からエクスポートしたものから keymap.c を生成します。
 
 **使用法**:
 
 ```
-qmk json-keymap [-o OUTPUT] filename
+qmk json2c [-o OUTPUT] filename
 ```
 
 ## `qmk kle2json`
diff --git a/lib/python/qmk/cli/__init__.py b/lib/python/qmk/cli/__init__.py
index 72ee38f562..5149a6215a 100644
--- a/lib/python/qmk/cli/__init__.py
+++ b/lib/python/qmk/cli/__init__.py
@@ -10,6 +10,7 @@ from . import doctor
 from . import flash
 from . import hello
 from . import json
+from . import json2c
 from . import list
 from . import kle2json
 from . import new
diff --git a/lib/python/qmk/cli/json/keymap.py b/lib/python/qmk/cli/json/keymap.py
index c2b7dde7ab..6e25b7862b 100755
--- a/lib/python/qmk/cli/json/keymap.py
+++ b/lib/python/qmk/cli/json/keymap.py
@@ -1,56 +1,16 @@
 """Generate a keymap.c from a configurator export.
 """
-import json
 from pathlib import Path
 
 from milc import cli
 
-import qmk.keymap
-import qmk.path
-
 
 @cli.argument('-o', '--output', arg_only=True, type=Path, help='File to write to')
 @cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages")
 @cli.argument('filename', arg_only=True, help='Configurator JSON file')
 @cli.subcommand('Creates a keymap.c from a QMK Configurator export.')
 def json_keymap(cli):
-    """Generate a keymap.c from a configurator export.
-
-    This command uses the `qmk.keymap` module to generate a keymap.c from a configurator export. The generated keymap is written to stdout, or to a file if -o is provided.
+    """Renamed to `qmk json2c`.
     """
-    cli.args.filename = qmk.path.normpath(cli.args.filename)
-
-    # Error checking
-    if not cli.args.filename.exists():
-        cli.log.error('JSON file does not exist!')
-        cli.print_usage()
-        exit(1)
-
-    if str(cli.args.filename) == '-':
-        # TODO(skullydazed/anyone): Read file contents from STDIN
-        cli.log.error('Reading from STDIN is not (yet) supported.')
-        cli.print_usage()
-        exit(1)
-
-    # Environment processing
-    if cli.args.output == ('-'):
-        cli.args.output = None
-
-    # Parse the configurator json
-    with cli.args.filename.open('r') as fd:
-        user_keymap = json.load(fd)
-
-    # Generate the keymap
-    keymap_c = qmk.keymap.generate(user_keymap['keyboard'], user_keymap['layout'], user_keymap['layers'])
-
-    if cli.args.output:
-        cli.args.output.parent.mkdir(parents=True, exist_ok=True)
-        if cli.args.output.exists():
-            cli.args.output.replace(cli.args.output.name + '.bak')
-        cli.args.output.write_text(keymap_c)
-
-        if not cli.args.quiet:
-            cli.log.info('Wrote keymap to %s.', cli.args.output)
-
-    else:
-        print(keymap_c)
+    cli.log.error('This command has been renamed to `qmk json2c`.')
+    exit(1)
diff --git a/lib/python/qmk/cli/json2c.py b/lib/python/qmk/cli/json2c.py
new file mode 100755
index 0000000000..9abf03d8a1
--- /dev/null
+++ b/lib/python/qmk/cli/json2c.py
@@ -0,0 +1,56 @@
+"""Generate a keymap.c from a configurator export.
+"""
+import json
+from pathlib import Path
+
+from milc import cli
+
+import qmk.keymap
+import qmk.path
+
+
+@cli.argument('-o', '--output', arg_only=True, type=Path, help='File to write to')
+@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages")
+@cli.argument('filename', arg_only=True, help='Configurator JSON file')
+@cli.subcommand('Creates a keymap.c from a QMK Configurator export.')
+def json2c(cli):
+    """Generate a keymap.c from a configurator export.
+
+    This command uses the `qmk.keymap` module to generate a keymap.c from a configurator export. The generated keymap is written to stdout, or to a file if -o is provided.
+    """
+    cli.args.filename = qmk.path.normpath(cli.args.filename)
+
+    # Error checking
+    if not cli.args.filename.exists():
+        cli.log.error('JSON file does not exist!')
+        cli.print_usage()
+        exit(1)
+
+    if str(cli.args.filename) == '-':
+        # TODO(skullydazed/anyone): Read file contents from STDIN
+        cli.log.error('Reading from STDIN is not (yet) supported.')
+        cli.print_usage()
+        exit(1)
+
+    # Environment processing
+    if cli.args.output == ('-'):
+        cli.args.output = None
+
+    # Parse the configurator json
+    with cli.args.filename.open('r') as fd:
+        user_keymap = json.load(fd)
+
+    # Generate the keymap
+    keymap_c = qmk.keymap.generate(user_keymap['keyboard'], user_keymap['layout'], user_keymap['layers'])
+
+    if cli.args.output:
+        cli.args.output.parent.mkdir(parents=True, exist_ok=True)
+        if cli.args.output.exists():
+            cli.args.output.replace(cli.args.output.name + '.bak')
+        cli.args.output.write_text(keymap_c)
+
+        if not cli.args.quiet:
+            cli.log.info('Wrote keymap to %s.', cli.args.output)
+
+    else:
+        print(keymap_c)