From cc63aa99f11d40127c85d41e47f23e469a912ca9 Mon Sep 17 00:00:00 2001 From: Maxim Kropotov Date: Tue, 12 Sep 2017 20:42:11 +0300 Subject: [PATCH 1/2] support .attrs({}) call. Fixes #28 --- .../kotlin/com/intellij/StyledComponents/Patterns.kt | 2 ++ .../StyledComponents/StyledComponentsInjector.kt | 1 + src/test/InjectionTest.kt | 9 +++++++++ 3 files changed, 12 insertions(+) diff --git a/src/main/kotlin/com/intellij/StyledComponents/Patterns.kt b/src/main/kotlin/com/intellij/StyledComponents/Patterns.kt index 7e8c582..4425c62 100644 --- a/src/main/kotlin/com/intellij/StyledComponents/Patterns.kt +++ b/src/main/kotlin/com/intellij/StyledComponents/Patterns.kt @@ -1,5 +1,6 @@ package com.intellij.StyledComponents +import com.intellij.lang.javascript.psi.JSCallExpression import com.intellij.lang.javascript.psi.JSExpression import com.intellij.lang.javascript.psi.JSReferenceExpression import com.intellij.lang.javascript.psi.ecma6.ES6TaggedTemplateExpression @@ -34,6 +35,7 @@ fun withReferenceName(name: String): ElementPattern { } fun referenceExpression() = PlatformPatterns.psiElement(JSReferenceExpression::class.java)!! +fun callExpression() = PlatformPatterns.psiElement(JSCallExpression::class.java)!! fun withNameStartingWith(vararg components: String): ElementPattern { val componentsList = ContainerUtil.list(*components) diff --git a/src/main/kotlin/com/intellij/StyledComponents/StyledComponentsInjector.kt b/src/main/kotlin/com/intellij/StyledComponents/StyledComponentsInjector.kt index 1719229..e3d5ec6 100644 --- a/src/main/kotlin/com/intellij/StyledComponents/StyledComponentsInjector.kt +++ b/src/main/kotlin/com/intellij/StyledComponents/StyledComponentsInjector.kt @@ -22,6 +22,7 @@ class StyledComponentsInjector : MultiHostInjector { PlatformPatterns.psiElement(JSExpression::class.java) .withFirstChild(styledPattern))), "div {", "}"), PlaceInfo(taggedTemplate(withReferenceName("extend")), "div {", "}"), + PlaceInfo(taggedTemplate(callExpression().withChild(withReferenceName("attrs"))), "div {", "}"), PlaceInfo(taggedTemplate("css"), "div {", "}"), PlaceInfo(taggedTemplate("injectGlobal")), PlaceInfo(taggedTemplate("keyframes"), "@keyframes foo {", "}") diff --git a/src/test/InjectionTest.kt b/src/test/InjectionTest.kt index e5a2a42..26ddaca 100644 --- a/src/test/InjectionTest.kt +++ b/src/test/InjectionTest.kt @@ -105,6 +105,15 @@ class InjectionTest : LightCodeInsightFixtureTestCase() { "}") } + fun testComponentAttrs() { + doTest("const div = styled.div;\n" + + "const FilterIcon = div.attrs({ iconName: 'filter' })`\n" + + " line-height: 0;\n" + + "`", "div {\n" + + " line-height: 0;\n" + + "}") + } + fun testInjectGlobal() { doTest("injectGlobal`\n" + " div{\n" + From 964b6e55da872b69a7609487eaa8e9a02af1c515 Mon Sep 17 00:00:00 2001 From: Maxim Kropotov Date: Wed, 13 Sep 2017 00:25:46 +0300 Subject: [PATCH 2/2] bump version, build plugin --- src/main/resources/META-INF/plugin.xml | 2 +- webstorm-styled-components.zip | Bin 18350 -> 18503 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index 60bf227..565a576 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -1,7 +1,7 @@ com.deadlock.scsyntax Styled Components - 1.0.4 + 1.0.5 Kodehouse diff --git a/webstorm-styled-components.zip b/webstorm-styled-components.zip index b25eb3ce144e0f0b7fbfd9a7d16c8706a4f4c9a0..020d5be4441540d86000cb362163ac30f0007c5d 100644 GIT binary patch delta 18255 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 S003M~lSfBk1~5ke00021vhxW5 delta 18089 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