vcs: unify ChangeLists ordering

* sort by name case-insensitive
* sort list returned from `CLM.getChangeLists()`
This commit is contained in:
Aleksey Pivovarov
2018-03-26 15:30:20 +03:00
parent 3c7863292a
commit ea853ac968
4 changed files with 9 additions and 4 deletions
@@ -100,7 +100,7 @@ public abstract class ChangeListColumn<T extends ChangeList> {
@Override
@NotNull
public Comparator<CommittedChangeList> getComparator() {
return comparing(ChangeList::getName);
return comparing(list -> list.getName(), String::compareToIgnoreCase);
}
};
@@ -68,6 +68,10 @@ public class ChangesUtil {
}
};
public static final Comparator<LocalChangeList> CHANGELIST_COMPARATOR =
Comparator.<LocalChangeList>comparingInt(list -> list.isDefault() ? -1 : 0)
.thenComparing(list -> list.getName(), String::compareToIgnoreCase);
private ChangesUtil() {}
@NotNull
@@ -246,7 +246,9 @@ public class ChangeListWorker {
@NotNull
public List<LocalChangeList> getChangeLists() {
return ContainerUtil.map(myLists, this::toChangeList);
List<LocalChangeList> lists = ContainerUtil.map(myLists, this::toChangeList);
ContainerUtil.sort(lists, ChangesUtil.CHANGELIST_COMPARATOR);
return lists;
}
public int getChangeListsNumber() {
@@ -489,8 +489,7 @@ class PartialLocalLineStatusTracker(project: Project,
val group = DefaultActionGroup()
if (changeLists.size > 1) {
group.add(Separator("Changelists"))
val comparator = compareBy<LocalChangeList> { if (it.isDefault) 0 else 1 }.thenBy { it.name }
for (changeList in changeLists.sortedWith(comparator)) {
for (changeList in changeLists) {
group.add(MoveToChangeListAction(editor, range, mousePosition, changeList))
}
group.add(Separator.getInstance())