[gnome-builder] add :sort back



commit 0bcc45a95aad3906e6c3f396b089758cddb352f4
Author: Christian Hergert <christian hergert me>
Date:   Fri Mar 20 01:53:54 2015 -0700

    add :sort back

 libide/ide-source-view.c |    8 ++++----
 src/vim/gb-vim.c         |   19 ++++++++++++++++++-
 2 files changed, 22 insertions(+), 5 deletions(-)
---
diff --git a/libide/ide-source-view.c b/libide/ide-source-view.c
index f3beae2..32e5f50 100644
--- a/libide/ide-source-view.c
+++ b/libide/ide-source-view.c
@@ -3635,7 +3635,7 @@ _strcasecmp_reversed (const void *aptr,
   const gchar * const *a = aptr;
   const gchar * const *b = bptr;
 
-  return -strcasecmp (*a, *b);
+  return strcasecmp (*a, *b);
 }
 
 static int
@@ -3645,7 +3645,7 @@ _strcasecmp_normal (const void *aptr,
   const gchar * const *a = aptr;
   const gchar * const *b = bptr;
 
-  return strcasecmp (*a, *b);
+  return strcasecmp (*b, *a);
 }
 
 static int
@@ -3655,7 +3655,7 @@ _strcmp_reversed (const void *aptr,
   const gchar * const *a = aptr;
   const gchar * const *b = bptr;
 
-  return -strcmp (*a, *b);
+  return strcmp (*a, *b);
 }
 
 static int
@@ -3665,7 +3665,7 @@ _strcmp_normal (const void *aptr,
   const gchar * const *a = aptr;
   const gchar * const *b = bptr;
 
-  return strcmp (*a, *b);
+  return strcmp (*b, *a);
 }
 
 static void
diff --git a/src/vim/gb-vim.c b/src/vim/gb-vim.c
index 817c1cf..90a0d53 100644
--- a/src/vim/gb-vim.c
+++ b/src/vim/gb-vim.c
@@ -485,13 +485,30 @@ gb_vim_command_syntax (GtkSourceView  *source_view,
   return TRUE;
 }
 
+static gboolean
+gb_vim_command_sort (GtkSourceView  *source_view,
+                     const gchar    *command,
+                     const gchar    *options,
+                     GError        **error)
+{
+  if (IDE_IS_SOURCE_VIEW (source_view))
+    {
+      g_signal_emit_by_name (source_view, "sort", FALSE, FALSE);
+      g_signal_emit_by_name (source_view, "clear-selection");
+      g_signal_emit_by_name (source_view, "set-mode", NULL,
+                             IDE_SOURCE_VIEW_MODE_TYPE_PERMANENT);
+    }
+
+  return TRUE;
+}
+
 static const GbVimCommand vim_commands[] = {
-  //{ "sort",        gb_vim_command_sort },
   { "colorscheme", gb_vim_command_colorscheme },
   { "edit",        gb_vim_command_edit },
   { "nohl",        gb_vim_command_nohl },
   { "quit",        gb_vim_command_quit },
   { "set",         gb_vim_command_set },
+  { "sort",        gb_vim_command_sort },
   { "split",       gb_vim_command_split },
   { "syntax",      gb_vim_command_syntax },
   { "vsplit",      gb_vim_command_vsplit },


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