Geany  dev
Functions
sciwrappers.h File Reference

Wrapper functions for the Scintilla editor widget SCI_* messages. More...

Functions

void sci_delete_marker_at_line (ScintillaObject *sci, gint line_number, gint marker)
 Deletes a line marker. More...
 
void sci_end_undo_action (ScintillaObject *sci)
 Ends grouping a set of edits together as one Undo action. More...
 
void sci_ensure_line_is_visible (ScintillaObject *sci, gint line)
 Makes line visible (folding may have hidden it). More...
 
gint sci_find_matching_brace (ScintillaObject *sci, gint pos)
 Finds a matching brace at pos. More...
 
gint sci_find_text (ScintillaObject *sci, gint flags, struct Sci_TextToFind *ttf)
 Finds text in the document. More...
 
gchar sci_get_char_at (ScintillaObject *sci, gint pos)
 Gets a character. More...
 
gint sci_get_col_from_position (ScintillaObject *sci, gint position)
 Gets the column number relative to the start of the line that position is on. More...
 
gchar * sci_get_contents (ScintillaObject *sci, gint buffer_len)
 Allocates and fills a buffer with text from the start of the document. More...
 
gchar * sci_get_contents_range (ScintillaObject *sci, gint start, gint end)
 Gets text between start and end. More...
 
gint sci_get_current_line (ScintillaObject *sci)
 Gets current line number. More...
 
gint sci_get_current_position (ScintillaObject *sci)
 Gets the cursor position. More...
 
gint sci_get_length (ScintillaObject *sci)
 Gets the length of all text. More...
 
gint sci_get_lexer (ScintillaObject *sci)
 Gets the currently used lexer. More...
 
gchar * sci_get_line (ScintillaObject *sci, gint line_num)
 Gets line contents. More...
 
gint sci_get_line_count (ScintillaObject *sci)
 Gets the total number of lines. More...
 
gint sci_get_line_end_position (ScintillaObject *sci, gint line)
 Gets the position at the end of a line. More...
 
gint sci_get_line_from_position (ScintillaObject *sci, gint position)
 Gets the line number from position. More...
 
gint sci_get_line_indentation (ScintillaObject *sci, gint line)
 Gets the indentation width of a line. More...
 
gboolean sci_get_line_is_visible (ScintillaObject *sci, gint line)
 Checks if a line is visible (folding may have hidden it). More...
 
gint sci_get_line_length (ScintillaObject *sci, gint line)
 Gets line length. More...
 
gint sci_get_position_from_line (ScintillaObject *sci, gint line)
 Gets the position for the start of line. More...
 
void sci_get_selected_text (ScintillaObject *sci, gchar *text)
 Gets selected text. More...
 
gint sci_get_selected_text_length (ScintillaObject *sci)
 Gets selected text length. More...
 
gchar * sci_get_selection_contents (ScintillaObject *sci)
 Gets selected text. More...
 
gint sci_get_selection_end (ScintillaObject *sci)
 Gets the selection end position. More...
 
gint sci_get_selection_mode (ScintillaObject *sci)
 Gets selection mode. More...
 
gint sci_get_selection_start (ScintillaObject *sci)
 Gets the selection start position. More...
 
gint sci_get_style_at (ScintillaObject *sci, gint position)
 Gets style ID at position. More...
 
gint sci_get_tab_width (ScintillaObject *sci)
 Gets display tab width (this is not indent width, see GeanyIndentPrefs). More...
 
void sci_get_text (ScintillaObject *sci, gint len, gchar *text)
 Gets all text. More...
 
void sci_get_text_range (ScintillaObject *sci, gint start, gint end, gchar *text)
 Gets text between start and end. More...
 
void sci_goto_line (ScintillaObject *sci, gint line, gboolean unfold)
 Jumps to the specified line in the document. More...
 
gboolean sci_has_selection (ScintillaObject *sci)
 Checks if there's a selection. More...
 
void sci_indicator_clear (ScintillaObject *sci, gint pos, gint len)
 Clears the currently set indicator from a range of text. More...
 
void sci_indicator_set (ScintillaObject *sci, gint indic)
 Sets the current indicator. More...
 
void sci_insert_text (ScintillaObject *sci, gint pos, const gchar *text)
 Inserts text. More...
 
gboolean sci_is_marker_set_at_line (ScintillaObject *sci, gint line, gint marker)
 Checks if a line has a marker set. More...
 
void sci_replace_sel (ScintillaObject *sci, const gchar *text)
 Replaces selection. More...
 
void sci_scroll_caret (ScintillaObject *sci)
 Scrolls the cursor in view. More...
 
void sci_send_command (ScintillaObject *sci, gint cmd)
 Sends Scintilla commands without any parameters. More...
 
void sci_set_current_position (ScintillaObject *sci, gint position, gboolean scroll_to_caret)
 Sets the cursor position. More...
 
void sci_set_font (ScintillaObject *sci, gint style, const gchar *font, gint size)
 Sets the font for a particular style. More...
 
void sci_set_line_indentation (ScintillaObject *sci, gint line, gint indent)
 Sets the indentation of a line. More...
 
void sci_set_marker_at_line (ScintillaObject *sci, gint line_number, gint marker)
 Sets a line marker. More...
 
void sci_set_selection_end (ScintillaObject *sci, gint position)
 Sets the selection end position. More...
 
void sci_set_selection_mode (ScintillaObject *sci, gint mode)
 Sets selection mode. More...
 
void sci_set_selection_start (ScintillaObject *sci, gint position)
 Sets the selection start position. More...
 
void sci_set_text (ScintillaObject *sci, const gchar *text)
 Sets all text. More...
 
void sci_start_undo_action (ScintillaObject *sci)
 Begins grouping a set of edits together as one Undo action. More...
 

Detailed Description

Wrapper functions for the Scintilla editor widget SCI_* messages.

You should also check the http://scintilla.org documentation, as it is more detailed.

To get Scintilla notifications, use the "editor-notify" signal .

Note
These functions were originally from the cssed project (http://cssed.sf.net, thanks).
See Also
scintilla_send_message().

Function Documentation

void sci_delete_marker_at_line ( ScintillaObject *  sci,
gint  line_number,
gint  marker 
)

Deletes a line marker.

Parameters
sciScintilla widget.
line_numberLine number.
markerMarker number.
void sci_end_undo_action ( ScintillaObject *  sci)

Ends grouping a set of edits together as one Undo action.

Parameters
sciScintilla GtkWidget.
See Also
sci_start_undo_action().
void sci_ensure_line_is_visible ( ScintillaObject *  sci,
gint  line 
)

Makes line visible (folding may have hidden it).

Parameters
sciScintilla widget.
lineLine number.
gint sci_find_matching_brace ( ScintillaObject *  sci,
gint  pos 
)

Finds a matching brace at pos.

Parameters
sciScintilla widget.
posPosition.
Returns
Matching brace position.
Since
0.15
gint sci_find_text ( ScintillaObject *  sci,
gint  flags,
struct Sci_TextToFind *  ttf 
)

Finds text in the document.

The ttf argument should be a pointer to a Sci_TextToFind structure which contains the text to find and the range in which the text should be searched.

Please refer to the Scintilla documentation for a more detailed description.

Parameters
sciScintilla widget.
flagsBitmask of Scintilla search flags (SCFIND_*, see Scintilla documentation).
ttfPointer to a TextToFind structure which contains the text to find and the range.
Returns
The position of the start of the found text if it succeeds, otherwise -1. The chrgText.cpMin and chrgText.cpMax members of TextToFind are filled in with the start and end positions of the found text.
gchar sci_get_char_at ( ScintillaObject *  sci,
gint  pos 
)

Gets a character.

Parameters
sciScintilla widget.
posPosition.
Returns
Char.
gint sci_get_col_from_position ( ScintillaObject *  sci,
gint  position 
)

Gets the column number relative to the start of the line that position is on.

Parameters
sciScintilla widget.
positionPosition.
Returns
The column.
gchar* sci_get_contents ( ScintillaObject *  sci,
gint  buffer_len 
)

Allocates and fills a buffer with text from the start of the document.

Parameters
sciScintilla widget.
buffer_lenBuffer length to allocate, including the terminating null char, e.g. sci_get_length() + 1. Alternatively use -1 to get all text (since Geany 1.23).
Returns
A copy of the text. Should be freed when no longer needed.
Since
1.23 (0.17)
gchar* sci_get_contents_range ( ScintillaObject *  sci,
gint  start,
gint  end 
)

Gets text between start and end.

Parameters
sciScintilla widget.
startStart position.
endEnd position.
Returns
The text inside the given range. Should be freed when no longer needed.
Since
0.17
gint sci_get_current_line ( ScintillaObject *  sci)

Gets current line number.

Parameters
sciScintilla widget.
Returns
Line number.
gint sci_get_current_position ( ScintillaObject *  sci)

Gets the cursor position.

Parameters
sciScintilla widget.
Returns
Position.
gint sci_get_length ( ScintillaObject *  sci)

Gets the length of all text.

Parameters
sciScintilla widget.
Returns
Length.
gint sci_get_lexer ( ScintillaObject *  sci)

Gets the currently used lexer.

Parameters
sciScintilla widget.
Returns
The lexer ID
gchar* sci_get_line ( ScintillaObject *  sci,
gint  line_num 
)

Gets line contents.

Parameters
sciScintilla widget.
line_numLine number.
Returns
A NULL-terminated copy of the line text.
gint sci_get_line_count ( ScintillaObject *  sci)

Gets the total number of lines.

Parameters
sciScintilla widget.
Returns
The line count.
gint sci_get_line_end_position ( ScintillaObject *  sci,
gint  line 
)

Gets the position at the end of a line.

Parameters
sciScintilla widget.
lineLine.
Returns
The position at the end of the line.
gint sci_get_line_from_position ( ScintillaObject *  sci,
gint  position 
)

Gets the line number from position.

Parameters
sciScintilla widget.
positionPosition.
Returns
The line.
gint sci_get_line_indentation ( ScintillaObject *  sci,
gint  line 
)

Gets the indentation width of a line.

Parameters
sciScintilla widget.
lineLine to get the indentation from.
Returns
Indentation width.
Since
0.19
gboolean sci_get_line_is_visible ( ScintillaObject *  sci,
gint  line 
)

Checks if a line is visible (folding may have hidden it).

Parameters
sciScintilla widget.
lineLine number.
Returns
Whether line will be drawn on the screen.
gint sci_get_line_length ( ScintillaObject *  sci,
gint  line 
)

Gets line length.

Parameters
sciScintilla widget.
lineLine number.
Returns
Length.
gint sci_get_position_from_line ( ScintillaObject *  sci,
gint  line 
)

Gets the position for the start of line.

Parameters
sciScintilla widget.
lineLine.
Returns
Position.
void sci_get_selected_text ( ScintillaObject *  sci,
gchar *  text 
)

Gets selected text.

Deprecated:
sci_get_selected_text is deprecated and should not be used in newly-written code. Use sci_get_selection_contents() instead.
Parameters
sciScintilla widget.
textText buffer; must be allocated sci_get_selected_text_length() + 1 bytes for null-termination.
gint sci_get_selected_text_length ( ScintillaObject *  sci)

Gets selected text length.

Parameters
sciScintilla widget.
Returns
Length.
gchar* sci_get_selection_contents ( ScintillaObject *  sci)

Gets selected text.

Parameters
sciScintilla widget.
Returns
The selected text. Should be freed when no longer needed.
Since
0.17
gint sci_get_selection_end ( ScintillaObject *  sci)

Gets the selection end position.

Parameters
sciScintilla widget.
Returns
Position.
gint sci_get_selection_mode ( ScintillaObject *  sci)

Gets selection mode.

Parameters
sciScintilla widget.
Returns
Selection mode.
gint sci_get_selection_start ( ScintillaObject *  sci)

Gets the selection start position.

Parameters
sciScintilla widget.
Returns
Position.
gint sci_get_style_at ( ScintillaObject *  sci,
gint  position 
)

Gets style ID at position.

Parameters
sciScintilla widget.
positionPosition.
Returns
Style ID.
gint sci_get_tab_width ( ScintillaObject *  sci)

Gets display tab width (this is not indent width, see GeanyIndentPrefs).

Parameters
sciScintilla widget.
Returns
Width.
Since
0.15
void sci_get_text ( ScintillaObject *  sci,
gint  len,
gchar *  text 
)

Gets all text.

Deprecated:
sci_get_text is deprecated and should not be used in newly-written code. Use sci_get_contents() instead.
Parameters
sciScintilla widget.
lenLength of text buffer, usually sci_get_length() + 1.
textText buffer; must be allocated len + 1 bytes for null-termination.
void sci_get_text_range ( ScintillaObject *  sci,
gint  start,
gint  end,
gchar *  text 
)

Gets text between start and end.

Deprecated:
sci_get_text_range is deprecated and should not be used in newly-written code. Use sci_get_contents_range() instead.
Parameters
sciScintilla widget.
startStart.
endEnd.
textText will be zero terminated and must be allocated (end - start + 1) bytes.
void sci_goto_line ( ScintillaObject *  sci,
gint  line,
gboolean  unfold 
)

Jumps to the specified line in the document.

If unfold is set and line is hidden by a fold, it is unfolded first to ensure it is visible.

Parameters
sciScintilla widget.
lineLine.
unfoldWhether to unfold first.
gboolean sci_has_selection ( ScintillaObject *  sci)

Checks if there's a selection.

Parameters
sciScintilla widget.
Returns
Whether a selection is present.
Since
0.15
void sci_indicator_clear ( ScintillaObject *  sci,
gint  pos,
gint  len 
)

Clears the currently set indicator from a range of text.

Starting at pos, len characters long. In order to make this function properly, you need to set the current indicator before with sci_indicator_set().

Parameters
sciScintilla widget.
posStarting position.
lenLength.
Since
0.16
void sci_indicator_set ( ScintillaObject *  sci,
gint  indic 
)

Sets the current indicator.

This is necessary to define an indicator for a range of text or clearing indicators for a range of text.

Parameters
sciScintilla widget.
indicThe indicator number to set.
See Also
sci_indicator_clear
Since
0.16
void sci_insert_text ( ScintillaObject *  sci,
gint  pos,
const gchar *  text 
)

Inserts text.

Parameters
sciScintilla widget.
posPosition, or -1 for current.
textText.
gboolean sci_is_marker_set_at_line ( ScintillaObject *  sci,
gint  line,
gint  marker 
)

Checks if a line has a marker set.

Parameters
sciScintilla widget.
lineLine number.
markerMarker number.
Returns
Whether it's set.
void sci_replace_sel ( ScintillaObject *  sci,
const gchar *  text 
)

Replaces selection.

Parameters
sciScintilla widget.
textText.
void sci_scroll_caret ( ScintillaObject *  sci)

Scrolls the cursor in view.

Parameters
sciScintilla widget.
void sci_send_command ( ScintillaObject *  sci,
gint  cmd 
)

Sends Scintilla commands without any parameters.

Parameters
sciThe Scintilla GtkWidget.
cmdSCI_COMMAND.
See Also
http://scintilla.org for the documentation.
Since
0.16
void sci_set_current_position ( ScintillaObject *  sci,
gint  position,
gboolean  scroll_to_caret 
)

Sets the cursor position.

Parameters
sciScintilla widget.
positionPosition.
scroll_to_caretWhether to scroll the cursor in view.
void sci_set_font ( ScintillaObject *  sci,
gint  style,
const gchar *  font,
gint  size 
)

Sets the font for a particular style.

Parameters
sciScintilla widget.
styleThe style.
fontThe font name.
sizeThe font size.
void sci_set_line_indentation ( ScintillaObject *  sci,
gint  line,
gint  indent 
)

Sets the indentation of a line.

Parameters
sciScintilla widget.
lineLine to indent.
indentIndentation width.
Since
0.19
void sci_set_marker_at_line ( ScintillaObject *  sci,
gint  line_number,
gint  marker 
)

Sets a line marker.

Parameters
sciScintilla widget.
line_numberLine number.
markerMarker number.
void sci_set_selection_end ( ScintillaObject *  sci,
gint  position 
)

Sets the selection end position.

Parameters
sciScintilla widget.
positionPosition.
void sci_set_selection_mode ( ScintillaObject *  sci,
gint  mode 
)

Sets selection mode.

Parameters
sciScintilla widget.
modeMode.
void sci_set_selection_start ( ScintillaObject *  sci,
gint  position 
)

Sets the selection start position.

Parameters
sciScintilla widget.
positionPosition.
void sci_set_text ( ScintillaObject *  sci,
const gchar *  text 
)

Sets all text.

Parameters
sciScintilla widget.
textText.
void sci_start_undo_action ( ScintillaObject *  sci)

Begins grouping a set of edits together as one Undo action.

You must call sci_end_undo_action() after making your edits.

Parameters
sciScintilla GtkWidget.