# JavaScript Completion Proposal Computer

###### Identifier:

org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer

###### Since:

3.2

###### Description:

This extension point allows to contribute JavaScript completion proposal computers to participate in the content assist process of the JavaScript editor.

###### Configuration Markup:

<!ELEMENT extension (javaCompletionProposalComputer | proposalCategory)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #REQUIRED

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 javaCompletionProposalComputer (partition)*>

<!ATTLIST javaCompletionProposalComputer

class CDATA #REQUIRED

activate (true | false) "false"

categoryId CDATA "org.eclipse.wst.jsdt.ui.defaultProposalCategory">

A proposal computer contribution. If no partition types are specified, the computer is added to all partition types.

- class - the name of the class that implements the contributed computer. The class must be public and implement `org.eclipse.wst.jsdt.ui.text.java.IJavaCompletionProposalComputer` and must have a public 0-argument constructor.
- activate - if the attribute is set to "true" it will force this plug-in to be loaded on content assist invocation
- categoryId - the id of a `proposalCategory`

<!ELEMENT partition EMPTY>

<!ATTLIST partition

type (__dftl_partition_content_type|__java_singleline_comment|__java_multiline_comment|__java_javadoc|__java_string|__java_character) >

- type - a JavaScript partition type for which the specified computer can provide completion proposals. See `IDocument.DEFAULT_CONTENT_TYPE` and `IJavaPartitions` for valid values.

<!ELEMENT proposalCategory EMPTY>

<!ATTLIST proposalCategory

icon CDATA #IMPLIED>

A proposal category contribution defines categories of proposals used to group them in the UI.

- icon - an optional icon of the category, which can be displayed in the user preferences

###### Examples:

The following is an example of a JavaScript completion proposal computer contribution:

     <extension point="org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer"
       id="textual_proposals"
       name="Text Proposals">
       <proposalCategory icon="icons/wordcompletions.png"/>
     </extension>
     <extension point="org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer"
       id="WordCompletionProposalComputer"
       name="Word Completion Proposal Computer">
       <javaCompletionProposalComputer
          class="org.eclipse.wst.jsdt.internal.ui.text.java.HippieProposalComputer"
          categoryId="org.eclipse.ui.texteditor.textual_proposals">
          <partition type="__java_javadoc"/>
       </javaCompletionProposalComputer>
     </extension>

###### API Information:

The contributed class must extend `org.eclipse.wst.jsdt.ui.text.java.IJavaCompletionProposalComputer`

###### Supplied Implementation:

see `org.eclipse.wst.jsdt.internal.ui.text.java.HippieProposalComputer` for an example.

Copyright (c) 2007 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