# Quick Assist Processor

###### Identifier:

org.eclipse.cdt.ui.quickAssistProcessors

###### Since:

5.1

###### Description:

This extension point allows to add a Quick Assist processor to offer new Quick Assists in the C/C++ editor. This extension point supports the `enablement` tag. Properties to test on are:

- translationUnit: type ITranslationUnit; the translation unit the quick assist is applied on
- projectNatures: type Collection; all project natures of the current project

###### Configuration Markup:

<!ELEMENT extension (quickAssistProcessor+)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance

<!ELEMENT quickAssistProcessor (enablement?)>

<!ATTLIST quickAssistProcessor

id CDATA #REQUIRED

name CDATA #IMPLIED

class CDATA #IMPLIED

requiredSourceLevel CDATA #IMPLIED>

- id - A unique identifier for the Quick Assist processor.
- name - A localized name of the Quick Assist processor.
- class - The name of the class that implements this Quick Assist processor. The class must be public and implement `org.eclipse.cdt.ui.text.IQuickAssistProcessor` with a public 0-argument constructor.
- requiredSourceLevel - An optional attribute to specify the minimal source compliance this processor requires.

###### Examples:

The following is an example of a Quick Assist processor contribution:

     <extension point="org.eclipse.cdt.ui.quickAssistProcessors">
      <quickAssistProcessor
       id="AdvancedQuickAssistProcessor"
       name="Advanced Quick Assist Processor"
       class="com.example.AdvancedQuickAssistProcessor">
      </quickAssistProcessor>
       <enablement>
          <with variable="projectNatures">
             <iterate operator="or">
                <equals value="org.eclipse.cdt.core.cnature"/>
                <equals value="org.eclipse.cdt.core.ccnature"/>
             </iterate>
          </with>
       </enablement>
     </extension>

###### API Information:

The contributed class must implement `org.eclipse.cdt.ui.text.IQuickAssistProcessor`

Copyright (c) 2001, 2008 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html