IdeIndenter

IdeIndenter

Functions

gboolean ide_indenter_is_trigger ()
gchar * ide_indenter_format ()

Types and Values

Object Hierarchy

    GInterface
    ╰── IdeIndenter

Prerequisites

IdeIndenter requires IdeObject.

Description

Functions

ide_indenter_is_trigger ()

gboolean
ide_indenter_is_trigger (IdeIndenter *self,
                         GdkEventKey *event);

Determines if event should trigger an indentation request. If TRUE is returned then ide_indenter_format() will be called.

If self is NULL, the fallback indenter is used, which tries to mimic the default indentation style of GtkSourceView.

Parameters

self

an IdeIndenter or NULL for the fallback.

[nullable]

event

a GdkEventKey

 

Returns

TRUE if event should trigger an indentation request.


ide_indenter_format ()

gchar *
ide_indenter_format (IdeIndenter *self,
                     GtkTextView *text_view,
                     GtkTextIter *begin,
                     GtkTextIter *end,
                     gint *cursor_offset,
                     GdkEventKey *event);

This function performs an indentation for the key press activated by event . The implementation is free to move the begin and end iters to swallow adjacent content. The result, a string, is the contents that will replace the content inbetween begin and end .

cursor_offset may be set to jump the cursor starting from end . Negative values are allowed.

If self is NULL, the fallback indenter is used, which tries to mimic the indentation style of GtkSourceView.

Parameters

self

An IdeIndenter or NULL for the fallback.

[nullable]

text_view

a GtkTextView

 

begin

a GtkTextIter for the beginning region of text to replace.

 

end

a GtkTextIter for the end region of text to replace.

 

cursor_offset

The offset in characters from end to place the cursor. Negative values are okay.

[out]

event

The GdkEventKey that triggered the event.

 

Returns

A string containing the replacement text, or NULL.

[nullable][transfer full]

Types and Values

IDE_TYPE_INDENTER

#define IDE_TYPE_INDENTER (ide_indenter_get_type())

struct IdeIndenterInterface

struct IdeIndenterInterface {
  GTypeInterface parent;

  gchar    *(*format)      (IdeIndenter   *self,
                            GtkTextView   *text_view,
                            GtkTextIter   *begin,
                            GtkTextIter   *end,
                            gint          *cursor_offset,
                            GdkEventKey   *event);
  gboolean  (*is_trigger)  (IdeIndenter   *self,
                            GdkEventKey   *event);
};

IdeIndenter

typedef struct _IdeIndenter IdeIndenter;