def codemirror_instance(config_name, varname, element_id, assets=True):
    """
    Return HTML to init a CodeMirror instance for an element.

    This will output the whole HTML needed to initialize a CodeMirror instance
    with needed assets loading. Assets can be omitted with the ``assets``
    option.

    Example:
        ::

            {% load djangocodemirror_tags %}
            {% codemirror_instance 'a-config-name' 'foo_codemirror' 'foo' %}

    Arguments:
        config_name (string): A registred config name.
        varname (string): A Javascript variable name.
        element_id (string): An HTML element identifier (without
            leading ``#``) to attach to a CodeMirror instance.

    Keyword Arguments:
        assets (Bool): Adds needed assets before the HTML if ``True``, else
            only CodeMirror instance will be outputed. Default value is
            ``True``.

    Returns:
        string: HTML.
    """
    output = io.StringIO()

    manifesto = CodemirrorAssetTagRender()
    manifesto.register(config_name)

    if assets:
        output.write(manifesto.css_html())
        output.write(manifesto.js_html())

    html = manifesto.codemirror_html(config_name, varname, element_id)
    output.write(html)

    content = output.getvalue()
    output.close()

    return mark_safe(content)
def codemirror_instance ( config_name , varname , element_id , assets = True ) : output = io . StringIO ( ) manifesto = CodemirrorAssetTagRender ( ) manifesto . register ( config_name ) if assets : output . write ( manifesto . css_html ( ) ) output . write ( manifesto . js_html ( ) ) html = manifesto . codemirror_html ( config_name , varname , element_id ) output . write ( html ) content = output . getvalue ( ) output . close ( ) return mark_safe ( content )
Return HTML to init a CodeMirror instance for an element.

    This will output the whole HTML needed to initialize a CodeMirror instance
    with needed assets loading. Assets can be omitted with the ``assets``
    option.

    Example:
        ::

            {% load djangocodemirror_tags %}
            {% codemirror_instance 'a-config-name' 'foo_codemirror' 'foo' %}

    Arguments:
        config_name (string): A registred config name.
        varname (string): A Javascript variable name.
        element_id (string): An HTML element identifier (without
            leading ``#``) to attach to a CodeMirror instance.

    Keyword Arguments:
        assets (Bool): Adds needed assets before the HTML if ``True``, else
            only CodeMirror instance will be outputed. Default value is
            ``True``.

    Returns:
        string: HTML.