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.completion.*;
|
||||||
import com.intellij.codeInsight.lookup.LookupElementBuilder;
|
import com.intellij.codeInsight.lookup.LookupElementBuilder;
|
||||||
import com.intellij.patterns.PlatformPatterns;
|
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 com.intellij.util.ProcessingContext;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
@@ -14,7 +20,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
*/
|
*/
|
||||||
public class JetKeywordCompletionContributor extends CompletionContributor {
|
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[] {
|
private final static String[] COMPLETE_KEYWORD = new String[] {
|
||||||
"namespace", "as", "type", "class", "this", "super", "val", "var", "fun", "for", "null", "true",
|
"namespace", "as", "type", "class", "this", "super", "val", "var", "fun", "for", "null", "true",
|
||||||
@@ -43,6 +49,12 @@ public class JetKeywordCompletionContributor extends CompletionContributor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public JetKeywordCompletionContributor() {
|
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