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:
  Serializable, 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.

Version:
  0.5
Author:
  Robert Futrell
See Also:
  Serialized Form

### Nested Class Summary

Nested Classes
`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.EndAction` Moves the caret to the end of the document, taking into account code folding.
`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.CopyAction, RTextAreaEditorKit.CutAction, RTextAreaEditorKit.DefaultKeyTypedAction, RTextAreaEditorKit.DeleteLineAction, RTextAreaEditorKit.DeleteNextCharAction, RTextAreaEditorKit.DeletePrevCharAction, RTextAreaEditorKit.DeleteRestOfLineAction, RTextAreaEditorKit.DumbCompleteWordAction, 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
`static String` `rstaCloseCurlyBraceAction`
`static String` `rstaCloseMarkupTagAction`
`static String` `rstaCollapseAllCommentFoldsAction`
`static String` `rstaCollapseAllFoldsAction`
`static String` `rstaCollapseFoldAction`
`static String` `rstaCopyAsRtfAction`
`static String` `rstaDecreaseIndentAction`
`static String` `rstaExpandAllFoldsAction`
`static String` `rstaExpandFoldAction`
`static String` `rstaGoToMatchingBracketAction`
`static String` `rstaPossiblyInsertTemplateAction`
`static String` `rstaToggleCommentAction`
`static String` `rstaToggleCurrentFoldAction`

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

`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
`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.
`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 String` `getString(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 String rstaCloseCurlyBraceAction

See Also:
  Constant Field Values

#### rstaCloseMarkupTagAction

    public static final String rstaCloseMarkupTagAction

See Also:
  Constant Field Values

#### rstaCollapseAllFoldsAction

    public static final String rstaCollapseAllFoldsAction

See Also:
  Constant Field Values

#### rstaCollapseAllCommentFoldsAction

    public static final String rstaCollapseAllCommentFoldsAction

See Also:
  Constant Field Values

#### rstaCollapseFoldAction

    public static final String rstaCollapseFoldAction

See Also:
  Constant Field Values

#### rstaCopyAsRtfAction

    public static final String rstaCopyAsRtfAction

See Also:
  Constant Field Values

#### rstaDecreaseIndentAction

    public static final String rstaDecreaseIndentAction

See Also:
  Constant Field Values

#### rstaExpandAllFoldsAction

    public static final String rstaExpandAllFoldsAction

See Also:
  Constant Field Values

#### rstaExpandFoldAction

    public static final String rstaExpandFoldAction

See Also:
  Constant Field Values

#### rstaGoToMatchingBracketAction

    public static final String rstaGoToMatchingBracketAction

See Also:
  Constant Field Values

#### rstaPossiblyInsertTemplateAction

    public static final String rstaPossiblyInsertTemplateAction

See Also:
  Constant Field Values

#### rstaToggleCommentAction

    public static final String rstaToggleCommentAction

See Also:
  Constant Field Values

#### rstaToggleCurrentFoldAction

    public static final String rstaToggleCurrentFoldAction

See Also:
  Constant Field Values

### Constructor Detail

#### RSyntaxTextAreaEditorKit

    public RSyntaxTextAreaEditorKit()

Constructor.

### Method Detail

#### createDefaultDocument

    public Document createDefaultDocument()

Returns the default document used by `RSyntaxTextArea`s.

Overrides:
  `createDefaultDocument` in class `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 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 String getString(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.