2024-12-23 20:54:52 +01:00
"""
Silique ( https : / / www . silique . fr )
2025-02-10 09:46:31 +01:00
Copyright ( C ) 2024 - 2025
2024-12-23 20:54:52 +01:00
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
2025-09-29 11:49:35 +02:00
from . i18n import _
2024-12-23 20:54:52 +01:00
def get_rougail_config (
* ,
backward_compatibility = True ,
) - > dict :
2025-09-29 11:49:35 +02:00
options = f """
2024-12-23 20:54:52 +01:00
load_unexist_redefine :
redefine : true
type : boolean
default :
jinja : > -
2025-12-24 09:50:07 +01:00
{ { { { step . output is not propertyerror and step . output == ' formatter ' } } } }
description : { _ ( ' true if formatter is not in " step.output " ' ) }
2024-12-23 20:54:52 +01:00
hidden :
jinja : > -
2025-12-24 09:50:07 +01:00
{ { { { step . output is not propertyerror and step . output == ' formatter ' } } } }
return_type : boolean
description : { _ ( ' if formatter is not in " step.output " ' ) }
2025-05-02 08:22:40 +02:00
cli :
load_config :
exists : true
redefine : true
type : boolean
default :
jinja : > -
2025-12-24 09:50:07 +01:00
{ { { { step . output is propertyerror or step . output != ' formatter ' } } } }
description : { _ ( ' true if formatter is not in " step.output " ' ) }
2025-09-29 11:49:35 +02:00
formatter :
2025-12-24 09:50:07 +01:00
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 " ' ) }
2025-09-29 11:49:35 +02:00
2025-12-24 09:50:07 +01:00
line_width : 120 # {_('Maximum line size')}
2024-12-23 20:54:52 +01:00
"""
2025-12-24 09:50:07 +01:00
print ( options )
2024-12-23 20:54:52 +01:00
return {
" name " : " formatter " ,
" process " : " output " ,
" options " : options ,
2025-05-02 08:22:40 +02:00
" allow_user_data " : False ,
2024-12-23 20:54:52 +01:00
" level " : 90 ,
}
__all__ = ( " get_rougail_config " , )