<?xml version="1.0"?> <def> <markup ext=".qml" reporterrors="false" aftercode="true"> <!-- keywords in QML code to ignore --> <keywords> <keyword name="if"/> <keyword name="while"/> <keyword name="typeof"/> <keyword name="for"/> </keywords> <!-- code blocks are meta-code/pseudo code placed in the library that is used/called by the native c/c++ code --> <codeblocks> <!-- need to add all the QML function names below --> <block name="onClicked"/> <block name="onFinished"/> <block name="onTriggered"/> <block name="onRetrieveTriggered"/> <block name="onPressed"/> <block name="onTouch"/> <block name="onFocusedChanged"/> <block name="onSubmittedNewStatusChanged"/> <block name="onCreationCompleted"/> <block name="onFileSelected"/> <!-- code block structure in QML is: onClicked: { call(var) } --> <structure offset="3" start="{" end="}"/> <!-- the start block is '3' tokens after the name token so we skip them --> </codeblocks> <codeblocks> <block name="function"/> <!-- code block structure in QML is: funnction x(args): { call(var) } --> <structure offset="2" start="{" end="}"/> </codeblocks> <!-- Qt Properties have the format : Q_PROPERTY(<type> <name> READ <func> WRITE <func> NOTIFY <func>) the READ/WRITE/NOTIFY parts are optional --> <exported> <exporter prefix="Q_PROPERTY"> <suffix>READ</suffix> <!-- catch the element before READ if present --> <prefix>READ</prefix> <prefix>WRITE</prefix> <prefix>NOTIFY</prefix> </exporter> </exported> <!-- qml files can call connect on the c++ code --> <imported> <importer>connect</importer> </imported> </markup> <!-- qt can call methods as strings using invokeMethod --> <reflection> <call arg="2">invokeMethod</call> </reflection> <!-- the SLOT/SIGNAL methods can be cause false-positives for pure virtual functions being called in the constructor because it sees the macro as a function. --> <function name="SLOT"> <ignorefunction>true</ignorefunction> </function> <function name="SIGNAL"> <ignorefunction>true</ignorefunction> </function> </def>