<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE language><language name="Varnish module spec file" version="6" kateversion="5.62" section="Sources" extensions="*.vcc" author="Xavier Guerrin (xavier@tuxfamily.org)" license="WTFPL" priority="9"><highlighting><list name="VCC C Types"><item>BACKEND</item><item>BLOB</item><item>BOOL</item><item>BYTES</item><item>DURATION</item><item>HEADER</item><item>HTTP</item><item>INT</item><item>IP</item><item>PRIV_CALL</item><item>PRIV_VCL</item><item>REAL</item><item>STRING</item><item>STRING_LIST</item><item>TIME</item><item>VOID</item></list><contexts><context name="vccnormal_text" attribute="Normal Text"><IncludeRules context="##reStructuredText"/><StringDetect String="$Module" attribute="Keyword" context="module_declaration" endRegion="vcc_block" firstNonSpace="1"/><StringDetect String="$Init" attribute="Keyword" context="init_declaration" endRegion="vcc_block" firstNonSpace="1"/><StringDetect String="$Function" attribute="Keyword" context="function_declaration" endRegion="vcc_block" firstNonSpace="1"/><StringDetect String="$Object" attribute="Keyword" context="object_declaration" endRegion="vcc_block" firstNonSpace="1"/><StringDetect String="$Method" attribute="Keyword" context="method_declaration" endRegion="vcc_block" firstNonSpace="1"/><IncludeRules context="comments"/></context><context name="function_comma_expected" attribute="Normal Text" lineEndContext="#pop"><DetectChar char="," attribute="Normal Text" context="function_arg_type_expected"/><DetectChar char=")" attribute="Normal Text" context="function_end" beginRegion="vcc_block"/></context><context name="enum_c_name_expected" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="[a-z][a-z0-9_]*" attribute="Symbol" context="enum_comma_expected"/><DetectChar char="}" attribute="Normal Text" context="function_comma_expected"/></context><context name="function_arg_type_expected" attribute="Normal Text" lineEndContext="#pop"><keyword String="VCC C Types" attribute="Data Type" context="function_comma_expected"/><StringDetect String="ENUM" attribute="Data Type" context="enum"/><DetectChar char=")" attribute="Normal Text" context="function_end" beginRegion="vcc_block"/></context><context name="function_end" attribute="Normal Text" lineEndContext="#pop"/><context name="function_name_declared" attribute="Normal Text" lineEndContext="#pop"><DetectChar char="(" attribute="Normal Text" context="function_arg_type_expected"/></context><context name="return_type_declared" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="[a-zA-Z][a-zA-Z0-9_]*" attribute="Function Identifier" context="function_name_declared"/></context><context name="comments" attribute="Comment" lineEndContext="#pop"><DetectChar char="#" attribute="Comment" context="shell-like-comment"/></context><context name="enum" attribute="Normal Text" lineEndContext="#pop"><DetectChar char="{" attribute="Normal Text" context="enum_c_name_expected"/></context><context name="enum_comma_expected" attribute="Normal Text" lineEndContext="#pop"><DetectChar char="," attribute="Normal Text" context="enum_c_name_expected"/><DetectChar char="}" attribute="Normal Text" context="function_comma_expected"/></context><context name="function_declaration" attribute="Normal Text" lineEndContext="#pop"><keyword String="VCC C Types" attribute="Data Type" context="return_type_declared"/></context><context name="init_declaration" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="[a-zA-Z][a-zA-Z0-9_]*$" attribute="Function Identifier"/></context><context name="method_declaration" attribute="Normal Text" lineEndContext="#pop"><keyword String="VCC C Types" attribute="Data Type" context="method_return_type_declared"/></context><context name="method_return_type_declared" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="\.[a-zA-Z][a-zA-Z0-9_]*" attribute="Function Identifier" context="function_name_declared"/></context><context name="module_declaration" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="[a-zA-Z][a-zA-Z0-9_]*" attribute="VMod Identifier" context="module_section_expected"/></context><context name="module_fullname_expected" attribute="String" lineEndContext="#pop"/><context name="module_section_expected" attribute="Normal Text" lineEndContext="#pop"><Int attribute="Decimal" context="module_fullname_expected"/></context><context name="object_declaration" attribute="Normal Text" lineEndContext="#pop"><IncludeRules context="return_type_declared"/></context><context name="shell-like-comment" attribute="Comment" lineEndContext="#pop"><DetectSpaces/><IncludeRules context="##Comments"/></context></contexts><itemDatas><itemData name="Normal Text" defStyleNum="dsNormal"/><itemData name="Data Type" defStyleNum="dsDataType" spellChecking="0"/><itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="0"/><itemData name="String" defStyleNum="dsString"/><itemData name="VMod Identifier" defStyleNum="dsAttribute"/><itemData name="Function Identifier" defStyleNum="dsFunction"/><itemData name="Comment" defStyleNum="dsComment"/><itemData name="Symbol" defStyleNum="dsNormal" spellChecking="0"/><itemData name="Keyword" defStyleNum="dsKeyword"/></itemDatas></highlighting><general><comments><comment name="singleLine" start="#"/></comments><keywords casesensitive="1"/></general></language>