Skip to content

Commit 28468e4

Browse files
committed
Enabled spellchecking for GraphQL (#477)
1 parent b33f59b commit 28468e4

File tree

3 files changed

+21
-18
lines changed

3 files changed

+21
-18
lines changed

resources/META-INF/plugin.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,8 @@
138138

139139

140140
<!-- Spellchecking and to-do view-->
141+
<spellchecker.support language="GraphQL"
142+
implementationClass="com.intellij.lang.jsgraphql.ide.spellchecking.GraphQLSpellcheckingStrategy"/>
141143
<spellchecker.support language="GraphQL Endpoint"
142144
implementationClass="com.intellij.lang.jsgraphql.endpoint.JSGraphQLEndpointSpellcheckingStrategy"/>
143145
<todoIndexer filetype="GraphQL Endpoint" implementationClass="com.intellij.lang.jsgraphql.endpoint.JSGraphQLEndpointTodoIndexer"/>

src/main/com/intellij/lang/jsgraphql/endpoint/JSGraphQLEndpointSpellcheckingStrategy.java

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,9 @@
77
*/
88
package com.intellij.lang.jsgraphql.endpoint;
99

10-
import com.intellij.codeInspection.SuppressionUtil;
11-
import com.intellij.psi.PsiComment;
1210
import com.intellij.psi.PsiElement;
1311
import com.intellij.psi.PsiNameIdentifierOwner;
14-
import com.intellij.psi.PsiWhiteSpace;
1512
import com.intellij.spellchecker.inspections.IdentifierSplitter;
16-
import com.intellij.spellchecker.tokenizer.PsiIdentifierOwnerTokenizer;
1713
import com.intellij.spellchecker.tokenizer.SpellcheckingStrategy;
1814
import com.intellij.spellchecker.tokenizer.Tokenizer;
1915
import com.intellij.spellchecker.tokenizer.TokenizerBase;
@@ -26,24 +22,12 @@ public class JSGraphQLEndpointSpellcheckingStrategy extends SpellcheckingStrateg
2622
@NotNull
2723
@Override
2824
public Tokenizer getTokenizer(PsiElement element) {
29-
if (element instanceof PsiWhiteSpace) {
30-
return EMPTY_TOKENIZER;
31-
}
32-
if (element instanceof PsiNameIdentifierOwner) {
33-
return new PsiIdentifierOwnerTokenizer();
34-
}
3525
if (element.getParent() instanceof PsiNameIdentifierOwner) {
3626
return EMPTY_TOKENIZER;
3727
}
3828
if (element.getNode().getElementType() == JSGraphQLEndpointTokenTypes.IDENTIFIER) {
3929
return IDENTIFIER_TOKENIZER;
4030
}
41-
if (element instanceof PsiComment) {
42-
if (SuppressionUtil.isSuppressionComment(element)) {
43-
return EMPTY_TOKENIZER;
44-
}
45-
return myCommentTokenizer;
46-
}
47-
return EMPTY_TOKENIZER;
31+
return super.getTokenizer(element);
4832
}
49-
}
33+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.intellij.lang.jsgraphql.ide.spellchecking;
2+
3+
import com.intellij.psi.PsiElement;
4+
import com.intellij.psi.PsiNameIdentifierOwner;
5+
import com.intellij.spellchecker.tokenizer.SpellcheckingStrategy;
6+
import com.intellij.spellchecker.tokenizer.Tokenizer;
7+
import org.jetbrains.annotations.NotNull;
8+
9+
public class GraphQLSpellcheckingStrategy extends SpellcheckingStrategy {
10+
@Override
11+
public @NotNull Tokenizer getTokenizer(PsiElement element) {
12+
if (element.getParent() instanceof PsiNameIdentifierOwner) {
13+
return EMPTY_TOKENIZER;
14+
}
15+
return super.getTokenizer(element);
16+
}
17+
}

0 commit comments

Comments
 (0)