Skip to content

Commit 4459531

Browse files
authored
Syntax highlight (neueda#35)
* Cypher JS injection (driver session.run method using brics regexp) * OGM 2-3 and Neo4j Driver injections for Scala * GraphDatabaseService Cypher injection for Scala * SDN 3 Cypher injections for Java, some fixes * SDN 3 and 4 Cypher injections for Scala * Cypher injections for Scala in Neo4j Rule and TestServerBuilder classes * JS injection fix * Removed Java injection already covered in PR neueda#21. Grouped some Scala injections
1 parent 22702d9 commit 4459531

File tree

3 files changed

+237
-0
lines changed

3 files changed

+237
-0
lines changed

graph-database-support-plugin/src/main/resources/META-INF/intellilang-cypher-support.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
<extensions defaultExtensionNs="org.intellij.intelliLang">
55
<injectionConfig config="javaInjections.xml"/>
66
<injectionConfig config="pythonInjections.xml"/>
7+
<injectionConfig config="javascriptInjections.xml"/>
8+
<injectionConfig config="scalaInjections.xml"/>
79
<injectionConfig config="csharpInjections.xml"/>
810
</extensions>
911
</idea-plugin>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<LanguageInjectionConfiguration>
2+
<injection language="Cypher" injector-id="js">
3+
<display-name>Cypher in Neo4j driver</display-name>
4+
<place>
5+
<![CDATA[
6+
jsLiteralExpression()
7+
.and(jsArgument("run", 0))
8+
.withText(string()
9+
.matchesBrics("[\"'`] *((MATCH .*(SET|RETURN|(SET|WHERE .*CREATE) .*RETURN))|(CREATE .*(RETURN)?)).*[\"'`]?"))
10+
]]>
11+
</place>
12+
</injection>
13+
</LanguageInjectionConfiguration>
Lines changed: 222 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,222 @@
1+
<LanguageInjectionConfiguration>
2+
<!-- Neo4j OGM -->
3+
<injection language="Cypher" injector-id="scala">
4+
<display-name>Neo4j OGM</display-name>
5+
<!-- Neo4j OGM v3 -->
6+
<place>
7+
<![CDATA[
8+
scalaLiteral().callArgument(0, psiMethod().withName("query")
9+
.withParameters("java.lang.String", "java.util.Map")
10+
.definedInClass("org.neo4j.ogm.session.Session"))
11+
]]>
12+
</place>
13+
<place>
14+
<![CDATA[
15+
scalaLiteral().callArgument(0, psiMethod().withName("query")
16+
.withParameters("java.lang.String", "java.util.Map", "boolean")
17+
.definedInClass("org.neo4j.ogm.session.Session"))
18+
]]>
19+
</place>
20+
<place>
21+
<![CDATA[
22+
scalaLiteral().callArgument(1, psiMethod().withName("query")
23+
.withParameters("java.lang.Class", "java.lang.String", "java.util.Map")
24+
.definedInClass("org.neo4j.ogm.session.Session"))
25+
]]>
26+
</place>
27+
<place>
28+
<![CDATA[
29+
scalaLiteral().callArgument(1, psiMethod().withName("queryForObject")
30+
.withParameters("java.lang.Class", "java.lang.String", "java.util.Map")
31+
.definedInClass("org.neo4j.ogm.session.Session"))
32+
]]>
33+
</place>
34+
<!-- Neo4j OGM v2 -->
35+
<place>
36+
<![CDATA[
37+
scalaLiteral().callArgument(0, psiMethod().withName("query")
38+
.withParameters("java.lang.String", "java.util.Map")
39+
.definedInClass("org.neo4j.ogm.session.Capability.ExecuteQueries"))
40+
]]>
41+
</place>
42+
<place>
43+
<![CDATA[
44+
scalaLiteral().callArgument(1, psiMethod().withName("query")
45+
.withParameters("java.lang.Class", "java.lang.String", "java.util.Map")
46+
.definedInClass("org.neo4j.ogm.session.Capability.ExecuteQueries"))
47+
]]>
48+
</place>
49+
<place>
50+
<![CDATA[
51+
scalaLiteral().callArgument(1, psiMethod().withName("queryForObject")
52+
.withParameters("java.lang.Class", "java.lang.String", "java.util.Map")
53+
.definedInClass("org.neo4j.ogm.session.Capability.ExecuteQueries"))
54+
]]>
55+
</place>
56+
</injection>
57+
<!-- Neo4j Driver -->
58+
<injection language="Cypher" injector-id="scala">
59+
<display-name>Neo4j Driver statements (org.neo4j.driver.v1)</display-name>
60+
<place>
61+
<![CDATA[
62+
scalaLiteral().callArgument(0, psiMethod().withName("run")
63+
.withParameters("java.lang.String")
64+
.definedInClass("org.neo4j.driver.v1.StatementRunner"))
65+
]]>
66+
</place>
67+
<place>
68+
<![CDATA[
69+
scalaLiteral().callArgument(0, psiMethod().withName("run")
70+
.withParameters("java.lang.String", "java.util.Map")
71+
.definedInClass("org.neo4j.driver.v1.StatementRunner"))
72+
]]>
73+
</place>
74+
<place>
75+
<![CDATA[
76+
scalaLiteral().callArgument(0, psiMethod().withName("run")
77+
.withParameters("java.lang.String", "org.neo4j.driver.v1.Record")
78+
.definedInClass("org.neo4j.driver.v1.StatementRunner"))
79+
]]>
80+
</place>
81+
<place>
82+
<![CDATA[
83+
scalaLiteral().callArgument(0, psiMethod().withName("run")
84+
.withParameters("java.lang.String", "org.neo4j.driver.v1.Value")
85+
.definedInClass("org.neo4j.driver.v1.StatementRunner"))
86+
]]>
87+
</place>
88+
<place>
89+
<![CDATA[
90+
scalaLiteral().callArgument(0, psiMethod().withName("runAsync")
91+
.withParameters("java.lang.String")
92+
.definedInClass("org.neo4j.driver.v1.StatementRunner"))
93+
]]>
94+
</place>
95+
<place>
96+
<![CDATA[
97+
scalaLiteral().callArgument(0, psiMethod().withName("runAsync")
98+
.withParameters("java.lang.String", "java.util.Map")
99+
.definedInClass("org.neo4j.driver.v1.StatementRunner"))
100+
]]>
101+
</place>
102+
<place>
103+
<![CDATA[
104+
scalaLiteral().callArgument(0, psiMethod().withName("runAsync")
105+
.withParameters("java.lang.String", "org.neo4j.driver.v1.Record")
106+
.definedInClass("org.neo4j.driver.v1.StatementRunner"))
107+
]]>
108+
</place>
109+
<place>
110+
<![CDATA[
111+
scalaLiteral().callArgument(0, psiMethod().withName("runAsync")
112+
.withParameters("java.lang.String", "org.neo4j.driver.v1.Value")
113+
.definedInClass("org.neo4j.driver.v1.StatementRunner"))
114+
]]>
115+
</place>
116+
</injection>
117+
118+
<!-- Graph Database Service -->
119+
<injection language="Cypher" injector-id="scala">
120+
<display-name>Neo4j - GraphDatabaseService (org.neo4j.graphdb)</display-name>
121+
<place>
122+
<![CDATA[
123+
scalaLiteral().callArgument(0, psiMethod().withName("execute")
124+
.withParameters("java.lang.String")
125+
.definedInClass("org.neo4j.graphdb.GraphDatabaseService"))
126+
]]>
127+
</place>
128+
<place>
129+
<![CDATA[
130+
scalaLiteral().callArgument(0, psiMethod().withName("execute")
131+
.withParameters("java.lang.String", "java.util.Map")
132+
.definedInClass("org.neo4j.graphdb.GraphDatabaseService"))
133+
]]>
134+
</place>
135+
<place>
136+
<![CDATA[
137+
scalaLiteral().callArgument(0, psiMethod().withName("execute")
138+
.withParameters("java.lang.String", "java.util.Map", "long", "java.util.concurrent.TimeUnit")
139+
.definedInClass("org.neo4j.graphdb.GraphDatabaseService"))
140+
]]>
141+
</place>
142+
<place>
143+
<![CDATA[
144+
scalaLiteral().callArgument(0, psiMethod().withName("execute")
145+
.withParameters("java.lang.String", "long", "java.util.concurrent.TimeUnit")
146+
.definedInClass("org.neo4j.graphdb.GraphDatabaseService"))
147+
]]>
148+
</place>
149+
</injection>
150+
151+
<!-- Spring Data Neo4j -->
152+
<injection language="Cypher" injector-id="scala">
153+
<display-name>Neo4j Template (Spring Data Neo4j)</display-name>
154+
<!-- SDN v4 -->
155+
<place>
156+
<![CDATA[
157+
scalaLiteral().callArgument(0, psiMethod().withName("execute")
158+
.withParameters("java.lang.String", "java.util.Map")
159+
.definedInClass("org.springframework.data.neo4j.template.Neo4jTemplate"))
160+
]]>
161+
</place>
162+
<place>
163+
<![CDATA[
164+
scalaLiteral().callArgument(0, psiMethod().withName("query")
165+
.withParameters("java.lang.String", "java.util.Map")
166+
.definedInClass("org.springframework.data.neo4j.template.Neo4jTemplate"))
167+
]]>
168+
</place>
169+
<place>
170+
<![CDATA[
171+
scalaLiteral().callArgument(0, psiMethod().withName("query")
172+
.withParameters("java.lang.String", "java.util.Map", "boolean")
173+
.definedInClass("org.springframework.data.neo4j.template.Neo4jTemplate"))
174+
]]>
175+
</place>
176+
<place>
177+
<![CDATA[
178+
scalaLiteral().callArgument(1, psiMethod().withName("queryForObject")
179+
.withParameters("java.lang.Class", "java.lang.String", "java.util.Map")
180+
.definedInClass("org.springframework.data.neo4j.template.Neo4jTemplate"))
181+
]]>
182+
</place>
183+
<place>
184+
<![CDATA[
185+
scalaLiteral().callArgument(1, psiMethod().withName("queryForObjects")
186+
.withParameters("java.lang.Class", "java.lang.String", "java.util.Map")
187+
.definedInClass("org.springframework.data.neo4j.template.Neo4jTemplate"))
188+
]]>
189+
</place>
190+
<!-- SDN v3 -->
191+
<place>
192+
<![CDATA[
193+
scalaLiteral().callArgument(0, psiMethod().withName("query")
194+
.withParameters("java.lang.String", "java.util.Map")
195+
.definedInClass("org.springframework.data.neo4j.support.Neo4jTemplate"))
196+
]]>
197+
</place>
198+
<place>
199+
<![CDATA[
200+
scalaLiteral().callArgument(0, psiMethod().withName("query")
201+
.withParameters("java.lang.String", "java.util.Map", "org.springframework.data.util.TypeInformation")
202+
.definedInClass("org.springframework.data.neo4j.support.Neo4jTemplate"))
203+
]]>
204+
</place>
205+
</injection>
206+
<!-- Neo4j Test Harness -->
207+
<injection language="Cypher" injector-id="scala">
208+
<display-name>Neo4j Test Harness (org.neo4j.harness)</display-name>
209+
<place>
210+
<![CDATA[
211+
scalaLiteral().callArgument(0, psiMethod().withName("withFixture").withParameters("java.lang.String")
212+
.definedInClass("org.neo4j.harness.junit.Neo4jRule"))
213+
]]>
214+
</place>
215+
<place>
216+
<![CDATA[
217+
scalaLiteral().callArgument(0, psiMethod().withName("withFixture").withParameters("java.lang.String")
218+
.definedInClass("org.neo4j.harness.TestServerBuilder"))
219+
]]>
220+
</place>
221+
</injection>
222+
</LanguageInjectionConfiguration>

0 commit comments

Comments
 (0)