package ops import ( "github.com/versenilvis/iris/spec" ) func init() { spec.Register(&spec.Spec{ Name: "arduino-cli", Description: "Arduino CLI - build, compile, and upload Arduino sketches", Subcommands: []spec.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: []spec.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"}, }, }) }