package com.github.masahirosuzuka.PhoneGapIntelliJPlugin.codecompletion;
import com.intellij.codeInsight.completion.*;
import com.intellij.codeInsight.lookup.LookupElementBuilder;
import com.intellij.lang.Language;
import com.intellij.patterns.PlatformPatterns;
import com.intellij.util.ProcessingContext;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
import org.kohsuke.rngom.binary.ElementPattern;
/**
* PhoneGapCodeCompletion.java
*
* Created by Masahiro Suzuka on 2014/05/25.
*/
public class PhoneGapCodeCompletion extends CompletionContributor {
public PhoneGapCodeCompletion() {
// Event completion
// See http://docs.phonegap.com/en/edge/cordova_events_events.md.html#Events
extend(CompletionType.BASIC,
PlatformPatterns.psiElement(),
new CompletionProvider<CompletionParameters>() {
@Override
protected void addCompletions(@NotNull CompletionParameters completionParameters,
ProcessingContext processingContext,
@NotNull CompletionResultSet completionResultSet) {
completionResultSet.addElement(LookupElementBuilder.create("deviceready"));
completionResultSet.addElement(LookupElementBuilder.create("pause"));
completionResultSet.addElement(LookupElementBuilder.create("resume"));
completionResultSet.addElement(LookupElementBuilder.create("backbutton"));
completionResultSet.addElement(LookupElementBuilder.create("menubutton"));
completionResultSet.addElement(LookupElementBuilder.create("searchbutton"));
completionResultSet.addElement(LookupElementBuilder.create("startcallbutton"));
completionResultSet.addElement(LookupElementBuilder.create("endcallbutton"));
completionResultSet.addElement(LookupElementBuilder.create("volumedownbutton"));
completionResultSet.addElement(LookupElementBuilder.create("volumeupbutton"));
}
}
);
// Plugin completion
// See http://docs.phonegap.com/en/edge/cordova_plugins_pluginapis.md.html#Plugin%20APIs
}
}