aboutsummaryrefslogtreecommitdiffstats
path: root/integration/intellij/src/main/java/ai/vespa/intellij/schema/SdCompletionContributor.java
blob: 75300c915a5e03ed65f89fd9564a303de381dae5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package ai.vespa.intellij.schema;

import com.intellij.codeInsight.completion.CompletionContributor;
import com.intellij.codeInsight.completion.CompletionParameters;
import com.intellij.codeInsight.completion.CompletionProvider;
import com.intellij.codeInsight.completion.CompletionResultSet;
import com.intellij.codeInsight.completion.CompletionType;
import com.intellij.codeInsight.lookup.LookupElementBuilder;
import com.intellij.patterns.PlatformPatterns;
import com.intellij.util.ProcessingContext;
import ai.vespa.intellij.schema.psi.SdTypes;

/**
 * This class is used for the extension (in plugin.xml) to enables Auto-Complete. Partially works for now.
 *
 * @author Shahar Ariel
 */
public class SdCompletionContributor extends CompletionContributor {
    
    public SdCompletionContributor() {
        extend(CompletionType.BASIC, 
               PlatformPatterns.psiElement(SdTypes.IDENTIFIER_VAL),
               new CompletionProvider<>() {
                   public void addCompletions(CompletionParameters parameters, //completion parameters contain details of the cursor position
                                              ProcessingContext context,
                                              CompletionResultSet resultSet) { // result set contains completion details to suggest
                       resultSet.addElement(LookupElementBuilder.create(""));
                   }
               }
        );
    }
    
}