package com.crowdin.cli.commands.parts;

import com.crowdin.cli.utils.MessageSource;
import com.crowdin.cli.utils.Utils;
import picocli.CommandLine;

import java.util.ResourceBundle;

@CommandLine.Command(
        name = "crowdin",
        versionProvider = Command.VersionProvider.class,
        mixinStandardHelpOptions = true,
        synopsisHeading = "%n@|underline SYNOPSIS|@:%n",
        descriptionHeading = "%n@|underline DESCRIPTION|@:%n",
        parameterListHeading = "%n@|underline PARAMETERS|@:%n",
        optionListHeading = "%n@|underline OPTIONS|@:%n",
        commandListHeading = "%n@|underline COMMANDS|@:%n",
        usageHelpAutoWidth = true
)
public abstract class Command implements Runnable {

    @CommandLine.Option(names = {"--no-progress"}, description = "Disable progress on executing command")
    protected boolean noProgress;

    @CommandLine.Option(names = {"-v", "--verbose"}, description = "Provide more information on the command processing")
    protected boolean isVerbose;

    @CommandLine.Option(names = {"--debug"}, hidden = true)
    protected boolean debug;

    protected static final ResourceBundle RESOURCE_BUNDLE = MessageSource.RESOURCE_BUNDLE;

    @Override
    public void run() {
    }

    public static class VersionProvider implements CommandLine.IVersionProvider {
        @Override
        public String[] getVersion() throws Exception {
            return new String[] {Utils.getAppVersion()};
        }
    }
}

@@ -286,49 +286,8 @@
 ss,%0A
-        mixinStandardHelpOptions = true,%0A
     
@@ -673,16 +673,326 @@
 able %7B%0A%0A
+    @CommandLine.Option(names = %7B%22-V%22, %22--version%22%7D, versionHelp = true, description = %22Print version information and exit%22)%0A    boolean versionInfoRequested;%0A%0A    @CommandLine.Option(names = %7B%22-h%22, %22--help%22%7D, usageHelp = true, description = %22Show this help message and exit%22)%0A    boolean usageHelpRequested;%0A%0A
     @Com

Change description for help and version