<language name="Jinja/Terraform" section="Other" version="1771861648" kateversion="5.62" indenter="normal" extensions="*.tf.jinja;*.tf.jinja2;*.tf.j2;*.tfvars.jinja;*.tfvars.jinja2;*.tfvars.j2" mimetype="text/x-terraform.jinja" priority="1" author="Thuck (denisdoria@gmail.com)" license="MIT" generated="true">
    <!--Generated by generate_jinja.py, the Jinja infusion script for KDE Syntax Highlighting-->
    <highlighting>
        <list name="blocks">
            <item>resource</item>
            <item>data</item>
            <item>variable</item>
            <item>output</item>
            <item>locals</item>
            <item>module</item>
            <item>provider</item>
            <item>terraform</item>
        </list>
        <list name="sub blocks">
            <item>dynamic</item>
            <item>content</item>
            <item>provisioner</item>
            <item>required_providers</item>
            <item>backend</item>
        </list>
        <list name="meta arguments">
            <item>depends_on</item>
            <item>count</item>
            <item>for_each</item>
            
            <item>lifecycle</item>
        </list>
        <list name="keywords">
            <item>source</item>
            <item>required_version</item>
            
        </list>

        <list name="controlflow">
            <item>for</item>
            <item>in</item>
            <item>if</item>
        </list>

        <list name="variables">
            <item>var</item>
            <item>local</item>
            <item>each</item>
            <item>self</item>
        </list>
        <list name="built in functions">
            <item>abs</item>
            <item>ceil</item>
            <item>floor</item>
            <item>log</item>
            <item>max</item>
            <item>min</item>
            <item>parseint</item>
            <item>pow</item>
            <item>signum</item>
            <item>chomp</item>
            <item>format</item>
            <item>formatlist</item>
            <item>indent</item>
            <item>join</item>
            <item>lower</item>
            <item>regex</item>
            <item>regexall</item>
            <item>replace</item>
            <item>split</item>
            <item>strrev</item>
            <item>substr</item>
            <item>title</item>
            <item>trim</item>
            <item>trimprefix</item>
            <item>trimsuffix</item>
            <item>trimspace</item>
            <item>upper</item>
            <item>alltrue</item>
            <item>anytrue</item>
            <item>chunklist</item>
            <item>coalesce</item>
            <item>coalescelist</item>
            <item>compact</item>
            <item>concat</item>
            <item>contains</item>
            <item>distinct</item>
            <item>element</item>
            <item>flatten</item>
            <item>index</item>
            <item>keys</item>
            <item>length</item>
            <item>lookup</item>
            <item>matchkeys</item>
            <item>merge</item>
            <item>one</item>
            <item>range</item>
            <item>reverse</item>
            <item>setintersection</item>
            <item>setproduct</item>
            <item>setsubtract</item>
            <item>setunion</item>
            <item>slice</item>
            <item>sort</item>
            <item>sum</item>
            <item>transpose</item>
            <item>values</item>
            <item>zipmap</item>
            <item>base64decode</item>
            <item>base64encode</item>
            <item>base64gzip</item>
            <item>csvdecode</item>
            <item>jsondecode</item>
            <item>jsonencode</item>
            <item>textdecodebase64</item>
            <item>textencodebase64</item>
            <item>urlencode</item>
            <item>yamldecode</item>
            <item>yamlencode</item>
            <item>abspath</item>
            <item>dirname</item>
            <item>pathexpand</item>
            <item>basename</item>
            <item>file</item>
            <item>fileexists</item>
            <item>fileset</item>
            <item>filebase64</item>
            <item>templatefile</item>
            <item>formatdate</item>
            <item>timeadd</item>
            <item>timestamp</item>
            <item>base64sha256</item>
            <item>base64sha512</item>
            <item>bcrypt</item>
            <item>filebase64sha256</item>
            <item>filebase64sha512</item>
            <item>filemd5</item>
            <item>filesha1</item>
            <item>filesha256</item>
            <item>filesha512</item>
            <item>md5</item>
            <item>rsadecrypt</item>
            <item>sha1</item>
            <item>sha256</item>
            <item>sha512</item>
            <item>uuid</item>
            <item>uuidv5</item>
            <item>cidrhost</item>
            <item>cidrnetmask</item>
            <item>cidrsubnet</item>
            <item>cidrsubnets</item>
            <item>can</item>
            <item>defaults</item>
            <item>nonsensitive</item>
            <item>sensitive</item>
            <item>tobool</item>
            <item>tolist</item>
            <item>tomap</item>
            <item>tonumber</item>
            <item>toset</item>
            <item>tostring</item>
            <item>try</item>
            <item>optional</item> 
        </list>
        <list name="primitive types">
            <item>string</item>
            <item>number</item>
            <item>bool</item>
        </list>
        <list name="complex types">
            <item>list</item>
            <item>map</item>
            <item>set</item>
        </list>
        <list name="structural types">
            <item>object</item>
            <item>tuple</item>
        </list>
        <list name="dynamic types">
            <item>any</item>
        </list>
        <list name="special vars">
            <item>true</item>
            <item>false</item>
            <item>null</item>
        </list>

        <contexts>
            <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
                <IncludeRules context="jinja_boot##Jinja" />
                <DetectSpaces />

                <keyword attribute="Control Flow" context="#stay" String="controlflow" />
                <keyword attribute="Keyword" context="#stay" String="keywords" />
                <keyword attribute="Meta Argument" context="#stay" String="meta arguments" />
                <keyword attribute="Block" context="#stay" String="blocks" />
                <keyword attribute="Sub Block" context="#stay" String="sub blocks" />
                <keyword attribute="Built In" context="#stay" String="built in functions" />
                <keyword attribute="Variable" context="#stay" String="variables" />
                <keyword attribute="Variable" context="#stay" String="special vars" />
                <keyword attribute="Data Type" context="#stay" String="primitive types" />
                <keyword attribute="Data Type" context="#stay" String="complex types" />
                <keyword attribute="Data Type" context="#stay" String="structural types" />
                <keyword attribute="Data Type" context="#stay" String="dynamic types" />
                <DetectIdentifier />

                <Float attribute="Float" context="#stay" />
                <Int attribute="Decimal" context="#stay" />
                <HlCHex attribute="Hex" context="#stay" />
                <HlCOct attribute="Octal" context="#stay" />

                <DetectChar attribute="String" context="DoubleQuoteString" char="&quot;" />
                <DetectChar attribute="Comment" char="#" context="Comment" />
                <StringDetect attribute="Operator" context="#stay" String="..." />
                <AnyChar attribute="Operator" String="-+*/%\|=;&lt;&gt;!&amp;" context="#stay" />

            </context>

            <context attribute="String" lineEndContext="#pop" name="DoubleQuoteString">
                <IncludeRules context="jinja_boot##Jinja" />
                <Detect2Chars attribute="Special String" context="Interpolation" char="$" char1="{" />
                <DetectChar attribute="String" context="#pop" char="&quot;" />
            </context>

            <context attribute="Variable" lineEndContext="#pop" name="Interpolation">
                <IncludeRules context="jinja_boot##Jinja" />
                <DetectChar attribute="Special String" context="#pop" char="}" />
            </context>

            <context attribute="Comment" lineEndContext="#pop" name="Comment">
                <IncludeRules context="jinja_boot##Jinja" />
                <DetectSpaces />
                <IncludeRules context="##Jinja/Comments" />
                <DetectIdentifier />
            </context>


        </contexts>

        <itemDatas>
            <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" />
            <itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="false" />
            <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" />
            <itemData name="Block" defStyleNum="dsKeyword" spellChecking="false" />
            <itemData name="Sub Block" defStyleNum="dsKeyword" spellChecking="false" />
            <itemData name="Meta Argument" defStyleNum="dsAttribute" spellChecking="false" />
            <itemData name="Built In" defStyleNum="dsBuiltIn" spellChecking="false" />
            <itemData name="Operator" defStyleNum="dsOperator" spellChecking="false" />
            <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false" />
            <itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false" />
            <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false" />
            <itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false" />
            <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false" />
            <itemData name="Float" defStyleNum="dsFloat" spellChecking="false" />
            <itemData name="String" defStyleNum="dsString" />
            <itemData name="Special String" defStyleNum="dsSpecialString" />
            <itemData name="Comment" defStyleNum="dsComment" />
        </itemDatas>
    </highlighting>
    <general>
        <comments>
            <comment name="singleLine" start="#" />
        </comments>
        <keywords casesensitive="true" />
    </general>
</language>