# Reference Provider

###### Identifier:

org.eclipse.ui.workbench.texteditor.quickdiffReferenceProvider

###### Since:

3.0

###### Description:

Allows contributors to add reference providers for the quick diff display.

###### Configuration Markup:

<!ELEMENT extension (referenceprovider+)>

<!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 referenceprovider EMPTY>

<!ATTLIST referenceprovider

class CDATA #REQUIRED

label CDATA #IMPLIED

id CDATA #REQUIRED

default (true | false) >

The definition of a reference provider for the quick diff display.

- class - the class of the reference provider, which must implement `org.eclipse.ui.texteditor.quickdiff.IQuickDiffReferenceProvider`
- label - the display label for the provider, which will show up in the menu that allows the user to set the quick diff reference to this provider
- id - A string uniquely identifying this reference provider.
- Deprecated default - if this flag is set to `true`, this reference provider will be installed per default the first time quick diff is enabled for a document. If multiple providers are installed with the flag set are encountered, the first one is taken.

###### Examples:

The following is an example of a reference provider definition. It contributes a provider that uses the version of a document saved on disk as a reference.

     <extension point="quickdiff.referenceprovider">
      <referenceprovider
       id="default"
       name="%LastSavedProvider.name"
       label="%quickdiff.referenceprovider.label"
       class="org.eclipse.ui.internal.editors.quickdiff.providers.LastSaveReferenceProvider">
      </referenceprovider>
     </extension>

###### API Information:

There is no additional API for managing reference providers.

###### Supplied Implementation:

The `org.eclipse.ui.editors` plugin contributes `LastSaveReferenceProvider`. See its implementation as an example.

Copyright (c) 2001, 2005 IBM Corporation and others.
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 https://www.eclipse.org/legal/epl-v20.html/ SPDX-License-Identifier: EPL-2.0