Files
iris-context/commands/ops/arduino_cli.go
T
VERSE 2ef3c90819 feat(commands): more commands (#30)
- I wrote a scripts to copy and generate all commands missing in iris
from fig repo: https://github.com/withfig/autocomplete
- Add a new script to generate commands docs about which commands
currently are inside commands folder
377d4aac663590e504fe39a92eb4dac4cbd333b2
- Add more icons e64d4e70a1db61e62053460a882e093bd6373ab1
2026-07-04 22:08:36 +07:00

100 lines
7.0 KiB
Go

package ops
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "arduino-cli",
Description: "Arduino CLI - build, compile, and upload Arduino sketches",
Subcommands: []core.Subcommand{
{Name: "board", Description: "Arduino board commands"},
{Name: "FQBN", Description: "Fully qualified board name"},
{Name: "port", Description: "Arduino board port connection"},
{Name: "list", Description: "Detects and displays a list of boards connected to the current computer"},
{Name: "search", Description: "Search for a board in the Boards Manager using the specified keywords"},
{Name: "burn-bootloader", Description: "Upload the bootloader on the board using an external programmer"},
{Name: "cache", Description: "Arduino cache commands"},
{Name: "compile", Description: "Compiles Arduino sketches"},
{Name: "e", Description: "If set built binaries will be exported to the sketch folder"},
{Name: "none", Description: "Use warning level 'none'"},
{Name: "default", Description: "Use warning level 'default'"},
{Name: "more", Description: "Use warning level 'more'"},
{Name: "all", Description: "Use warning level 'all'"},
{Name: "completion", Description: "Generates completion scripts for various shells"},
{Name: "config", Description: "Arduino configuration commands"},
{Name: "add", Description: "Adds one or more values to a setting"},
{Name: "delete", Description: "Deletes a settings key and all its sub keys"},
{Name: "dump", Description: "Prints the current configuration"},
{Name: "remove", Description: "Removes one or more values from a setting"},
{Name: "set", Description: "Sets a setting value"},
{Name: "core", Description: "Arduino core operations"},
{Name: "download", Description: "Downloads one or more cores and corresponding tool dependencies"},
{Name: "install", Description: "Installs one or more cores and corresponding tool dependencies"},
{Name: "update-index", Description: "Updates the index of cores to the latest version"},
{Name: "upgrade", Description: "Upgrades one or all installed platforms to the latest version"},
{Name: "debug", Description: "Debug Arduino sketches. (this command opens an interactive gdb session)"},
{Name: "check", Description: "Check if the given board/programmer combination supports debugging"},
{Name: "console", Description: "Debug interpreter 'console'"},
{Name: "mi", Description: "Debug interpreter 'mi'"},
{Name: "mi1", Description: "Debug interpreter 'mi1'"},
{Name: "mi2", Description: "Debug interpreter 'mi2'"},
{Name: "mi3", Description: "Debug interpreter 'mi3'"},
{Name: "help", Description: "Help provides help for any command in the application"},
{Name: "lib", Description: "Arduino commands about libraries"},
{Name: "deps", Description: "Check dependencies status for the specified library"},
{Name: "uninstall", Description: "Uninstalls one or more libraries"},
{Name: "monitor", Description: "Open a communication port with a board"},
{Name: "sketch", Description: "Arduino CLI sketch commands"},
{Name: "archive", Description: "Creates a zip file containing all sketch files"},
{Name: "new", Description: "Create a new Sketch"},
{Name: "update", Description: "Updates the index of cores and libraries to the latest versions"},
{Name: "upload", Description: "Upload Arduino sketches. This does NOT compile the sketch prior to upload"},
{Name: "version", Description: "Shows the version number of Arduino CLI which is installed on your system"},
},
Options: []core.Option{
{Name: "--board-options", Description: "Max time to wait for port discovery, example: '30s, 1m (default 1s)'"},
{Name: "-b", Description: "Fully Qualified Board Name, example: 'arduino:avr:uno'"},
{Name: "-h", Description: "Help for attach"},
{Name: "-p", Description: "Upload port address, example: 'COM3 or /dev/ttyACM2'"},
{Name: "-l", Description: "Upload port protocol, example: 'serial'"},
{Name: "-f", Description: "Show full board details"},
{Name: "--list-programmers", Description: "Show list of available programmers"},
{Name: "--show-properties", Description: "Detects and displays a list of boards connected to the current computer"},
{Name: "-w", Description: "Help for listall"},
{Name: "-a", Description: "Show also boards marked as 'hidden' in the platform"},
{Name: "-P", Description: "Programmer to use, example: 'atmel_ice'"},
{Name: "-v", Description: "Turns on verbose mode"},
{Name: "-t", Description: "Verify uploaded binary after upload"},
{Name: "--build-path", Description: "Optional, cleanup the build folder and do not use any cached build"},
{Name: "--discovery-timeout", Description: "Max time to wait for port discovery, example: '30s, 1m (default 1s)'"},
{Name: "--dump-profile", Description: "Create and print a profile configuration from the build"},
{Name: "--encrypt-key", Description: "If set built binaries will be exported to the sketch folder"},
{Name: "--keys-keychain", Description: "Optional, optimize compile output for debugging, rather than for release"},
{Name: "--output-dir", Description: "Save build artifacts in this directory"},
{Name: "--preprocess", Description: "Print preprocessed code to stdout instead of compiling"},
{Name: "-m", Description: "Sketch profile to use"},
{Name: "--quiet", Description: "Optional, suppresses almost every output"},
{Name: "--warnings", Description: "Use warning level 'none'"},
{Name: "--no-description", Description: "Disable completion description for shells that support it"},
{Name: "--dest-dir", Description: "Sets where to save the configuration file"},
{Name: "--dest-file", Description: "Sets where to save the configuration file"},
{Name: "--overwrite", Description: "Overwrite existing config file"},
{Name: "--no-overwrite", Description: "Do not overwrite already installed platforms"},
{Name: "--run-post-install", Description: "Force run of post-install scripts (if the CLI is not running interactively)"},
{Name: "--run-pre-uninstall", Description: "Force run of pre-uninstall scripts (if the CLI is not running interactively)"},
{Name: "--skip-post-install", Description: "Force skip of post-install scripts (if the CLI is running interactively)"},
{Name: "--skip-pre-uninstall", Description: "Force skip of pre-uninstall scripts (if the CLI is running interactively)"},
{Name: "--updatable", Description: "List updatable platforms"},
{Name: "--daemonize", Description: "Do not terminate daemon process if the parent process dies"},
{Name: "--debug", Description: "Enable debug logging of gRPC calls"},
{Name: "--debug-file", Description: "Append debug logging to the specified file"},
{Name: "--debug-filter", Description: "Display only the provided gRPC calls"},
{Name: "--port", Description: "The TCP port the daemon will listen to"},
{Name: "--interpreter", Description: "Debug interpreter 'console'"},
{Name: "-I", Description: "Show metadata about the debug session instead of starting the debugger"},
},
})
}