[gnome-builder] plugins/clang: remove sorting by kind



commit 5a19d076ffcd1080e04592f873e43ca00bf7e354
Author: Christian Hergert <chergert redhat com>
Date:   Fri Sep 2 23:31:32 2022 -0700

    plugins/clang: remove sorting by kind
    
    This interferes with other filtering techniques which can be quite annoying
    to overcome.

 src/plugins/clang/ide-clang-proposals.c | 39 +++++----------------------------
 1 file changed, 6 insertions(+), 33 deletions(-)
---
diff --git a/src/plugins/clang/ide-clang-proposals.c b/src/plugins/clang/ide-clang-proposals.c
index 804dd02dd..3af1caf3c 100644
--- a/src/plugins/clang/ide-clang-proposals.c
+++ b/src/plugins/clang/ide-clang-proposals.c
@@ -134,8 +134,6 @@ typedef struct
   ProposalRef ref;
   const char *keyword;
   guint priority;
-  int kind : 8;
-  int padding : 24;
 } Item;
 
 enum {
@@ -304,28 +302,13 @@ sort_by_priority (gconstpointer a,
 {
   const Item *ai = a;
   const Item *bi = b;
-  gint ret;
 
-  if (!(ret = (gint)ai->kind - (gint)bi->kind))
-    ret = (gint)ai->priority - (gint)bi->priority;
-
-  return ret;
-}
-
-static gint
-kind_priority (enum CXCursorKind kind)
-{
-  switch ((gint)kind)
-    {
-    case CXCursor_FieldDecl:
-      return -2;
-
-    case CXCursor_VarDecl:
-      return -1;
-
-    default:
-      return 0;
-    }
+  if (ai->priority < bi->priority)
+    return -1;
+  else if (ai->priority > bi->priority)
+    return 1;
+  else
+    return 0;
 }
 
 static void
@@ -387,11 +370,6 @@ ide_clang_proposals_do_refilter (IdeClangProposals *self,
             item->keyword = variant_get_string (v);
           else
             item->keyword = "";
-
-          if (proposal_lookup (item->ref, "kind", NULL, &v))
-            item->kind = kind_priority (variant_get_uint32 (v));
-          else
-            item->kind = 0;
         }
     }
   else if (self->results != NULL)
@@ -414,11 +392,6 @@ ide_clang_proposals_do_refilter (IdeClangProposals *self,
           if (!gtk_source_completion_fuzzy_match (item->keyword, folded, &item->priority))
             continue;
 
-          if (proposal_lookup (item->ref, "kind", NULL, &v))
-            item->kind = kind_priority (variant_get_uint32 (v));
-          else
-            item->kind = 0;
-
           pos++;
         }
 


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