summaryrefslogtreecommitdiffstats
path: root/bin/qmk
Commit message (Collapse)AuthorAgeFilesLines
* Create a system to map between info.json and config.h/rules.mk (#11548)Zach White2021-01-311-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | * generate rules.mk from a json mapping * generate rules.mk from a json mapping * support for config.h from json maps * improve the mapping system * document the mapping system * move data/maps to data/mappings * fix flake8 errors * fixup LED_MATRIX_DRIVER * remove product and description from the vision_division keymap level * reduce the complexity of generate-rules-mk * add tests for the generate commands * fix qmk doctor when submodules are not clean
* Move everything to Python 3.6 (#8835)skullydazed2020-04-181-1/+1
|
* Fix edge-case with configErovia2020-04-081-4/+5
| | | | | | | Without this check, users can lock themselves out by enabling developer mode, than disabling the dependencies. They wouldn't be able to turn off developer mode as none of the subcommands (including 'config') would work.
* Apply @skullydazed's suggestions, move 'import milc'Erovia2020-04-081-9/+7
| | | | | Only 'import milc' after we are sure that the minimum required modules are available, as it depends on a few of them.
* Rebase on master, hide some other subcommandsErovia2020-04-081-1/+1
| | | | | | | | | | | The list of hidden subcommands were approved by @skullydazed ;) Currently hidden if 'user.developer' is not True: - cformat - docs - kle2json - pyformat - pytest
* Use milc for config check, requirements fixesErovia2020-04-081-6/+4
| | | | | | | | Use milc's config finding and parsing to check if the user is a developer or not. 'requirements-dev.txt' will now load 'requirements.txt', so no need to run pip twice. Add missing 'yapf' dependency to 'requirements-dev.txt'.
* CLI: Add development mode supportErovia2020-04-081-19/+43
| | | | | Hide development specific options and don't require dev modules unless `user.developer` is set to `True`.
* CLI: More MSYS2 fixes (#8577)Erovia2020-03-291-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * CLI: More MSYS2 fixes Now I can fully setup and work with qmk_firmware on an MSYS2 installation without any errors or exceptions. * Apply suggestions from code review Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com> * Some improvements * Remove unnecessary import * Remove slow, unused code Getting the version from GIT was slow on both Windows and Docker. Until we find a better, faster way, this is removed. * remove unused imports * Implement @vomindoraan's suggestions * refine how we pick the shell to use * Apply @fauxpark's suggestions fauxpark investigated the topic of shells in MSYS2 a bit and we come to the conclusion that the safest bet was to just use the user's shell. Anything more just opens up more edge-cases than it solves. Co-Authored-By: Ryan <fauxpark@gmail.com> * Use `platform_id` in doctor This will bring it in line with the new code. Co-authored-by: skullydazed <skullydazed@users.noreply.github.com> Co-authored-by: skullY <skullydazed@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
* Add pep8-naming to our python lintingskullY2019-12-011-0/+5
|
* Add flake8 to our test suite and fix all errors (#7379)skullydazed2019-11-201-2/+2
| | | | | | * Add flake8 to our test suite and fix all errors * Add some documentation
* Fix "could not find module" error message formatting (#7219)fauxpark2019-10-301-1/+1
|
* Configuration system for CLI (#6708)skullydazed2019-09-221-56/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Setup a python test frameworkskullY2019-09-071-1/+7
|
* Make the CLI Ψ capital (#6637)fauxpark2019-08-301-1/+1
|
* Refactor `qmk compile-json` to `qmk compile` (#6592)skullydazed2019-08-251-1/+1
|
* Use the older `universal_newlines` name instead of `text` (#6506)skullydazed2019-08-071-1/+1
|
* QMK CLI and JSON keymap support (#6176)skullydazed2019-07-151-0/+97
* 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