SpaceDrawer
Represent white space characters with symbols.
#GtkSourceSpaceDrawer provides a way to visualize white spaces, by drawing symbols.
Call method@View.get_space_drawer to get the GtkSourceSpaceDrawer
instance of a certain class@View.
By default, no white spaces are drawn because the property@SpaceDrawer:enable-matrix is false.
To draw white spaces, method@SpaceDrawer.set_types_for_locations can be called to set the property@SpaceDrawer:matrix property (by default all space types are enabled at all locations). Then call method@SpaceDrawer.set_enable_matrix.
For a finer-grained method, there is also the class@Tag's property@Tag:draw-spaces property.
Example
To draw non-breaking spaces everywhere and draw all types of trailing spaces except newlines:
gtk_source_space_drawer_set_types_for_locations (space_drawer,
GTK_SOURCE_SPACE_LOCATION_ALL,
GTK_SOURCE_SPACE_TYPE_NBSP);
gtk_source_space_drawer_set_types_for_locations (space_drawer,
GTK_SOURCE_SPACE_LOCATION_TRAILING,
GTK_SOURCE_SPACE_TYPE_ALL &
~GTK_SOURCE_SPACE_TYPE_NEWLINE);
gtk_source_space_drawer_set_enable_matrix (space_drawer, TRUE);
Use-case: draw unwanted white spaces
A possible use-case is to draw only unwanted white spaces. Examples:
Draw all trailing spaces.
If the indentation and alignment must be done with spaces, draw tabs.
And non-breaking spaces can always be drawn, everywhere, to distinguish them from normal spaces.
Skipped during bindings generation
method
matrix
: Property TypeInfo of getter and setter do not match
Constructors
Properties
Functions
Binds the property@SpaceDrawer:matrix property to a class@Gio.Settings key.
If only one location is specified, this function returns what kind of white spaces are drawn at that location.
Sets whether the property@SpaceDrawer:matrix property is enabled.
Modifies the property@SpaceDrawer:matrix property at the specified