Skip to content

Commit 63b228d

Browse files
authored
Remove ApolloGraphql language (#51)
* Disable GraphQL annotations when in LSP mode * Remove ApolloGraphQL language
1 parent bf05447 commit 63b228d

17 files changed

+55
-1676
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.intellij.lang.jsgraphql.ide.validation
2+
3+
import com.intellij.openapi.util.Key
4+
5+
/**
6+
* Indicates whether GraphQL annotations should be disabled. This will be true when the LSP mode is enabled.
7+
*/
8+
object DisableGraphQLAnnotations : Key<Boolean>(DisableGraphQLAnnotations::class.java.name)

jsgraphql/src/main/java/com/intellij/lang/jsgraphql/ide/validation/GraphQLSchemaAnnotator.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,15 @@
1010
import com.intellij.lang.annotation.AnnotationHolder;
1111
import com.intellij.lang.annotation.Annotator;
1212
import com.intellij.lang.jsgraphql.ide.validation.inspections.GraphQLInspection;
13-
import com.intellij.lang.jsgraphql.psi.*;
13+
import com.intellij.lang.jsgraphql.psi.GraphQLDirective;
14+
import com.intellij.lang.jsgraphql.psi.GraphQLFile;
15+
import com.intellij.lang.jsgraphql.psi.GraphQLInlineFragment;
16+
import com.intellij.lang.jsgraphql.psi.GraphQLNamedTypeDefinition;
17+
import com.intellij.lang.jsgraphql.psi.GraphQLNamedTypeExtension;
18+
import com.intellij.lang.jsgraphql.psi.GraphQLPsiUtil;
19+
import com.intellij.lang.jsgraphql.psi.GraphQLTypeCondition;
20+
import com.intellij.lang.jsgraphql.psi.GraphQLTypeName;
21+
import com.intellij.lang.jsgraphql.psi.GraphQLTypeNameDefinition;
1422
import com.intellij.lang.jsgraphql.schema.GraphQLSchemaInfo;
1523
import com.intellij.lang.jsgraphql.schema.GraphQLSchemaProvider;
1624
import com.intellij.lang.jsgraphql.schema.GraphQLTypeDefinitionUtil;
@@ -49,6 +57,10 @@ public void annotate(@NotNull PsiElement psiElement, @NotNull AnnotationHolder a
4957
if (!(psiElement instanceof GraphQLFile file)) return;
5058

5159
final Project project = psiElement.getProject();
60+
boolean disableAnnotations = Boolean.TRUE.equals(project.getUserData(DisableGraphQLAnnotations.INSTANCE));
61+
if (disableAnnotations) {
62+
return;
63+
}
5264

5365
if (GraphQLInspection.isEditorInspectionHighlightingDisabled(project, file)) return;
5466

jsgraphql/src/main/java/com/intellij/lang/jsgraphql/ide/validation/GraphQLValidationAnnotator.java

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,26 @@
2020
import com.intellij.lang.jsgraphql.ide.validation.inspections.GraphQLInspection;
2121
import com.intellij.lang.jsgraphql.ide.validation.inspections.GraphQLUnresolvedReferenceInspection;
2222
import com.intellij.lang.jsgraphql.psi.GraphQLArgument;
23+
import com.intellij.lang.jsgraphql.psi.GraphQLArgumentsDefinition;
2324
import com.intellij.lang.jsgraphql.psi.GraphQLDirective;
25+
import com.intellij.lang.jsgraphql.psi.GraphQLDirectiveLocation;
26+
import com.intellij.lang.jsgraphql.psi.GraphQLEnumValue;
27+
import com.intellij.lang.jsgraphql.psi.GraphQLField;
2428
import com.intellij.lang.jsgraphql.psi.GraphQLFieldDefinition;
25-
import com.intellij.lang.jsgraphql.psi.*;
29+
import com.intellij.lang.jsgraphql.psi.GraphQLFragmentSpread;
30+
import com.intellij.lang.jsgraphql.psi.GraphQLIdentifier;
31+
import com.intellij.lang.jsgraphql.psi.GraphQLObjectField;
32+
import com.intellij.lang.jsgraphql.psi.GraphQLTypeName;
33+
import com.intellij.lang.jsgraphql.psi.GraphQLTypeScopeProvider;
2634
import com.intellij.lang.jsgraphql.schema.GraphQLSchemaInfo;
2735
import com.intellij.lang.jsgraphql.schema.GraphQLSchemaProvider;
2836
import com.intellij.lang.jsgraphql.schema.GraphQLSchemaUtil;
37+
import com.intellij.lang.jsgraphql.types.schema.GraphQLFieldsContainer;
38+
import com.intellij.lang.jsgraphql.types.schema.GraphQLInputFieldsContainer;
39+
import com.intellij.lang.jsgraphql.types.schema.GraphQLInputObjectField;
40+
import com.intellij.lang.jsgraphql.types.schema.GraphQLInterfaceType;
41+
import com.intellij.lang.jsgraphql.types.schema.GraphQLObjectType;
2942
import com.intellij.lang.jsgraphql.types.schema.GraphQLType;
30-
import com.intellij.lang.jsgraphql.types.schema.*;
3143
import com.intellij.openapi.project.Project;
3244
import com.intellij.openapi.util.Pair;
3345
import com.intellij.psi.PsiElement;
@@ -53,12 +65,18 @@ public final class GraphQLValidationAnnotator implements Annotator {
5365

5466
@Override
5567
public void annotate(@NotNull PsiElement psiElement, @NotNull AnnotationHolder annotationHolder) {
56-
if (GraphQLInspection.isEditorInspectionHighlightingDisabled(psiElement.getProject(),
68+
final Project project = psiElement.getProject();
69+
if (GraphQLInspection.isEditorInspectionHighlightingDisabled(project,
5770
annotationHolder.getCurrentAnnotationSession().getFile())) {
5871
return;
5972
}
6073

61-
GraphQLSchemaInfo schemaInfo = GraphQLSchemaProvider.getInstance(psiElement.getProject()).getSchemaInfo(psiElement);
74+
boolean disableAnnotations = Boolean.TRUE.equals(project.getUserData(DisableGraphQLAnnotations.INSTANCE));
75+
if (disableAnnotations) {
76+
return;
77+
}
78+
79+
GraphQLSchemaInfo schemaInfo = GraphQLSchemaProvider.getInstance(project).getSchemaInfo(psiElement);
6280
if (schemaInfo.isTooComplex()) {
6381
return;
6482
}

plugin/build.gradle.kts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ plugins {
1717
alias(libs.plugins.intellij.platform)
1818
alias(libs.plugins.changelog)
1919
alias(libs.plugins.apollo)
20-
alias(libs.plugins.grammarkit)
2120
}
2221

2322
repositories {
@@ -99,12 +98,6 @@ tasks {
9998
dependsOn("copyApolloDependencies")
10099
dependsOn(":test-project:generateApolloSources")
101100
}
102-
103-
generateLexer {
104-
purgeOldFiles.set(true)
105-
sourceFile.set(file("src/main/grammars/ApolloGraphQLLexer.flex"))
106-
targetOutputDir.set(file("src/main/java/com/apollographql/ijplugin/psi"))
107-
}
108101
}
109102

110103
// Setup fake JDK for maven dependencies to work

plugin/src/main/grammars/ApolloGraphQLLexer.flex

Lines changed: 0 additions & 180 deletions
This file was deleted.

0 commit comments

Comments
 (0)