blob: 4d8186d41255b90f53294e45c32856aa5d8cb8da [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.cdt.ui" xmlns="http://www.w3.org/2001/XMLSchema">
<include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>
<annotation>
<appInfo>
<meta.schema plugin="org.eclipse.cdt.ui" id="quickFixProcessors" name="Quick Fix Processor"/>
</appInfo>
<documentation>
This extension point allows users to add a Quick Fix processor to offer new Quick Fixes on C/C++ problems.
&lt;p&gt;
The extension can specify which problem marker types it can handle. It will only get problems of these types to process.
&lt;/p&gt;
&lt;p&gt;
This extension point supports the &lt;code&gt;enablement&lt;/code&gt; tag. Properties to test on are:
&lt;dl&gt;
&lt;li&gt;translationUnit: type ITranslationUnit; the translation unit the quick assist is applied on&lt;/li&gt;
&lt;li&gt;projectNatures: type Collection; all project natures of the current project&lt;/li&gt;
&lt;/dl&gt;
&lt;/p&gt;
</documentation>
</annotation>
<element name="extension">
<annotation>
<appInfo>
<meta.element />
</appInfo>
</annotation>
<complexType>
<sequence>
<element ref="quickFixProcessor" minOccurs="1" maxOccurs="unbounded"/>
</sequence>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
a fully qualified identifier of the target extension point
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
an optional identifier of the extension instance
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
an optional name of the extension instance
</documentation>
<appInfo>
<meta.attribute translatable="true"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="quickFixProcessor">
<complexType>
<sequence>
<element ref="enablement" minOccurs="0" maxOccurs="1"/>
<element ref="handledMarkerTypes" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
A unique identifier for the Quick Fix processor.
</documentation>
<appInfo>
<meta.attribute kind="identifier"/>
</appInfo>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
A localized name of the Quick Fix processor.
</documentation>
<appInfo>
<meta.attribute translatable="true"/>
</appInfo>
</annotation>
</attribute>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
The name of the class that implements this Quick Fix processor. The
class must be public and implement
&lt;samp&gt;org.eclipse.cdt.ui.text.IQuickFixProcessor&lt;/samp&gt;
with a public 0-argument constructor.
</documentation>
<appInfo>
<meta.attribute kind="java" basedOn="org.eclipse.cdt.ui.text.IQuickFixProcessor"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="handledMarkerTypes">
<annotation>
<documentation>
Specifies the marker types of the problems this quick fix processor can handle.
If no handled marker type are specified, the processor will get problems of types org.eclipse.cdt.core.problem, org.eclipse.cdt.core.buildpath_problem and org.eclipse.cdt.core.task.
</documentation>
</annotation>
<complexType>
<sequence>
<element ref="markerType" minOccurs="1" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<element name="markerType">
<complexType>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
The marker type id of the marker that can be handled by this processor.
</documentation>
<appInfo>
<meta.attribute kind="identifier"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appInfo>
<meta.section type="since"/>
</appInfo>
<documentation>
4.1
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="examples"/>
</appInfo>
<documentation>
The following is an example of a Quick Fix processor contribution:
&lt;p&gt;
&lt;pre&gt;
&lt;extension point=&quot;org.eclipse.cdt.ui.quickFixProcessors&quot;&gt;
&lt;quickFixProcessor
id=&quot;AdvancedQuickFixProcessor&quot;
name=&quot;Advanced Quick Fix Processor&quot;
class=&quot;com.example.AdvancedQuickFixProcessor&quot;&gt;
&lt;handledMarkerTypes&gt;
&lt;markerType id=&quot;org.eclipse.myplugin.audits&quot;/&gt;
&lt;/handledMarkerTypes&gt;
&lt;enablement&gt;
&lt;with variable=&quot;projectNatures&quot;&gt;
&lt;iterate operator=&quot;or&quot;&gt;
&lt;equals value=&quot;org.eclipse.cdt.core.cnature&quot;/&gt;
&lt;/iterate&gt;
&lt;/with&gt;
&lt;/enablement&gt;
&lt;/quickFixProcessor&gt;
&lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
The contributed class must implement &lt;code&gt;org.eclipse.cdt.ui.text.IQuickFixProcessor&lt;/code&gt;
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="copyright"/>
</appInfo>
<documentation>
Copyright (c) 2001, 2007 IBM Corporation and others.&lt;br&gt;
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at &lt;a href=&quot;http://www.eclipse.org/legal/epl-2.0/&quot;&gt;https://www.eclipse.org/legal/epl-2.0/
t;
t;SPDX-License-Identifier: EPL-2.0&lt;/a&gt;
</documentation>
</annotation>
</schema>