<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE language><language name="Puppet" section="Scripts" version="12" kateversion="5.62" extensions="*.pp" priority="10" mimetype="application/x-puppet" style="puppet" indenter="cstyle" author="Michal Humpula (michal.humpula@seznam.cz)" license="LGPLv2+"><highlighting><list name="keywords"><item>false</item><item>import</item><item>true</item><item>undef</item></list><list name="operators"><item>and</item><item>in</item><item>or</item></list><list name="collector operators"><item>and</item><item>or</item></list><contexts><context name="Start" attribute="Normal Text"><IncludeRules context="common"/></context><context name="FindComment" attribute="Comment"><StringDetect String="#BEGIN" attribute="Region Marker" context="region marker" beginRegion="region marker" firstNonSpace="1"/><StringDetect String="#END" attribute="Region Marker" context="region marker" endRegion="region marker" firstNonSpace="1"/><DetectChar char="#" attribute="Comment" context="comment"/><StringDetect String="/*" attribute="Comment" context="multiline comment" beginRegion="comment"/></context><context name="FindString" attribute="Normal Text"><DetectChar char="'" attribute="String" context="string single"/><DetectChar char='"' attribute="String" context="string double"/></context><context name="FindBareWord" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="[a-z][a-zA-Z0-9-_]*" attribute="String"/></context><context name="parameter values" attribute="Normal Text"><DetectSpaces/><IncludeRules context="FindString"/><IncludeRules context="FindComment"/><IncludeRules context="FindOperator"/><keyword String="keywords" attribute="Keyword"/><Int attribute="Number"/><IncludeRules context="FindVariable"/><IncludeRules context="FindResourceReference"/><IncludeRules context="FindArray"/><IncludeRules context="FindFunction"/><IncludeRules context="FindResourcePath"/><IncludeRules context="FindBareWord"/></context><context name="FindVariable" attribute="Variable" lineEndContext="#pop"><RegExpr String="\$(::)?([a-z][a-z0-9_]*::)*[a-z]" context="variable" lookAhead="1"/></context><context name="FindFunction" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="[a-z][a-zA-Z0-9-_]*\s*\(" context="function" lookAhead="1"/></context><context name="code block" attribute="Normal Text"><IncludeRules context="common"/><DetectChar char="}" context="#pop" lookAhead="1"/></context><context name="common" attribute="Normal Text"><DetectSpaces/><IncludeRules context="FindComment"/><IncludeRules context="FindString"/><IncludeRules context="FindOperator"/><Int attribute="Number"/><IncludeRules context="FindUnless"/><IncludeRules context="FindIf"/><IncludeRules context="FindCase"/><keyword String="keywords" attribute="Keyword"/><IncludeRules context="FindVariable"/><IncludeRules context="FindClass"/><IncludeRules context="FindNode"/><IncludeRules context="FindCollector"/><IncludeRules context="FindExportedCollector"/><IncludeRules context="FindResource"/><IncludeRules context="FindResourceReference"/><IncludeRules context="FindResourceDefaults"/><IncludeRules context="FindDefine"/><IncludeRules context="FindArray"/><IncludeRules context="FindHash"/><IncludeRules context="FindFunction"/><IncludeRules context="FindStatement"/><IncludeRules context="FindBareWord"/></context><context name="FindArray" attribute="Normal Text"><DetectChar char="[" context="array"/></context><context name="FindOperator" attribute="Operator" lineEndContext="#pop"><keyword String="operators" attribute="Operator"/><StringDetect String="!=" attribute="Operator"/><StringDetect String="+=" attribute="Operator"/><StringDetect String="&lt;&lt;" attribute="Operator"/><StringDetect String=">>" attribute="Operator"/><StringDetect String="==" attribute="Operator"/><StringDetect String=">=" attribute="Operator"/><StringDetect String="&lt;=" attribute="Operator"/><StringDetect String="=~" attribute="Operator" context="regexp operators"/><StringDetect String="!~" attribute="Operator" context="regexp operators"/><StringDetect String="->" attribute="Operator"/><StringDetect String="~>" attribute="Operator"/><AnyChar String="!*/-+>&lt;" attribute="Operator"/><DetectChar char="?" attribute="Operator" context="selector"/></context><context name="FindResourceReference" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="(::)?([A-Z][a-zA-Z0-9-_]*::)*[A-Z][a-zA-Z0-9-_]*\s*\[" context="res_ref" lookAhead="1"/></context><context name="FindRegExp" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="/[^/]*[^\\/]/" attribute="RegExp"/></context><context name="condition" attribute="Normal Text"><IncludeRules context="FindComment"/><IncludeRules context="FindString"/><IncludeRules context="FindOperator"/><Int attribute="Number"/><keyword String="keywords" attribute="Keyword"/><IncludeRules context="FindVariable"/><IncludeRules context="FindResourceReference"/><IncludeRules context="FindArray"/><IncludeRules context="FindFunction"/><IncludeRules context="FindBareWord"/></context><context name="collector content" attribute="Normal Text"><DetectSpaces/><keyword String="collector operators" attribute="Operator"/><StringDetect String="==" attribute="Operator"/><StringDetect String="!=" attribute="Operator"/><IncludeRules context="FindString"/><Int attribute="Number"/><IncludeRules context="FindComment"/><IncludeRules context="FindBareWord"/></context><context name="list content" attribute="Normal Text"><DetectSpaces/><IncludeRules context="FindString"/><IncludeRules context="FindVariable"/><IncludeRules context="FindOperator"/><Int attribute="Number"/><IncludeRules context="FindResourceReference"/><IncludeRules context="FindFunction"/><IncludeRules context="FindBareWord"/><DetectChar char=","/></context><context name="regexp operators" attribute="RegExp" lineEndContext="#pop"><DetectSpaces/><RegExpr String="/[^/]*[^\\/]/" attribute="RegExp" context="#pop"/></context><context name="region marker" attribute="Region Marker" lineEndContext="#pop"/><context name="res_ref_param_val" attribute="Normal Text"><IncludeRules context="parameter values"/><DetectChar char="," attribute="Normal Text" context="#pop#pop"/><DetectChar char="}" context="#pop" lookAhead="1"/></context><context name="FindCase" attribute="Normal Text"><WordDetect String="case" attribute="Keyword" context="case"/></context><context name="FindClass" attribute="Normal Text"><WordDetect String="class" attribute="Keyword" context="class def"/></context><context name="FindCollector" attribute="Normal Text"><RegExpr String="(::)?([A-Z][a-zA-Z0-9-_]*::)*[A-Z][a-zA-Z0-9-_]*\s*&lt;\|" context="collector" lookAhead="1"/></context><context name="FindDefine" attribute="Normal Text"><WordDetect String="define" attribute="Keyword" context="resource definition"/></context><context name="FindExportedCollector" attribute="Normal Text"><RegExpr String="(::)?([A-Z][a-zA-Z0-9-_]*::)*[A-Z][a-zA-Z0-9-_]*\s*&lt;&lt;\|" context="exported collector" lookAhead="1"/></context><context name="FindHash" attribute="Normal Text"><DetectChar char="{" context="hash" lookAhead="1"/></context><context name="FindIf" attribute="Normal Text"><WordDetect String="if" attribute="Keyword" context="if"/></context><context name="FindNode" attribute="Normal Text"><WordDetect String="node" attribute="Keyword" context="node def"/></context><context name="FindResource" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="@?@?(::)?([a-z][a-zA-Z0-9-_]*::)*[a-z][a-zA-Z0-9-_]*\s*\{" context="resource" lookAhead="1"/></context><context name="FindResourceDefaults" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="(::)?([A-Z][a-zA-Z0-9-_]*::)*[A-Z][a-zA-Z0-9-_]*\s*\{" context="res_defaults" lookAhead="1"/></context><context name="FindResourcePath" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="([a-z][a-zA-Z0-9-_]*)?::[a-z]" context="resource path" lookAhead="1"/></context><context name="FindStatement" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="[a-z][a-zA-Z0-9-_]*" attribute="Function" context="statement" firstNonSpace="1"/></context><context name="FindUnless" attribute="Normal Text"><WordDetect String="unless" attribute="Keyword" context="unless"/></context><context name="array" attribute="Normal Text"><IncludeRules context="list content"/><DetectChar char="]" attribute="Normal Text" context="#pop"/></context><context name="case" attribute="Normal Text"><DetectSpaces/><IncludeRules context="FindVariable"/><DetectChar char="{" attribute="Normal Text" context="case block" beginRegion="case"/><DetectChar char="}" attribute="Normal Text" context="#pop" endRegion="case"/></context><context name="case block" attribute="Normal Text"><DetectSpaces/><DetectChar char="," attribute="Normal Text"/><DetectChar char=":" attribute="Operator" context="case value"/><Int attribute="Number"/><WordDetect String="default" attribute="Keyword"/><IncludeRules context="FindString"/><IncludeRules context="FindComment"/><IncludeRules context="FindRegExp"/><IncludeRules context="FindFunction"/><IncludeRules context="FindBareWord"/><DetectChar char="}" context="#pop" lookAhead="1"/></context><context name="case value" attribute="Normal Text"><DetectSpaces/><DetectChar char="{" attribute="Normal Text" context="code block" beginRegion="code"/><DetectChar char="}" attribute="Normal Text" context="#pop" endRegion="code"/></context><context name="class def" attribute="Normal Text"><DetectSpaces/><StringDetect String="inherits" attribute="Keyword"/><RegExpr String="[a-z][a-z0-9_]*" attribute="Class"/><StringDetect String="::" attribute="Normal Text"/><DetectChar char="(" context="class params"/><DetectChar char="{" attribute="Normal Text" context="class in" beginRegion="class"/><DetectChar char="}" attribute="Normal Text" context="#pop" endRegion="class"/></context><context name="class in" attribute="Normal Text"><IncludeRules context="common"/><DetectChar char="}" context="#pop" lookAhead="1"/></context><context name="class params" attribute="Normal Text"><DetectSpaces/><AnyChar String="=,"/><IncludeRules context="FindVariable"/><IncludeRules context="parameter values"/><DetectChar char=")" context="#pop"/></context><context name="collector" attribute="Normal Text"><DetectSpaces/><RegExpr String="[A-Z][a-zA-Z0-9-_]*" attribute="Collector"/><StringDetect String="::" attribute="Normal Text"/><StringDetect String="&lt;|" attribute="Normal Text" context="collector in"/><StringDetect String="|>" attribute="Normal Text" context="#pop"/></context><context name="collector in" attribute="Normal Text"><IncludeRules context="collector content"/><StringDetect String="|>" context="#pop" lookAhead="1"/></context><context name="comment" attribute="Comment" lineEndContext="#pop"><DetectSpaces/><IncludeRules context="##Comments"/></context><context name="define in" attribute="Normal Text"><IncludeRules context="common"/><DetectChar char="}" context="#pop" lookAhead="1"/></context><context name="define params" attribute="Normal Text"><DetectSpaces/><AnyChar String="=,"/><IncludeRules context="FindVariable"/><IncludeRules context="parameter values"/><DetectChar char=")" context="#pop"/></context><context name="else" attribute="Normal Text"><DetectSpaces/><DetectChar char="{" attribute="Normal Text" context="code block" beginRegion="code"/><DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop" endRegion="code"/></context><context name="elsif" attribute="Normal Text"><DetectSpaces/><IncludeRules context="condition"/><DetectChar char="{" attribute="Normal Text" context="code block" beginRegion="code"/><DetectChar char="}" attribute="Normal Text" context="#pop" endRegion="dode"/></context><context name="escapes" attribute="Escape" fallthroughContext="#pop" lineEndContext="#pop"><AnyChar String="$&#34;'\nrts" attribute="Escape" context="#pop"/></context><context name="exported collector" attribute="Normal Text"><DetectSpaces/><RegExpr String="[A-Z][a-zA-Z0-9-_]*" attribute="Collector"/><StringDetect String="::" attribute="Normal Text"/><StringDetect String="&lt;&lt;|" attribute="Normal Text" context="exported collector in"/><StringDetect String="|>>" attribute="Normal Text" context="#pop"/></context><context name="exported collector in" attribute="Normal Text"><IncludeRules context="collector content"/><StringDetect String="|>>" context="#pop" lookAhead="1"/></context><context name="function" attribute="Normal Text"><DetectSpaces/><RegExpr String="[a-z][a-zA-Z0-9-_]*" attribute="Function"/><DetectChar char="(" attribute="Normal Text" context="function_in"/><DetectChar char=")" attribute="Normal Text" context="#pop"/></context><context name="function_in" attribute="Normal Text"><DetectSpaces/><DetectChar char=","/><IncludeRules context="parameter values"/><DetectChar char=")" context="#pop" lookAhead="1"/></context><context name="hash" attribute="Normal Text"><DetectChar char="{" attribute="Normal Text" context="hash list" beginRegion="hash"/><DetectChar char="}" attribute="Normal Text" context="#pop" endRegion="hash"/></context><context name="hash keys" attribute="Normal Text"><DetectSpaces/><IncludeRules context="FindString"/><IncludeRules context="FindComment"/><Int attribute="Number"/><IncludeRules context="FindBareWord"/></context><context name="hash list" attribute="Normal Text"><StringDetect String="=>" attribute="AttributeOp"/><DetectChar char="," attribute="Normal Text"/><IncludeRules context="hash keys"/><IncludeRules context="parameter values"/><DetectChar char="}" context="#pop" lookAhead="1"/></context><context name="if" attribute="Normal Text"><DetectSpaces/><IncludeRules context="condition"/><DetectChar char="{" attribute="Normal Text" context="code block" beginRegion="code"/><DetectChar char="}" attribute="Normal Text" context="if continues?" endRegion="code"/></context><context name="if continues?" attribute="Normal Text" fallthroughContext="#pop#pop"><DetectSpaces/><WordDetect String="else" attribute="Keyword" context="else"/><WordDetect String="elsif" attribute="Keyword" context="elsif"/></context><context name="multiline comment" attribute="Comment"><DetectSpaces/><StringDetect String="*/" attribute="Comment" context="#pop" endRegion="comment"/><IncludeRules context="##Comments"/></context><context name="node def" attribute="Normal Text"><DetectSpaces/><IncludeRules context="FindString"/><IncludeRules context="FindRegExp"/><StringDetect String="inherits" attribute="Keyword"/><StringDetect String="default" attribute="Keyword"/><RegExpr String="[a-z][a-z0-9_]*" attribute="Node"/><DetectChar char="{" context="node in open" lookAhead="1"/></context><context name="node in" attribute="Normal Text"><IncludeRules context="common"/><DetectChar char="}" context="#pop" lookAhead="1"/></context><context name="node in open" attribute="Normal Text"><DetectChar char="{" attribute="Normal Text" context="node in" beginRegion="node"/><DetectChar char="}" attribute="Normal Text" context="#pop#pop" endRegion="node"/></context><context name="res_defaults" attribute="Normal Text"><DetectSpaces/><RegExpr String="[A-Z][a-zA-Z0-9-_]*" attribute="ResourceReference"/><StringDetect String="::" attribute="Normal Text"/><DetectChar char="{" attribute="Normal Text" context="res_defaults_params" beginRegion="res defs"/><DetectChar char="}" attribute="Normal Text" context="#pop" endRegion="res defs"/></context><context name="res_defaults_param" attribute="Normal Text"><DetectSpaces/><IncludeRules context="FindComment"/><StringDetect String="=>" attribute="AttributeOp" context="res_defaults_param_val"/><DetectChar char="}" context="#pop" lookAhead="1"/></context><context name="res_defaults_param_val" attribute="Normal Text"><IncludeRules context="parameter values"/><DetectChar char="," attribute="Normal Text" context="#pop#pop"/><DetectChar char="}" context="#pop" lookAhead="1"/></context><context name="res_defaults_params" attribute="Normal Text"><DetectSpaces/><IncludeRules context="FindComment"/><RegExpr String="[a-z][a-zA-Z0-9-_]*" attribute="Attribute Name" context="res_defaults_param"/><DetectChar char="}" context="#pop" lookAhead="1"/></context><context name="res_ref" attribute="Normal Text"><DetectSpaces/><RegExpr String="[A-Z][a-zA-Z0-9-_]*" attribute="ResourceReference"/><StringDetect String="::" attribute="Normal Text"/><DetectChar char="[" attribute="Normal Text" context="res_ref_titles"/></context><context name="res_ref_param" attribute="Normal Text"><DetectSpaces/><IncludeRules context="FindComment"/><StringDetect String="=>" attribute="AttributeOp" context="res_ref_param_val"/><StringDetect String="+>" attribute="AttributeOp" context="res_ref_param_val"/><DetectChar char="}" context="#pop" lookAhead="1"/></context><context name="res_ref_params" attribute="Normal Text"><DetectSpaces/><RegExpr String="[a-z][a-zA-Z0-9-_]*" attribute="Attribute Name" context="res_ref_param"/><IncludeRules context="FindComment"/><DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop#pop" endRegion="res ref"/></context><context name="res_ref_params_opt" attribute="Normal Text" fallthroughContext="#pop#pop#pop"><DetectSpaces/><DetectChar char="{" attribute="Normal Text" context="res_ref_params" beginRegion="res ref"/></context><context name="res_ref_titles" attribute="Normal Text"><IncludeRules context="list content"/><DetectChar char="]" attribute="Normal Text" context="res_ref_params_opt"/></context><context name="resource" attribute="Normal Text"><DetectSpaces/><DetectChar char="@" attribute="Resource"/><RegExpr String="[a-z][a-zA-Z0-9-_]*" attribute="Resource"/><StringDetect String="::" attribute="Normal Text"/><DetectChar char="{" attribute="Normal Text" context="resource_in" beginRegion="resource"/><DetectChar char="}" attribute="Normal Text" context="#pop" endRegion="resource"/></context><context name="resource definition" attribute="Normal Text"><DetectSpaces/><StringDetect String="inherits" attribute="Keyword"/><RegExpr String="[a-z][a-z0-9_]*" attribute="Class"/><StringDetect String="::" attribute="Normal Text"/><DetectChar char="(" context="define params"/><DetectChar char="{" attribute="Normal Text" context="define in" beginRegion="define"/><DetectChar char="}" attribute="Normal Text" context="#pop" endRegion="define"/></context><context name="resource path" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><DetectSpaces/><RegExpr String="[a-z][a-zA-Z0-9-_]*" attribute="Resource"/><StringDetect String="::" attribute="Normal Text"/></context><context name="resource_attr" attribute="Normal Text"><DetectSpaces/><IncludeRules context="FindComment"/><StringDetect String="=>" attribute="AttributeOp" context="resource_attr_val"/><DetectChar char="}" context="#pop" lookAhead="1"/></context><context name="resource_attr_val" attribute="Normal Text"><IncludeRules context="parameter values"/><DetectChar char="," attribute="Normal Text" context="#pop#pop"/><DetectChar char=";" attribute="Normal Text" context="#pop#pop#pop"/><DetectChar char="}" context="#pop" lookAhead="1"/></context><context name="resource_attrs" attribute="Normal Text"><DetectSpaces/><RegExpr String="[a-z][a-zA-Z0-9-_]*" attribute="Attribute Name" context="resource_attr"/><IncludeRules context="FindComment"/><DetectChar char="}" context="#pop" lookAhead="1"/></context><context name="resource_in" attribute="Normal Text"><DetectSpaces/><IncludeRules context="FindString"/><IncludeRules context="FindVariable"/><IncludeRules context="FindComment"/><IncludeRules context="FindArray"/><IncludeRules context="FindBareWord"/><DetectChar char=":" attribute="Operator" context="resource_attrs"/><DetectChar char="}" context="#pop" lookAhead="1"/></context><context name="selector" attribute="Normal Text"><DetectSpaces/><DetectChar char="{" attribute="Normal Text" context="selector block" beginRegion="selector"/><DetectChar char="}" attribute="Normal Text" context="#pop" endRegion="selector"/></context><context name="selector block" attribute="Normal Text"><DetectSpaces/><StringDetect String="=>" attribute="Operator" context="selector value"/><Int attribute="Number"/><WordDetect String="default" attribute="Keyword"/><IncludeRules context="FindString"/><IncludeRules context="FindComment"/><IncludeRules context="FindRegExp"/><IncludeRules context="FindFunction"/><IncludeRules context="FindBareWord"/><DetectChar char="}" context="#pop" lookAhead="1"/></context><context name="selector value" attribute="Normal Text" lineEndContext="#pop"><IncludeRules context="parameter values"/><DetectChar char="," attribute="Normal Text" context="#pop"/><DetectChar char="}" context="#pop" lookAhead="1"/></context><context name="statement" attribute="Normal Text" lineEndContext="#pop"><DetectSpaces/><LineContinue char="," attribute="Normal Text"/><IncludeRules context="parameter values"/><DetectChar char="," attribute="String"/></context><context name="string code block" attribute="Variable" fallthroughContext="#pop"><StringDetect String="${" attribute="Variable"/><RegExpr String="[a-z][a-z0-9_]*" attribute="Variable"/><StringDetect String="::" attribute="Normal Text"/><RegExpr String="[a-z][a-zA-Z0-9-_]*" attribute="Variable"/><DetectChar char="}" attribute="Variable" context="#pop"/></context><context name="string double" attribute="String"><DetectChar char="\" attribute="Escape" context="escapes"/><StringDetect String="${" context="string code block" lookAhead="1"/><RegExpr String="\$[a-z][a-zA-Z0-9-_]*" attribute="Variable"/><DetectChar char='"' attribute="String" context="#pop"/></context><context name="string single" attribute="String"><DetectChar char="'" attribute="String" context="#pop"/></context><context name="unless" attribute="Normal Text"><DetectSpaces/><IncludeRules context="condition"/><DetectChar char="{" attribute="Normal Text" context="code block" beginRegion="code"/><DetectChar char="}" attribute="Normal Text" context="#pop" endRegion="code"/></context><context name="variable" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><DetectChar char="$" attribute="Variable"/><RegExpr String="[a-z][a-z0-9_]*" attribute="Variable"/><StringDetect String="::" attribute="Normal Text"/><RegExpr String="[a-z][a-zA-Z0-9-_]*" attribute="Variable" context="#pop"/></context></contexts><itemDatas><itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="0"/><itemData name="Comment" defStyleNum="dsComment"/><itemData name="String" defStyleNum="dsString"/><itemData name="Escape" defStyleNum="dsFloat"/><itemData name="RegExp" defStyleNum="dsOthers"/><itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="0"/><itemData name="Variable" defStyleNum="dsChar" spellChecking="0"/><itemData name="Number" defStyleNum="dsDecVal" spellChecking="0"/><itemData name="Function" defStyleNum="dsFunction" spellChecking="0"/><itemData name="Operator" defStyleNum="dsOthers" spellChecking="0"/><itemData name="Attribute Name" defStyleNum="dsKeyword" italic="1" bold="0" spellChecking="0"/><itemData name="AttributeOp" defStyleNum="dsOthers" spellChecking="0"/><itemData name="Node" defStyleNum="dsDataType" spellChecking="0"/><itemData name="Class" defStyleNum="dsOthers" spellChecking="0"/><itemData name="Resource" defStyleNum="dsDataType" spellChecking="0"/><itemData name="ResourceReference" defStyleNum="dsOthers" spellChecking="0"/><itemData name="Collector" defStyleNum="dsOthers" spellChecking="0"/><itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="0"/></itemDatas></highlighting><general><comments><comment name="singleLine" start="#"/><comment name="multiLine" start="/*" end="*/" region="comment"/></comments><keywords casesensitive="1"/></general></language>