rougail-output-formatter/src/rougail/output_formatter/config.py
2025-12-24 09:50:07 +01:00

74 lines
2.2 KiB
Python

"""
Silique (https://www.silique.fr)
Copyright (C) 2024-2025
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by the
Free Software Foundation, either version 3 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
from pathlib import Path
from .i18n import _
def get_rougail_config(
*,
backward_compatibility=True,
) -> dict:
options = f"""
load_unexist_redefine:
redefine: true
type: boolean
default:
jinja: >-
{{{{ step.output is not propertyerror and step.output == 'formatter' }}}}
description: {_('true if formatter is not in "step.output"')}
hidden:
jinja: >-
{{{{ step.output is not propertyerror and step.output == 'formatter' }}}}
return_type: boolean
description: {_('if formatter is not in "step.output"')}
cli:
load_config:
exists: true
redefine: true
type: boolean
default:
jinja: >-
{{{{ step.output is propertyerror or step.output != 'formatter' }}}}
description: {_('true if formatter is not in "step.output"')}
formatter:
description: {_('Reformat the structure files')}
help: |-
{_('The structure file will be formatted according to a set of rules: empty line between each variable, condensed notation whenever possible, attribute order, re-indentation (especially for Jinja2 templates), ...')}
disabled:
jinja: >-
{{{{ step.output is propertyerror or step.output != 'formatter' }}}}
return_type: boolean
description: {_('if formatter is not set in "step.output"')}
line_width: 120 # {_('Maximum line size')}
"""
print(options)
return {
"name": "formatter",
"process": "output",
"options": options,
"allow_user_data": False,
"level": 90,
}
__all__ = ("get_rougail_config",)