Age | Commit message (Collapse) | Author |
|
Move all useful functions to the qmk module and use the cli subcommand
as a wrapper around it.
Add both inline comments and documentation.
|
|
|
|
|
|
|
|
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.
|
|
Find the community keymaps supported by each revision.
|
|
List all the available keymaps for a given keyboard
|
|
|
|
|
|
Create GitHub Actions cli test workflow and remove travis runs of 'qmk pytest'
|
|
* 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>
|
|
* 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>
|
|
|
|
* 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
|
|
This is needed for inheritance to work with commands that have dashes in
their names.
|
|
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.
|
|
If an undefined attribute of a submodule is accessed, fall back to
same attribute of the submodule's parent.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* MILC: Add support for hidden subcommands
Subcommands with 'hidden=True' will not show up in the help output, but
will work as any other subcommands.
* Hide those hidden submodules, for real now
* Rebase on latest MILC
|
|
* Add flake8 to our test suite and fix all errors
* Add some documentation
|
|
* Pull in updates for MILC
* Remove the shadow argparser
* Make it easier to reason about arguments and how they're translated into the config tree
* Populate self.config during init to support setting user.qmk_home for the global CLI
* Remove the short argument -c so that we can unambiguously determine the config file location without doing full argument processing
* Remove the --save-config option as it's a little confusing anyway
* Use Pathlib for path manipulation
* Fix commands with no arguments
|
|
|
|
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.
|
|
|
|
* 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
|
|
|
|
* yapf changes
* Fix the cformat test
* Make the normpath test work when run from /
* `qmk config`: Mark `--read-only` as arg_only
|
|
|
|
|
|
- Sort the commands alphabetically
- Add missing `json_keymap`
- Correct underscore to dash
|
|
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.
|
|
|
|
|
|
* 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
|
|
`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
|
|
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`
|
|
This fixes the following issue related to encoding on linux systems. Add
`universal_newlines=True` to subprocess.
<class 'TypeError'>
☒ a bytes-like object is required, not 'str'
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/milc.py", line 564, in __call__
return self.__call__()
File "/usr/local/lib/python3.7/site-packages/milc.py", line 569, in __call__
return self._entrypoint(self)
File "$HOME/qmk_firmware/lib/python/qmk/cli/doctor.py", line 56, in doctor
for line in mm_check.stdout.split('\n'):
TypeError: a bytes-like object is required, not 'str'
|
|
* 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
|
|
* Created python version of new_keymap.sh: new_keymap.py
* Updated usage message
* Updated new_keymap.py to use python3.5+ syntax & be more similar to new_keyboard.sh
* Updated complete message
* Updated usage in argparser and removed incorrect usage_message
* Reverted the fstrings back to strings that use .format() & updated docstring convention
* Added helper to recursively cd .. until at qmk_firmware root directory
* Revert "Added helper to recursively cd .. until at qmk_firmware root directory"
This reverts commit 61a0ff3b25f91901287bec8d58eb51a1f126e2ad.
* Updated new_keymap.py to use printf-style format strings
* First draft lib/python/qmk/cli/new/keymap.py with milc
* Removed shebang & syspath appending lines
* Added optional args & resolved some cr comemnts
* Added a docstring and updated strings
|
|
|
|
|