Merge remote branch 'origin/master'
This commit is contained in:
@@ -3,6 +3,12 @@ package org.jetbrains.jet.plugin.completion;
|
||||
import com.intellij.codeInsight.completion.*;
|
||||
import com.intellij.codeInsight.lookup.LookupElementBuilder;
|
||||
import com.intellij.patterns.PlatformPatterns;
|
||||
import com.intellij.patterns.PsiElementPattern;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.filters.NotFilter;
|
||||
import com.intellij.psi.filters.TextFilter;
|
||||
import com.intellij.psi.filters.position.FilterPattern;
|
||||
import com.intellij.psi.filters.position.LeftNeighbour;
|
||||
import com.intellij.util.ProcessingContext;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -14,7 +20,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
*/
|
||||
public class JetKeywordCompletionContributor extends CompletionContributor {
|
||||
|
||||
private static class JetKeywordCompletionProvider extends CompletionProvider<CompletionParameters> {
|
||||
private static class JetTopKeywordCompletionProvider extends CompletionProvider<CompletionParameters> {
|
||||
|
||||
private final static String[] COMPLETE_KEYWORD = new String[] {
|
||||
"namespace", "as", "type", "class", "this", "super", "val", "var", "fun", "for", "null", "true",
|
||||
@@ -43,6 +49,12 @@ public class JetKeywordCompletionContributor extends CompletionContributor {
|
||||
}
|
||||
|
||||
public JetKeywordCompletionContributor() {
|
||||
extend(CompletionType.BASIC, PlatformPatterns.psiElement(), new JetKeywordCompletionProvider());
|
||||
|
||||
PsiElementPattern.Capture<PsiElement> notDotPlace =
|
||||
PlatformPatterns.psiElement().and(new FilterPattern(new NotFilter(new LeftNeighbour(new TextFilter(".")))));
|
||||
|
||||
extend(CompletionType.BASIC,
|
||||
notDotPlace,
|
||||
new JetTopKeywordCompletionProvider());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
fun foo() {
|
||||
val str : String
|
||||
str.<caret>
|
||||
}
|
||||
|
||||
// ABSENT: namespace, as, type, class, this, super, val, var, fun, for, null, true
|
||||
// ABSENT: false, is, in, throw, return, break, continue, object, if, try, else, while
|
||||
// ABSENT: do, when, trait, This
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
fun foo() {
|
||||
val str : String
|
||||
str. <caret>
|
||||
}
|
||||
|
||||
// ABSENT: public, val, in
|
||||
Reference in New Issue
Block a user