Outline

From Aptana Development

Contents

Purpose

This purpose of this extension point is to allow plugins to contribute to the content of the Outline View. Typically, plugins for an editor will defined an outline provider for its MIME type. The mechanism behind the outline providers allows languages to be nested.

Additionally, this extension point can be used to customize icons and labels defined in a plugin or by an outside plugin.

Finally, this extension point can be used to define filters for one or more MIME types.

Loading

This extension point is loaded from com.aptana.ide.views.outline.UnifiedOutlineProvider in the com.aptana.ide.editors plugin.

Schema

The schema is located in the com.aptana.ide.editors plugin under the schema directory in the outline.exsd file. The top-level of the extension point may contain one or more of the following elements in any order.

1. contibutor 2. contributor-extension 3. filter

contributor element

The contributor element defines the content-provider and label-provider used to display content in the outline view. Attributes exist to define the MIME type these providers support and an additional attribute determines if the items contributed by these providers are sortable.

contributer-extension

A contributor-extension element allows a plugin to override the icons, label colors, and label font characteristics of a MIME type. This element defines attributes for color-provider, font-provider, and label-decorator. Additionally, an attribute may be defined to add a before-refresh-handler to the outline page. Typically, this handler is used to initialize internal state and occurs when a document changed event fires.

filter

A filter element allows a plugin to provide a set of filters to one or more MIME types. This element defines attributes for the MIME types to filter (a space delimited list of one or more MIME types), an icon to be displayed in the outline view next to the search textbox, a tooltip to display when the user hovers over that icon, and a class that implements ViewerFilter which will be called when items need to be filtered.