summaryrefslogtreecommitdiff
path: root/lib/python/milc.py
AgeCommit message (Collapse)Author
2020-01-19Fix attribute heritance for long commands.Erovia
This is needed for inheritance to work with commands that have dashes in their names.
2020-01-19Fix commandline arg merging, small improvementsErovia
Commandline args should be merged with the submodule's config. Compare config values to None instead of False, so empty lines and False can be used as values.
2020-01-19MILC: Fix/complete attribute heritanceErovia
If an undefined attribute of a submodule is accessed, fall back to same attribute of the submodule's parent.
2019-11-21MILC: Add support for hidden subcommands (#7034)Erovia
* MILC: Add support for hidden subcommands Subcommands with 'hidden=True' will not show up in the help output, but will work as any other subcommands. * Hide those hidden submodules, for real now * Rebase on latest MILC
2019-11-18Improve a number of things about how MILC operates (#7344)skullydazed
* Pull in updates for MILC * Remove the shadow argparser * Make it easier to reason about arguments and how they're translated into the config tree * Populate self.config during init to support setting user.qmk_home for the global CLI * Remove the short argument -c so that we can unambiguously determine the config file location without doing full argument processing * Remove the --save-config option as it's a little confusing anyway * Use Pathlib for path manipulation * Fix commands with no arguments
2019-10-23MILC: Use dashes instead of underscores for subcommandsErovia
The subcommand functions' name follows the Python convention of using snake case, but looks odd on the command line. Fix it by converting underscores to dashes, eg.: list_keyboards -> list-keyboards.
2019-09-22Configuration system for CLI (#6708)skullydazed
* Rework how bin/qmk handles subcommands * qmk config wip * Code to show all configs * Fully working `qmk config` command * Mark some CLI arguments so they don't pollute the config file * Fleshed out config support, nicer subcommand support * sync with installable cli * pyformat * Add a test for subcommand_modules * Documentation for the `qmk config` command * split config_token on space so qmk config is more predictable * Rework how subcommands are imported * Document `arg_only` * Document deleting from CLI * Document how multiple operations work * Add cli config to the doc index * Add tests for the cli commands * Make running the tests more reliable * Be more selective about building all default keymaps * Update new-keymap to fit the new subcommand style * Add documentation about writing CLI scripts * Document new-keyboard * Update docs/cli_configuration.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update docs/cli_development.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update docs/cli_development.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update docs/cli_development.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Address yan's comments. * Apply suggestions from code review suggestions from @noahfrederick Co-Authored-By: Noah Frederick <code@noahfrederick.com> * Apply suggestions from code review Co-Authored-By: Noah Frederick <code@noahfrederick.com> * Remove pip3 from the test runner
2019-09-07Setup a python test frameworkskullY
2019-07-15QMK CLI and JSON keymap support (#6176)skullydazed
* Script to generate keymap.c from JSON file. * Support for keymap.json * Add a warning about the keymap.c getting overwritten. * Fix keymap generating * Install the python deps * Flesh out more of the python environment * Remove defunct json2keymap * Style everything with yapf * Polish up python support * Hide json keymap.c into the .build dir * Polish up qmk-compile-json * Make milc work with positional arguments * Fix a couple small things * Fix some errors and make the CLI more understandable * Make the qmk wrapper more robust * Add basic QMK Doctor * Clean up docstrings and flesh them out as needed * remove unused compile_firmware() function