mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-01-18 03:53:04 +01:00
82b7e10988
This adds command completion that, when manually installed, provides RIOT-aware command completion for `make` in zsh. The completion supports: - most commonly used `make` goals including a help text - most commonly used `make` variables (such as `BOARD=`, `LTO=`, `BUILD_IN_DOCKER=`, `TOOLCHAIN=`) - possible values for these variables, including a list of boards detected at runtime to complete `BOARD=` Co-authored-by: mguetschow <mikolai.guetschow@tu-dresden.de>
28 lines
932 B
Markdown
28 lines
932 B
Markdown
# Command Line Completion Using ZSH
|
|
|
|
This provides command line completion for `zsh` to increase productivity when
|
|
working with RIOT build system. The completion focuses on `make` targets,
|
|
options, and variables commonly used when interacting with the RIOT build system
|
|
from the shell. Aspects of the build system typically only used by scripts or
|
|
the CI are (intentionally) not added.
|
|
|
|
## Installation
|
|
|
|
1. Copy the `zsh-riot.sh` script where you can find it,
|
|
e.g. `cp zsh-riot.sh ~/.zsh-riot.sh`
|
|
2. Hook up the custom RIOT specific make completion in `.zshrc` and use that
|
|
instead of the default `make` completion if and only if the working
|
|
directory is inside a RIOT repository. This can be done by adding the
|
|
following snippet:
|
|
|
|
``` sh
|
|
source ~/.zsh-riot.sh
|
|
compdef '
|
|
if git rev-parse --is-inside-work-tree &> /dev/null && [[ -e "$(git rev-parse --show-toplevel)/.murdock" ]]; then
|
|
_riot
|
|
else
|
|
_make
|
|
fi
|
|
' make
|
|
```
|