diff --git a/src/main/java/carpet/script/utils/AppStoreManager.java b/src/main/java/carpet/script/utils/AppStoreManager.java index 8278d4d0..e418d0a3 100644 --- a/src/main/java/carpet/script/utils/AppStoreManager.java +++ b/src/main/java/carpet/script/utils/AppStoreManager.java @@ -215,10 +215,15 @@ public class AppStoreManager StoreNode appKiosk = appStoreRoot; for(String pathElement : path) { - if (appKiosk.cannotContinueFor(pathElement)) return appKiosk.createPathSuggestions(); + if (appKiosk.cannotContinueFor(pathElement)) break; appKiosk = appKiosk.children.get(pathElement); } - return appKiosk.createPathSuggestions(); + List filteredSuggestions = appKiosk.createPathSuggestions().stream().filter(s -> s.startsWith(currentPath)).collect(Collectors.toList()); + if (filteredSuggestions.size() == 1) { + if (!appKiosk.isLeaf()) + return suggestionsFromPath(filteredSuggestions.get(0)); // Start suggesting directory contents + } + return filteredSuggestions; }