diff --git a/json/src/com/intellij/json/liveTemplates/JsonContextType.java b/json/src/com/intellij/json/liveTemplates/JsonContextType.java index b89c15addc6b..6fa6dd39adcd 100644 --- a/json/src/com/intellij/json/liveTemplates/JsonContextType.java +++ b/json/src/com/intellij/json/liveTemplates/JsonContextType.java @@ -2,6 +2,7 @@ package com.intellij.json.liveTemplates; import com.intellij.codeInsight.template.FileTypeBasedContextType; import com.intellij.json.JsonBundle; +import com.intellij.json.JsonElementTypes; import com.intellij.json.JsonFileType; import com.intellij.json.psi.JsonFile; import com.intellij.json.psi.JsonPsiUtil; @@ -36,7 +37,9 @@ public class JsonContextType extends FileTypeBasedContextType { @Override public boolean accepts(@NotNull PsiElement element, ProcessingContext context) { - return JsonPsiUtil.isPropertyKey(element); + return JsonPsiUtil.isPropertyKey(element) && + element.getNextSibling() != null && + element.getNextSibling().getNode().getElementType() == JsonElementTypes.COLON; } }))); return !illegalPattern.accepts(file.findElementAt(offset)); diff --git a/json/tests/test/com/intellij/json/JsonLiveTemplateTest.java b/json/tests/test/com/intellij/json/JsonLiveTemplateTest.java index c6fc841d3b0c..bb6e23ac9635 100644 --- a/json/tests/test/com/intellij/json/JsonLiveTemplateTest.java +++ b/json/tests/test/com/intellij/json/JsonLiveTemplateTest.java @@ -67,6 +67,10 @@ public class JsonLiveTemplateTest extends JsonTestCase { assertTrue(isApplicableContextUnderCaret("foo")); } + public void testExpandableInObjectLiteral() { + assertTrue(isApplicableContextUnderCaret("{foo}")); + } + public void testCustomTemplateExpansion() { final String templateContent = "{\n" + " \"foo\": \"$1$\"\n" +