The roadmap for the next release can be found here GtkSourceView/RoadMap
Possible Undo Manager Improvements
- Add functions that return the list of actions that can be undoed and redoed (as strings):
- For example: "Insert 'Ciao'", "New paragraph", "Insert 'How'", "Insert 'are', "Delete 'How are'", "Insert "A very long tex...."
- Give a look at gnumeric e OOWriter
- Do we need to implement undo/redo toolbutton widgets? I think we should.
- Add functions to undo/redo a list of actions
- Store the list of actions on disk???
- New functions to add:
void gtk_source_undo_manager_undo_multiple (GtkSourceUndoManager *um, guint num_of_actions); void gtk_source_undo_manager_redo_multiple (GtkSourceUndoManager *um, guint num_of_actions); /* Returns a list of strings */ GSList *gtk_source_undo_manager_get_undo_list (GtkSourceUndoManager *um); GSList *gtk_source_undo_manager_get_redo_list (GtkSourceUndoManager *um);
Code Folding
With the new support for hidden text in GTK+-2.8 we can now support code folding in GtkSourceView.
This is implemented and waiting for review (see bug gnomebug:134610)
Note: look at combining the code folding functionality with the new highlighting engine so we can specify folding regions inside the language file. See http://kate.kde.org/syntax/2.4/c.xml for the C language file used by Kate for examples (beginRegion, endRegion attributes).
New syntax highlighting engine
The branch "new_hl_engine" contains the implementation of a new syntax highlighting engine that can handle more complex structures such as nested languages (i.e. Javascript inside HTML.) The new engine uses a new xml-based format to describe the languages, see the reference and the tutorial.
GtkSourceView/HighlightingIdeas: new features ideas.
A list of syntax .lang files: GtkSourceView/LanguageDefinitions
Some history here:
Color single lines
With the addition of "paragraph-background" in GTK+-2.8 we can now allow users to color entire lines.
This is implemented and waiting for review (see bug gnomebug:310847)
void gtk_source_view_set_marker_background_color (GtkSourceView *view, const gchar *marker_type, GdkColor *color); GdkColor *gtk_source_view_get_marker_background_color (GtkSourceView *view, const gchar *marker_type);
Show document tags in right gutter
Eclipse has a really useful feature (once you know it exists) where it has a gutter on the right which where it displays various areas in the document. An area is drawn using a box filled with a color. Examples of this are areas where a file diffs from the one in CVS, compile errors in a Java file, location where a match was found during a search etc. The top of the gutter (on the right of the top scrollbar bottom) indicates the top of the document. The bottom of the gutter is the end of the document. You could also use this for displaying a fold region.
One obvious use in gedit would be when searching for a string in a document: instead of pressing the Next button or Ctrl-G until you've found the match you're looking for, you can see all the matches in the right gutter and simply click on one to jump to that location.
Another use for this feature would be to show bookmark locations (first have to implement bookmark support in gedit :).
http://www.xs4all.nl/~jeroen/screenshots/Screenshot-Eclipse-Gutter.png
VS.net does it a little different. They show the gutter on the left *inside* the ScrolledWindow. Disadvantage is that you can only see/click items currently visible in the viewport. (the yellow line here indicates new code since the last compilation)
http://msdn.microsoft.com/vstudio/art/roadmap/Figure_15.jpg
Finally there's this idea from the Evince guys:
Improve keyboard navigation
Would be nice to have the following:
Something + arrows: scroll the document without moving the cursor (eclipse uses CTRL, but those combinations are already taken in TextView)
SomethingElse + arrows: move current line (eclipse uses ALT)
Shift+ScrollWheel: horizontal scrolling. This should prolly go in GtkTextView
