Package org.fife.ui.rsyntaxtextarea

## Class RSyntaxTextAreaHighlighter

- java.lang.Object
- - javax.swing.text.LayeredHighlighter
  - - javax.swing.text.DefaultHighlighter
    - - javax.swing.plaf.basic.BasicTextUI.BasicHighlighter
      - - org.fife.ui.rtextarea.RTextAreaHighlighter
        - - org.fife.ui.rsyntaxtextarea.RSyntaxTextAreaHighlighter

- All Implemented Interfaces:
    `UIResource`, `Highlighter`

      public class RSyntaxTextAreaHighlighter
      extends RTextAreaHighlighter

  The highlighter implementation used by `RSyntaxTextArea`s. It knows to always paint "marked occurrences" highlights below selection highlights, and squiggle underline highlights above all other highlights.

  Most of this code is copied from javax.swing.text.DefaultHighlighter; unfortunately, we cannot re-use much of it since it is package private.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.fife.ui.rtextarea.RTextAreaHighlighter

      `RTextAreaHighlighter.HighlightInfo, RTextAreaHighlighter.HighlightInfoImpl, RTextAreaHighlighter.LayeredHighlightInfo, RTextAreaHighlighter.LayeredHighlightInfoImpl`

    - ### Nested classes/interfaces inherited from class javax.swing.text.DefaultHighlighter

      `DefaultHighlighter.DefaultHighlightPainter`

    - ### Nested classes/interfaces inherited from class javax.swing.text.LayeredHighlighter

      `LayeredHighlighter.LayerPainter`

    - ### Nested classes/interfaces inherited from interface javax.swing.text.Highlighter

      `Highlighter.Highlight, Highlighter.HighlightPainter`

  - ### Field Summary

    - ### Fields inherited from class org.fife.ui.rtextarea.RTextAreaHighlighter

      `textArea`

    - ### Fields inherited from class javax.swing.text.DefaultHighlighter

      `DefaultPainter`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `RSyntaxTextAreaHighlighter()` | Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `clearParserHighlights​(Parser parser)` | Removes all of the highlights for a specific parser.
    `void` | `deinstall​(JTextComponent c)`
    `List<DocumentRange>` | `getMarkedOccurrences()` | Returns a list of "marked occurrences" in the text area.
    `void` | `paintLayeredHighlights​(Graphics g, int lineStart, int lineEnd, Shape viewBounds, JTextComponent editor, View view)` | When leaf Views (such as LabelView) are rendering they should call into this method.

    - ### Methods inherited from class org.fife.ui.rtextarea.RTextAreaHighlighter

      `getMarkAllHighlightCount, getMarkAllHighlightRanges, install, paintListLayered, repaintListHighlight`

    - ### Methods inherited from class javax.swing.text.DefaultHighlighter

      `addHighlight, changeHighlight, getDrawsLayeredHighlights, getHighlights, paint, removeAllHighlights, removeHighlight, setDrawsLayeredHighlights`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### RSyntaxTextAreaHighlighter

          public RSyntaxTextAreaHighlighter()

      Constructor.

  - ### Method Detail

    - #### clearParserHighlights

          public void clearParserHighlights​(Parser parser)

      Removes all of the highlights for a specific parser.
      Parameters:
        `parser` - The parser.

    - #### deinstall

          public void deinstall​(JTextComponent c)

      Specified by:
        `deinstall` in interface `Highlighter`
      Overrides:
        `deinstall` in class `RTextAreaHighlighter`

    - #### getMarkedOccurrences

          public List<DocumentRange> getMarkedOccurrences()

      Returns a list of "marked occurrences" in the text area. If there are no marked occurrences, this will be an empty list.
      Returns:
        The list of marked occurrences, or an empty list if none. The contents of this list will be of type `DocumentRange`.

    - #### paintLayeredHighlights

          public void paintLayeredHighlights​(Graphics g,
                                             int lineStart,
                                             int lineEnd,
                                             Shape viewBounds,
                                             JTextComponent editor,
                                             View view)

      Description copied from class: `RTextAreaHighlighter`
      When leaf Views (such as LabelView) are rendering they should call into this method. If a highlight is in the given region it will be drawn immediately.
      Overrides:
        `paintLayeredHighlights` in class `RTextAreaHighlighter`
      Parameters:
        `g` - Graphics used to draw
        `lineStart` - starting offset of view
        `lineEnd` - ending offset of view
        `viewBounds` - Bounds of View
        `editor` - JTextComponent
        `view` - View instance being rendered