Age | Commit message (Collapse) | Author |
|
* Basic qmk lint command
* check for keymap readme
* change the workflow from qmk info to qmk lint
* add a strict mode
* parsing -> parse
* document qmk lint
* small info logging cleanup
* Apply suggestions from code review
Co-authored-by: Ryan <fauxpark@gmail.com>
* honor --strict in more places
* change the job name to lint
Co-authored-by: Ryan <fauxpark@gmail.com>
|
|
|
|
* `qmk info`: Add `--ascii` flag
* Fix typo
* Force ASCII for Windows/MSYS2
* Make it gooder
* Remove redundant windows check
* ...And this too
* Make pytest work on Windows
|
|
|
|
* 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
You can now use `qmk info` to get information about keyboards and keymaps.
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
|
|
Co-authored-by: Zach White <skullydazed@users.noreply.github.com>
|
|
|
|
|
|
|
|
resolves an issue while finding the file path
TypeError: unsupported operand type(s) for +: 'PosixPath' and 'str'
|
|
|
|
|
|
|
|
The list of hidden subcommands were approved by @skullydazed ;)
Currently hidden if 'user.developer' is not True:
- cformat
- docs
- kle2json
- pyformat
- pytest
|
|
Hide development specific options and don't require dev modules unless
`user.developer` is set to `True`.
|
|
* Doctor: Add avrdude/dfu-util/dfu-programmer version printing
* Extra newline
* Iterate through version checking functions
|
|
|
|
|
|
|
|
|
|
* 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>
|
|
|
|
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.
|
|
|
|
|
|
|
|
* Fix os detection in osx python 3.8
* oops
|
|
|
|
Fixing complexity
remove lambda
PR review fixes #1
Removing unneccesary string substitution
Handle -a and specified files
Complexity rewrite, use pathlib
|
|
* 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>
|
|
* Fix os detection in osx python 3.8
* oops
|
|
List all the available keymaps for a given keyboard
Add bs4 to requirements.txt
UnicodeDammit is needed from bs4 for reading files.
Major update to work better with revisions
Find the community keymaps supported by each revision.
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.
Fix help message.
Try to figure out revision, drop -rv/--revision argument
Fix output format
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.
Add test for list_keymaps
Fix regex for parsing rules.mk files
I don't know why it couldn't put it together before... ¯\_(ツ)_/¯
Drop bs4 dependency, update docs, minor improvements
Return only the unique keymaps
Fix merging community and base keymaps
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.
Fix commandline parsing and flake8 findings, rebase
Fixed commandline and config parsing. Thx @xplusplus.
Rebased on master and fixed merge conflicts.
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.
Pathlib-ify qmk.keymap.list_keymaps()
fix list_keymaps for python 3.5
|
|
* 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>
|
|
|
|
* Fixed OS detection on newer MSYS installations
* made OS sting lower case
|
|
* 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>
|
|
* Align cformat rules with current CI implementation
* Optimise file walking
|
|
|
|
|
|
|
|
|
|
|
|
* Add flake8 to our test suite and fix all errors
* Add some documentation
|