Erovia and skullydazed
c61f016fa4
CLI: Add development mode support
...
Hide development specific options and don't require dev modules unless
`user.developer` is set to `True`.
2020-04-08 09:31:14 -07:00
skullY and skullydazed
b4ef72423e
Correctly handle json keymaps with ANY()
2020-04-07 01:34:21 -07:00
Ryan and GitHub
6de77141a4
Doctor: Add avrdude/dfu-util/dfu-programmer version printing ( #8678 )
...
* Doctor: Add avrdude/dfu-util/dfu-programmer version printing
* Extra newline
* Iterate through version checking functions
2020-04-05 18:11:55 +02:00
skullY and skullydazed
2f15cb2126
minor tweaks
2020-04-04 12:43:13 -07:00
Ross Baquir and skullydazed
8af156d976
Fix saving output from avrdude and dfu-programmer
2020-04-04 12:43:13 -07:00
Ross Baquir and skullydazed
70b5015162
Use version_arg in ESSENTIAL_BINARIES dict
2020-04-04 12:43:13 -07:00
Ross Baquir and skullydazed
3fad3854d6
Fixes #8541 by getting version from -dumpversion then --version as fallback
2020-04-04 12:43:13 -07:00
c89c084146
CLI: More MSYS2 fixes ( #8577 )
...
* 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-29 14:29:44 +02:00
Erovia and skullydazed
8123dd2649
CLI: Hide json-keymap subcommand, as it's been deprecated.
2020-03-18 10:17:23 -07:00
skullydazed and GitHub
f81b0e35a6
Add decorators for determining keyboard and keymap based on current 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-13 15:47:04 -07:00
skullY and skullydazed
799acb2802
use qmk.path.normpath to locate the output file.
2020-03-12 13:48:17 -07:00
skullydazed and GitHub
2a05d433c9
Rename qmk json-keymap to qmk json2c ( #8372 )
2020-03-10 13:51:19 -07:00
skullydazed and GitHub
cf40c33c90
Add gcc version detection to qmk doctor ( #8338 )
2020-03-08 09:21:45 -07:00
James Young
26eef35f07
2020 February 29 Breaking Changes Update ( #8064 )
2020-02-29 11:59:30 -08:00
Mikkel Jeppesen and GitHub
4667bc554e
Fixed OS detection such that OSX doesn't take over the world ( #8248 )
2020-02-26 10:12:13 +01:00
Akaash Suresh and GitHub
b353028ea5
New functionality for cformat ( #7893 )
...
Fixing complexity
remove lambda
PR review fixes #1
Removing unneccesary string substitution
Handle -a and specified files
Complexity rewrite, use pathlib
2020-02-22 20:57:19 -08:00
c66930445f
Use pathlib everywhere we can ( #7872 )
...
* 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-17 11:42:11 -08:00
Mikkel Jeppesen and GitHub
0d3f0889c5
Fix os detection in OSX python 3.8 ( #8187 )
...
* Fix os detection in osx python 3.8
* oops
2020-02-17 12:18:49 +01:00
skullY and skullydazed
58101cbb73
fix list_keymaps for python 3.5
2020-02-15 15:19:03 -08:00
Erovia and skullydazed
512261b343
Pathlib-ify qmk.keymap.list_keymaps()
2020-02-15 15:19:03 -08:00
Erovia and skullydazed
3db41817e0
Code cleanup, use pathlib, use pytest keyboard
...
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-15 15:19:03 -08:00
Erovia and skullydazed
8eeab1112a
Fix commandline parsing and flake8 findings, rebase
...
Fixed commandline and config parsing. Thx @xplusplus.
Rebased on master and fixed merge conflicts.
2020-02-15 15:19:03 -08:00
Erovia and skullydazed
988bfffca2
Major rework, no regex/globbing, more walking
...
Instead of using regexes and globbing to find the rules.mk and keymap.c
files, walk the directory tree to find them.
Also, do away with the concept of revision.
2020-02-15 15:19:03 -08:00
Erovia and skullydazed
8ff72d9517
Fix merging community and base keymaps
2020-02-15 15:19:03 -08:00
Erovia and skullydazed
4445e0a459
Return only the unique keymaps
2020-02-15 15:19:03 -08:00
Erovia and skullydazed
3ed1223678
Drop bs4 dependency, update docs, minor improvements
2020-02-15 15:19:03 -08:00
Erovia and skullydazed
d257a98cb8
Fix regex for parsing rules.mk files
...
I don't know why it couldn't put it together before... ¯\_(ツ)_/¯
2020-02-15 15:19:03 -08:00
Erovia and skullydazed
f8002828ca
Add test for list_keymaps
2020-02-15 15:19:03 -08:00
Erovia and skullydazed
26f53d38d9
Another major refactoring, add documentation
...
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-15 15:19:03 -08:00
Erovia and skullydazed
f96085af38
Fix output format
2020-02-15 15:19:03 -08:00
Erovia and skullydazed
e46cc2db8c
Try to figure out revision, drop -rv/--revision argument
2020-02-15 15:19:03 -08:00
Erovia and skullydazed
c3b168e6fd
Fix help message.
2020-02-15 15:19:03 -08:00
Erovia and skullydazed
62c1bcba71
Get all buildable keymaps for each revision
...
The command now return all keymaps that's buildable for a
keyboard/revision. If the base directory of a keyboard does not contain
a 'rules.mk' file, nothing is returned. If the base directory contains a
'keymaps' directory, those keycaps will be returned for every revision.
2020-02-15 15:19:03 -08:00
Erovia and skullydazed
057c7d0ffe
Major update to work better with revisions
...
Find the community keymaps supported by each revision.
2020-02-15 15:19:03 -08:00
Erovia and skullydazed
409c610543
CLI: add support for list_keymaps
...
List all the available keymaps for a given keyboard
2020-02-15 15:19:03 -08:00
Mikkel Jeppesen and GitHub
310b2f1be4
use replace() over rename() to have cross-platform overwriting ( #8148 )
2020-02-11 10:37:15 +01:00
Erovia and GitHub
b6e23f974b
Update the flash cli command to use the user config ( #8125 )
2020-02-08 23:58:28 +01:00
Joel Challis and GitHub
75e7018f72
CI: Add workflow for CLI testing ( #7357 )
...
Create GitHub Actions cli test workflow and remove travis runs of 'qmk pytest'
2020-02-08 13:43:55 +01:00
e77188458f
Add QMK Compile Context Sensitivity ( #6884 )
...
* Add context sensitive compile, without config check
* Initial full working state. Plan to refactor
* Refactor loop for simplicity, add comments
* Update docs/cli.md with qmk compile examples
* Simplify path for keyboard derivation
* Update path to use path.join instead of concat
* Refactor keyboard path, the skully way
* Add in keymap folder support
* Add /layouts compile support
* Update docs/cli.md with empty compile in layouts
* Add comments to compile.py
* Update docs for clarity, and fix compile error typo
* Fix config option compile
* Fix layout compile and failure mode
* Add rules.mk check
* Fix variable names for global config
* Add in_layout priority
* Remove default fallback in favor of throw, update docs
* Add keymap folder context
* Fix formatting
* Add os import
* Convert to create_make_command
* Fix Travis lint errors
* Remove blank line with whitespace
* Add blank lines for readability
* Remove unnecessary config logic
* Update Docs to add flash
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com >
* Shift config precedence to MILC
Co-authored-by: skullydazed <skullydazed@users.noreply.github.com >
2020-02-07 21:48:37 +01:00
5780c94423
Improve the functionality of qmk.questions ( #8020 )
...
* wip
* tested and working
* remove unused import
* Update lib/python/qmk/questions.py
Co-Authored-By: Erovia <Erovia@users.noreply.github.com >
* fix flake8 errors
Co-authored-by: Erovia <Erovia@users.noreply.github.com >
2020-02-03 09:04:58 -08:00
Joel Challis and GitHub
5b91c3e0a0
Fix cformat processing files within ignore folders ( #8063 )
2020-02-02 16:33:17 +00:00
Mikkel Jeppesen and Erovia
197a401be6
Qmk doctor os check to support newer msys2/w10 installations ( #8031 )
...
* Fixed OS detection on newer MSYS installations
* made OS sting lower case
2020-01-28 22:21:00 +01:00
skullydazed and Erovia
5e65af3a76
Beef up how qmk doctor works. ( #7375 )
...
* Beef up how `qmk doctor` works.
* improve the `git submodule status` parsing. h/t @erovia
* Fix whitespace and imports
* yapf
* Add documentation for the new doctor functionality
* Replace type_unchanged() with str()
* remove unused modules
* Update lib/python/qmk/cli/doctor.py
Co-Authored-By: Erovia <Erovia@users.noreply.github.com >
Co-authored-by: Erovia <Erovia@users.noreply.github.com >
2020-01-24 20:31:16 +01:00
Joel Challis and Drashna Jaelre
8e500c3670
Align cformat rules with current CI implementation ( #7936 )
...
* Align cformat rules with current CI implementation
* Optimise file walking
2020-01-21 18:21:14 -08:00
Erovia and skullydazed
1f86e8ae9a
Fix attribute heritance for long commands.
...
This is needed for inheritance to work with commands that have dashes in
their names.
2020-01-19 21:29:36 -08:00
Erovia and skullydazed
e7f6e90a22
Fix commandline arg merging, small improvements
...
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-19 21:29:36 -08:00
Erovia and skullydazed
20290a1cff
MILC: Fix/complete attribute heritance
...
If an undefined attribute of a submodule is accessed, fall back to
same attribute of the submodule's parent.
2020-01-19 21:29:36 -08:00
skullY and skullydazed
81ec3b5f81
yapf and style
2020-01-11 12:18:30 -08:00
Erovia and skullydazed
8f47e62b36
Make the udev rules easier to read and manage
2020-01-11 12:18:30 -08:00
Erovia and skullydazed
e905d86fc5
Fix Pro Micro's and its bootloader's name
2020-01-11 12:18:30 -08:00