diff --git a/shell/impl/src/main/java/org/jboss/forge/addon/shell/aesh/completion/SelectComponentCompletionStrategy.java b/shell/impl/src/main/java/org/jboss/forge/addon/shell/aesh/completion/SelectComponentCompletionStrategy.java index 377506e51e..0187d3853e 100644 --- a/shell/impl/src/main/java/org/jboss/forge/addon/shell/aesh/completion/SelectComponentCompletionStrategy.java +++ b/shell/impl/src/main/java/org/jboss/forge/addon/shell/aesh/completion/SelectComponentCompletionStrategy.java @@ -48,8 +48,6 @@ public void complete(final CompleteOperation completeOperation, final InputCompo choices.add(convert); } } - // Copied from FileLister - // TODO Review if (choices.size() > 1) { String startsWith = Parser.findStartsWith(choices); @@ -58,12 +56,20 @@ public void complete(final CompleteOperation completeOperation, final InputCompo String substring = startsWith.substring(typedValue.length()); String candidate = Parser.switchSpacesToEscapedSpacesInWord(substring); completeOperation.addCompletionCandidate(candidate); - completeOperation.setOffset(completeOperation.getCursor() - typedValue.length()); + completeOperation.setOffset(completeOperation.getCursor()); completeOperation.doAppendSeparator(false); } else { - completeOperation.addCompletionCandidates(choices); + if (choices.contains(typedValue)) + { + completeOperation.addCompletionCandidate(typedValue); + } + else + { + completeOperation.addCompletionCandidates(choices); + + } if (!completeOperation.getCompletionCandidates().isEmpty() && !typedValue.isEmpty()) { completeOperation.setOffset(completeOperation.getCursor() - typedValue.length());