import gettext
from option_handler import Option

_ = gettext.gettext

OPTIONS = [
    Option('o', 'only', True,
           _('A comma-separated list of only those linters to run'), ['exclude']),
    Option('x', 'exclude', True,
           _('A comma-separated list of linters to skip'), []),
    Option('l', 'linters', False,
           _('Show the list of configured linters'), []),
    Option('b', 'base', False,
           _('Check all changed files in the repository, not just those in the current directory.'), []),
    Option('a', 'all', False,
           _('Scan all files in the repository, not just those that have changed.'), ['revision']),
    Option('r', 'revision', True,
           _('Scan all files changed between revisions'), []),
    Option(None, 'pr', False,
           _('Scan all files changed between head and previous check-in'), ['revision']),
    Option('e', 'every', False,
           _('Short for -b -a: scan everything'), []),
    Option('w', 'workspace', False,
           _('Scan the workspace'), ['staging']),
    Option('s', 'staging', False,
           _('Scan the staging area (useful for pre-commit).'), []),
    #    ('g', 'changes', False,
    #     _("Report lint failures only for diff'd sections"), ['complete']),
    #    ('p', 'complete', False,
    #     _('Report lint failures for all files'), []),
    Option('t', 'bylinter', False,
           _('Group the reports by linter first as they appear in the config file [default]'), []),
    Option('f', 'byfile', False,
           _('Group the reports by file first'), []),
    Option('d', 'dryrun', False,
           _('Dry run - report what would be done, but do not run linters'), []),
    Option('c', 'config', True,
           _('Path to config file'), []),
    Option('h', 'help', False,
           _('This help message'), []),
    Option('V', 'verbose', False,
           _('A slightly more verbose output'), []),
    Option('v', 'version', False,
           _('Version information'), [])
]
