diff --git a/arduino-core/src/processing/app/helpers/CommandlineParser.java b/arduino-core/src/processing/app/helpers/CommandlineParser.java index 3c093d19d1d..805813b52be 100644 --- a/arduino-core/src/processing/app/helpers/CommandlineParser.java +++ b/arduino-core/src/processing/app/helpers/CommandlineParser.java @@ -16,7 +16,7 @@ public class CommandlineParser { private enum ACTION { - GUI, NOOP, VERIFY("--verify"), UPLOAD("--upload"), GET_PREF("--get-pref"), INSTALL_BOARD("--install-boards"), INSTALL_LIBRARY("--install-library"); + GUI, NOOP, VERIFY("--verify"), UPLOAD("--upload"), GET_PREF("--get-pref"), INSTALL_BOARD("--install-boards"), INSTALL_LIBRARY("--install-library"), HELP("--help"); private final String value; @@ -52,6 +52,7 @@ public CommandlineParser(String[] args) { actions.put("--get-pref", ACTION.GET_PREF); actions.put("--install-boards", ACTION.INSTALL_BOARD); actions.put("--install-library", ACTION.INSTALL_LIBRARY); + actions.put("--help", ACTION.HELP); } public void parseArgumentsPhase1() { @@ -84,6 +85,14 @@ public void parseArgumentsPhase1() { } libraryToInstall = args[i]; } + if (a == ACTION.HELP) { + Set<String> strings = actions.keySet(); + String[] valid = strings.toArray(new String[strings.size()]); + String actions = PApplet.join(valid, "\n"); + String actionFilemame = "FILE.ino"; + String mess = I18n.format(tr("Actions:\n{0}\n{1}"), actionFilemame, actions); + BaseNoGui.showError(null, mess, 3); + } action = a; continue; } @@ -185,7 +194,7 @@ public void parseArgumentsPhase1() { continue; } if (args[i].startsWith("--")) - BaseNoGui.showError(null, I18n.format(tr("unknown option: {0}"), args[i]), 3); + BaseNoGui.showError(null, I18n.format(tr("unknown action/option: {0}, use --help"), args[i]), 3); filenames.add(args[i]); } diff --git a/build/shared/manpage.adoc b/build/shared/manpage.adoc index 7dc647fc4ec..2e8787a4989 100644 --- a/build/shared/manpage.adoc +++ b/build/shared/manpage.adoc @@ -33,6 +33,8 @@ SYNOPSIS *arduino* [*--install-library* __library name__[:__version__][,__library name__[:__version__],__library name__[:__version__]] +*arduino* [*--help*] + DESCRIPTION ----------- The 'arduino' integrated development environment allows editing, @@ -63,7 +65,7 @@ meaning it is pretty useless if you want any feedback or to be able to keep log automated testing, etc. ACTIONS - +------- *--verify*:: Build the sketch. @@ -83,6 +85,9 @@ ACTIONS Fetches available libraries list and install the specified one. If __version__ is omitted, the latest is installed. If a library with the same version is already installed, nothing is installed and program exits with exit code 1. If a library with a different version is already installed, it's replaced. Multiple libraries can be specified, separated by a comma. +*--help*:: + Shows list of available actions. + OPTIONS ------- *--board* __package__:__arch__:__board__[:__parameters__]::