Class WordHighlightProviderBase<T>
- java.lang.Object
-
- com.vladsch.plugin.util.ui.highlight.HighlightProviderBase<T>
-
- com.vladsch.plugin.util.ui.highlight.TypedRangeHighlightProviderBase<java.lang.String,T>
-
- com.vladsch.plugin.util.ui.highlight.WordHighlightProviderBase<T>
-
- All Implemented Interfaces:
com.intellij.openapi.Disposable,HighlightProvider<T>,TypedRangeHighlightProvider<java.lang.String,T>,WordHighlightProvider<T>
public abstract class WordHighlightProviderBase<T> extends TypedRangeHighlightProviderBase<java.lang.String,T> implements WordHighlightProvider<T>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.intellij.openapi.Disposable
com.intellij.openapi.Disposable.Parent
-
Nested classes/interfaces inherited from interface com.vladsch.plugin.util.ui.highlight.TypedRangeHighlightProvider
TypedRangeHighlightProvider.Flags, TypedRangeHighlightProvider.IdeHighlight
-
Nested classes/interfaces inherited from interface com.vladsch.plugin.util.ui.highlight.WordHighlightProvider
WordHighlightProvider.CaseSensitivity, WordHighlightProvider.Flags
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String[]EMPTY_STRINGS-
Fields inherited from class com.vladsch.plugin.util.ui.highlight.HighlightProviderBase
myDelayedRunner, myHighlightColorRepeatIndex, myHighlightColors, myHighlightsMode, myInUpdateRegion, myLafManagerListener, myPendingChanged, mySettings
-
Fields inherited from interface com.vladsch.plugin.util.ui.highlight.TypedRangeHighlightProvider
ERROR_ATTRIBUTES_KEY, F_IDE_ERROR, F_IDE_HIGHLIGHT, F_IDE_IGNORED, F_IDE_WARNING, F_NONE, IDE_HIGHLIGHT, IGNORED_ATTRIBUTES_KEY, TYPO_ATTRIBUTES_KEY, WARNING_ATTRIBUTES_KEY
-
Fields inherited from interface com.vladsch.plugin.util.ui.highlight.WordHighlightProvider
BEGIN_WORD, CASE_SENSITIVITY, END_WORD, F_BEGIN_WORD, F_CASE_INSENSITIVE, F_CASE_SENSITIVE, F_CASE_SENSITIVITY, F_END_WORD, F_WORD
-
-
Constructor Summary
Constructors Constructor Description WordHighlightProviderBase(T settings)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intaddHighlightRange(java.lang.String range, int flags, int originalIndex)Add highlight rangevoidclearHighlights()voidclearHighlightsRaw()voiddisposeComponent()@NotNull java.lang.StringgetAdjustedRange(@NotNull java.lang.String range)Used to adjust for things like case sensitivity otherwise in case insensitive mode the lookup in the map will failWordHighlighter<T>getHighlighter(@NotNull com.intellij.openapi.editor.Editor editor)@Nullable java.util.regex.PatterngetHighlightPattern()intgetHighlightRangeIndex(java.lang.String range)Must call getHighlightPattern() before calling this function for the first time to ensure the cached structures are updated.protected @Nullable java.util.HashMap<java.lang.String,com.vladsch.flexmark.util.misc.Pair<java.lang.Integer,java.lang.Integer>>getHighlightState()protected voidhighlightRangeAdded(java.lang.String range, int flags, int originalOrderIndex)protected voidhighlightRangeRemoved(java.lang.String range)booleanisHighlightCaseSensitive()booleanisHighlightWordsMatchBoundary()booleanisRangeHighlighted(java.lang.String range)voidremoveHighlightRange(java.lang.String range)NOTE: does not call getAdjustedRange() because the subclass needs to take care of all adjustments herevoidsetHighlightCaseSensitive(boolean highlightCaseSensitive)protected voidsetHighlightState(@NotNull java.util.Map<java.lang.String,com.vladsch.flexmark.util.misc.Pair<java.lang.Integer,java.lang.Integer>> state)Restore highlight statevoidsetHighlightWordsMatchBoundary(boolean highlightWordsMatchBoundary)voidupdateHighlightPattern()-
Methods inherited from class com.vladsch.plugin.util.ui.highlight.TypedRangeHighlightProviderBase
getHighlightAttributes, getHighlightIndex, getHighlightRangeFlags, getHighlightRangeIndices, getIdeAttributes, getMaxHighlightRangeIndex, getOriginalIndexMap, getOriginalOrderIndex, haveHighlights, isShowHighlights, setHighlightIndex, skipHighlightSets
-
Methods inherited from class com.vladsch.plugin.util.ui.highlight.HighlightProviderBase
addHighlightListener, dispose, endHighlightSet, enterUpdateRegion, fireHighlightsChanged, fireHighlightsUpdated, getCancellableJobScheduler, getColors, getDelayedRunner, getHighlightColorRepeatIndex, getHighlightColors, initComponent, isHighlightsMode, isInHighlightSet, leaveUpdateRegion, removeHighlightListener, restartHighlightSet, setHighlightsMode, settingsChanged, startHighlightSet, startHighlightSet, subscribeSettingsChanged
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.vladsch.plugin.util.ui.highlight.HighlightProvider
addHighlightListener, endHighlightSet, enterUpdateRegion, fireHighlightsChanged, fireHighlightsUpdated, getHighlightAttributes, haveHighlights, highlightSet, highlightSet, initComponent, isHighlightsMode, isShowHighlights, leaveUpdateRegion, removeHighlightListener, restartHighlightSet, setHighlightsMode, settingsChanged, startHighlightSet, startHighlightSet
-
Methods inherited from interface com.vladsch.plugin.util.ui.highlight.TypedRangeHighlightProvider
addHighlightRange, getHighlightRangeFlags, getHighlightRangeIndices, getMaxHighlightRangeIndex
-
Methods inherited from interface com.vladsch.plugin.util.ui.highlight.WordHighlightProvider
addHighlightRange, addHighlightRange, encodeFlags, encodeFlags
-
-
-
-
Constructor Detail
-
WordHighlightProviderBase
public WordHighlightProviderBase(@NotNull T settings)
-
-
Method Detail
-
getHighlighter
public WordHighlighter<T> getHighlighter(@NotNull @NotNull com.intellij.openapi.editor.Editor editor)
- Specified by:
getHighlighterin interfaceHighlightProvider<T>- Specified by:
getHighlighterin interfaceTypedRangeHighlightProvider<java.lang.String,T>
-
getHighlightState
@Nullable protected @Nullable java.util.HashMap<java.lang.String,com.vladsch.flexmark.util.misc.Pair<java.lang.Integer,java.lang.Integer>> getHighlightState()
- Overrides:
getHighlightStatein classTypedRangeHighlightProviderBase<java.lang.String,T>
-
setHighlightState
protected void setHighlightState(@NotNull @NotNull java.util.Map<java.lang.String,com.vladsch.flexmark.util.misc.Pair<java.lang.Integer,java.lang.Integer>> state)Description copied from class:TypedRangeHighlightProviderBaseRestore highlight state- Overrides:
setHighlightStatein classTypedRangeHighlightProviderBase<java.lang.String,T>- Parameters:
state- highlight state previously returned byTypedRangeHighlightProviderBase.getHighlightState()
-
disposeComponent
public void disposeComponent()
- Specified by:
disposeComponentin interfaceHighlightProvider<T>- Overrides:
disposeComponentin classTypedRangeHighlightProviderBase<java.lang.String,T>
-
clearHighlightsRaw
public void clearHighlightsRaw()
- Overrides:
clearHighlightsRawin classTypedRangeHighlightProviderBase<java.lang.String,T>
-
clearHighlights
public void clearHighlights()
- Specified by:
clearHighlightsin interfaceHighlightProvider<T>- Overrides:
clearHighlightsin classTypedRangeHighlightProviderBase<java.lang.String,T>
-
getHighlightPattern
@Nullable public @Nullable java.util.regex.Pattern getHighlightPattern()
- Specified by:
getHighlightPatternin interfaceWordHighlightProvider<T>
-
isRangeHighlighted
public final boolean isRangeHighlighted(java.lang.String range)
- Specified by:
isRangeHighlightedin interfaceTypedRangeHighlightProvider<java.lang.String,T>- Overrides:
isRangeHighlightedin classTypedRangeHighlightProviderBase<java.lang.String,T>
-
getHighlightRangeIndex
public int getHighlightRangeIndex(java.lang.String range)
Must call getHighlightPattern() before calling this function for the first time to ensure the cached structures are updated.- Specified by:
getHighlightRangeIndexin interfaceTypedRangeHighlightProvider<java.lang.String,T>- Overrides:
getHighlightRangeIndexin classTypedRangeHighlightProviderBase<java.lang.String,T>- Parameters:
range- highlighted word- Returns:
- original index of word
-
isHighlightCaseSensitive
public boolean isHighlightCaseSensitive()
- Specified by:
isHighlightCaseSensitivein interfaceWordHighlightProvider<T>
-
setHighlightCaseSensitive
public void setHighlightCaseSensitive(boolean highlightCaseSensitive)
- Specified by:
setHighlightCaseSensitivein interfaceWordHighlightProvider<T>
-
isHighlightWordsMatchBoundary
public boolean isHighlightWordsMatchBoundary()
- Specified by:
isHighlightWordsMatchBoundaryin interfaceWordHighlightProvider<T>
-
setHighlightWordsMatchBoundary
public void setHighlightWordsMatchBoundary(boolean highlightWordsMatchBoundary)
- Specified by:
setHighlightWordsMatchBoundaryin interfaceWordHighlightProvider<T>
-
getAdjustedRange
@NotNull public @NotNull java.lang.String getAdjustedRange(@NotNull @NotNull java.lang.String range)Description copied from interface:TypedRangeHighlightProviderUsed to adjust for things like case sensitivity otherwise in case insensitive mode the lookup in the map will fail- Specified by:
getAdjustedRangein interfaceTypedRangeHighlightProvider<java.lang.String,T>- Parameters:
range- range to look up- Returns:
- adjusted range
-
addHighlightRange
public int addHighlightRange(java.lang.String range, int flags, int originalIndex)Description copied from interface:TypedRangeHighlightProviderAdd highlight range- Specified by:
addHighlightRangein interfaceTypedRangeHighlightProvider<java.lang.String,T>- Overrides:
addHighlightRangein classTypedRangeHighlightProviderBase<java.lang.String,T>- Parameters:
range- range object for highlightflags- flags for the highlightoriginalIndex- index to use if >0, else use next index- Returns:
- order index used for the highlight
-
removeHighlightRange
public final void removeHighlightRange(java.lang.String range)
Description copied from class:TypedRangeHighlightProviderBaseNOTE: does not call getAdjustedRange() because the subclass needs to take care of all adjustments here- Specified by:
removeHighlightRangein interfaceTypedRangeHighlightProvider<java.lang.String,T>- Overrides:
removeHighlightRangein classTypedRangeHighlightProviderBase<java.lang.String,T>- Parameters:
range- range to remove
-
highlightRangeAdded
protected void highlightRangeAdded(java.lang.String range, int flags, int originalOrderIndex)- Specified by:
highlightRangeAddedin classTypedRangeHighlightProviderBase<java.lang.String,T>
-
highlightRangeRemoved
protected void highlightRangeRemoved(java.lang.String range)
- Specified by:
highlightRangeRemovedin classTypedRangeHighlightProviderBase<java.lang.String,T>
-
updateHighlightPattern
public void updateHighlightPattern()
- Specified by:
updateHighlightPatternin interfaceWordHighlightProvider<T>
-
-