Compare commits

..

No commits in common. "07a8478444eab58b085f0fdce4f4f23e66a9fd89" and "a7b250663eb8fa2ae91ca8a15557fb1aa33a2011" have entirely different histories.

353 changed files with 1152 additions and 982 deletions

View file

@ -1,14 +1,3 @@
## 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-11-08 22:16+0100\n" "POT-Creation-Date: 2025-10-04 14:49+0200\n"
"PO-Revision-Date: 2025-11-08 22:17+0100\n" "PO-Revision-Date: 2025-10-04 14:50+0200\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"Language: fr\n" "Language: fr\n"
@ -16,73 +16,69 @@ 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:90 #: src/rougail/output_console/__init__.py:81
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:120 #: src/rougail/output_console/__init__.py:109
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:126 #: src/rougail/output_console/__init__.py:114
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:212 #: src/rougail/output_console/__init__.py:201
msgid "Variable" msgid "Variable"
msgstr "Variable" msgstr "Variable"
#: src/rougail/output_console/__init__.py:214 #: src/rougail/output_console/__init__.py:203
msgid "Undocumented variable" msgid "Undocumented variable"
msgstr "Variable non documentée" msgstr "Variable non documentée"
#: src/rougail/output_console/__init__.py:216 #: src/rougail/output_console/__init__.py:205
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:218 #: src/rougail/output_console/__init__.py:207
msgid "Unmodifiable variable" msgid "Unmodifiable variable"
msgstr "Variable non modifiable" msgstr "Variable non modifiable"
#: src/rougail/output_console/__init__.py:221 #: src/rougail/output_console/__init__.py:210
msgid "Default value" msgid "Default value"
msgstr "Valeur par défaut" msgstr "Valeur par défaut"
#: src/rougail/output_console/__init__.py:223 #: src/rougail/output_console/__init__.py:212
msgid "Modified value" msgid "Modified value"
msgstr "Valeur modifiée" msgstr "Valeur modifiée"
#: src/rougail/output_console/__init__.py:225 #: src/rougail/output_console/__init__.py:214
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:229 #: src/rougail/output_console/__init__.py:218
msgid "Caption" msgid "Caption"
msgstr "Légende" msgstr "Légende"
#: src/rougail/output_console/__init__.py:248 #: src/rougail/output_console/__init__.py:225
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:283 #: src/rougail/output_console/__init__.py:254
msgid "WARNINGS" msgid "WARNINGS"
msgstr "AVERTISSEMENTS" msgstr "AVERTISSEMENTS"
#: src/rougail/output_console/__init__.py:294 #: src/rougail/output_console/__init__.py:265
msgid "Variables:" msgid "Variables:"
msgstr "Variables :" msgstr "Variables :"
#: src/rougail/output_console/__init__.py:325 #: src/rougail/output_console/__init__.py:296
#: src/rougail/output_console/__init__.py:485 #: src/rougail/output_console/__init__.py:416
msgid "{0}:" msgid "{0}:"
msgstr "{0} :" msgstr "{0} :"
#: src/rougail/output_console/__init__.py:491 #: src/rougail/output_console/__init__.py:422
msgid "{0}: {1}" msgid "{0}: {1}"
msgstr "{0} : {1}" msgstr "{0} : {1}"
@ -96,7 +92,8 @@ 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 "Test les variables obligatoires avant de les afficher dans la console" msgstr ""
"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-11-08 22:17+0100\n" "POT-Creation-Date: 2025-10-04 14:50+0200\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,72 +15,68 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n" "Generated-By: pygettext.py 1.5\n"
#: src/rougail/output_console/__init__.py:90 #: src/rougail/output_console/__init__.py:81
msgid "Error in config: {0}" msgid "Error in config: {0}"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:120 #: src/rougail/output_console/__init__.py:109
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:126 #: src/rougail/output_console/__init__.py:114
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:212 #: src/rougail/output_console/__init__.py:201
msgid "Variable" msgid "Variable"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:214 #: src/rougail/output_console/__init__.py:203
msgid "Undocumented variable" msgid "Undocumented variable"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:216 #: src/rougail/output_console/__init__.py:205
msgid "Undocumented but modified variable" msgid "Undocumented but modified variable"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:218 #: src/rougail/output_console/__init__.py:207
msgid "Unmodifiable variable" msgid "Unmodifiable variable"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:221 #: src/rougail/output_console/__init__.py:210
msgid "Default value" msgid "Default value"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:223 #: src/rougail/output_console/__init__.py:212
msgid "Modified value" msgid "Modified value"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:225 #: src/rougail/output_console/__init__.py:214
msgid "Original default value" msgid "Original default value"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:229 #: src/rougail/output_console/__init__.py:218
msgid "Caption" msgid "Caption"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:248 #: src/rougail/output_console/__init__.py:225
msgid "Layers"
msgstr ""
#: src/rougail/output_console/__init__.py:255
msgid "ERRORS" msgid "ERRORS"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:283 #: src/rougail/output_console/__init__.py:254
msgid "WARNINGS" msgid "WARNINGS"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:294 #: src/rougail/output_console/__init__.py:265
msgid "Variables:" msgid "Variables:"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:325 #: src/rougail/output_console/__init__.py:296
#: src/rougail/output_console/__init__.py:485 #: src/rougail/output_console/__init__.py:416
msgid "{0}:" msgid "{0}:"
msgstr "" msgstr ""
#: src/rougail/output_console/__init__.py:491 #: src/rougail/output_console/__init__.py:422
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.0a19" version = "0.2.0a18"
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,8 +35,8 @@ from .__version__ import __version__
class RougailOutputConsole: class RougailOutputConsole:
variable_hidden_color = "orange1" variable_hidden_color = "orange1"
variable_undocumented_color = "bright_blue" variable_advanced_color = "bright_blue"
variable_undocumented_and_modified_color = "red1" variable_advanced_and_modified_color = "red1"
value_unmodified_color = "gold1" value_unmodified_color = "gold1"
value_default_color = "green" value_default_color = "green"
@ -50,10 +50,11 @@ class RougailOutputConsole:
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
@ -63,14 +64,10 @@ 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_undocumented_enable = False self.variable_advanced_enable = False
self.variable_undocumented_and_modified_enable = False self.variable_advanced_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
@ -105,16 +102,14 @@ 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( description = description.replace('{{ identifier }}', child.identifiers()[-1])
"{{ identifier }}", child.identifiers()[-1]
)
if child.isoptiondescription(): if child.isoptiondescription():
current_options = current_options.setdefault(description, {}) current_options = current_options.setdefault(description, {})
@ -122,27 +117,20 @@ class RougailOutputConsole:
else: else:
current_options.setdefault(None, []).append(description) current_options.setdefault(None, []).append(description)
if options: if options:
self.errors.append( self.errors.append({_("The following variables are mandatory but have no value:"): options})
{_("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
@ -162,7 +150,6 @@ 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
@ -222,10 +209,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_undocumented_enable: if self.variable_advanced_enable:
caption_line += f'[{self.variable_undocumented_color}]{_("Undocumented variable")}[/{self.variable_undocumented_color}]\n' caption_line += f'[{self.variable_advanced_color}]{_("Undocumented variable")}[/{self.variable_advanced_color}]\n'
if self.variable_undocumented_and_modified_enable: if self.variable_advanced_and_modified_enable:
caption_line += f'[{self.variable_undocumented_and_modified_color}]{_("Undocumented but modified variable")}[/{self.variable_undocumented_and_modified_color}]\n' caption_line += f'[{self.variable_advanced_and_modified_color}]{_("Undocumented but modified variable")}[/{self.variable_advanced_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 = ""
@ -308,7 +295,6 @@ 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
@ -325,7 +311,6 @@ 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,
@ -352,7 +337,6 @@ 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,
@ -362,9 +346,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 self.undocumented_modes & properties: elif "advanced" in properties:
self.root.variable_undocumented_enable = True self.root.variable_advanced_enable = True
color = self.root.variable_undocumented_color color = self.root.variable_advanced_color
else: else:
self.root.variable_default_enable = True self.root.variable_default_enable = True
color = None color = None
@ -374,19 +358,15 @@ 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(
@ -396,23 +376,21 @@ class OutputFamily:
properties = option.property.get() properties = option.property.get()
color = None color = None
variable_color = None variable_color = None
undocumented = self.undocumented_modes & properties advanced = False
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 undocumented: elif "advanced" in properties:
self.root.variable_undocumented_and_modified_enable = True # FIXME "advanced should be an properties example!
variable_color = self.root.variable_undocumented_and_modified_color advanced = True
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:
@ -423,18 +401,13 @@ 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( values.append({"value": value,
{
"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( if "force_store_value" not in option.property.get() and option.information.get("default_value_makes_sense", True):
"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:
@ -443,16 +416,10 @@ class OutputFamily:
else: else:
default_value = None default_value = None
is_root_metaconfig = False is_root_metaconfig = False
if ( if subconfig is None or not subconfig.path() or "." not in subconfig.path():
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 ( if ((values and default_value is None) or default_value == []) and is_root_metaconfig:
(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
@ -460,6 +427,9 @@ 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:
@ -471,13 +441,10 @@ 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( values.append({"value": default_value,
{
"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:
@ -494,25 +461,19 @@ 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( values.append({"value": None,
{
"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,
@ -540,7 +501,7 @@ 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
@ -599,11 +560,7 @@ 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 ( if value is not None and not self.root.show_secrets and option.type() == "password":
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.0a19" __version__ = "0.2.0a18"

View file

@ -48,23 +48,6 @@ 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

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

View file

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

View file

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

View file

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

View file

@ -1,13 +0,0 @@
╭────────────── 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

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,14 +0,0 @@
╭────────────── 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

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

View file

@ -1,14 +0,0 @@
╭────────────── 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

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,14 +0,0 @@
╭────────────── 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

@ -0,0 +1,4 @@
╭─ 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
  ┗━━ rougail.version   ┗━━ a 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
  ┗━━ rougail.empty   ┗━━ 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
  ┣━━ rougail.var1   ┣━━ a first variable
  ┗━━ rougail.var2   ┗━━ a second 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
  ┣━━ rougail.var1   ┣━━ a first variable
  ┗━━ rougail.var2   ┗━━ a second 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
  ┣━━ rougail.var1   ┣━━ a first variable
  ┣━━ rougail.var2   ┣━━ a second variable
  ┗━━ rougail.var3   ┗━━ a new 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
  ┣━━ rougail.var1   ┣━━ a first variable
  ┗━━ rougail.var2   ┗━━ a second 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
  ┣━━ rougail.var1   ┣━━ a variable
  ┗━━ rougail.var2   ┗━━ a 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
  ┣━━ rougail.var1   ┣━━ the first variable
  ┗━━ rougail.var2   ┗━━ the second 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
  ┣━━ rougail.var1   ┣━━ the first variable
  ┗━━ rougail.var2   ┗━━ the second 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
  ┗━━ rougail.custom1   ┗━━ the first 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
  ┗━━ rougail.variable1   ┗━━ a port 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
  ┗━━ rougail.secret1   ┗━━ the first 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
  ┗━━ rougail.secret1   ┗━━ the first 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
  ┣━━ rougail.var1   ┣━━ the first variable
  ┣━━ rougail.var2   ┣━━ the second variable
  ┗━━ rougail.var3   ┗━━ the third 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
  ┣━━ rougail.var1   ┣━━ the first variable
  ┗━━ rougail.var2   ┗━━ the second 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
  ┣━━ rougail.var1   ┣━━ the first variable
  ┗━━ rougail.var2   ┗━━ the second 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
  ┣━━ rougail.var1   ┣━━ the first <variable>
  ┗━━ rougail.var2   ┗━━ the second <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
  ┗━━ rougail.variable   ┗━━ a 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
  ┣━━ rougail.var1   ┣━━ the first variable
  ┣━━ rougail.var3   ┣━━ the third variable
  ┗━━ rougail.var6   ┗━━ the sixth 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
  ┗━━ rougail.variable1   ┗━━ a first 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
  ┗━━ rougail.var   ┗━━ a 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
  ┣━━ rougail.var1   ┣━━ a first variable
  ┗━━ rougail.var2   ┗━━ a second 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
  ┗━━ rougail.my_calculated_variable   ┗━━ 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
  ┣━━ rougail.var1   ┣━━ a first variable
  ┗━━ rougail.var2   ┗━━ a second 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
  ┣━━ rougail.var1   ┣━━ a first variable
  ┗━━ rougail.var2   ┗━━ a second 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
  ┗━━ rougail.custom1   ┗━━ a first custom 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
  ┗━━ rougail.var   ┗━━ the first 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
  ┗━━ rougail.var1   ┗━━ the second 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
  ┣━━ rougail.var1   ┣━━ the first variable
  ┣━━ rougail.var2   ┣━━ the second variable
  ┗━━ rougail.var3   ┗━━ the third variable

View file

@ -1,12 +0,0 @@
╭─────── 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
  ┗━━ rougail.variable   ┗━━ a 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
  ┗━━ rougail.variable2   ┗━━ a second 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
  ┣━━ rougail.var1   ┣━━ the first variable
  ┗━━ rougail.var2   ┗━━ the second 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
  ┗━━ rougail.var2   ┗━━ a second 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
  ┗━━ rougail.var3   ┗━━ a third 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
  ┣━━ rougail.variable1   ┣━━ a first variable
  ┗━━ rougail.variable2   ┗━━ a second 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
  ┗━━ rougail.variable1   ┗━━ a first 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
  ┣━━ rougail.variable1   ┣━━ a first variable
  ┗━━ rougail.variable2   ┗━━ a second 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
  ┗━━ rougail.variable   ┗━━ a 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
  ┗━━ rougail.variable   ┗━━ a 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
  ┗━━ rougail.variable   ┗━━ a 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
  ┗━━ rougail.variable   ┗━━ a 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
  ┗━━ rougail.variable   ┗━━ a 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
  ┗━━ rougail.variable   ┗━━ a 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
  ┗━━ rougail.variable   ┗━━ a 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
  ┗━━ rougail.int   ┗━━ An integer

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
  ┗━━ rougail.var   ┗━━ Redefined

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
  ┗━━ rougail.family   ┗━━ family
   ┗━━ rougail.family.var1    ┗━━ 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
  ┗━━ rougail.variable   ┗━━ a 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
  ┗━━ rougail.variable   ┗━━ a 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
  ┗━━ rougail.family   ┗━━ new description
   ┗━━ rougail.family.variable    ┗━━ a 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
  ┗━━ rougail.family   ┗━━ a family
   ┗━━ rougail.family.variable    ┗━━ redefine help

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
  ┗━━ rougail.variable   ┗━━ a 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
  ┗━━ rougail.var3   ┗━━ a third variable

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
  ┣━━ rougail.family1   ┣━━ new description
  ┃ ┗━━ rougail.family1.variable1   ┃ ┗━━ a variable
  ┗━━ rougail.family2   ┗━━ a second family
   ┗━━ rougail.family2.variable2    ┗━━ a second 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
  ┗━━ rougail.var   ┗━━ Description

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
  ┗━━ rougail.family   ┗━━ A family
   ┣━━ rougail.family.var1    ┣━━ The first variable
   ┗━━ rougail.family.var2    ┗━━ The second 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
  ┗━━ rougail.family   ┗━━ a family
   ┗━━ rougail.family.subfamily    ┗━━ a sub family
    ┗━━ rougail.family.subfamily.variable     ┗━━ a 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
  ┣━━ rougail.variable   ┣━━ a variable
  ┗━━ rougail.family   ┗━━ a family
   ┣━━ rougail.family.variable1    ┣━━ a first variable
   ┣━━ rougail.family.variable2    ┣━━ a second variable
   ┗━━ rougail.family.subfamily    ┗━━ a sub family
    ┗━━ rougail.family.subfamily.variable     ┗━━ a 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
  ┗━━ rougail.family   ┗━━ family
   ┣━━ rougail.family.var1    ┣━━ a first variable
   ┗━━ rougail.family.var2    ┗━━ a second 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
  ┗━━ rougail.family   ┗━━ possibly hidden family
   ┗━━ rougail.family.var1    ┗━━ a 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
  ┗━━ rougail.family   ┗━━ possibly hidden family
   ┗━━ rougail.family.subfamily    ┗━━ subfamily
    ┗━━ rougail.family.subfamily.var1     ┗━━ a 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
  ┗━━ rougail.family   ┗━━ possibly hidden family
   ┗━━ rougail.family.sub_family    ┗━━ a subfamily
    ┗━━ rougail.family.sub_family.var1     ┗━━ a 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
  ┗━━ rougail.var   ┗━━ a 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
  ┗━━ rougail.general   ┗━━ a family
   ┗━━ rougail.general.int    ┗━━ a first integer

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
  ┗━━ rougail.leader   ┗━━ a leadership
   ┗━━ rougail.leader.leader    ┗━━ a 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
  ┗━━ rougail.leadership   ┗━━ a leadership
   ┗━━ rougail.leadership.leader    ┗━━ a leader

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