diff --git a/pre_commit_hooks/mixed_line_ending.py b/pre_commit_hooks/mixed_line_ending.py index bc863be..7b7cabe 100644 --- a/pre_commit_hooks/mixed_line_ending.py +++ b/pre_commit_hooks/mixed_line_ending.py @@ -4,22 +4,34 @@ import sys from enum import Enum -class LineEnding(Enum): +class CLIOption(Enum): + def __init__(self, optName): + self.optName = optName + + +class LineEnding(CLIOption): CRLF = '\r\n', '\\r\\n', 'crlf' LF = '\n', '\\n', 'lf' - def __init__(self, str, strPrint, optName): - self.str = str + def __init__(self, string, strPrint, optName): + self.string = string self.strPrint = strPrint self.optName = optName +class MixedLineEndingOption(CLIOption): + AUTO = 'auto' + NO = 'no' + CRLF = LineEnding.CRLF.optName + LF = LineEnding.LF.optName + + def mixed_line_ending(argv=None): parser = argparse.ArgumentParser() parser.add_argument( '-f', '--fix', - choices=['auto', 'no'] + [m.optName for m in LineEnding], + choices=[m.optName for m in MixedLineEndingOption], default='auto', help='Replace line ending with the specified. Default is "auto"', nargs=1)