summaryrefslogtreecommitdiff
path: root/lib/python/qmk/cli
AgeCommit message (Collapse)Author
2020-10-17Improve ANSI support and --no-color (#10537)Zach White
* Improve ANSI support and --no-color * tweak when levelname gets stripped of ansi * sync with latest milc * make questions work with both milc versions * pyformat
2020-10-06[CLI] Add c2json (#8817)Erovia
* Basic keymap parsing finally works * Add 'keymap.json' creation to the qmk.keymap module * Add tests and fix formatting * Fix/exclude flake8 errors * Convert keymap.c to valid keymap.json * Fix some errors * Add tests * Finalize keymap.json creation, add json template * Add docs * Move pygments to the standard requirements * Add support for nameless layers, fix tests * Fix things after rebase * Add missing 'keymap' value. * Fix missing layer numbers from advanced keycodes Buckwich noticed that if the advanced keycode / layer toggling key contains a number, it goes missing. Now we properly handle them. Thx for noticing! * Apply suggestions from code review * fixup tests Co-authored-by: Zach White <skullydazed@drpepper.org> Co-authored-by: skullY <skullydazed@gmail.com>
2020-10-06CLI: update subcommands to use return instead of exit() (#10323)Ryan
2020-09-27Consolidate udev rules into a single file (#9693)Ryan
* Consolidate udev rules into a single file * Update rules in doctor.py * Simplify doctor rule checking * Fix errors * Add TMK "FEED" VID to list of deprecated udev rules * A comma would be nice * Split rules back up into bootloaders * Link to docs page in "missing" case * Add Pololu VID * Be more specific about Caterina devices, and add LilyPad PID
2020-09-24CLI/Doctor: Print QMK_HOME (#10398)Ryan
2020-09-19Be more specific about Caterina devices, and add LilyPad PIDfauxpark
2020-09-19Add Pololu VIDfauxpark
2020-09-19Link to docs page in "missing" casefauxpark
2020-09-19Split rules back up into bootloadersfauxpark
2020-09-19A comma would be nicefauxpark
2020-09-19Add TMK "FEED" VID to list of deprecated udev rulesfauxpark
2020-09-19Fix errorsfauxpark
2020-09-19Simplify doctor rule checkingfauxpark
2020-09-19Update rules in doctor.pyfauxpark
2020-08-29Add `st-flash` flash target (#9964)Sergey Vlasov
* Add `st-flash` flash target Add support for flashing the firmware via the `st-flash` utility from the STLink Tools package (https://github.com/stlink-org/stlink). * Add `st-flash` to the `qmk flash -b` output
2020-08-29Initial work for consolidation of ChibiOS platform files (#8327)Nick Brassel
* Initial work for consolidation of board files and default ChibiOS configs. * Migrate F401/F411 black pills for testing. * Add early init bootloader jump flag. * Add support for I2C in order to use i2c_scanner keymap. * Add F401/F411 HSE bypass to get things booting. * Exempt "hooked" ChibiOS conf files from updater script. * Fix up ordering for bootloader_defs file check. * Match previous $(KEYBOARD_PATHS) value for Proton-C, updated for all board configs.
2020-06-18Parse version better in `qmk doctor` GCC version checks (#9324)Ryan
2020-05-27Fix running qmk info without any arguments (#9218)Zach White
2020-05-26Fix the path for generated keymaps (#9213)Zach White
2020-05-26[CLI] Add a subcommand for getting information about a keyboard (#8666)Zach White
You can now use `qmk info` to get information about keyboards and keymaps. Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-05-26CLI: fix `json2c` subcommand and add/fix tests (#9206)Erovia
Co-authored-by: Zach White <skullydazed@users.noreply.github.com>
2020-05-21CLI: Rework submodule checking (#9162)Erovia
2020-05-21Fix submodule check (#9155)Erovia
2020-05-15CLI: Tune doctor's udev rule checking to match #8750Erovia
2020-04-26kle2json: fix invocation errorKeenan Brock
resolves an issue while finding the file path TypeError: unsupported operand type(s) for +: 'PosixPath' and 'str'
2020-04-18Move everything to Python 3.6 (#8835)skullydazed
2020-04-14CLI: Fix doctor error when can't run `bin/qmk --version`. (#8796)Pete Johanson
2020-04-08Don't hide for devs...Erovia
2020-04-08Rebase on master, hide some other subcommandsErovia
The list of hidden subcommands were approved by @skullydazed ;) Currently hidden if 'user.developer' is not True: - cformat - docs - kle2json - pyformat - pytest
2020-04-08CLI: Add development mode supportErovia
Hide development specific options and don't require dev modules unless `user.developer` is set to `True`.
2020-04-05Doctor: Add avrdude/dfu-util/dfu-programmer version printing (#8678)Ryan
* Doctor: Add avrdude/dfu-util/dfu-programmer version printing * Extra newline * Iterate through version checking functions
2020-04-04minor tweaksskullY
2020-04-04Fix saving output from avrdude and dfu-programmerRoss Baquir
2020-04-04Use version_arg in ESSENTIAL_BINARIES dictRoss Baquir
2020-04-04Fixes #8541 by getting version from -dumpversion then --version as fallbackRoss Baquir
2020-03-29CLI: More MSYS2 fixes (#8577)Erovia
* 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>
2020-03-18CLI: Hide json-keymap subcommand, as it's been deprecated.Erovia
2020-03-13Add decorators for determining keyboard and keymap based on current ↵skullydazed
directory (#8191) * Use pathlib everywhere we can * Improvements based on @erovia's feedback * rework qmk compile and qmk flash to use pathlib * style * Remove the subcommand_name argument from find_keyboard_keymap() * add experimental decorators * Create decorators for finding keyboard and keymap based on current directory. Decorators were inspired by @Erovia's brilliant work on the proof of concept.
2020-03-12use qmk.path.normpath to locate the output file.skullY
2020-03-10Rename qmk json-keymap to qmk json2c (#8372)skullydazed
2020-03-08Add gcc version detection to qmk doctor (#8338)skullydazed
2020-02-26Fixed OS detection such that OSX doesn't take over the world (#8248)Mikkel Jeppesen
2020-02-22New functionality for cformat (#7893)Akaash Suresh
Fixing complexity remove lambda PR review fixes #1 Removing unneccesary string substitution Handle -a and specified files Complexity rewrite, use pathlib
2020-02-17Use pathlib everywhere we can (#7872)skullydazed
* Use pathlib everywhere we can * Update lib/python/qmk/path.py Co-Authored-By: Erovia <Erovia@users.noreply.github.com> * Update lib/python/qmk/path.py Co-Authored-By: Erovia <Erovia@users.noreply.github.com> * Improvements based on @erovia's feedback * rework qmk compile and qmk flash to use pathlib * style * Remove the subcommand_name argument from find_keyboard_keymap() Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-02-17Fix os detection in OSX python 3.8 (#8187)Mikkel Jeppesen
* Fix os detection in osx python 3.8 * oops
2020-02-15Code cleanup, use pathlib, use pytest keyboardErovia
Clean up checks and logics that are unnecessary due to MILC updates. Use pathlib instead of os.path for readability. Use the 'pytest' keyboard for the tests. Add community layout for 'handwired/onekey/pytest' so we can test community layouts.
2020-02-15Fix commandline parsing and flake8 findings, rebaseErovia
Fixed commandline and config parsing. Thx @xplusplus. Rebased on master and fixed merge conflicts.
2020-02-15Drop bs4 dependency, update docs, minor improvementsErovia
2020-02-15Another major refactoring, add documentationErovia
Move all useful functions to the qmk module and use the cli subcommand as a wrapper around it. Add both inline comments and documentation.
2020-02-15Fix output formatErovia