[gnome-builder] vim: add support for `:syntax on` and `:syntax off`.



commit b3268a1e90aa52d0f7efd316cf8eb8fbc6566e9a
Author: Christian Hergert <christian hergert me>
Date:   Sun Oct 5 16:47:36 2014 -0700

    vim: add support for `:syntax on` and `:syntax off`.

 src/editor/gb-editor-vim.c |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)
---
diff --git a/src/editor/gb-editor-vim.c b/src/editor/gb-editor-vim.c
index 150038f..ec2e57c 100644
--- a/src/editor/gb-editor-vim.c
+++ b/src/editor/gb-editor-vim.c
@@ -2641,6 +2641,31 @@ gb_editor_vim_set_filetype (GbEditorVim *vim,
   gtk_source_buffer_set_language (GTK_SOURCE_BUFFER (buffer), language);
 }
 
+static void
+gb_editor_vim_set_syntax (GbEditorVim *vim,
+                          const gchar *name)
+{
+  GtkTextBuffer *buffer;
+  gboolean enabled;
+
+  g_assert (GB_IS_EDITOR_VIM (vim));
+  g_assert (name);
+
+  buffer = gtk_text_view_get_buffer (vim->priv->text_view);
+
+  if (!GTK_SOURCE_IS_BUFFER (buffer))
+    return;
+
+  if (g_strcmp0 (name, "on") == 0)
+    enabled = TRUE;
+  else if (g_strcmp0 (name, "off") == 0)
+    enabled = FALSE;
+  else
+    return;
+
+  gtk_source_buffer_set_highlight_syntax (GTK_SOURCE_BUFFER (buffer), enabled);
+}
+
 void
 gb_editor_vim_execute_command (GbEditorVim *vim,
                                const gchar *command)
@@ -2664,6 +2689,8 @@ gb_editor_vim_execute_command (GbEditorVim *vim,
     }
   else if (g_str_has_prefix (copy, "set filetype="))
     gb_editor_vim_set_filetype (vim, copy + strlen ("set filetype="));
+  else if (g_str_has_prefix (copy, "syntax "))
+    gb_editor_vim_set_syntax (vim, copy + strlen ("syntax "));
   else
     g_debug (" TODO: Command Execution Support: %s", command);
 


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