blob: a157f60251fab309d141a0f9b95eb3a9b2f10af4 [file] [log] [blame]
/*
* Copyright (c) 2010-2020 BSI Business Systems Integration AG.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* BSI Business Systems Integration AG - initial API and implementation
*/
package org.eclipse.scout.sdk.s2i.nls.completion
import com.intellij.codeInsight.completion.*
import com.intellij.util.ProcessingContext
import org.eclipse.scout.sdk.s2i.containingModule
import org.eclipse.scout.sdk.s2i.nls.PsiNlsPatterns.Companion.textsGetPattern
import org.eclipse.scout.sdk.s2i.nls.completion.NlsCompletionHelper.Companion.computeLookupElements
import kotlin.streams.toList
class NlsCompletionContributorForJava : CompletionContributor() {
init {
extend(CompletionType.BASIC, textsGetPattern(), DefaultNlsCompletionProvider())
}
internal class DefaultNlsCompletionProvider : CompletionProvider<CompletionParameters>() {
override fun addCompletions(parameters: CompletionParameters, context: ProcessingContext, result: CompletionResultSet) {
val module = parameters.position.containingModule() ?: return
result.addAllElements(computeLookupElements(module).toList())
result.stopHere()
}
}
}