Picks a [class@Language] 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:
```c GtkSourceLanguage *lang; GtkSourceLanguageManager *manager; lm = gtk_source_language_manager_get_default (); lang = gtk_source_language_manager_guess_language (manager, filename, NULL); gtk_source_buffer_set_language (buffer, lang); ``` ```python manager = GtkSource.LanguageManager.get_default() language = manager.guess_language(filename=filename, content_type=None) buffer.set_language( language=language) ```
or
```c GtkSourceLanguage *lang = NULL; GtkSourceLanguageManager *manager; 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; }
manager = gtk_source_language_manager_get_default (); lang = gtk_source_language_manager_guess_language (manager, filename, content_type) ; gtk_source_buffer_set_language (buffer, lang);
g_free (content_type); ``` ```python content_type, uncertain = Gio.content_type_guess(filename=filename, data=None) if uncertain: content_type = None
manager = GtkSource.LanguageManager.get_default() language = manager.guess_language(filename=filename, content_type=content_type) buffer.set_language(language=language) ```
etc. Use [method@Language.get_mime_types] and [method@Language.get_globs] if you need full control over file -> language mapping.
| this | |
| filename |
a filename in Glib filename encoding, or null. |
| content_type |
a content type (as in GIO API), or null. |
|
a SourceLanguage, or null if there is no
suitable language for given |