Keyword completion: added missing 'out' keyword

This commit is contained in:
Valentin Kipyatkov
2014-10-15 13:15:08 +04:00
parent 6dc17e5a03
commit 0da62a8815
5 changed files with 12 additions and 7 deletions
@@ -46,6 +46,8 @@ object KeywordCompletion {
.filter { it !in NON_ACTUAL_KEYWORDS }
.map { it as JetKeywordToken }
private val KEYWORD_TO_DUMMY_POSTFIX = mapOf(OUT_KEYWORD to " X")
public fun complete(parameters: CompletionParameters, prefixMatcher: PrefixMatcher, collector: LookupElementsCollector) {
val position = parameters.getPosition()
@@ -155,7 +157,8 @@ object KeywordCompletion {
private fun buildFilterByText(prefixText: String, project: Project): (JetKeywordToken) -> Boolean {
val psiFactory = JetPsiFactory(project)
return { keywordTokenType ->
val file = psiFactory.createFile(prefixText + keywordTokenType.getValue())
val postfix = KEYWORD_TO_DUMMY_POSTFIX[keywordTokenType] ?: ""
val file = psiFactory.createFile(prefixText + keywordTokenType.getValue() + postfix)
val elementAt = file.findElementAt(prefixText.length)!!
val nodeType = elementAt.getNode()!!.getElementType()
when {
@@ -1,5 +1,5 @@
class T<<caret>>
// EXIST: in
/*TODO: // EXIST: out*/
// NUMBER: 1
// EXIST: out
// NUMBER: 2
@@ -9,4 +9,5 @@ class TestSample() {
// EXIST: val
// EXIST: var
// EXIST: in
// NUMBER: 3
// EXIST: out
// NUMBER: 4
@@ -3,5 +3,5 @@ class Test<<caret>
fun testing() {}
// EXIST: in
/*TODO: // EXIST: out*/
// NUMBER: 1
// EXIST: out
// NUMBER: 2
@@ -6,4 +6,5 @@ fun test(<caret>) {
// EXIST: val
// EXIST: var
// EXIST: in
// NUMBER: 3
// EXIST: out
// NUMBER: 4