@Bean public StreamCompletionProvider streamCompletionProvider() { List<RecoveryStrategy<?>> recoveryStrategies = Arrays.asList( emptyStartYieldsAppsRecoveryStrategy(), expandOneDashToTwoDashesRecoveryStrategy(), configurationPropertyNameAfterDashDashRecoveryStrategy(), unfinishedConfigurationPropertyNameRecoveryStrategy(), destinationNameYieldsAppsRecoveryStrategy(), appsAfterPipeRecoveryStrategy(), appsAfterDoublePipeRecoveryStrategy(), configurationPropertyValueHintRecoveryStrategy()); List<ExpansionStrategy> expansionStrategies = Arrays.asList(addAppOptionsExpansionStrategy(), pipeIntoOtherAppsExpansionStrategy(), unfinishedAppNameExpansionStrategy(), // Make sure this one runs last, as it may clear already computed // proposals // and return its own as the sole candidates configurationPropertyValueHintExpansionStrategy()); return new StreamCompletionProvider(recoveryStrategies, expansionStrategies); }
@Bean public TaskCompletionProvider taskCompletionProvider() { List<RecoveryStrategy<?>> recoveryStrategies = Arrays.<RecoveryStrategy<?>>asList( emptyStartYieldsAppsTaskRecoveryStrategy(), expandOneDashToTwoDashesTaskRecoveryStrategy(), configurationPropertyNameAfterDashDashTaskRecoveryStrategy(), unfinishedConfigurationPropertyNameTaskRecoveryStrategy(), configurationPropertyValueHintTaskRecoveryStrategy()); List<TaskExpansionStrategy> expansionStrategies = Arrays.asList(addTaskAppOptionsExpansionStrategy(), unfinishedTaskAppNameExpansionStrategy(), // Make sure this one runs last, as it may clear already computed // proposals // and return its own as the sole candidates taskConfigurationPropertyValueHintExpansionStrategy()); return new TaskCompletionProvider(recoveryStrategies, expansionStrategies); }