[gedit] Fix 668911 modelines: Support Emacs' Text mode
- From: Paolo Borelli <pborelli src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit] Fix 668911 modelines: Support Emacs' Text mode
- Date: Wed, 8 Feb 2012 20:47:42 +0000 (UTC)
commit 89039141bd27b6947c3c9dfa591028f3de95aba0
Author: Daniel Trebbien <dtrebbien gmail com>
Date: Wed Feb 8 12:00:32 2012 -0500
Fix 668911 modelines: Support Emacs' Text mode
Adds a check for language "text" and handles it specially.
https://bugzilla.gnome.org/show_bug.cgi?id=668911
plugins/modelines/modeline-parser.c | 35 +++++++++++++++++++++++++----------
1 files changed, 25 insertions(+), 10 deletions(-)
---
diff --git a/plugins/modelines/modeline-parser.c b/plugins/modelines/modeline-parser.c
index 0d4b783..aea7e1e 100644
--- a/plugins/modelines/modeline-parser.c
+++ b/plugins/modelines/modeline-parser.c
@@ -24,6 +24,7 @@
#include <stdio.h>
#include <gedit/gedit-language-manager.h>
#include <gedit/gedit-debug.h>
+#include <gedit/gedit-document.h>
#include <gedit/gedit-settings.h>
#include <gedit/gedit-utils.h>
#include "modeline-parser.h"
@@ -680,7 +681,7 @@ modeline_parser_apply_modeline (GtkSourceView *view)
GtkTextIter iter, liter;
gint line_count;
GSettings *settings;
-
+
options.language_id = NULL;
options.set = MODELINE_SET_NONE;
@@ -749,17 +750,31 @@ modeline_parser_apply_modeline (GtkSourceView *view)
/* Try to set language */
if (has_option (&options, MODELINE_SET_LANGUAGE) && options.language_id)
{
- GtkSourceLanguageManager *manager;
- GtkSourceLanguage *language;
+ if (g_ascii_strcasecmp (options.language_id, "text") == 0)
+ {
+ gedit_document_set_language (GEDIT_DOCUMENT (buffer),
+ NULL);
+ }
+ else
+ {
+ GtkSourceLanguageManager *manager;
+ GtkSourceLanguage *language;
- manager = gedit_get_language_manager ();
- language = gtk_source_language_manager_get_language
- (manager, options.language_id);
+ manager = gedit_get_language_manager ();
- if (language != NULL)
- {
- gtk_source_buffer_set_language (GTK_SOURCE_BUFFER (buffer),
- language);
+ language = gtk_source_language_manager_get_language
+ (manager, options.language_id);
+ if (language != NULL)
+ {
+ gedit_document_set_language (GEDIT_DOCUMENT (buffer),
+ language);
+ }
+ else
+ {
+ gedit_debug_message (DEBUG_PLUGINS,
+ "Unknown language `%s'",
+ options.language_id);
+ }
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]