Compare commits

...

4 commits

353 changed files with 982 additions and 1152 deletions

View file

@ -1,3 +1,14 @@
## 0.2.0a19 (2025-11-21)
### Feat
- undocumented_modes is now a variable
### Fix
- black
- do not display empty console
## 0.2.0a18 (2025-11-07) ## 0.2.0a18 (2025-11-07)
### Feat ### Feat

View file

@ -5,8 +5,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"POT-Creation-Date: 2025-10-04 14:49+0200\n" "POT-Creation-Date: 2025-11-08 22:16+0100\n"
"PO-Revision-Date: 2025-10-04 14:50+0200\n" "PO-Revision-Date: 2025-11-08 22:17+0100\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"Language: fr\n" "Language: fr\n"
@ -16,69 +16,73 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n" "Generated-By: pygettext.py 1.5\n"
"X-Generator: Poedit 3.7\n" "X-Generator: Poedit 3.7\n"
#: src/rougail/output_console/__init__.py:81 #: src/rougail/output_console/__init__.py:90
msgid "Error in config: {0}" msgid "Error in config: {0}"
msgstr "Erreur dans la config : {0}" msgstr "Erreur dans la config : {0}"
#: src/rougail/output_console/__init__.py:109 #: src/rougail/output_console/__init__.py:120
msgid "The following variables are mandatory but have no value:" msgid "The following variables are mandatory but have no value:"
msgstr "Les variables suivantes sont obligatoire mais n'ont pas de valeur :" msgstr "Les variables suivantes sont obligatoire mais n'ont pas de valeur :"
#: src/rougail/output_console/__init__.py:114 #: src/rougail/output_console/__init__.py:126
msgid "The following variables are inaccessible but are empty and mandatory:" msgid "The following variables are inaccessible but are empty and mandatory:"
msgstr "" msgstr ""
"Les variables suivantes sont inaccessibles mais sont vides et obligatoires :" "Les variables suivantes sont inaccessibles mais sont vides et obligatoires :"
#: src/rougail/output_console/__init__.py:201 #: src/rougail/output_console/__init__.py:212
msgid "Variable" msgid "Variable"
msgstr "Variable" msgstr "Variable"
#: src/rougail/output_console/__init__.py:203 #: src/rougail/output_console/__init__.py:214
msgid "Undocumented variable" msgid "Undocumented variable"
msgstr "Variable non documentée" msgstr "Variable non documentée"
#: src/rougail/output_console/__init__.py:205 #: src/rougail/output_console/__init__.py:216
msgid "Undocumented but modified variable" msgid "Undocumented but modified variable"
msgstr "Variable non documentée mais modifiée" msgstr "Variable non documentée mais modifiée"
#: src/rougail/output_console/__init__.py:207 #: src/rougail/output_console/__init__.py:218
msgid "Unmodifiable variable" msgid "Unmodifiable variable"
msgstr "Variable non modifiable" msgstr "Variable non modifiable"
#: src/rougail/output_console/__init__.py:210 #: src/rougail/output_console/__init__.py:221
msgid "Default value" msgid "Default value"
msgstr "Valeur par défaut" msgstr "Valeur par défaut"
#: src/rougail/output_console/__init__.py:212 #: src/rougail/output_console/__init__.py:223
msgid "Modified value" msgid "Modified value"
msgstr "Valeur modifiée" msgstr "Valeur modifiée"
#: src/rougail/output_console/__init__.py:214 #: src/rougail/output_console/__init__.py:225
msgid "Original default value" msgid "Original default value"
msgstr "Valeur par défaut d'origine" msgstr "Valeur par défaut d'origine"
#: src/rougail/output_console/__init__.py:218 #: src/rougail/output_console/__init__.py:229
msgid "Caption" msgid "Caption"
msgstr "Légende" msgstr "Légende"
#: src/rougail/output_console/__init__.py:225 #: src/rougail/output_console/__init__.py:248
msgid "Layers"
msgstr "Couches"
#: src/rougail/output_console/__init__.py:255
msgid "ERRORS" msgid "ERRORS"
msgstr "ERREURS" msgstr "ERREURS"
#: src/rougail/output_console/__init__.py:254 #: src/rougail/output_console/__init__.py:283
msgid "WARNINGS" msgid "WARNINGS"
msgstr "AVERTISSEMENTS" msgstr "AVERTISSEMENTS"
#: src/rougail/output_console/__init__.py:265 #: src/rougail/output_console/__init__.py:294
msgid "Variables:" msgid "Variables:"
msgstr "Variables :" msgstr "Variables :"
#: src/rougail/output_console/__init__.py:296 #: src/rougail/output_console/__init__.py:325
#: src/rougail/output_console/__init__.py:416 #: src/rougail/output_console/__init__.py:485
msgid "{0}:" msgid "{0}:"
msgstr "{0} :" msgstr "{0} :"
#: src/rougail/output_console/__init__.py:422 #: src/rougail/output_console/__init__.py:491
msgid "{0}: {1}" msgid "{0}: {1}"
msgstr "{0} : {1}" msgstr "{0} : {1}"
@ -92,8 +96,7 @@ msgstr "Voir les secrets plutôt que de les obscurcir"
#: src/rougail/output_console/config.py:40 #: src/rougail/output_console/config.py:40
msgid "test mandatories variables before display in console" msgid "test mandatories variables before display in console"
msgstr "" msgstr "Test les variables obligatoires avant de les afficher dans la console"
"Test les variables obligatoires avant de les afficher dans la console"
#: src/rougail/output_console/config.py:50 #: src/rougail/output_console/config.py:50
msgid "" msgid ""

View file

@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2025-10-04 14:50+0200\n" "POT-Creation-Date: 2025-11-08 22:17+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -15,68 +15,72 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n" "Generated-By: pygettext.py 1.5\n"
#: src/rougail/output_console/__init__.py:81 #: src/rougail/output_console/__init__.py:90
msgid "Error in config: {0}" msgid "Error in config: {0}"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:109 #: src/rougail/output_console/__init__.py:120
msgid "The following variables are mandatory but have no value:" msgid "The following variables are mandatory but have no value:"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:114 #: src/rougail/output_console/__init__.py:126
msgid "The following variables are inaccessible but are empty and mandatory:" msgid "The following variables are inaccessible but are empty and mandatory:"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:201 #: src/rougail/output_console/__init__.py:212
msgid "Variable" msgid "Variable"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:203 #: src/rougail/output_console/__init__.py:214
msgid "Undocumented variable" msgid "Undocumented variable"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:205 #: src/rougail/output_console/__init__.py:216
msgid "Undocumented but modified variable" msgid "Undocumented but modified variable"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:207 #: src/rougail/output_console/__init__.py:218
msgid "Unmodifiable variable" msgid "Unmodifiable variable"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:210 #: src/rougail/output_console/__init__.py:221
msgid "Default value" msgid "Default value"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:212 #: src/rougail/output_console/__init__.py:223
msgid "Modified value" msgid "Modified value"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:214 #: src/rougail/output_console/__init__.py:225
msgid "Original default value" msgid "Original default value"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:218 #: src/rougail/output_console/__init__.py:229
msgid "Caption" msgid "Caption"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:225 #: src/rougail/output_console/__init__.py:248
msgid "Layers"
msgstr ""
#: src/rougail/output_console/__init__.py:255
msgid "ERRORS" msgid "ERRORS"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:254 #: src/rougail/output_console/__init__.py:283
msgid "WARNINGS" msgid "WARNINGS"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:265 #: src/rougail/output_console/__init__.py:294
msgid "Variables:" msgid "Variables:"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:296 #: src/rougail/output_console/__init__.py:325
#: src/rougail/output_console/__init__.py:416 #: src/rougail/output_console/__init__.py:485
msgid "{0}:" msgid "{0}:"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:422 #: src/rougail/output_console/__init__.py:491
msgid "{0}: {1}" msgid "{0}: {1}"
msgstr "" msgstr ""

View file

@ -4,7 +4,7 @@ requires = ["flit_core >=3.8.0,<4"]
[project] [project]
name = "rougail.output_console" name = "rougail.output_console"
version = "0.2.0a18" version = "0.2.0a19"
authors = [{name = "Emmanuel Garette", email = "gnunux@gnunux.info"}] authors = [{name = "Emmanuel Garette", email = "gnunux@gnunux.info"}]
readme = "README.md" readme = "README.md"
description = "Rougail output console" description = "Rougail output console"

View file

@ -35,26 +35,25 @@ from .__version__ import __version__
class RougailOutputConsole: class RougailOutputConsole:
variable_hidden_color = "orange1" variable_hidden_color = "orange1"
variable_advanced_color = "bright_blue" variable_undocumented_color = "bright_blue"
variable_advanced_and_modified_color = "red1" variable_undocumented_and_modified_color = "red1"
value_unmodified_color = "gold1" value_unmodified_color = "gold1"
value_default_color = "green" value_default_color = "green"
def __init__( def __init__(
self, self,
config: "Config", config: "Config",
metaconfig = None, metaconfig=None,
*, *,
rougailconfig: "RougailConfig" = None, rougailconfig: "RougailConfig" = None,
user_data_errors: Optional[list] = None, user_data_errors: Optional[list] = None,
user_data_warnings: Optional[list] = None, user_data_warnings: Optional[list] = None,
config_owner_is_path: bool = False, config_owner_is_path: bool = False,
layer_datas = None, layer_datas=None,
**kwargs **kwargs,
) -> None: ) -> None:
if rougailconfig is None: if rougailconfig is None:
from rougail import RougailConfig from rougail import RougailConfig
rougailconfig = RougailConfig rougailconfig = RougailConfig
self.rougailconfig = rougailconfig self.rougailconfig = rougailconfig
self.config = config self.config = config
@ -64,10 +63,14 @@ class RougailOutputConsole:
self.is_mandatory = self.rougailconfig["console.mandatory"] self.is_mandatory = self.rougailconfig["console.mandatory"]
self.show_secrets = self.rougailconfig["console.show_secrets"] self.show_secrets = self.rougailconfig["console.show_secrets"]
self.key_is_description = self.rougailconfig["console.key_is_description"] self.key_is_description = self.rougailconfig["console.key_is_description"]
try:
self.undocumented_modes = set(self.rougailconfig["console.undocumented_modes"])
except Exception:
self.undocumented_modes = set()
self.variable_default_enable = False self.variable_default_enable = False
self.variable_hidden_enable = False self.variable_hidden_enable = False
self.variable_advanced_enable = False self.variable_undocumented_enable = False
self.variable_advanced_and_modified_enable = False self.variable_undocumented_and_modified_enable = False
self.value_modified_enable = False self.value_modified_enable = False
self.value_unmodified_enable = False self.value_unmodified_enable = False
self.value_default_enable = False self.value_default_enable = False
@ -102,14 +105,16 @@ class RougailOutputConsole:
else: else:
parent = self.config parent = self.config
current_options = options current_options = options
for child_path in option.path().split('.'): for child_path in option.path().split("."):
child = parent.option(child_path) child = parent.option(child_path)
if self.key_is_description: if self.key_is_description:
description = child.description(uncalculated=True) description = child.description(uncalculated=True)
else: else:
description = child.path(uncalculated=True) description = child.path(uncalculated=True)
if child.isdynamic() and "{{ identifier }}" in description: if child.isdynamic() and "{{ identifier }}" in description:
description = description.replace('{{ identifier }}', child.identifiers()[-1]) description = description.replace(
"{{ identifier }}", child.identifiers()[-1]
)
if child.isoptiondescription(): if child.isoptiondescription():
current_options = current_options.setdefault(description, {}) current_options = current_options.setdefault(description, {})
@ -117,20 +122,27 @@ class RougailOutputConsole:
else: else:
current_options.setdefault(None, []).append(description) current_options.setdefault(None, []).append(description)
if options: if options:
self.errors.append({_("The following variables are mandatory but have no value:"): options}) self.errors.append(
{_("The following variables are mandatory but have no value:"): options}
)
elif options_with_error: elif options_with_error:
if self.key_is_description: if self.key_is_description:
variables = [option.description() for option in options_with_error] variables = [option.description() for option in options_with_error]
else: else:
variables = [option.path() for option in options_with_error] variables = [option.path() for option in options_with_error]
self.errors.append({_( self.errors.append(
{
_(
"The following variables are inaccessible but are empty and mandatory:" "The following variables are inaccessible but are empty and mandatory:"
): variables}) ): variables
}
)
def exporter(self) -> bool: def exporter(self) -> bool:
if self.is_mandatory: if self.is_mandatory:
ori_properties = self.config.property.exportation() ori_properties = self.config.property.exportation()
self.config.property.read_write() self.config.property.read_write()
if not self.user_data_errors and not self.errors:
self.mandatory() self.mandatory()
self.config.property.importation(ori_properties) self.config.property.importation(ori_properties)
warnings = self.user_data_warnings + self.warnings warnings = self.user_data_warnings + self.warnings
@ -150,6 +162,7 @@ class RougailOutputConsole:
self.root, self.root,
) )
self.config.information.set("path_in_description", old_path_in_description) self.config.information.set("path_in_description", old_path_in_description)
if self.output.tree.children:
self.header() self.header()
self.end() self.end()
return True return True
@ -209,10 +222,10 @@ class RougailOutputConsole:
caption_line = "" caption_line = ""
if self.variable_default_enable: if self.variable_default_enable:
caption_line += _("Variable") + "\n" caption_line += _("Variable") + "\n"
if self.variable_advanced_enable: if self.variable_undocumented_enable:
caption_line += f'[{self.variable_advanced_color}]{_("Undocumented variable")}[/{self.variable_advanced_color}]\n' caption_line += f'[{self.variable_undocumented_color}]{_("Undocumented variable")}[/{self.variable_undocumented_color}]\n'
if self.variable_advanced_and_modified_enable: if self.variable_undocumented_and_modified_enable:
caption_line += f'[{self.variable_advanced_and_modified_color}]{_("Undocumented but modified variable")}[/{self.variable_advanced_and_modified_color}]\n' caption_line += f'[{self.variable_undocumented_and_modified_color}]{_("Undocumented but modified variable")}[/{self.variable_undocumented_and_modified_color}]\n'
if self.variable_hidden_enable: if self.variable_hidden_enable:
caption_line += f'[{self.variable_hidden_color}]{_("Unmodifiable variable")}[/{self.variable_hidden_color}]\n' caption_line += f'[{self.variable_hidden_color}]{_("Unmodifiable variable")}[/{self.variable_hidden_color}]\n'
header_value = "" header_value = ""
@ -295,6 +308,7 @@ class RougailOutputConsole:
self, self,
yaml, yaml,
self.key_is_description, self.key_is_description,
self.undocumented_modes,
no_icon=True, no_icon=True,
) )
return self.output return self.output
@ -311,6 +325,7 @@ class OutputFamily:
root, root,
_yaml, _yaml,
key_is_description, key_is_description,
undocumented_modes,
*, *,
is_leader: bool = False, is_leader: bool = False,
no_icon: bool = False, no_icon: bool = False,
@ -337,6 +352,7 @@ class OutputFamily:
self.root = root self.root = root
self._yaml = _yaml self._yaml = _yaml
self.key_is_description = key_is_description self.key_is_description = key_is_description
self.undocumented_modes = undocumented_modes
def add_family( def add_family(
self, self,
@ -346,9 +362,9 @@ class OutputFamily:
if "hidden" in properties: if "hidden" in properties:
self.root.variable_hidden_enable = True self.root.variable_hidden_enable = True
color = self.root.variable_hidden_color color = self.root.variable_hidden_color
elif "advanced" in properties: elif self.undocumented_modes & properties:
self.root.variable_advanced_enable = True self.root.variable_undocumented_enable = True
color = self.root.variable_advanced_color color = self.root.variable_undocumented_color
else: else:
self.root.variable_default_enable = True self.root.variable_default_enable = True
color = None color = None
@ -358,15 +374,19 @@ class OutputFamily:
key_name = option.name() key_name = option.name()
return OutputFamily( return OutputFamily(
self.colorize( self.colorize(
[{"value": key_name, [
{
"value": key_name,
"color": color, "color": color,
"loaded_from": None, "loaded_from": None,
}] }
]
), ),
self.tree, self.tree,
self.root, self.root,
self._yaml, self._yaml,
self.key_is_description, self.key_is_description,
self.undocumented_modes,
) )
def add_variable( def add_variable(
@ -376,21 +396,23 @@ class OutputFamily:
properties = option.property.get() properties = option.property.get()
color = None color = None
variable_color = None variable_color = None
advanced = False undocumented = self.undocumented_modes & properties
hidden = False
if "hidden" in properties: if "hidden" in properties:
if undocumented:
self.root.variable_undocumented_enable = True
variable_color = self.root.variable_undocumented_color
else:
self.root.variable_hidden_enable = True self.root.variable_hidden_enable = True
variable_color = self.root.variable_hidden_color variable_color = self.root.variable_hidden_color
elif "advanced" in properties: elif undocumented:
# FIXME "advanced should be an properties example! self.root.variable_undocumented_and_modified_enable = True
advanced = True variable_color = self.root.variable_undocumented_and_modified_color
else: else:
self.root.variable_default_enable = True self.root.variable_default_enable = True
values = [] values = []
collect_values = [] collect_values = []
if not option.owner.isdefault(): if not option.owner.isdefault():
if advanced:
self.root.variable_advanced_and_modified_enable = True
variable_color = self.root.variable_advanced_and_modified_color
self.root.value_modified_enable = True self.root.value_modified_enable = True
follower_index = option.index() follower_index = option.index()
if follower_index is not None: if follower_index is not None:
@ -401,13 +423,18 @@ class OutputFamily:
loaded_from = option.information.get("loaded_from", None) loaded_from = option.information.get("loaded_from", None)
if value is undefined: if value is undefined:
value = option.value.get() value = option.value.get()
values.append({"value": value, values.append(
{
"value": value,
"color": color, "color": color,
"loaded_from": loaded_from, "loaded_from": loaded_from,
}) }
)
suboption = option suboption = option
subconfig = self.root.config subconfig = self.root.config
if "force_store_value" not in option.property.get() and option.information.get("default_value_makes_sense", True): if "force_store_value" not in option.property.get() and option.information.get(
"default_value_makes_sense", True
):
while True: while True:
default_value = suboption.value.default() default_value = suboption.value.default()
if leader_index is not None: if leader_index is not None:
@ -416,10 +443,16 @@ class OutputFamily:
else: else:
default_value = None default_value = None
is_root_metaconfig = False is_root_metaconfig = False
if subconfig is None or not subconfig.path() or "." not in subconfig.path(): if (
subconfig is None
or not subconfig.path()
or "." not in subconfig.path()
):
is_root_metaconfig = True is_root_metaconfig = True
subconfig = self.get_subconfig_with_default_value(suboption) subconfig = self.get_subconfig_with_default_value(suboption)
if ((values and default_value is None) or default_value == []) and is_root_metaconfig: if (
(values and default_value is None) or default_value == []
) and is_root_metaconfig:
break break
if not values: if not values:
self.root.value_unmodified_enable = True self.root.value_unmodified_enable = True
@ -427,9 +460,6 @@ class OutputFamily:
else: else:
self.root.value_default_enable = True self.root.value_default_enable = True
color = self.root.value_default_color color = self.root.value_default_color
if advanced:
self.root.variable_advanced_enable = True
variable_color = self.root.variable_advanced_color
index = option.index() index = option.index()
parent_option = subconfig.option(option.path(), index) parent_option = subconfig.option(option.path(), index)
if is_root_metaconfig: if is_root_metaconfig:
@ -441,10 +471,13 @@ class OutputFamily:
else: else:
key = "loaded_from" key = "loaded_from"
loaded_from = parent_option.information.get(key, None) loaded_from = parent_option.information.get(key, None)
values.append({"value": default_value, values.append(
{
"value": default_value,
"color": color, "color": color,
"loaded_from": loaded_from, "loaded_from": loaded_from,
}) }
)
if is_root_metaconfig: if is_root_metaconfig:
break break
elif not values: elif not values:
@ -461,19 +494,25 @@ class OutputFamily:
else: else:
self.root.value_default_enable = True self.root.value_default_enable = True
color = self.root.value_default_color color = self.root.value_default_color
values.append({"value": None, values.append(
{
"value": None,
"color": color, "color": color,
"loaded_from": loaded_from, "loaded_from": loaded_from,
}) }
)
if self.key_is_description: if self.key_is_description:
key_name = option.description() key_name = option.description()
else: else:
key_name = option.name() key_name = option.name()
key = self.colorize( key = self.colorize(
[{"value": key_name, [
{
"value": key_name,
"color": variable_color, "color": variable_color,
"loaded_from": None, "loaded_from": None,
}] }
]
) )
value = self.colorize( value = self.colorize(
values, values,
@ -501,14 +540,14 @@ class OutputFamily:
break break
else: else:
subconfig = self.root.metaconfig subconfig = self.root.metaconfig
for child in default_owner.split('.')[1:]: for child in default_owner.split(".")[1:]:
subconfig = subconfig.config(child) subconfig = subconfig.config(child)
return subconfig return subconfig
def colorize( def colorize(
self, self,
values, values,
option = None, option=None,
) -> str: ) -> str:
multi = False multi = False
ret = [] ret = []
@ -560,7 +599,11 @@ class OutputFamily:
value: Any, value: Any,
) -> str: ) -> str:
"""Dump variable, means transform bool, ... to yaml string""" """Dump variable, means transform bool, ... to yaml string"""
if value is not None and not self.root.show_secrets and option.type() == "password": if (
value is not None
and not self.root.show_secrets
and option.type() == "password"
):
return "*" * 10 return "*" * 10
if isinstance(value, str): if isinstance(value, str):
return value return value

View file

@ -1 +1 @@
__version__ = "0.2.0a18" __version__ = "0.2.0a19"

View file

@ -48,6 +48,23 @@ console:
{{% endif %}} {{% endif %}}
key_is_description: true # {_("In tree the key is the family or variable description inside of it's name")} key_is_description: true # {_("In tree the key is the family or variable description inside of it's name")}
undocumented_modes:
description: {_('Variables with those modes are not documented')}
multi: true
mandatory: false
disabled:
jinja: |
{{% if not modes_level %}}
there is no mode
{{% endif %}}
description: {_('disabled when there is no mode available')}
validators:
- jinja: |
{{% if _.undocumented_modes not in modes_level %}}
this mode is not available
{{% endif %}}
description: {_('verify if disable modes already exists')}
""" """
return { return {
"name": "console", "name": "console",

View file

@ -1,4 +0,0 @@
╭─ Caption ─╮
│ │
╰───────────╯
Variables:

View file

@ -1,4 +0,0 @@
╭─ Caption ─╮
│ │
╰───────────╯
Variables:

View file

@ -1,4 +0,0 @@
╭─ Caption ─╮
│ │
╰───────────╯
Variables:

View file

@ -1,4 +0,0 @@
╭─ Caption ─╮
│ │
╰───────────╯
Variables:

View file

@ -0,0 +1,13 @@
╭────────────── Caption ───────────────╮
│ Variable Modified value │
(⏳ Original default value)
╰──────────────────────────────────────╯
Variables:
┣━━ 📓 var1:
┃ ┣━━ string1 ◀ loaded from rougail-test (val1)
┃ ┣━━ string2 ◀ loaded from rougail-test (val2)
┃ ┗━━ string3 ◀ loaded from rougail-test (val3)
┗━━ 📓 var2:
 ┣━━ string1 ◀ loaded from rougail-test (val4)
 ┣━━ string2 ◀ loaded from rougail-test (val5)
 ┗━━ string3 ◀ loaded from rougail-test

View file

@ -1,4 +0,0 @@
╭─ Caption ─╮
│ │
╰───────────╯
Variables:

View file

@ -1,4 +0,0 @@
╭─ Caption ─╮
│ │
╰───────────╯
Variables:

View file

@ -1,4 +0,0 @@
╭─ Caption ─╮
│ │
╰───────────╯
Variables:

View file

@ -1,4 +0,0 @@
╭─ Caption ─╮
│ │
╰───────────╯
Variables:

View file

@ -1,4 +0,0 @@
╭─ Caption ─╮
│ │
╰───────────╯
Variables:

View file

@ -1,4 +0,0 @@
╭─ Caption ─╮
│ │
╰───────────╯
Variables:

View file

@ -1,4 +0,0 @@
╭─ Caption ─╮
│ │
╰───────────╯
Variables:

View file

@ -1,4 +0,0 @@
╭─ Caption ─╮
│ │
╰───────────╯
Variables:

View file

@ -1,4 +0,0 @@
╭─ Caption ─╮
│ │
╰───────────╯
Variables:

View file

@ -1,4 +0,0 @@
╭─ Caption ─╮
│ │
╰───────────╯
Variables:

View file

@ -0,0 +1,14 @@
╭────────────── Caption ───────────────╮
│ Variable Modified value │
(⏳ Original default value)
╰──────────────────────────────────────╯
Variables:
┗━━ 📂 rougail
 ┣━━ 📓 var1:
 ┃ ┣━━ string1 ◀ loaded from rougail-test (val1)
 ┃ ┣━━ string2 ◀ loaded from rougail-test (val2)
 ┃ ┗━━ string3 ◀ loaded from rougail-test (val3)
 ┗━━ 📓 var2:
  ┣━━ string1 ◀ loaded from rougail-test (val4)
  ┣━━ string2 ◀ loaded from rougail-test (val5)
  ┗━━ string3 ◀ loaded from rougail-test

View file

@ -1,4 +0,0 @@
╭─ Caption ─╮
│ │
╰───────────╯
Variables:

View file

@ -0,0 +1,14 @@
╭────────────── Caption ───────────────╮
│ Variable Modified value │
(⏳ Original default value)
╰──────────────────────────────────────╯
Variables:
┗━━ 📂 Rougail
 ┣━━ 📓 the variable:
 ┃ ┣━━ string1 ◀ loaded from rougail-test (val1)
 ┃ ┣━━ string2 ◀ loaded from rougail-test (val2)
 ┃ ┗━━ string3 ◀ loaded from rougail-test (val3)
 ┗━━ 📓 the variable:
  ┣━━ string1 ◀ loaded from rougail-test (val4)
  ┣━━ string2 ◀ loaded from rougail-test (val5)
  ┗━━ string3 ◀ loaded from rougail-test

View file

@ -1,4 +0,0 @@
╭─ Caption ─╮
│ │
╰───────────╯
Variables:

View file

@ -0,0 +1,12 @@
╭─────── Caption ────────╮
│ Variable Default value │
╰────────────────────────╯
Variables:
┗━━ 📂 rougail
 ┣━━ 📓 var1:
 ┃ ┣━━ val1
 ┃ ┣━━ val2
 ┃ ┗━━ val3
 ┗━━ 📓 var2:
  ┣━━ val4
  ┗━━ val5

View file

@ -1,4 +0,0 @@
╭─ Caption ─╮
│ │
╰───────────╯
Variables:

View file

@ -0,0 +1,12 @@
╭─────── Caption ────────╮
│ Variable Default value │
╰────────────────────────╯
Variables:
┗━━ 📂 Rougail
 ┣━━ 📓 the variable:
 ┃ ┣━━ val1
 ┃ ┣━━ val2
 ┃ ┗━━ val3
 ┗━━ 📓 the variable:
  ┣━━ val4
  ┗━━ val5

View file

@ -1,4 +0,0 @@
╭─ Caption ─╮
│ │
╰───────────╯
Variables:

View file

@ -0,0 +1,14 @@
╭────────────── Caption ───────────────╮
│ Variable Modified value │
(⏳ Original default value)
╰──────────────────────────────────────╯
Variables:
┗━━ 📂 rougail
 ┣━━ 📓 var1:
 ┃ ┣━━ string1 ◀ loaded from rougail-test (val1)
 ┃ ┣━━ string2 ◀ loaded from rougail-test (val2)
 ┃ ┗━━ string3 ◀ loaded from rougail-test (val3)
 ┗━━ 📓 var2:
  ┣━━ string1 ◀ loaded from rougail-test (val4)
  ┣━━ string2 ◀ loaded from rougail-test (val5)
  ┗━━ string3 ◀ loaded from rougail-test

View file

@ -1,4 +0,0 @@
╭─ Caption ─╮
│ │
╰───────────╯
Variables:

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a variable   ┗━━ rougail.version

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ empty   ┗━━ rougail.empty

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ a first variable   ┣━━ rougail.var1
  ┗━━ a second variable   ┗━━ rougail.var2

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ a first variable   ┣━━ rougail.var1
  ┗━━ a second variable   ┗━━ rougail.var2

View file

@ -1,6 +1,6 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ a first variable   ┣━━ rougail.var1
  ┣━━ a second variable   ┣━━ rougail.var2
  ┗━━ a new variable   ┗━━ rougail.var3

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ a first variable   ┣━━ rougail.var1
  ┗━━ a second variable   ┗━━ rougail.var2

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ a variable   ┣━━ rougail.var1
  ┗━━ a variable   ┗━━ rougail.var2

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ the first variable   ┣━━ rougail.var1
  ┗━━ the second variable   ┗━━ rougail.var2

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ the first variable   ┣━━ rougail.var1
  ┗━━ the second variable   ┗━━ rougail.var2

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ the first variable   ┗━━ rougail.custom1

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a port variable   ┗━━ rougail.variable1

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ the first variable   ┗━━ rougail.secret1

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ the first variable   ┗━━ rougail.secret1

View file

@ -1,6 +1,6 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ the first variable   ┣━━ rougail.var1
  ┣━━ the second variable   ┣━━ rougail.var2
  ┗━━ the third variable   ┗━━ rougail.var3

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ the first variable   ┣━━ rougail.var1
  ┗━━ the second variable   ┗━━ rougail.var2

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ the first variable   ┣━━ rougail.var1
  ┗━━ the second variable   ┗━━ rougail.var2

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ the first <variable>   ┣━━ rougail.var1
  ┗━━ the second <variable>   ┗━━ rougail.var2

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a variable   ┗━━ rougail.variable

View file

@ -1,6 +1,6 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ the first variable   ┣━━ rougail.var1
  ┣━━ the third variable   ┣━━ rougail.var3
  ┗━━ the sixth variable   ┗━━ rougail.var6

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a first variable   ┗━━ rougail.variable1

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a variable   ┗━━ rougail.var

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ a first variable   ┣━━ rougail.var1
  ┗━━ a second variable   ┗━━ rougail.var2

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ my_calculated_variable   ┗━━ rougail.my_calculated_variable

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ a first variable   ┣━━ rougail.var1
  ┗━━ a second variable   ┗━━ rougail.var2

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ a first variable   ┣━━ rougail.var1
  ┗━━ a second variable   ┗━━ rougail.var2

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a first custom variable   ┗━━ rougail.custom1

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ the first variable   ┗━━ rougail.var

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ the second variable   ┗━━ rougail.var1

View file

@ -1,6 +1,6 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ the first variable   ┣━━ rougail.var1
  ┣━━ the second variable   ┣━━ rougail.var2
  ┗━━ the third variable   ┗━━ rougail.var3

View file

@ -0,0 +1,12 @@
╭─────── Caption ────────╮
│ Variable Default value │
╰────────────────────────╯
Variables:
┗━━ 📂 rougail
 ┣━━ 📓 var1:
 ┃ ┣━━ val1
 ┃ ┣━━ val2
 ┃ ┗━━ val3
 ┗━━ 📓 var2:
  ┣━━ val4
  ┗━━ val5

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a variable   ┗━━ rougail.variable

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a second variable   ┗━━ rougail.variable2

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ the first variable   ┣━━ rougail.var1
  ┗━━ the second variable   ┗━━ rougail.var2

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a second variable   ┗━━ rougail.var2

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a third variable   ┗━━ rougail.var3

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ a first variable   ┣━━ rougail.variable1
  ┗━━ a second variable   ┗━━ rougail.variable2

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a first variable   ┗━━ rougail.variable1

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ a first variable   ┣━━ rougail.variable1
  ┗━━ a second variable   ┗━━ rougail.variable2

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a variable   ┗━━ rougail.variable

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a variable   ┗━━ rougail.variable

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a variable   ┗━━ rougail.variable

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a variable   ┗━━ rougail.variable

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a variable   ┗━━ rougail.variable

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a variable   ┗━━ rougail.variable

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a variable   ┗━━ rougail.variable

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ An integer   ┗━━ rougail.int

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ Redefined   ┗━━ rougail.var

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ family   ┗━━ rougail.family
   ┗━━ var1    ┗━━ rougail.family.var1

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a variable   ┗━━ rougail.variable

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a variable   ┗━━ rougail.variable

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ new description   ┗━━ rougail.family
   ┗━━ a variable    ┗━━ rougail.family.variable

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a family   ┗━━ rougail.family
   ┗━━ redefine help    ┗━━ rougail.family.variable

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a variable   ┗━━ rougail.variable

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a third variable   ┗━━ rougail.var3

View file

@ -1,7 +1,7 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ new description   ┣━━ rougail.family1
  ┃ ┗━━ a variable   ┃ ┗━━ rougail.family1.variable1
  ┗━━ a second family   ┗━━ rougail.family2
   ┗━━ a second variable    ┗━━ rougail.family2.variable2

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ Description   ┗━━ rougail.var

View file

@ -1,6 +1,6 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ A family   ┗━━ rougail.family
   ┣━━ The first variable    ┣━━ rougail.family.var1
   ┗━━ The second variable    ┗━━ rougail.family.var2

View file

@ -1,6 +1,6 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a family   ┗━━ rougail.family
   ┗━━ a sub family    ┗━━ rougail.family.subfamily
    ┗━━ a variable     ┗━━ rougail.family.subfamily.variable

View file

@ -1,9 +1,9 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┣━━ a variable   ┣━━ rougail.variable
  ┗━━ a family   ┗━━ rougail.family
   ┣━━ a first variable    ┣━━ rougail.family.variable1
   ┣━━ a second variable    ┣━━ rougail.family.variable2
   ┗━━ a sub family    ┗━━ rougail.family.subfamily
    ┗━━ a variable     ┗━━ rougail.family.subfamily.variable

View file

@ -1,6 +1,6 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ family   ┗━━ rougail.family
   ┣━━ a first variable    ┣━━ rougail.family.var1
   ┗━━ a second variable    ┗━━ rougail.family.var2

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ possibly hidden family   ┗━━ rougail.family
   ┗━━ a variable    ┗━━ rougail.family.var1

View file

@ -1,6 +1,6 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ possibly hidden family   ┗━━ rougail.family
   ┗━━ subfamily    ┗━━ rougail.family.subfamily
    ┗━━ a variable     ┗━━ rougail.family.subfamily.var1

View file

@ -1,6 +1,6 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ possibly hidden family   ┗━━ rougail.family
   ┗━━ a subfamily    ┗━━ rougail.family.sub_family
    ┗━━ a variable     ┗━━ rougail.family.sub_family.var1

View file

@ -1,4 +1,4 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a variable   ┗━━ rougail.var

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a family   ┗━━ rougail.general
   ┗━━ a first integer    ┗━━ rougail.general.int

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a leadership   ┗━━ rougail.leader
   ┗━━ a leader    ┗━━ rougail.leader.leader

View file

@ -1,5 +1,5 @@
🛑 ERRORS 🛑 ERRORS
┗━━ The following variables are mandatory but have no value: ┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail  ┗━━ rougail
  ┗━━ a leadership   ┗━━ rougail.leadership
   ┗━━ a leader    ┗━━ rougail.leadership.leader

Some files were not shown because too many files have changed in this diff Show more