diff --git a/json/src/com/intellij/json/liveTemplates/JsonContextType.java b/json/src/com/intellij/json/liveTemplates/JsonContextType.java index 6fa6dd39adcd..4736ae2bea23 100644 --- a/json/src/com/intellij/json/liveTemplates/JsonContextType.java +++ b/json/src/com/intellij/json/liveTemplates/JsonContextType.java @@ -37,11 +37,9 @@ public class JsonContextType extends FileTypeBasedContextType { @Override public boolean accepts(@NotNull PsiElement element, ProcessingContext context) { - return JsonPsiUtil.isPropertyKey(element) && - element.getNextSibling() != null && - element.getNextSibling().getNode().getElementType() == JsonElementTypes.COLON; + return JsonPsiUtil.isPropertyKey(element); } - }))); + })).beforeLeaf(psiElement(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 bb6e23ac9635..30f9b4408f3b 100644 --- a/json/tests/test/com/intellij/json/JsonLiveTemplateTest.java +++ b/json/tests/test/com/intellij/json/JsonLiveTemplateTest.java @@ -63,6 +63,10 @@ public class JsonLiveTemplateTest extends JsonTestCase { assertFalse(isApplicableContextUnderCaret("{foo: \"bar\"}")); } + public void testNotExpandableInsidePropertyKeyWithWhitespace() { + assertFalse(isApplicableContextUnderCaret("{foo : \"bar\"}")); + } + public void testExpandableAtTopLevel() { assertTrue(isApplicableContextUnderCaret("foo")); }