mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
allow use-shortcut-of chaining
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user