{% macro editable_key(config, key, config_key, config_type, config_value, startup_config_value, suggestions="", no_select=False, number_step=0.01, force_title=False, tooltip=None, identifier="", placeholder_str="") -%}
{% if config[key] is string %}
{{ editable_key_string(config, key, config_key, config_type, config_value, startup_config_value, suggestions, placeholder_str) }}
{% elif config[key] | is_dict %}
{{ editable_key_dict(config, key, config_key, config_type, config_value, startup_config_value, suggestions, no_select, number_step, force_title, tooltip, identifier, placeholder_str) }}
{% elif config[key] | is_list %}
{{ editable_key_list(config, key, config_key, config_type, config_value, startup_config_value, suggestions, no_select, force_title, identifier, placeholder_str) }}
{% elif config[key] | is_bool %}
{{ editable_key_bool(config, key, config_key, config_type, config_value, startup_config_value, suggestions) }}
{% elif config[key] is number %}
{{ editable_key_number(config, key, config_key, config_type, config_value, startup_config_value, suggestions, number_step) }}
{% else %}
{{ editable_key_string(config, key, config_key, config_type, config_value, startup_config_value, suggestions, placeholder_str) }}
{% endif %}
{%- endmacro %}
{% macro editable_key_string(config, key, config_key, config_type, config_value, startup_config_value, suggestions, placeholder_str="") -%}
{{ key }} :
{{ config[key] }}
{%- endmacro %}
{% macro editable_key_dict(config, key, config_key, config_type, config_value, startup_config_value, suggestions, no_select, number_step, force_title, tooltip, identifier, placeholder_str) -%}
{{ key }} :
{% for new_key in config[key] %}
{{ editable_key( config[key],
new_key,
config_key + "_" + new_key,
config_type,
config_value[new_key],
startup_config_value[new_key],
suggestions,
no_select,
number_step,
force_title,
tooltip,
identifier,
placeholder_str)
}}
{% endfor %}
{%- endmacro %}
{% macro editable_key_bool(config, key, config_key, config_type, config_value, startup_config_value, suggestions) -%}