[gnome-builder] highlight: respect GtkSourceBuffer:highlight-syntax



commit b9c71f2e38fd1c0b578706f6869b462e40c300d8
Author: Christian Hergert <chergert redhat com>
Date:   Wed Apr 27 22:51:08 2016 -0700

    highlight: respect GtkSourceBuffer:highlight-syntax
    
    Mostly useful for testing.

 libide/ide-buffer.c           |   12 ++++++++++--
 libide/ide-highlight-engine.c |    2 +-
 libide/ide-highlight-engine.h |    1 +
 3 files changed, 12 insertions(+), 3 deletions(-)
---
diff --git a/libide/ide-buffer.c b/libide/ide-buffer.c
index 5ec6574..5a6ff1d 100644
--- a/libide/ide-buffer.c
+++ b/libide/ide-buffer.c
@@ -2260,8 +2260,16 @@ ide_buffer_rehighlight (IdeBuffer *self)
 
   g_return_if_fail (IDE_IS_BUFFER (self));
 
-  if (priv->highlight_engine != NULL)
-    ide_highlight_engine_rebuild (priv->highlight_engine);
+  if (gtk_source_buffer_get_highlight_syntax (GTK_SOURCE_BUFFER (self)))
+    {
+      if (priv->highlight_engine != NULL)
+        {
+          ide_highlight_engine_rebuild (priv->highlight_engine);
+          IDE_EXIT;
+        }
+    }
+
+  ide_highlight_engine_clear (priv->highlight_engine);
 
   IDE_EXIT;
 }
diff --git a/libide/ide-highlight-engine.c b/libide/ide-highlight-engine.c
index 13d4fd7..fa3955c 100644
--- a/libide/ide-highlight-engine.c
+++ b/libide/ide-highlight-engine.c
@@ -595,7 +595,7 @@ ide_highlight_engine__notify_style_scheme_cb (IdeHighlightEngine *self,
     sync_tag_style (style_scheme, iter->data);
 }
 
-static void
+void
 ide_highlight_engine_clear (IdeHighlightEngine *self)
 {
   GtkTextIter begin;
diff --git a/libide/ide-highlight-engine.h b/libide/ide-highlight-engine.h
index e278ac8..ec34e9a 100644
--- a/libide/ide-highlight-engine.h
+++ b/libide/ide-highlight-engine.h
@@ -33,6 +33,7 @@ IdeHighlightEngine *ide_highlight_engine_new             (IdeBuffer          *bu
 IdeBuffer          *ide_highlight_engine_get_buffer      (IdeHighlightEngine *self);
 IdeHighlighter     *ide_highlight_engine_get_highlighter (IdeHighlightEngine *self);
 void                ide_highlight_engine_rebuild         (IdeHighlightEngine *self);
+void                ide_highlight_engine_clear           (IdeHighlightEngine *self);
 void                ide_highlight_engine_invalidate      (IdeHighlightEngine *self,
                                                           const GtkTextIter  *begin,
                                                           const GtkTextIter  *end);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]