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
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
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
Erovia and skullydazed
c6f47b5bd7
CLI: Rework ModemManager check and add udev check
2020-01-11 12:18:30 -08:00
Zach White and skullydazed
294caf1ff1
Also fix flash
2019-12-08 16:40:03 -08:00
Zach White and skullydazed
033c7af292
Fix compiling json files
2019-12-08 16:40:03 -08:00
skullY and skullydazed
0ed492978a
Add pep8-naming to our python linting
2019-12-01 13:40:14 -08:00
fauxpark and Drashna Jaelre
fb02593bd4
Use os.chdir for qmk docs instead of a custom HTTP request handler ( #7493 )
2019-11-29 15:45:22 -08:00
skullydazed and GitHub
f7bdc54c69
Add flake8 to our test suite and fix all errors ( #7379 )
...
* Add flake8 to our test suite and fix all errors
* Add some documentation
2019-11-20 14:54:18 -08:00
QMK Bot
7891de7f6d
format code according to conventions [skip ci]
2019-11-16 07:10:19 +00:00
jorgemanzo and skullY
897888db41
Add CLI command for flashing a keyboard
...
A new CLI subcommand was added, flash, which behaves very similar to the already present compile CLI comamnd, but with the added ability to target a bootloader. The command is used like so: qmk flash [-h] [-b] [-kb KEYBOARD] [-km KEYMAP] [-bl BOOTLOADER] [filename].
A -kb <keyboard> and -km <keymap> is expected, or a configurator export JSON filename. A bootloader can be specified using -bl <target>, and if left unspecified, the target is assumed to be :flash. -bl can be used to list the available bootloaders.
If -km <keymap> is provided, but no -kb <keyboard>, then a message is printed suggesting the user to run qmk list_keyboards.
2019-11-15 23:06:07 -08:00
QMK Bot
a4c2a9b083
format code according to conventions [skip ci]
2019-11-13 05:24:56 +00:00
Cody Bender and skullydazed
7329c2d02d
Add cli convert subcommand, from raw KLE to JSON ( #6898 )
...
* Add initial pass at KLE convert
* Add cli log on convert
* Move kle2xy, add absolute filepath arg support
* Add overwrite flag, and context sensitive conversion
* Update docs/cli.md
* Fix converter.py typo
* Add convert unit test
* Rename to kle2qmk
* Rename subcommand
* Rename subcommand to kle2json
* Change tests to cover rename
* Rename in __init__.py
* Update CLI docs with new subcommand name
* Fix from suggestions in PR #6898
* Help with cases of case sensitivity
* Update cli.md
* Use angle brackets to indicate required option
* Make the output text more accurate
2019-11-12 20:55:41 -08:00
skullY and skullydazed
00fb1bd1f0
Make generating keymap.c from JSON more reliable
2019-11-12 20:37:28 -08:00
skullY and skullydazed
79edb7c594
Small CLI cleanups
...
* yapf changes
* Fix the cformat test
* Make the normpath test work when run from /
* `qmk config`: Mark `--read-only` as arg_only
2019-11-12 18:41:38 -08:00
skullY and skullydazed
d1b6c11b7f
When checking program returncodes treat both 0 and 1 as installed
2019-11-12 18:40:24 -08:00
skullY and skullydazed
5421ba11de
Add support for newer versions of clang-format, if installed
2019-11-12 18:39:42 -08:00
St. John Johnson and Joel Challis
e0e26957d4
Fix the CLI docs ( #6979 )
...
- Sort the commands alphabetically
- Add missing `json_keymap`
- Correct underscore to dash
2019-10-29 01:24:36 +00:00
Erovia and skullydazed
a5a31a5fc0
MILC: Use dashes instead of underscores for subcommands
...
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-10-23 22:46:30 -07:00
Harry Wada and Joel Challis
f64d9b0621
Fix detection of ModemManager ( #7076 )
2019-10-20 15:33:58 +01:00
fauxpark and Drashna Jaelre
076d8babbb
[CLI] qmk docs graceful shutdown on Ctrl+C ( #6989 )
2019-10-11 21:41:58 -07:00
fauxpark and Drashna Jaelre
2707652c98
[Docs] CLI command to serve docs locally ( #6956 )
...
* CLI command to serve docs locally
* Document it
* Default port
* Use `with` and subclass `SimpleHTTPRequestHandler` to set working dir
* Apply suggestions from code review
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com >
* Update docs/cli.md
2019-10-08 11:06:26 -07:00
Dan McClain and noroadsleft
f04e58dad6
[CLI] Add qmk list_keyboards ( #6927 )
...
`list_keyboards` replicates the `make list-keyboards` by globbing for all paths
that include `rules.mk` and then removing the paths that include `keymaps`.
This basis of this cli command could be reused in the future as a util, but is
not done so here since this would be the only place that would use it currently
Resolves #6911
2019-10-07 11:32:30 -07:00
St. John Johnson and skullydazed
78f01eef2e
Use keymap instead of username variable for qmk new_keymap ( #6885 )
...
Username is not defined and this causes `qmk new_keymap` to error. This
appears to have originated from a partial update in
https://github.com/qmk/qmk_firmware/pull/6708/files#diff-d5208bcbc79aa428556a743b6ff41086 . This change completes the migration from `username` to `keymap`
2019-10-05 23:41:15 -07:00