elmSpec top-level property
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')
]);