|
10 | 10 | <idea-plugin version="2"> |
11 | 11 | <id>com.intellij.lang.jsgraphql</id> |
12 | 12 | <name>JS GraphQL</name> |
13 | | - <version>1.0.0</version> |
| 13 | + <version>1.1.0</version> |
14 | 14 | < vendor>Jim Kynde Meyer - [email protected]</ vendor> |
15 | 15 |
|
16 | 16 | <description><![CDATA[ |
17 | 17 | <p>GraphQL language support including Relay.QL tagged templates in JavaScript and TypeScript.</p> |
18 | 18 | <p>Provides the following features:</p> |
19 | 19 | <ul> |
20 | | - <li>Schema-aware completion and error highlighting</li> |
| 20 | + <li>Schema-aware completion, error highlighting, and documentation</li> |
21 | 21 | <li>Syntax highlighting, code-formatting, folding, commenter, and brace-matching</li> |
| 22 | + <li>'Find Usages' and 'Go to Declaration' for schema types and fields</li> |
| 23 | + <li>Schema viewer and 'Go to Implementation' for schema interfaces</li> |
| 24 | + <li>'Structure view' to navigate GraphQL and GraphQL Schema files</li> |
22 | 25 | <li>Configurable GraphQL schema retrieval and reloading based on a local file or a url using 'then-request'</li> |
23 | | - <li>View and browse the schema documentation in-editor using Ctrl/Cmd+Click or the documentation tool window</li> |
24 | 26 | <li>Execute queries with variables against configurable endpoints</li> |
25 | 27 | </ul> |
26 | 28 | ]]></description> |
|
44 | 46 |
|
45 | 47 | <extensions defaultExtensionNs="com.intellij"> |
46 | 48 |
|
47 | | - <!-- Project Language service --> |
| 49 | + <!-- Project Language services --> |
48 | 50 | <projectService serviceInterface="com.intellij.lang.jsgraphql.ide.project.JSGraphQLLanguageUIProjectService" serviceImplementation="com.intellij.lang.jsgraphql.ide.project.JSGraphQLLanguageUIProjectService" /> |
| 51 | + <projectService serviceInterface="com.intellij.lang.jsgraphql.schema.ide.project.JSGraphQLSchemaLanguageProjectService" serviceImplementation="com.intellij.lang.jsgraphql.schema.ide.project.JSGraphQLSchemaLanguageProjectService" /> |
| 52 | + <projectService serviceInterface="com.intellij.lang.jsgraphql.ide.configuration.JSGraphQLConfigurationProvider" serviceImplementation="com.intellij.lang.jsgraphql.ide.configuration.JSGraphQLConfigurationProvider" /> |
49 | 53 |
|
50 | | - <!-- File type --> |
| 54 | + |
| 55 | + <!-- Project tree --> |
| 56 | + <treeStructureProvider implementation="com.intellij.lang.jsgraphql.schema.ide.project.JSGraphQLSchemaTreeStructureProvider" /> |
| 57 | + |
| 58 | + |
| 59 | + <!-- File types --> |
51 | 60 | <fileTypeFactory implementation="com.intellij.lang.jsgraphql.JSGraphQLFileTypeFactory"/> |
| 61 | + <fileTypeFactory implementation="com.intellij.lang.jsgraphql.schema.JSGraphQLSchemaFileTypeFactory"/> |
52 | 62 | <internalFileTemplate name="GraphQL File"/> |
53 | 63 |
|
54 | 64 |
|
55 | 65 | <!-- Language --> |
56 | 66 | <lang.parserDefinition language="GraphQL" implementationClass="com.intellij.lang.jsgraphql.JSGraphQLParserDefinition"/> |
| 67 | + <lang.parserDefinition language="GraphQL Schema" implementationClass="com.intellij.lang.jsgraphql.schema.JSGraphQLSchemaParserDefinition"/> |
57 | 68 | <lang.syntaxHighlighterFactory language="GraphQL" implementationClass="com.intellij.lang.jsgraphql.ide.highlighting.JSGraphQLSyntaxHighlighterFactory"/> |
| 69 | + <lang.syntaxHighlighterFactory language="GraphQL Schema" implementationClass="com.intellij.lang.jsgraphql.ide.highlighting.JSGraphQLSyntaxHighlighterFactory"/> |
58 | 70 | <lang.commenter language="GraphQL" implementationClass="com.intellij.lang.jsgraphql.ide.editor.JSGraphQLCommenter"/> |
59 | 71 | <lang.braceMatcher language="GraphQL" implementationClass="com.intellij.lang.jsgraphql.ide.editor.JSGraphQLBraceMatcher" /> |
60 | | - |
| 72 | + <lang.fileViewProviderFactory language="GraphQL Schema" implementationClass="com.intellij.lang.jsgraphql.schema.psi.JSGraphQLSchemaFileViewProviderFactory" /> |
| 73 | + <lang.psiStructureViewFactory language="GraphQL" implementationClass="com.intellij.lang.jsgraphql.ide.structureView.JSGraphQLPsiStructureViewFactory"/> |
| 74 | + <lang.psiStructureViewFactory language="GraphQL Schema" implementationClass="com.intellij.lang.jsgraphql.ide.structureView.JSGraphQLPsiStructureViewFactory"/> |
61 | 75 |
|
62 | 76 | <!-- Completion --> |
63 | 77 | <completion.contributor language="GraphQL" implementationClass="com.intellij.lang.jsgraphql.ide.completion.JSGraphQLCompletionContributor"/> |
|
67 | 81 | <externalAnnotator language="GraphQL" implementationClass="com.intellij.lang.jsgraphql.ide.annotator.JSGraphQLAnnotator" /> |
68 | 82 | <externalAnnotator language="JavaScript" implementationClass="com.intellij.lang.jsgraphql.ide.annotator.JSGraphQLAnnotator" /> |
69 | 83 | <externalAnnotator language="TypeScript" implementationClass="com.intellij.lang.jsgraphql.ide.annotator.JSGraphQLAnnotator" /><!-- Own reg required --> |
70 | | - <annotator language="JSX Harmony" implementationClass="com.intellij.lang.jsgraphql.ide.annotator.JSGraphQLRelayTemplateAnnotator" /> |
71 | | - <annotator language="TypeScript JSX" implementationClass="com.intellij.lang.jsgraphql.ide.annotator.JSGraphQLRelayTemplateAnnotator" /> |
| 84 | + <annotator language="JavaScript" implementationClass="com.intellij.lang.jsgraphql.ide.annotator.JSGraphQLRelayTemplateAnnotator" /><!-- Using the JSX dialect overwrites the default annotator --> |
| 85 | + <annotator language="TypeScript" implementationClass="com.intellij.lang.jsgraphql.ide.annotator.JSGraphQLRelayTemplateAnnotator" /><!-- Using the JSX dialect overwrites the default annotator --> |
72 | 86 |
|
73 | 87 |
|
74 | 88 | <!-- Formatting --> |
75 | 89 | <lang.formatter language="GraphQL" implementationClass="com.intellij.lang.jsgraphql.ide.formatter.JSGraphQLFormattingModelBuilder"/> |
76 | 90 | <lang.formatter language="JavaScript" implementationClass="com.intellij.lang.jsgraphql.ide.formatter.JSGraphQLInjectedFormattingModelBuilder" /> |
77 | 91 | <lang.formatter language="TypeScript" implementationClass="com.intellij.lang.jsgraphql.ide.formatter.JSGraphQLInjectedFormattingModelBuilder" /><!-- Own reg required --> |
78 | 92 | <lang.foldingBuilder language="GraphQL" implementationClass="com.intellij.lang.jsgraphql.ide.editor.JSGraphQLFoldingBuilder"/> |
| 93 | + <lang.foldingBuilder language="GraphQL Schema" implementationClass="com.intellij.lang.jsgraphql.ide.editor.JSGraphQLFoldingBuilder"/> |
79 | 94 | <lang.quoteHandler language="GraphQL" implementationClass="com.intellij.lang.jsgraphql.ide.editor.JSGraphQLQuoteHandler" /> |
80 | 95 | <enterHandlerDelegate implementation="com.intellij.lang.jsgraphql.ide.formatter.JSGraphQLEnterHandlerDelegate" /> |
81 | 96 |
|
82 | 97 |
|
| 98 | + <!-- Find usages --> |
| 99 | + <lang.findUsagesProvider language="GraphQL" implementationClass="com.intellij.lang.jsgraphql.ide.findUsages.JSGraphQLFindUsagesProvider" /> |
| 100 | + <usageTypeProvider implementation="com.intellij.lang.jsgraphql.ide.findUsages.JSGraphQLUsageTypeProvider" /> |
| 101 | + <findUsagesHandlerFactory id="GraphQL" implementation="com.intellij.lang.jsgraphql.ide.findUsages.JSGraphQLFindUsagesHandlerFactory"/> |
| 102 | + |
| 103 | + |
| 104 | + <!-- Renaming --> |
| 105 | + <vetoRenameCondition implementation="com.intellij.lang.jsgraphql.ide.rename.JSGraphQLRenameVetoCondition" /> |
| 106 | + |
| 107 | + |
83 | 108 | <!-- Schema documentation --> |
84 | 109 | <lang.documentationProvider language="GraphQL" implementationClass="com.intellij.lang.jsgraphql.ide.documentation.JSGraphQLDocumentationProvider" /> |
| 110 | + <lang.documentationProvider language="GraphQL Schema" implementationClass="com.intellij.lang.jsgraphql.ide.documentation.JSGraphQLDocumentationProvider" /> |
85 | 111 | <!-- Note: JSX/TSX documentation providers are registered in their base language (JS), so we do the same to not take over the entire doc impl --> |
86 | 112 | <lang.documentationProvider language="JavaScript" implementationClass="com.intellij.lang.jsgraphql.ide.documentation.JSGraphQLDocumentationProvider" /> |
87 | 113 |
|
|
102 | 128 | <!-- Query execution (see com.intellij.openapi.actionSystem.IdeActions.ACTION_EDITOR_SPLIT which is ctrl+enter by default) --> |
103 | 129 | <editorActionHandler action="EditorSplitLine" implementationClass="com.intellij.lang.jsgraphql.ide.actions.JSGraphQLExecuteEditorActionHandler" order="first" /> |
104 | 130 | <highlightErrorFilter implementation="com.intellij.lang.jsgraphql.ide.editor.JSGraphQLVariablesHighlightErrorFilter" /> |
| 131 | + |
| 132 | + |
| 133 | + <!-- Search (find implementations etc.) --> |
| 134 | + <definitionsSearch implementation="com.intellij.lang.jsgraphql.schema.ide.search.JSGraphQLDefinitionsSearchExecutor"/> |
| 135 | + |
105 | 136 | </extensions> |
106 | 137 |
|
107 | 138 | <actions> |
|
0 commit comments