src/Pure/General/completion.scala
changeset 56162 ea6303e2261b
parent 56042 d3c35a300433
child 56173 62f10624339a
equal deleted inserted replaced
56161:300f613060b0 56162:ea6303e2261b
    84     }
    84     }
    85 
    85 
    86     def ordering: Ordering[Item] =
    86     def ordering: Ordering[Item] =
    87       new Ordering[Item] {
    87       new Ordering[Item] {
    88         def compare(item1: Item, item2: Item): Int =
    88         def compare(item1: Item, item2: Item): Int =
       
    89           frequency(item2.name) compare frequency(item1.name)
       
    90       }
       
    91 
       
    92     def name_ordering: Ordering[Item] =
       
    93       new Ordering[Item] {
       
    94         def compare(item1: Item, item2: Item): Int =
    89         {
    95         {
    90           frequency(item1.name) compare frequency(item2.name) match {
    96           frequency(item2.name) compare frequency(item2.name) match {
    91             case 0 => item1.name compare item2.name
    97             case 0 => item1.name compare item2.name
    92             case ord => - ord
    98             case ord => ord
    93           }
    99           }
    94         }
   100         }
    95       }
   101       }
    96 
   102 
    97     def save()
   103     def save()
   413               else List(name1)
   419               else List(name1)
   414           }
   420           }
   415           yield Completion.Item(range, original, name1, description, s1 + s2, move, immediate)
   421           yield Completion.Item(range, original, name1, description, s1 + s2, move, immediate)
   416 
   422 
   417         if (items.isEmpty) None
   423         if (items.isEmpty) None
   418         else Some(Completion.Result(range, original, unique, items.sorted(history.ordering)))
   424         else Some(Completion.Result(range, original, unique, items.sorted(history.name_ordering)))
   419 
   425 
   420       case _ => None
   426       case _ => None
   421     }
   427     }
   422   }
   428   }
   423 }
   429 }