# Syn2 Editor

## Editor features

- Unicode support. Multiple encodings support.
- Fully customizable lexer supports RegExp, so editor is suitable for any plane text format.
- Text folding, any determined text range or user range may be collapsed.
- Line numbers, "Line changed" color indicator on gutter.
- Normal, column-oriented and line selection, clipboard operations.
- Export to RTF, HTML with syntax highlighting. Copying to clipboard in RTF.
- Stack-based markers like in CodeRush.
- Animation allows to mark out some position in text.
- SyncEdit feature from Delphi 2007 lets developers to simultaneously edit identical identifiers. See image.

## Highlighting features

- Highlighting styles can use any font.
- Text border styles.
- Syntax highlighting associated with simple lexical elements (tokens).
- Text range (sequence of tokens) highlighting. Any detected text range can have style that will be merged with token styles.
- Nested lexers highlighting. Combining several lexers in one using "Sub Lexer" rules.
- Highlighting of the user ranges (over lexer defined highlighting).
- Active highlighting depended on caret position. Highlights valid blocks (for example, current procedure, brackets, "begin" ... "end" blocks ...).
- Line highlighting associated with text ranges, caret position, gutter objects or custom.
- Powerful style merging (token style, text range style, dynamic style, …)
- Text partition by means of line separators like in Visual Basic IDE.
- Hierarchical text representation using block staples.
- Hiding parts of the text using Hidden attribute of the style.

## Mouse usage

- Right button click - Show popup menu.
- Left button click - Move caret to the mouse position and start normal selection.
- Alt + Left click - Move caret to the mouse position and start column selection.
- Alt + Ctrl + Left click - Move caret to the mouse position and start line selction. If during start selection Shift key has been pressed, block from current caret position to mouse click position is selected.
- Left button click over selection block - Start text dragging. Dragged text will be moved to new position. To copy selection using drag&drop press Control key during dragging.
- You can perform drag&drop on block staples. Press Control key and drag block staple. This operation will indent/unindent lines that are coupled by the block staple.