RSyntaxTextAreaEditorKit
Date: 2017-02-11

org.fife.ui.rsyntaxtextarea

## Class RSyntaxTextAreaEditorKit

- java.lang.Object
- - javax.swing.text.EditorKit
  - - javax.swing.text.DefaultEditorKit
    - - org.fife.ui.rtextarea.RTextAreaEditorKit
      - - org.fife.ui.rsyntaxtextarea.RSyntaxTextAreaEditorKit

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable

      public class RSyntaxTextAreaEditorKit
      extends RTextAreaEditorKit

  An extension of `RTextAreaEditorKit` that adds functionality for programming-specific stuff. There are currently subclasses to handle:
  - Toggling code folds.
  - Aligning "closing" curly braces with their matches, if the current programming language uses curly braces to identify code blocks.
  - Copying the current selection as RTF.
  - Block indentation (increasing the indent of one or multiple lines)
  - Block un-indentation (decreasing the indent of one or multiple lines)
  - Inserting a "code template" when a configurable key (e.g. a space) is pressed
  - Decreasing the point size of all fonts in the text area
  - Increasing the point size of all fonts in the text area
  - Moving the caret to the "matching bracket" of the one at the current caret position
  - Toggling whether the currently selected lines are commented out.
  - Better selection of "words" on mouse double-clicks for programming languages.
  - Better keyboard navigation via Ctrl+arrow keys for programming languages.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected static class` | `RSyntaxTextAreaEditorKit.BeginWordAction` Positions the caret at the beginning of the word.
    `static class` | `RSyntaxTextAreaEditorKit.ChangeFoldStateAction` Expands or collapses the nearest fold.
    `static class` | `RSyntaxTextAreaEditorKit.CloseCurlyBraceAction` Action that (optionally) aligns a closing curly brace with the line containing its matching opening curly brace.
    `static class` | `RSyntaxTextAreaEditorKit.CloseMarkupTagAction` (Optionally) completes a closing markup tag.
    `static class` | `RSyntaxTextAreaEditorKit.CollapseAllCommentFoldsAction` Collapses all comment folds.
    `static class` | `RSyntaxTextAreaEditorKit.CollapseAllFoldsAction` Collapses all folds.
    `static class` | `RSyntaxTextAreaEditorKit.CopyAsRtfAction` Action for copying text as RTF.
    `static class` | `RSyntaxTextAreaEditorKit.DecreaseFontSizeAction` Action for decreasing the font size of all fonts in the text area.
    `static class` | `RSyntaxTextAreaEditorKit.DecreaseIndentAction` Action for when un-indenting lines (either the current line if there is selection, or all selected lines if there is one).
    `static class` | `RSyntaxTextAreaEditorKit.DeletePrevWordAction` Deletes the previous word, but differentiates symbols from "words" to match the behavior of code editors.
    `static class` | `RSyntaxTextAreaEditorKit.DumbCompleteWordAction` Overridden to use the programming language RSTA is displaying when computing words to complete.
    `protected static class` | `RSyntaxTextAreaEditorKit.EndWordAction` Positions the caret at the end of the word.
    `static class` | `RSyntaxTextAreaEditorKit.ExpandAllFoldsAction` Expands all folds.
    `static class` | `RSyntaxTextAreaEditorKit.GoToMatchingBracketAction` Action for moving the caret to the "matching bracket" of the bracket at the caret position (either before or after).
    `static class` | `RSyntaxTextAreaEditorKit.IncreaseFontSizeAction` Action for increasing the font size of all fonts in the text area.
    `static class` | `RSyntaxTextAreaEditorKit.InsertBreakAction` Action for when the user presses the Enter key.
    `static class` | `RSyntaxTextAreaEditorKit.InsertTabAction` Action for inserting tabs.
    `static class` | `RSyntaxTextAreaEditorKit.NextWordAction` Action to move the selection and/or caret.
    `static class` | `RSyntaxTextAreaEditorKit.PossiblyInsertTemplateAction` Action for when the user tries to insert a template (that is, they've typed a template ID and pressed the trigger character (a space) in an attempt to do the substitution).
    `static class` | `RSyntaxTextAreaEditorKit.PreviousWordAction` Action to move the selection and/or caret.
    `static class` | `RSyntaxTextAreaEditorKit.SelectWordAction` Selects the word around the caret.
    `static class` | `RSyntaxTextAreaEditorKit.ToggleCommentAction` Action that toggles whether the currently selected lines are commented.
    `static class` | `RSyntaxTextAreaEditorKit.ToggleCurrentFoldAction` Toggles the fold at the current caret position or line.

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

      `RTextAreaEditorKit.BeepAction, RTextAreaEditorKit.BeginAction, RTextAreaEditorKit.BeginLineAction, RTextAreaEditorKit.BeginRecordingMacroAction, RTextAreaEditorKit.ClipboardHistoryAction, RTextAreaEditorKit.CopyAction, RTextAreaEditorKit.CutAction, RTextAreaEditorKit.DefaultKeyTypedAction, RTextAreaEditorKit.DeleteLineAction, RTextAreaEditorKit.DeleteNextCharAction, RTextAreaEditorKit.DeletePrevCharAction, RTextAreaEditorKit.DeleteRestOfLineAction, RTextAreaEditorKit.EndAction, RTextAreaEditorKit.EndLineAction, RTextAreaEditorKit.EndRecordingMacroAction, RTextAreaEditorKit.InsertContentAction, RTextAreaEditorKit.InvertSelectionCaseAction, RTextAreaEditorKit.JoinLinesAction, RTextAreaEditorKit.LineMoveAction, RTextAreaEditorKit.LowerSelectionCaseAction, RTextAreaEditorKit.NextBookmarkAction, RTextAreaEditorKit.NextOccurrenceAction, RTextAreaEditorKit.NextVisualPositionAction, RTextAreaEditorKit.PasteAction, RTextAreaEditorKit.PlaybackLastMacroAction, RTextAreaEditorKit.PreviousOccurrenceAction, RTextAreaEditorKit.RedoAction, RTextAreaEditorKit.ScrollAction, RTextAreaEditorKit.SelectAllAction, RTextAreaEditorKit.SelectLineAction, RTextAreaEditorKit.SetReadOnlyAction, RTextAreaEditorKit.SetWritableAction, RTextAreaEditorKit.TimeDateAction, RTextAreaEditorKit.ToggleBookmarkAction, RTextAreaEditorKit.ToggleTextModeAction, RTextAreaEditorKit.UndoAction, RTextAreaEditorKit.UnselectAction, RTextAreaEditorKit.UpperSelectionCaseAction, RTextAreaEditorKit.VerticalPageAction`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `rstaCloseCurlyBraceAction`
    `static java.lang.String` | `rstaCloseMarkupTagAction`
    `static java.lang.String` | `rstaCollapseAllCommentFoldsAction`
    `static java.lang.String` | `rstaCollapseAllFoldsAction`
    `static java.lang.String` | `rstaCollapseFoldAction`
    `static java.lang.String` | `rstaCopyAsRtfAction`
    `static java.lang.String` | `rstaDecreaseIndentAction`
    `static java.lang.String` | `rstaExpandAllFoldsAction`
    `static java.lang.String` | `rstaExpandFoldAction`
    `static java.lang.String` | `rstaGoToMatchingBracketAction`
    `static java.lang.String` | `rstaPossiblyInsertTemplateAction`
    `static java.lang.String` | `rstaToggleCommentAction`
    `static java.lang.String` | `rstaToggleCurrentFoldAction`

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

      `clipboardHistoryAction, rtaBeginRecordingMacroAction, rtaDecreaseFontSizeAction, rtaDeleteLineAction, rtaDeletePrevWordAction, rtaDeleteRestOfLineAction, rtaDumbCompleteWordAction, rtaEndRecordingMacroAction, rtaIncreaseFontSizeAction, rtaInvertSelectionCaseAction, rtaJoinLinesAction, rtaLineDownAction, rtaLineUpAction, rtaLowerSelectionCaseAction, rtaNextBookmarkAction, rtaNextOccurrenceAction, rtaPlaybackLastMacroAction, rtaPrevBookmarkAction, rtaPrevOccurrenceAction, rtaRedoAction, rtaScrollDownAction, rtaScrollUpAction, rtaSelectionPageDownAction, rtaSelectionPageLeftAction, rtaSelectionPageRightAction, rtaSelectionPageUpAction, rtaTimeDateAction, rtaToggleBookmarkAction, rtaToggleTextModeAction, rtaUndoAction, rtaUnselectAction, rtaUpperSelectionCaseAction`

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

      `backwardAction, beepAction, beginAction, beginLineAction, beginParagraphAction, beginWordAction, copyAction, cutAction, defaultKeyTypedAction, deleteNextCharAction, deleteNextWordAction, deletePrevCharAction, deletePrevWordAction, downAction, endAction, endLineAction, EndOfLineStringProperty, endParagraphAction, endWordAction, forwardAction, insertBreakAction, insertContentAction, insertTabAction, nextWordAction, pageDownAction, pageUpAction, pasteAction, previousWordAction, readOnlyAction, selectAllAction, selectionBackwardAction, selectionBeginAction, selectionBeginLineAction, selectionBeginParagraphAction, selectionBeginWordAction, selectionDownAction, selectionEndAction, selectionEndLineAction, selectionEndParagraphAction, selectionEndWordAction, selectionForwardAction, selectionNextWordAction, selectionPreviousWordAction, selectionUpAction, selectLineAction, selectParagraphAction, selectWordAction, upAction, writableAction`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RSyntaxTextAreaEditorKit()` Constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `javax.swing.text.Document` | `createDefaultDocument()` Returns the default document used by `RSyntaxTextArea`s.
    `IconRowHeader` | `createIconRowHeader(RTextArea textArea)` Overridden to return a row header that is aware of folding.
    `javax.swing.Action[]` | `getActions()` Fetches the set of commands that can be used on a text component that is using a model and view produced by this kit.
    `static java.lang.String` | `getString(java.lang.String key)` Returns localized text for an action.

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

      `createLineNumberList, read`

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

      `createCaret, getContentType, getViewFactory, read, write, write`

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

      `clone, deinstall, install`

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

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

- - ### Field Detail

    - #### rstaCloseCurlyBraceAction

          public static final java.lang.String rstaCloseCurlyBraceAction

      See Also:
        Constant Field Values

    - #### rstaCloseMarkupTagAction

          public static final java.lang.String rstaCloseMarkupTagAction

      See Also:
        Constant Field Values

    - #### rstaCollapseAllFoldsAction

          public static final java.lang.String rstaCollapseAllFoldsAction

      See Also:
        Constant Field Values

    - #### rstaCollapseAllCommentFoldsAction

          public static final java.lang.String rstaCollapseAllCommentFoldsAction

      See Also:
        Constant Field Values

    - #### rstaCollapseFoldAction

          public static final java.lang.String rstaCollapseFoldAction

      See Also:
        Constant Field Values

    - #### rstaCopyAsRtfAction

          public static final java.lang.String rstaCopyAsRtfAction

      See Also:
        Constant Field Values

    - #### rstaDecreaseIndentAction

          public static final java.lang.String rstaDecreaseIndentAction

      See Also:
        Constant Field Values

    - #### rstaExpandAllFoldsAction

          public static final java.lang.String rstaExpandAllFoldsAction

      See Also:
        Constant Field Values

    - #### rstaExpandFoldAction

          public static final java.lang.String rstaExpandFoldAction

      See Also:
        Constant Field Values

    - #### rstaGoToMatchingBracketAction

          public static final java.lang.String rstaGoToMatchingBracketAction

      See Also:
        Constant Field Values

    - #### rstaPossiblyInsertTemplateAction

          public static final java.lang.String rstaPossiblyInsertTemplateAction

      See Also:
        Constant Field Values

    - #### rstaToggleCommentAction

          public static final java.lang.String rstaToggleCommentAction

      See Also:
        Constant Field Values

    - #### rstaToggleCurrentFoldAction

          public static final java.lang.String rstaToggleCurrentFoldAction

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### RSyntaxTextAreaEditorKit

          public RSyntaxTextAreaEditorKit()

      Constructor.

  - ### Method Detail

    - #### createDefaultDocument

          public javax.swing.text.Document createDefaultDocument()

      Returns the default document used by `RSyntaxTextArea`s.
      Overrides:
        `createDefaultDocument` in class `javax.swing.text.DefaultEditorKit`
      Returns:
        The document.

    - #### createIconRowHeader

          public IconRowHeader createIconRowHeader(RTextArea textArea)

      Overridden to return a row header that is aware of folding.
      Overrides:
        `createIconRowHeader` in class `RTextAreaEditorKit`
      Parameters:
        `textArea` - The text area.
      Returns:
        The icon row header.

    - #### getActions

          public javax.swing.Action[] getActions()

      Fetches the set of commands that can be used on a text component that is using a model and view produced by this kit.
      Overrides:
        `getActions` in class `RTextAreaEditorKit`
      Returns:
        the command list

    - #### getString

          public static java.lang.String getString(java.lang.String key)

      Returns localized text for an action. There's definitely a better place for this functionality.
      Parameters:
        `key` - The key into the action resource bundle.
      Returns:
        The localized text.