Warning, /frameworks/syntax-highlighting/data/syntax/bitbake.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language
0003 [
0004         <!ENTITY funcname "[A-Za-z_:][A-Za-z0-9_:#&#37;${}@-]*">
0005         <!ENTITY parens   "\(\s*\)">
0006         <!ENTITY eos      "(?=$|\s)">                 <!-- eol or space following -->
0007 ]>
0008 <!--
0009   ====================================================================
0010   Bitbake syntax highlighting file for the Kate and QtCreator
0011   ====================================================================
0012 
0013   Author: Ivan Koveshnikov
0014   Changes by Mark Nauwelaerts
0015 -->
0016 
0017 <language name="Bitbake" section="Sources"
0018           version="12" kateversion="5.79"
0019           extensions="*.bb;*.bbappend;*.bbclass;*.inc"
0020           license="GPL" author="Ivan Koveshnikov">
0021 
0022   <highlighting>
0023 
0024     <list name="keywords">
0025       <item>after</item>
0026       <item>before</item>
0027       <item>python</item>
0028       <item>branch</item>
0029       <item>bareclone</item>
0030       <item>protocol</item>
0031       <item>name</item>
0032       <item>if</item>
0033       <item>fi</item>
0034       <item>then</item>
0035       <item>rm</item>
0036       <item>ln</item>
0037       <item>cp</item>
0038       <item>for</item>
0039       <item>done</item>
0040       <item>cat</item>
0041     </list>
0042 
0043     <list name="oe_functions">
0044       <item>do_build</item>
0045       <item>do_compile</item>
0046       <item>do_compile_append</item>
0047       <item>do_compile_prepend</item>
0048       <item>do_compile_ptest_base</item>
0049       <item>do_configure</item>
0050       <item>do_configure_append</item>
0051       <item>do_configure_prepend</item>
0052       <item>do_configure_ptest_base</item>
0053       <item>do_deploy</item>
0054       <item>do_fetch</item>
0055       <item>do_install</item>
0056       <item>do_install_append</item>
0057       <item>do_install_prepend</item>
0058       <item>do_install_ptest_base</item>
0059       <item>do_package</item>
0060       <item>do_package_qa</item>
0061       <item>do_package_write_deb</item>
0062       <item>do_package_write_ipk</item>
0063       <item>do_package_write_rpm</item>
0064       <item>do_package_write_tar</item>
0065       <item>do_packagedata</item>
0066       <item>do_patch</item>
0067       <item>do_populate_lic</item>
0068       <item>do_populate_sdk</item>
0069       <item>do_populate_sysroot</item>
0070       <item>do_rm_work</item>
0071       <item>do_rm_work_all</item>
0072       <item>do_unpack</item>
0073       <item>do_checkuri</item>
0074       <item>do_checkuriall</item>
0075       <item>do_clean</item>
0076       <item>do_cleanall</item>
0077       <item>do_cleansstate</item>
0078       <item>do_devshell</item>
0079       <item>do_fetchall</item>
0080       <item>do_listtasks</item>
0081       <item>do_package_index</item>
0082       <item>do_bootimg</item>
0083       <item>do_bundle_initramfs</item>
0084       <item>do_rootfs</item>
0085       <item>do_testimage</item>
0086       <item>do_testimage_auto</item>
0087       <item>do_vmdkimg</item>
0088       <item>do_compile_kernelmodules</item>
0089       <item>do_diffconfig</item>
0090       <item>do_kernel_checkout</item>
0091       <item>do_kernel_configcheck</item>
0092       <item>do_kernel_configme</item>
0093       <item>do_kernel_link_vmlinux</item>
0094       <item>do_menuconfig</item>
0095       <item>do_savedefconfig</item>
0096       <item>do_sizecheck</item>
0097       <item>do_strip</item>
0098       <item>do_uboot_mkimage</item>
0099       <item>do_validate_branches</item>
0100       <item>do_generate_qt_config_file</item>
0101       <item>do_spdx</item>
0102       <item>oe_runmake</item>
0103       <item>export</item>
0104       <item>install</item>
0105       <item>kernel_configme</item>
0106       <item>validate_branches</item>
0107 
0108     </list>
0109 
0110     <list name="dependencies">
0111       <item>inherit</item>
0112       <item>include</item>
0113       <item>require</item>
0114       <item>addtask</item>
0115       <item>deltask</item>
0116       <item>addhandler</item>
0117       <item>EXPORT_FUNCTIONS</item>
0118     </list>
0119 
0120     <contexts>
0121 
0122       <context name="Normal Text" attribute="Normal Text" lineEndContext="#pop" >
0123         <DetectSpaces/>
0124         <DetectChar                         context="bbComment" char="#" />
0125         <!-- detect sub-context before marked as keyword -->
0126         <RegExpr context="pbfunction" String="^\s*python\s+&funcname;\s*&parens;" lookAhead="true" column="0" />
0127         <RegExpr context="pfunction" String="^def\s+&funcname;\s*\(.*\)\s*:&eos;" lookAhead="true" column="0" minimal="true" />
0128         <RegExpr context="function" String="^\s*&funcname;\s*&parens;" lookAhead="true" column="0" />
0129         <IncludeRules context="keywords" />
0130         <DetectChar attribute="String"      context="bbString"  char="&quot;" />
0131         <RegExpr attribute="Variable" context="#stay" String="\$\{[A-Za-z0-9_-]+\}" />
0132         <RegExpr attribute="Keyword" context="#stay" String="(?:[A-Z]+)[0-9_]*" />
0133       </context>
0134 
0135       <!-- used for include -->
0136       <context name="keywords" attribute="Normal Text" lineEndContext="#stay">
0137         <keyword attribute="Keyword"        context="#stay"     String="keywords" />
0138         <keyword attribute="OEFunction"     context="#stay"     String="oe_functions" />
0139         <keyword attribute="Dependency"     context="#stay"     String="dependencies" />
0140       </context>
0141 
0142       <!-- bitbake shell function -->
0143       <context name="function" attribute="Normal Text" lineEndContext="#stay">
0144         <IncludeRules context="keywords" />
0145         <RegExpr attribute="Function" context="#stay" String="&funcname;\s*&parens;" />
0146         <DetectChar char="{" context="bash"  beginRegion="function" />
0147       </context>
0148 
0149       <context name="bash" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="Command##Bash">
0150         <DetectChar attribute="Keyword" char="}" context="#pop#pop" endRegion="function" />
0151         <IncludeRules context="##Bash" />
0152       </context>
0153 
0154       <!-- bitbake python function -->
0155       <context name="pbfunction" attribute="Normal Text" lineEndContext="#stay">
0156         <IncludeRules context="keywords" />
0157         <RegExpr attribute="Function" context="#stay" String="&funcname;\s*&parens;" />
0158         <DetectChar char="{" context="python"  beginRegion="function" />
0159       </context>
0160 
0161       <!-- (internal) python function -->
0162       <context name="pfunction" attribute="Normal Text" lineEndContext="python">
0163         <WordDetect attribute="Keyword" String="def" />
0164         <Detect2Chars char=")" char1=":" context="python"  beginRegion="function" />
0165       </context>
0166 
0167       <context name="python" attribute="Normal Text" lineEndContext="#stay">
0168         <DetectChar attribute="Keyword" char="}" context="#pop#pop" endRegion="function" />
0169         <RegExpr String="^\w" column="0" context="#pop#pop" endRegion="function" lookAhead="true" />
0170         <IncludeRules context="##Python" />
0171       </context>
0172 
0173       <context name="bbString" attribute="String" lineEndContext="bbError" >
0174         <keyword    attribute="Keyword"     context="#stay" String="keywords" />
0175         <DetectChar attribute="String"      context="#pop"  char="&quot;" />
0176         <LineContinue  attribute="Escape"   context="#stay"  />
0177         <AnyChar    attribute="Normal Text" context="#stay" String="=|;," />
0178         <RegExpr    attribute="BBFunction"  context="#stay" String="\$\{@[a-zA-Z0-9._\-\(\), &quot;/]+\}" />
0179         <RegExpr    attribute="Variable"    context="#stay" String="\$\{[A-Za-z0-9_-]+\}" />
0180       </context>
0181 
0182       <context name="bbComment" attribute="Comment" lineEndContext="#pop">
0183         <IncludeRules context="##Comments" />
0184       </context>
0185 
0186       <context name="bbError" attribute="Error" lineEndContext="#stay" >
0187         <DetectChar attribute="Error"      context="#pop"  char="&quot;" />
0188       </context>
0189 
0190     </contexts>
0191 
0192     <itemDatas>
0193     <!--
0194         dsNormal, used for normal text.
0195         dsKeyword, used for keywords.
0196         dsDataType, used for data types.
0197         dsDecVal, used for decimal values.
0198         dsBaseN, used for values with a base other than 10.
0199         dsFloat, used for float values.
0200         dsChar, used for a character.
0201         dsString, used for strings.
0202         dsComment, used for comments.
0203         dsOthers, used for ‘other’ things.
0204         dsAlert, used for warning messages.
0205         dsFunction, used for function calls.
0206         dsRegionMarker, used for region markers.
0207         dsError, used for error highlighting and wrong syntax.
0208     -->
0209       <itemData name="Normal Text"    defStyleNum="dsNormal"      spellChecking="false" />
0210       <itemData name="String"         defStyleNum="dsString"      spellChecking="true" />
0211       <itemData name="Keyword"        defStyleNum="dsKeyword"     spellChecking="false" />
0212       <itemData name="Variable"       defStyleNum="dsOthers"      spellChecking="false" color="darkred" />
0213       <itemData name="Comment"        defStyleNum="dsComment"     spellChecking="true" />
0214       <itemData name="Dependency"     defStyleNum="dsDataType"    spellChecking="false"/>
0215       <itemData name="BBFunction"     defStyleNum="dsOthers"      spellChecking="false" color="darkblue" />
0216       <itemData name="OEFunction"     defStyleNum="dsBaseN"       spellChecking="false" />
0217       <itemData name="Function"       defStyleNum="dsFunction"    spellChecking="false" />
0218       <itemData name="Escape"         defStyleNum="dsOthers"      spellChecking="false" color="grey" />
0219       <itemData name="Error"          defStyleNum="dsError"       spellChecking="false" />
0220 
0221     </itemDatas>
0222 
0223   </highlighting>
0224 
0225   <general>
0226     <comments>
0227       <comment name="singleLine" start="#"/>
0228     </comments>
0229   </general>
0230 
0231 </language>
0232 <!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->