duSpec top-level property

FigSpec duSpec
final

Completion spec for du CLI

Implementation

final FigSpec duSpec = FigSpec(
  name: 'du',
  description: 'Display disk usage statistics',
  options: [

    Option(
      name: '-a',
      description: 'Display an entry for each file in a file hierarchy',
      exclusiveOn: ['-s', '-d']
    ),
    Option(
      name: '-c',
      description: 'Display a grand total'
    ),
    Option(
      name: '-H',
      description: 'Symbolic links on the command line are followed, symbolic links in file hierarchies are not followed',
      exclusiveOn: ['-L', '-P']
    ),
    Option(
      name: '-h',
      description: '"Human-readable" output.  Use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte',
      exclusiveOn: ['-k', '-m', '-g']
    ),
    Option(
      name: '-g',
      description: 'Display block counts in 1073741824-byte (1-Gbyte) blocks',
      exclusiveOn: ['-k', '-m', '-h']
    ),
    Option(
      name: '-k',
      description: 'Display block counts in 1024-byte (1-Kbyte) blocks',
      exclusiveOn: ['-g', '-m', '-h']
    ),
    Option(
      name: '-m',
      description: 'Display block counts in 1048576-byte (1-Mbyte) blocks',
      exclusiveOn: ['-g', '-k', '-h']
    ),
    Option(
      name: '-I',
      description: 'Ignore files and directories matching the specified mask',
      args: [
        Arg(
        name: 'mask'
      )
      ]
    ),
    Option(
      name: '-L',
      description: 'Symbolic links on the command line and in file hierarchies are followed',
      exclusiveOn: ['-H', '-P']
    ),
    Option(
      name: '-r',
      description: 'Generate messages about directories that cannot be read, files that cannot be opened, and so on.  This is the default case.  This option exists solely for conformance with X/Open Portability Guide Issue 4 (``XPG4\'\')'
    ),
    Option(
      name: '-P',
      description: 'No symbolic links are followed.  This is the default',
      exclusiveOn: ['-H', '-L']
    ),
    Option(
      name: '-d',
      description: 'Display an entry for all files and directories depth directories deep',
      exclusiveOn: ['-a', '-s'],
      args: [
        Arg(
        name: 'depth',
        suggestions: [

          FigSuggestion(name: '0'),
          FigSuggestion(name: '1'),
          FigSuggestion(name: '2')
        ]
      )
      ]
    ),
    Option(
      name: '-s',
      description: 'Display an entry for each specified file.  (Equivalent to -d 0)',
      exclusiveOn: ['-a', '-d']
    ),
    Option(
      name: '-x',
      description: 'Display an entry for each specified file.  (Equivalent to -d 0)'
    )
  ],
  args: [
    Arg(
    isOptional: true,
    name: 'files',
    isVariadic: true,
    template: ['filepaths', 'folders']
  )
  ]
);