elmSpec top-level property

FigSpec elmSpec
final

Completion spec for elm CLI

Implementation

final FigSpec elmSpec = FigSpec(
    name: 'elm',
    description: 'Fig spec for the Elm language cli',
    subcommands: [
      Subcommand(
          name: 'init',
          icon:
              'https://upload.wikimedia.org/wikipedia/commons/thumb/f/f3/Elm_logo.svg/1200px-Elm_logo.svg.png',
          description: 'Initialize a new Elm project',
          options: [
            Option(name: '--help', description: 'Show help for elm init')
          ]),
      Subcommand(
          name: 'repl',
          icon:
              'https://upload.wikimedia.org/wikipedia/commons/thumb/f/f3/Elm_logo.svg/1200px-Elm_logo.svg.png',
          description: 'Start an Elm repl',
          options: [
            Option(
                name: '--no-colors',
                description: 'Turn off colors in the repl'),
            Option(
                name: '--interpreter',
                description:
                    'Path to an alternate JS interpreter, such as Node or Deno',
                args: [Arg(name: 'interpreter')]),
            Option(name: '--help', description: 'Show help for elm repl')
          ]),
      Subcommand(
          name: 'reactor',
          description: 'Start an Elm development server',
          options: [
            Option(
                name: '--port',
                description: 'The port to access the development server on',
                args: [Arg(name: 'port', description: 'The port number')]),
            Option(name: '--help', description: 'Show help for elm reactor')
          ]),
      Subcommand(
          name: 'install',
          icon:
              'https://upload.wikimedia.org/wikipedia/commons/thumb/f/f3/Elm_logo.svg/1200px-Elm_logo.svg.png',
          description: 'Install an Elm dependency',
          args: [
            Arg(
                name: 'package',
                description: 'The name of the package to install',
                generators: packageList)
          ],
          options: [
            Option(name: '--help', description: 'Show help for elm install')
          ]),
      Subcommand(name: 'make', description: 'Build your Elm code', args: [
        Arg(
            template: 'filepaths',
            name: 'source files',
            description: 'The source files to compile')
      ], options: [
        Option(name: '--help', description: 'Show help for elm make'),
        Option(name: '--debug', description: 'Compile in debug mode'),
        Option(name: '--optimize', description: 'Compile in production mode'),
        Option(
            name: '--output',
            description: 'Where to output the compiled code',
            args: [
              Arg(
                  name: 'output file',
                  description: 'Name and location of output')
            ]),
        Option(
            name: '--docs',
            description: 'Generate a JSON file of documentation',
            args: [
              Arg(
                  name: 'output json',
                  description: 'Name and location of output')
            ])
      ]),
      Subcommand(
          name: 'bump',
          description: 'Bump the version of your package',
          options: [
            Option(name: '--help', description: 'Show help for elm bump')
          ]),
      Subcommand(
          name: 'diff',
          description: 'See what changed between versions of a package',
          options: [
            Option(name: '--help', description: 'Show help for elm diff')
          ],
          args: [
            Arg(name: 'package', isOptional: true),
            Arg(name: 'version', isOptional: true, isVariadic: true)
          ]),
      Subcommand(
          name: 'publish',
          icon:
              'https://upload.wikimedia.org/wikipedia/commons/thumb/f/f3/Elm_logo.svg/1200px-Elm_logo.svg.png',
          description: 'Publish your package',
          options: [
            Option(name: '--help', description: 'Show help for elm publish')
          ])
    ],
    options: [
      Option(name: '--help', description: 'Show help for elm')
    ]);