xcodeprojSpec top-level property

FigSpec xcodeprojSpec
final

Implementation

final FigSpec xcodeprojSpec = FigSpec(
  name: 'xcodeproj',
  description: 'Xcodeproj lets you create and modify Xcode projects',
  subcommands: [
    FigSubcommand(
      name: 'config-dump',
      description:
          'Dumps the build settings of all project targets for all configurations in directories named by the target in the given output directory',
      args: [
        FigArg(
          name: 'PROJECT',
          isOptional: true,
          generators: [projectsAndFoldersGenerator],
        ),
        FigArg(
          name: 'OUTPUT',
          isOptional: true,
          template: ['folders'],
        ),
      ],
    ),
    FigSubcommand(
      name: 'project-diff',
      description: 'Shows the difference between two projects',
      options: [
        FigOption(
          name: ['--ignore'],
          requiresSeparator: true,
          isRepeatable: true,
          description:
              'A key to ignore in the comparison. Can be specified multiple times',
          args: [FigArg(name: 'KEY')],
        ),
      ],
      args: [
        FigArg(
          name: 'PROJECT1',
          generators: [projectsAndFoldersGenerator],
        ),
        FigArg(
          name: 'PROJECT2',
          generators: [projectsAndFoldersGenerator],
        ),
      ],
    ),
    FigSubcommand(
      name: 'show',
      description: 'Shows an overview of a project in a YAML representation',
      options: [
        FigOption(
          name: ['--format'],
          requiresSeparator: true,
          description: 'YAML output format',
          args: [
            FigArg(
              name: 'FORMAT',
              suggestions: const [
                FigSuggestion(name: 'hash'),
                FigSuggestion(name: 'tree_hash'),
                FigSuggestion(name: 'raw'),
              ],
            ),
          ],
        ),
      ],
      args: [
        FigArg(
          name: 'PROJECT',
          isOptional: true,
          generators: [projectsAndFoldersGenerator],
        ),
      ],
    ),
    FigSubcommand(
      name: 'sort',
      description: 'Sorts the given project',
      options: [
        FigOption(
          name: ['--group-option'],
          requiresSeparator: true,
          description:
              'The position of the groups when sorting. If no option is specified sorting will interleave groups and files',
          args: [
            FigArg(
              name: 'POSITION',
              suggestions: const [
                FigSuggestion(name: 'above'),
                FigSuggestion(name: 'below'),
              ],
            ),
          ],
        ),
      ],
      args: [
        FigArg(
          name: 'PROJECT',
          generators: [projectsAndFoldersGenerator],
          isOptional: true,
        ),
      ],
    ),
    FigSubcommand(
      name: 'target-diff',
      description: 'Shows the difference between two targets',
      options: [
        FigOption(
          name: ['--project'],
          description: 'The Xcode project document to use',
          args: [
            FigArg(
              name: 'PATH',
              generators: [projectsAndFoldersGenerator],
            ),
          ],
        ),
      ],
      args: [
        FigArg(name: 'TARGET1'),
        FigArg(name: 'TARGET2'),
      ],
    ),
  ],
  options: [
    FigOption(
      name: ['--verbose'],
      icon: '🔊',
      isPersistent: true,
      description: 'Show more debugging information',
    ),
    FigOption(
      name: ['--version'],
      description: 'Show the version of the tool',
    ),
    FigOption(
      name: ['--no-ansi'],
      isPersistent: true,
      description: 'Show output without ANSI codes',
    ),
    FigOption(
      name: ['--help'],
      isPersistent: true,
      description: 'Show help banner of specified command',
    ),
  ],
);