![]() |
![]() |
![]() |
GtkSourceView 3 Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties |
GtkSourceLanguageManagerGtkSourceLanguageManager — Object which provides access to GtkSourceLanguages |
#include <gtksourceview/gtksource.h> GtkSourceLanguageManager; GtkSourceLanguageManager * gtk_source_language_manager_new (void
); GtkSourceLanguageManager * gtk_source_language_manager_get_default (void
); void gtk_source_language_manager_set_search_path (GtkSourceLanguageManager *lm
,gchar **dirs
); const gchar * const * gtk_source_language_manager_get_search_path (GtkSourceLanguageManager *lm
); const gchar * const * gtk_source_language_manager_get_language_ids (GtkSourceLanguageManager *lm
); GtkSourceLanguage * gtk_source_language_manager_get_language (GtkSourceLanguageManager *lm
,const gchar *id
); GtkSourceLanguage * gtk_source_language_manager_guess_language (GtkSourceLanguageManager *lm
,const gchar *filename
,const gchar *content_type
);
GtkSourceLanguageManager is an object which processes language description
files and creates and stores GtkSourceLanguage objects, and provides API to
access them.
Use gtk_source_language_manager_get_default()
to retrieve the default
instance of GtkSourceLanguageManager, and
gtk_source_language_manager_guess_language()
to get a GtkSourceLanguage for
given file name and content type.
GtkSourceLanguageManager * gtk_source_language_manager_new
(void
);
Creates a new language manager. If you do not need more than one language
manager or a private language manager instance then use
gtk_source_language_manager_get_default()
instead.
Returns : |
a new GtkSourceLanguageManager. |
GtkSourceLanguageManager * gtk_source_language_manager_get_default
(void
);
Returns the default GtkSourceLanguageManager instance.
Returns : |
a GtkSourceLanguageManager. Return value is owned by GtkSourceView library and must not be unref'ed. [transfer none] |
void gtk_source_language_manager_set_search_path (GtkSourceLanguageManager *lm
,gchar **dirs
);
Sets the list of directories where the lm
looks for
language files.
If dirs
is NULL
, the search path is reset to default.
At the moment this function can be called only before the language files are loaded for the first time. In practice to set a custom search path for a GtkSourceLanguageManager, you have to call this function right after creating it.
|
a GtkSourceLanguageManager. |
|
a NULL -terminated array of strings or NULL . [allow-none][array zero-terminated=1]
|
const gchar * const * gtk_source_language_manager_get_search_path
(GtkSourceLanguageManager *lm
);
Gets the list directories where lm
looks for language files.
|
a GtkSourceLanguageManager. |
Returns : |
NULL -terminated array
containg a list of language files directories.
The array is owned by lm and must not be modified. [array zero-terminated=1][transfer none]
|
const gchar * const * gtk_source_language_manager_get_language_ids
(GtkSourceLanguageManager *lm
);
Returns the ids of the available languages.
|
a GtkSourceLanguageManager. |
Returns : |
a NULL -terminated array of string
containing the ids of the available languages or NULL if
no language is available.
The array is sorted alphabetically according to the language
name.
The array is owned by lm and must not be modified. [transfer none]
|
GtkSourceLanguage * gtk_source_language_manager_get_language (GtkSourceLanguageManager *lm
,const gchar *id
);
Gets the GtkSourceLanguage identified by the given id
in the language
manager.
|
a GtkSourceLanguageManager. |
|
a language id. |
Returns : |
a GtkSourceLanguage, or NULL if there is no language
identified by the given id . Return value is owned by lm and should not
be freed. [transfer none]
|
GtkSourceLanguage * gtk_source_language_manager_guess_language (GtkSourceLanguageManager *lm
,const gchar *filename
,const gchar *content_type
);
Picks a GtkSourceLanguage for given file name and content type,
according to the information in lang files. Either filename
or
content_type
may be NULL
. This function can be used as follows:
1 2 3 |
GtkSourceLanguage *lang; lang = gtk_source_language_manager_guess_language (filename, NULL); gtk_source_buffer_set_language (buffer, lang); |
or
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
GtkSourceLanguage *lang = NULL; gboolean result_uncertain; gchar *content_type; content_type = g_content_type_guess (filename, NULL, 0, &result_uncertain); if (result_uncertain) { g_free (content_type); content_type = NULL; } lang = gtk_source_language_manager_guess_language (manager, filename, content_type); gtk_source_buffer_set_language (buffer, lang); g_free (content_type); |
etc. Use gtk_source_language_get_mime_types()
and gtk_source_language_get_globs()
if you need full control over file -> language mapping.
|
a GtkSourceLanguageManager. |
|
a filename in Glib filename encoding, or NULL . [allow-none]
|
|
a content type (as in GIO API), or NULL . [allow-none]
|
Returns : |
a GtkSourceLanguage, or NULL if there is no suitable language
for given filename and/or content_type . Return value is owned by lm
and should not be freed. [transfer none]
|
Since 2.4