What's New in V3.x:
- Major lexical parsing speed increases of up to 10x (depending on the language) over the 2.5 version
- Improved backtracking NFA regular expression engine that supports look-behinds
- Non-UI document find/replace object model
- Capture groups and substitutions for regex find/replace
- Token mouse events like TokenMouseDown, TokenMouseEnter, etc.
- Lexical state and token ID's
- Customizable key processing model that lets you override what EditCommand occurs
- True word-boundary-based word wrap
- Macro recording and playback
- Custom cursors for highlighting styles, enabling URLs
- Improved clipboard and drag/drop customization features
- Current line highlighting
- Scrollbar display options
- Sample spell check dialog
- New language definitions for Java, Perl, PHP, and batch files
What's New in V2.5
- Completely Separated the User Interface from the Document/Parsing Model
- Added Syntax Highlighting To Collapsed Outlining Node Tooltips
- Added More Print Settings that Can Be Set Independent of a SyntaxEditor Control's Settings
- Added Display Lines to the Object Model
- Added More Methods to Access the Outlining Object Model
- Added the TextStylePreview Control
- Finalized WinUICore and Shared 1.0 Library Object Model
- Many other Feature Enhancements and Bug Fixes
SyntaxEditor is a powerful editing control, similar to a multi-line TextBox, which syntax highlights text and provides an amazing number of state-of-the-art features for code editing. SyntaxEditor is modeled after the code editor in VS.NET and provides nearly all of its functionality.
SyntaxEditor comes packaged with a number of sample language definitions for common languages like Batch files, C#, CSS, HTML, INI files, Java, Jscript, Perl, PHP, Python, SQL, VB.NET, VBScript, and XML. Custom language definitions can be developed in an easy to learn XML format and distributed with your applications. To provide maximum functionality in the editor control, SyntaxEditor uses two parsing phases, a lexical parsing phase that tokenizes text, and an optional semantic parsing phase that you can implement to generate extended semantic parse data to be used for code outlining, IntelliPrompt, etc.
SyntaxEditor is best designed for use in IDE (integrated development environment) applications. It also may be creatively used in other scenarios. For instance, you could make the editor read-only and use it for displaying log files or status messages (like in an FTP client) for an application. The possibilities are limitless.
The SyntaxEditor product was designed with complete separation of the user interface and document/parsing object model in mind. You can load a Document object and parse it with a SyntaxLanguage without having to instantiate a SyntaxEditor control. This allows for incredible flexibility when wanting to parse text without having a user interface control loaded.
Major features of SyntaxEditor include:
- Multiple language support
- Custom backtracking NFA regular expression engine
- XML language definitions
- Lexical parsing of text into tokens
- Open-ended design for semantic parsing of tokens
- Complete separation of the user interface and document/parsing object model
- Code outlining
- Unlimited undo/redo
- Undo/redo action grouping
- Line numbering in line number margin
- Line modification tracking
- Word wrap (character and token wrapping modes)
- Indicators (bookmarks, breakpoints, misspelling markers, etc.) in indicator margin
- Indentation guides
- Whitespace display
- Content dividers
- Block indent/outdent
- Line selection in the selection margin
- Custom line numbers
- Current line highlighting
- Bracket highlighting
- Macro recording and playback
- Case sensitivity and auto-correct
- Customizable key processing
- Complete extended Unicode character and IME support
- Any type of font is supported, including non-monospace fonts
- Triggers for handling keystroke/command combinations
- Feature-rich find/replace object model that supports captures
- Customizable dialogs for find/replace, goto line, spell check, and highlighting styles
- Four-way or two-way split views
- IntelliPrompt member lists
- Reflection helper methods for adding member list items
- IntelliPrompt info tips
- IntelliPrompt quick info
- Syntax-highlighted tooltips when hovering over collapsed outlining nodes
- WYSIWYG printing and print preview with print-specific format settings
- HTML and RTF export
- Customizable clipboard and drag/drop actions, with support for any DataObject
- Multiple scrollbar visibility settings
- Single-line mode
- Token-specific highlighting styles enabling custom styles for user-defined keywords
- A TextStylePreview control that can be used to display text styles on an Options dialog
|