| <?xml version='1.0' encoding='UTF-8'?> |
| <!-- Schema file written by PDE --> |
| <schema targetNamespace="org.eclipse.jdt.ui" xmlns="http://www.w3.org/2001/XMLSchema"> |
| <annotation> |
| <appInfo> |
| <meta.schema plugin="org.eclipse.jdt.ui" id="javaCompletionProposalComputer" name="Java Completion Proposal Computer"/> |
| </appInfo> |
| <documentation> |
| This extension point allows to contribute Java completion proposal computers to participate in the content assist process of the Java editor. |
| |
| <p> |
| This extension point supports the <code>&lt;enablement&gt;</code> element. |
| <!-- see org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory#matches(IJavaProject): --> |
| The default variable is the containing <code>org.eclipse.jdt.core.IJavaProject</code>. |
| <br>Defined variables for <code>&lt;with&gt;</code> expressions are: |
| </p> |
| <ul> |
| <li>"project": type <code>org.eclipse.jdt.core.IJavaProject</code>; the current project (same as the default variable)</li> |
| </ul> |
| </documentation> |
| </annotation> |
| |
| <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/> |
| |
| <element name="extension"> |
| <annotation> |
| <appInfo> |
| <meta.element labelAttribute="name" /> |
| </appInfo> |
| </annotation> |
| <complexType> |
| <choice> |
| <element ref="javaCompletionProposalComputer"/> |
| <element ref="proposalCategory"/> |
| </choice> |
| <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" use="required"> |
| <annotation> |
| <documentation> |
| the proposal category id |
| </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="javaCompletionProposalComputer"> |
| <annotation> |
| <documentation> |
| A proposal computer contribution. If no partition types are specified, the computer is added to all partition types. |
| </documentation> |
| </annotation> |
| <complexType> |
| <sequence minOccurs="0" maxOccurs="6"> |
| <element ref="partition"/> |
| </sequence> |
| <attribute name="class" type="string" use="required"> |
| <annotation> |
| <documentation> |
| the name of the class that implements the contributed computer. The |
| class must be public and implement |
| <code>org.eclipse.jdt.ui.text.java.IJavaCompletionProposalComputer</code> |
| and must have a public 0-argument constructor. |
| </documentation> |
| <appInfo> |
| <meta.attribute kind="java" basedOn=":org.eclipse.jdt.ui.text.java.IJavaCompletionProposalComputer"/> |
| </appInfo> |
| </annotation> |
| </attribute> |
| <attribute name="activate" type="boolean" use="default" value="false"> |
| <annotation> |
| <documentation> |
| if the attribute is set to "true" it will force this plug-in to be loaded on content assist invocation. @since 3.8.1 activation will not happen if the enablement expression for the category is not met. |
| </documentation> |
| </annotation> |
| </attribute> |
| <attribute name="categoryId" type="string" use="default" value="org.eclipse.jdt.ui.defaultProposalCategory"> |
| <annotation> |
| <documentation> |
| the id of a <tt>proposalCategory</tt> |
| </documentation> |
| <appInfo> |
| <meta.attribute kind="identifier" basedOn="org.eclipse.jdt.ui.javaCompletionProposalComputer/@id"/> |
| </appInfo> |
| </annotation> |
| </attribute> |
| <attribute name="needsSortingAfterFiltering" type="boolean" use="default" value="false"> |
| <annotation> |
| <documentation> |
| if the attribute is set to "true" it forces the content assist processor to resort the list of proposals every time a new token is entered or removed to the completion prefix. |
| |
| @since 3.8 |
| </documentation> |
| </annotation> |
| </attribute> |
| <attribute name="requiresUIThread" type="boolean" use="default" value="true"> |
| <annotation> |
| <documentation> |
| Whether the given extension requires to run in UI Thread. If extension doesn't require to run in UI Thread to work, this should be set to "false". It's recommended for an extension to not require UI Thread and have this set to "false" in order to improve performance. |
| |
| If "false", the completion proposal may run in a non-UI Thread, in parallel with other completion computers. |
| If "true", the completion proposal will run in UI Thread, freezing the UI while computing, and in sequence with other completion computers that also require UI Thread. |
| |
| @since 3.16 |
| </documentation> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <element name="partition"> |
| <annotation> |
| <appInfo> |
| <meta.element labelAttribute="type"/> |
| </appInfo> |
| </annotation> |
| <complexType> |
| <attribute name="type" use="required"> |
| <annotation> |
| <documentation> |
| a Java partition type for which the specified computer can provide completion proposals. See <code>IDocument.DEFAULT_CONTENT_TYPE</code> and <code>IJavaPartitions</code> for valid values. |
| </documentation> |
| </annotation> |
| <simpleType> |
| <restriction base="string"> |
| <enumeration value="__dftl_partition_content_type"> |
| </enumeration> |
| <enumeration value="__java_singleline_comment"> |
| </enumeration> |
| <enumeration value="__java_multiline_comment"> |
| </enumeration> |
| <enumeration value="__java_javadoc"> |
| </enumeration> |
| <enumeration value="__java_string"> |
| </enumeration> |
| <enumeration value="__java_character"> |
| </enumeration> |
| </restriction> |
| </simpleType> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <element name="proposalCategory"> |
| <annotation> |
| <documentation> |
| A proposal category contribution defines categories of proposals used to group them in the UI. |
| </documentation> |
| </annotation> |
| <complexType> |
| <sequence> |
| <element ref="enablement" minOccurs="0" maxOccurs="1"/> |
| </sequence> |
| <attribute name="icon" type="string"> |
| <annotation> |
| <documentation> |
| an optional icon of the category, which can be displayed in the user preferences |
| </documentation> |
| <appInfo> |
| <meta.attribute kind="resource"/> |
| </appInfo> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="since"/> |
| </appInfo> |
| <documentation> |
| 3.2 |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="examples"/> |
| </appInfo> |
| <documentation> |
| The following is an example of a Java completion proposal computer contribution: |
| |
| <pre> |
| <extension point="org.eclipse.jdt.ui.javaCompletionProposalComputer" |
| id="textual_proposals" |
| name="Text Proposals"> |
| <proposalCategory icon="icons/wordcompletions.png"/> |
| </extension> |
| <extension point="org.eclipse.jdt.ui.javaCompletionProposalComputer" |
| id="WordCompletionProposalComputer" |
| name="Word Completion Proposal Computer"> |
| <javaCompletionProposalComputer |
| class="org.eclipse.jdt.internal.ui.text.java.HippieProposalComputer" |
| categoryId="org.eclipse.ui.texteditor.textual_proposals"> |
| <partition type="__java_javadoc"/> |
| </javaCompletionProposalComputer> |
| </extension> |
| </pre> |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="apiInfo"/> |
| </appInfo> |
| <documentation> |
| The contributed class must extend <code>org.eclipse.jdt.ui.text.java.IJavaCompletionProposalComputer</code> |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="implementation"/> |
| </appInfo> |
| <documentation> |
| see <code>org.eclipse.jdt.internal.ui.text.java.HippieProposalComputer</code> for an example. |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="copyright"/> |
| </appInfo> |
| <documentation> |
| Copyright (c) 2006, 2013 IBM Corporation and others.<br> |
| |
| 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 <a href="https://www.eclipse.org/legal/epl-2.0">https://www.eclipse.org/legal/epl-v20.html</a>/ |
| |
| SPDX-License-Identifier: EPL-2.0 |
| </documentation> |
| </annotation> |
| |
| </schema> |