Sort frozenset literals in generated options class definition

This commit is contained in:
Kovid Goyal
2022-04-23 11:23:21 +05:30
parent 37cdaea9ed
commit 214631c2dd
2 changed files with 6 additions and 2 deletions

View File

@@ -125,7 +125,11 @@ def generate_class(defn: Definition, loc: str) -> Tuple[str, str]:
if func.__module__ != 'builtins':
tc_imports.add((func.__module__, func.__name__))
defval = repr(func(option.defval_as_string))
defval_as_obj = func(option.defval_as_string)
if isinstance(defval_as_obj, frozenset):
defval = 'frozenset({' + ', '.join(repr(x) for x in sorted(defval_as_obj)) + '})'
else:
defval = repr(defval_as_obj)
if len(defval) > 100:
defval += ' # noqa'
if option.macos_defval is not unset: