blob: f8193def0fdcff01e17bd384037d8091019b30a9 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009 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
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.wst.sse.ui;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.text.Position;
import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
/**
* This interface defines preferences and consumability for semantic highlighting.
* The preference keys provided by the implementation are stored within the preference store
* provided by the implementation. When a region is consumable by the semantic highlighting,
* the implementation provides an array of positions to style.
*
* @since 3.1
*
*/
public interface ISemanticHighlighting {
/**
* The preference key that controls the text's bold attribute for the semantic highlighting
* @return the bold preference key
*/
public String getBoldPreferenceKey();
/**
* The preference key that controls the text's underline attribute for the semantic highlighting
* @return the bold preference key
*/
public String getUnderlinePreferenceKey();
/**
* The preference key that controls the text's strikethrough attribute for the semantic highlighting
* @return the bold preference key
*/
public String getStrikethroughPreferenceKey();
/**
* The preference key that controls the text's italic attribute for the semantic highlighting
* @return the bold preference key
*/
public String getItalicPreferenceKey();
/**
* The preference key that controls the text's color attribute for the semantic highlighting
* @return the bold preference key
*/
public String getColorPreferenceKey();
/**
* The preference store that maintains the preferences for the semantic highlighting
* @return the bold preference key
*/
public IPreferenceStore getPreferenceStore();
/**
* The preference key that controls if the semantic highlighting is enabled
* @return the bold preference key
*/
public String getEnabledPreferenceKey();
/**
* @return the display name
*/
public String getDisplayName();
/**
* Returns an array of positions iff the semantic highlighting consumes any part of the structured document region.
* <p>
* NOTE: Implementors are not allowed to keep a reference on the region or on any object
* retrieved from the region.
* </p>
*
* @param region the structured document region
* @return an array of positions to consume iff the semantic highlighting consumes any part of the structured document region, otherwise null
*/
public Position[] consumes(IStructuredDocumentRegion region);
}