[gnome-builder] libide: add ide_language_get_source_language()
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] libide: add ide_language_get_source_language()
- Date: Mon, 23 Mar 2015 23:40:27 +0000 (UTC)
commit 4fd378059f7fc7a6d4fb28b34019acf1a2cd462e
Author: Christian Hergert <christian hergert me>
Date: Tue Feb 24 17:24:30 2015 -0800
libide: add ide_language_get_source_language()
Add helper to get the GtkSourceLanguage for a given IdeLanguage. If
GtkSourceLanguage were subclassable, we'd probably just subclass
GtkSourceLanguage instead. But composition works fine too.
libide/ide-language.c | 23 +++++++++++++++++++++++
libide/ide-language.h | 4 ++++
2 files changed, 27 insertions(+), 0 deletions(-)
---
diff --git a/libide/ide-language.c b/libide/ide-language.c
index ee505b9..0b08782 100644
--- a/libide/ide-language.c
+++ b/libide/ide-language.c
@@ -50,6 +50,29 @@ static GParamSpec *gParamSpecs [LAST_PROP];
static IdeDiagnostician *gDiagnostician;
/**
+ * ide_language_get_source_language:
+ *
+ * Retrieves the source language to use for the file.
+ *
+ * Returns: (transfer none) (nullable): A #GtkSourceLanguage or %NULL.
+ */
+GtkSourceLanguage *
+ide_language_get_source_language (IdeLanguage *self)
+{
+ IdeLanguagePrivate *priv = ide_language_get_instance_private (self);
+ GtkSourceLanguageManager *languages;
+ GtkSourceLanguage *language;
+
+ if (IDE_LANGUAGE_GET_CLASS (self)->get_source_language)
+ return IDE_LANGUAGE_GET_CLASS (self)->get_source_language (self);
+
+ languages = gtk_source_language_manager_get_default ();
+ language = gtk_source_language_manager_get_language (languages, priv->id);
+
+ return language;
+}
+
+/**
* ide_language_get_diagnostician:
*
* Returns the #IdeDiagnostician for the #IdeLanguage.
diff --git a/libide/ide-language.h b/libide/ide-language.h
index ffbd07d..4817f07 100644
--- a/libide/ide-language.h
+++ b/libide/ide-language.h
@@ -19,6 +19,8 @@
#ifndef IDE_LANGUAGE_H
#define IDE_LANGUAGE_H
+#include <gtksourceview/gtksource.h>
+
#include "ide-object.h"
G_BEGIN_DECLS
@@ -37,6 +39,7 @@ struct _IdeLanguageClass
IdeIndenter *(*get_indenter) (IdeLanguage *self);
const gchar *(*get_name) (IdeLanguage *self);
IdeRefactory *(*get_refactory) (IdeLanguage *self);
+ GtkSourceLanguage *(*get_source_language) (IdeLanguage *self);
IdeSymbolResolver *(*get_symbol_resolver) (IdeLanguage *self);
};
@@ -47,6 +50,7 @@ IdeIndenter *ide_language_get_indenter (IdeLanguage *self);
const gchar *ide_language_get_name (IdeLanguage *self);
IdeRefactory *ide_language_get_refactory (IdeLanguage *self);
IdeSymbolResolver *ide_language_get_symbol_resolver (IdeLanguage *self);
+GtkSourceLanguage *ide_language_get_source_language (IdeLanguage *self);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]