allow use-shortcut-of chaining

This commit is contained in:
Gregory.Shrago
2015-02-09 22:22:51 +03:00
parent ea04d1b6c1
commit 241b81e354
@@ -24,6 +24,7 @@ import com.intellij.openapi.keymap.ex.KeymapManagerEx;
import com.intellij.openapi.options.BaseSchemeProcessor;
import com.intellij.openapi.options.SchemesManager;
import com.intellij.openapi.options.SchemesManagerFactory;
import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.util.SystemInfo;
import com.intellij.openapi.util.registry.Registry;
@@ -154,7 +155,13 @@ public class KeymapManagerImpl extends KeymapManagerEx implements PersistentStat
@Override
public String getActionBinding(String actionId) {
return myBoundShortcuts.get(actionId);
Set<String> visited = null;
String id = actionId, next;
while ((next = myBoundShortcuts.get(id)) != null) {
if (visited == null) visited = ContainerUtil.newHashSet();
if (!visited.add(id = next)) break;
}
return Comparing.equal(id, actionId) ? null : id;
}
@Override