GtkSourceView
GtkSourceView is a GNOME library that extends GtkTextView, the standard GTK+ widget for multiline text editing. GtkSourceView adds support for syntax highlighting, undo/redo, file loading and saving, search and replace, a completion system, printing, displaying line numbers, and other features typical of a source code editor.
Features
Accurate syntax highlighting for most popular programming languages (C, C++, Java, C#, Fortran, etc.), scripting languages (sh, Python, Perl, Ruby, PHP, TCL, etc.), markup languages (XML, HTML, DocBook, LaTeX, etc.) and many others
- Customizable visual style using style schemes
- Unlimited Undo/Redo
- File loading and saving
- Extensible completion framework
- Search and replace, with regex support
- Line numbers
- Line marks (useful for bookmarks, breakpoints, etc.)
Printing through easy integration with the GtkPrintOperation API
- Highlight the current line
- Highlight the matching bracket
- Right margin
- Represent whitespace characters with symbols
- A minimap, which shows an overview of the text
- Extended keyboard navigation (smart Home/End, smart backspace, auto indentation, line moving, etc.)
Can be used from many programming languages. Thanks to GObject Introspection, automatic bindings are available for JavaScript, Python, Vala and others. For C++, there is gtksourceviewmm.
Downloads
Documentation
Related Libraries
gspell - For spell-checking.
Tepl - Text editor product line, a library that eases the development of GtkSourceView-based text editors and IDEs.
Getting in Touch
- IRC: the #gtksourceview channel on irc.gnome.org
Bugzilla product (no longer open for new bugs)
GitLab issues (before filing a new bug search also the bugzilla first)
Development Resources