--- a/langtools/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/Feedback.java Wed Aug 31 10:35:51 2016 -0700
+++ b/langtools/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/Feedback.java Thu Sep 01 11:07:00 2016 +0900
@@ -35,9 +35,14 @@
import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.function.Function;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static java.util.stream.Collectors.joining;
+import static java.util.stream.Collectors.toMap;
+import static jdk.internal.jshell.tool.ContinuousCompletionProvider.PERFECT_MATCHER;
+import jdk.internal.jshell.tool.JShellTool.CompletionProvider;
+import static jdk.internal.jshell.tool.JShellTool.EMPTY_COMPLETION_PROVIDER;
/**
* Feedback customization support
@@ -146,6 +151,17 @@
.forEach(m -> m.readOnly = true);
}
+ JShellTool.CompletionProvider modeCompletions() {
+ return modeCompletions(EMPTY_COMPLETION_PROVIDER);
+ }
+
+ JShellTool.CompletionProvider modeCompletions(CompletionProvider successor) {
+ return new ContinuousCompletionProvider(
+ () -> modeMap.keySet().stream()
+ .collect(toMap(Function.identity(), m -> successor)),
+ PERFECT_MATCHER);
+ }
+
{
for (FormatCase e : FormatCase.all)
selectorMap.put(e.name().toLowerCase(Locale.US), e);