-
Notifications
You must be signed in to change notification settings - Fork 564
Expand file tree
/
Copy pathplugin.xml
More file actions
309 lines (271 loc) · 19.3 KB
/
Copy pathplugin.xml
File metadata and controls
309 lines (271 loc) · 19.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
<!--
~ Copyright 2013-2015 Sergey Ignatov, Alexander Zolotov, Mihai Toader, Florin Patan
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<idea-plugin version="2">
<id>ro.redeul.google.go</id>
<name>Go</name>
<version>1.0</version>
<vendor url="https://github.com/go-lang-plugin-org"/>
<category>Custom Languages</category>
<description><![CDATA[
<h2>Support for Go programming language.</h2>
<p>Alpha pre-release of the 1.0.0 version.</p>
<p>Doesn't contain all the functionality of the 0.9.x branch but has a completely reworked internals.
It's faster than 0.9.x, refactoring works to some degree and has native support for gopath packages.</p>
<h3>Compatibility</h3>
<p>Plugin can be installed on IntelliJ platform 141.1532 or greater. It corresponds to IntelliJ IDEA 14.1.4, WebStorm 10.0.4,
PhpStorm 9.0, RubyMine 7.1.3 and PyCharm 4.5.2</p>
]]></description>
<change-notes>
<![CDATA[
]]>
</change-notes>
<idea-version since-build="141.1532" until-build="142.9999"/>
<depends>com.intellij.modules.lang</depends>
<depends optional="true" config-file="java-deps.xml">com.intellij.modules.java</depends>
<depends optional="true" config-file="coverage.xml">Coverage</depends>
<depends optional="true" config-file="coverage.xml">com.intellij.modules.coverage</depends>
<!-- todo[IDEA 15] replace with real dependency -->
<depends optional="true" config-file="app-engine.xml">com.intellij.modules.lang</depends>
<module-components>
<component>
<implementation-class>com.goide.project.GoModuleLibrariesInitializer</implementation-class>
</component>
</module-components>
<project-components>
<component>
<implementation-class>com.goide.codeInsight.imports.GoOptimizeImportsPassFactory</implementation-class>
<skipForDefaultProject/>
</component>
</project-components>
<extensions defaultExtensionNs="com.intellij">
<stubIndex implementation="com.goide.stubs.index.GoAllPublicNamesIndex"/>
<stubIndex implementation="com.goide.stubs.index.GoAllPrivateNamesIndex"/>
<stubIndex implementation="com.goide.stubs.index.GoFunctionIndex"/>
<stubIndex implementation="com.goide.stubs.index.GoTypesIndex"/>
<stubIndex implementation="com.goide.stubs.index.GoPackagesIndex"/>
<stubIndex implementation="com.goide.stubs.index.GoMethodIndex"/>
<stubIndex implementation="com.goide.stubs.index.GoMethodFingerprintIndex"/>
<stubElementTypeHolder class="com.goide.GoTypes"/>
<internalFileTemplate name="Go Application"/>
<internalFileTemplate name="Go File"/>
<!-- project -->
<applicationService serviceImplementation="com.goide.project.GoApplicationLibrariesService"/>
<projectService serviceImplementation="com.goide.project.GoProjectLibrariesService"/>
<moduleService serviceImplementation="com.goide.project.GoModuleLibrariesService"/>
<projectConfigurable groupId="language" provider="com.goide.configuration.GoConfigurableProvider" dynamic="true"
bundle="do.not.touch.this.attribute"/>
<projectService serviceImplementation="com.goide.project.GoBuildTargetSettings"/>
<projectService serviceImplementation="com.goide.project.GoExcludedPathsSettings"/>
<applicationService serviceImplementation="com.goide.codeInsight.imports.GoCodeInsightSettings" />
<defaultLiveTemplatesProvider implementation="com.goide.template.GoLiveTemplatesProvider"/>
<liveTemplateContext implementation="com.goide.template.GoEverywhereContextType"/>
<liveTemplateContext implementation="com.goide.template.GoLiveTemplateContextType$GoFileContextType"/>
<liveTemplateContext implementation="com.goide.template.GoLiveTemplateContextType$GoBlockContextType"/>
<liveTemplateContext implementation="com.goide.template.GoLiveTemplateContextType$GoTypeContextType"/>
<lang.elementManipulator forClass="com.goide.psi.GoImportString"
implementationClass="com.goide.psi.impl.manipulator.GoImportStringManipulator"/>
<errorHandler implementation="com.intellij.diagnostic.ITNReporter"/>
<extendWordSelectionHandler implementation="com.goide.editor.GoWordSelectioner"/>
<annotator language="go" implementationClass="com.goide.GoAnnotator"/>
<lang.importOptimizer language="go" implementationClass="com.goide.codeInsight.imports.GoImportOptimizer"/>
<referenceImporter implementation="com.goide.psi.impl.imports.GoReferenceImporter"/>
<psi.fileReferenceHelper implementation="com.goide.psi.impl.imports.GoImportReferenceHelper"/>
<fileContextProvider implementation="com.goide.psi.impl.imports.GoFileContextProvider"/>
<lang.parserDefinition language="go" implementationClass="com.goide.GoParserDefinition"/>
<fileTypeFactory implementation="com.goide.GoFileTypeFactory"/>
<lang.syntaxHighlighterFactory key="go" implementationClass="com.goide.highlighting.GoSyntaxHighlighterFactory"/>
<lang.psiStructureViewFactory language="go" implementationClass="com.goide.tree.GoStructureViewFactory"/>
<colorSettingsPage implementation="com.goide.highlighting.GoColorsAndFontsPage"/>
<lang.braceMatcher language="go" implementationClass="com.goide.editor.GoBraceMatcher"/>
<quoteHandler fileType="Go" className="com.goide.editor.GoQuoteHandler"/>
<editorTypedHandler implementationClass="com.goide.editor.GoTypedHandler" />
<lang.commenter language="go" implementationClass="com.goide.GoCommenter"/>
<lang.elementManipulator forClass="com.goide.psi.impl.GoStringLiteralImpl"
implementationClass="com.goide.psi.impl.manipulator.GoStringManipulator"/>
<completion.contributor language="go" implementationClass="com.goide.completion.GoCompletionContributor"/>
<completion.contributor language="go" implementationClass="com.goide.completion.GoKeywordCompletionContributor"/>
<completion.contributor language="go" order="last" implementationClass="com.goide.completion.GoAutoImportCompletionContributor"/>
<completion.confidence language="go" order="last" implementationClass="com.goide.completion.GoCompletionConfidence"/>
<lookup.charFilter implementation="com.goide.completion.GoCharFilter"/>
<lookup.actionProvider implementation="com.goide.codeInsight.imports.GoExcludePathLookupActionProvider"/>
<lang.refactoringSupport language="go" implementationClass="com.goide.refactor.GoRefactoringSupportProvider"/>
<spellchecker.support language="go" implementationClass="com.goide.inspections.GoSpellcheckingStrategy"/>
<elementDescriptionProvider implementation="com.goide.refactor.GoDescriptionProvider"/>
<lang.namesValidator language="go" implementationClass="com.goide.GoNamesValidator"/>
<lang.findUsagesProvider language="go" implementationClass="com.goide.GoFindUsagesProvider"/>
<lang.documentationProvider language="go" implementationClass="com.goide.GoDocumentationProvider"/>
<lang.foldingBuilder language="go" implementationClass="com.goide.editor.GoFoldingBuilder"/>
<typeDeclarationProvider implementation="com.goide.editor.GoTypeDeclarationProvider"/>
<codeInsight.parameterInfo language="go" implementationClass="com.goide.editor.GoParameterInfoHandler"/>
<lang.smartEnterProcessor language="go" implementationClass="com.goide.editor.smart.GoSmartEnterProcessor"/>
<highlightUsagesHandlerFactory implementation="com.goide.highlighting.GoHighlightExitPointsHandlerFactory"/>
<codeInsight.lineMarkerProvider language="go" implementationClass="com.goide.editor.marker.GoMethodSeparatorProvider"/>
<analyzeStacktraceFilter implementation="com.goide.runconfig.GoConsoleFilter"/>
<lang.implementationTextSelectioner language="go" implementationClass="com.goide.editor.GoImplementationTextSelectioner"/>
<!--formatter-->
<lang.formatter language="go" implementationClass="com.goide.formatter.GoFormattingModelBuilder"/>
<codeStyleSettingsProvider implementation="com.goide.formatter.settings.GoCodeStyleSettingsProvider"/>
<langCodeStyleSettingsProvider implementation="com.goide.formatter.settings.GoLanguageCodeStyleSettingsProvider"/>
<renamePsiElementProcessor implementation="com.goide.refactor.GoAnonymousFieldProcessor"/>
<gotoSymbolContributor implementation="com.goide.go.GoSymbolContributor"/>
<gotoClassContributor implementation="com.goide.go.GoTypeContributor"/>
<!-- sdk -->
<sdkType implementation="com.goide.sdk.GoSdkType"/>
<applicationService serviceImplementation="com.goide.sdk.GoEnvironmentGoPathModificationTracker"/>
<projectService serviceInterface="com.goide.sdk.GoSdkService" serviceImplementation="com.goide.sdk.GoSmallIDEsSdkService"
overrides="false"/>
<library.presentationProvider implementation="com.goide.sdk.GoSdkLibraryPresentationProvider"/>
<editorNotificationProvider implementation="com.goide.inspections.WrongSdkConfigurationNotificationProvider"/>
<editorNotificationProvider implementation="com.goide.inspections.MismatchedBuildTargetNotificationProvider"/>
<stepsBeforeRunProvider implementation="com.goide.runconfig.before.GoBeforeRunTaskProvider"/>
<!-- run single file -->
<configurationType implementation="com.goide.runconfig.file.GoRunFileConfigurationType"/>
<runConfigurationProducer implementation="com.goide.runconfig.file.GoRunFileConfigurationProducer"/>
<!-- run application -->
<programRunner implementation="com.goide.runconfig.GoBuildingRunner" order="before goRunner"/>
<programRunner id="goRunner" implementation="com.goide.runconfig.GoRunner"/>
<runConfigurationProducer implementation="com.goide.runconfig.application.GoApplicationRunConfigurationProducer"/>
<configurationType implementation="com.goide.runconfig.application.GoApplicationRunConfigurationType"/>
<!-- test -->
<runConfigurationProducer implementation="com.goide.runconfig.testing.frameworks.gotest.GotestRunConfigurationProducer"/>
<runConfigurationProducer implementation="com.goide.runconfig.testing.frameworks.gocheck.GocheckRunConfigurationProducer"/>
<configurationType implementation="com.goide.runconfig.testing.GoTestRunConfigurationType"/>
<testFinder implementation="com.goide.runconfig.testing.GoTestFinder"/>
<testSrcLocator implementation="com.goide.runconfig.testing.GoTestLocationProvider"/>
<!-- debugger -->
<xdebugger.breakpointType implementation="com.goide.debugger.ideagdb.debug.breakpoints.GdbBreakpointType"/>
<!-- temporary debugger configurations -->
<!-- todo: move it to run/test configurations -->
<configurationType implementation="com.goide.debugger.ideagdb.run.GdbRunConfigurationType"/>
<programRunner implementation="com.goide.debugger.ideagdb.run.GdbRunner"/>
<checkinHandlerFactory implementation="com.goide.actions.fmt.GoFmtCheckinFactory" order="last"/>
<defaultHighlightingSettingProvider implementation="com.goide.highlighting.GoDefaultHighlightingSettingProvider"/>
<lang.inspectionSuppressor language="go" implementationClass="com.goide.inspections.suppression.GoInspectionSuppressor"/>
<localInspection language="go" displayName="Unresolved reference inspection"
groupName="Go" enabledByDefault="true" level="ERROR"
implementationClass="com.goide.inspections.unresolved.GoUnresolvedReferenceInspection"/>
<localInspection language="go" displayName="Unused import inspection"
groupName="Go" enabledByDefault="true" level="ERROR"
implementationClass="com.goide.inspections.GoUnusedImportDeclaration"/>
<localInspection language="go" displayName="Duplicate fields and methods inspection"
groupName="Go" enabledByDefault="true" level="ERROR"
implementationClass="com.goide.inspections.GoDuplicateFieldsOrMethodsInspection"/>
<localInspection language="go" displayName="Unused variables inspection"
groupName="Go" enabledByDefault="true" level="ERROR"
implementationClass="com.goide.inspections.unresolved.GoUnusedVariableInspection"/>
<localInspection language="go" displayName="Unused global variables inspection"
groupName="Go" enabledByDefault="true" level="WARNING"
implementationClass="com.goide.inspections.unresolved.GoUnusedGlobalVariableInspection"/>
<localInspection language="go" displayName="Unused function inspection"
groupName="Go" enabledByDefault="true" level="WARNING"
implementationClass="com.goide.inspections.unresolved.GoUnusedFunctionInspection"/>
<localInspection language="go" displayName="Assignment to constant"
groupName="Go" enabledByDefault="true" level="ERROR"
implementationClass="com.goide.inspections.unresolved.GoAssignmentToConstantInspection"/>
<localInspection language="go" displayName="Assignment nil without explicit type"
groupName="Go" enabledByDefault="true" level="ERROR"
implementationClass="com.goide.inspections.GoAssignmentNilWithoutExplicitType" />
<localInspection language="go" displayName="Duplicate function"
groupName="Go" enabledByDefault="true" level="ERROR"
implementationClass="com.goide.inspections.GoDuplicateFunctionInspection"/>
<localInspection language="go" displayName="Duplicate method"
groupName="Go" enabledByDefault="true" level="ERROR"
implementationClass="com.goide.inspections.GoDuplicateMethodInspection"/>
<localInspection language="go" displayName="Duplicate argument"
groupName="Go" enabledByDefault="true" level="ERROR"
implementationClass="com.goide.inspections.GoDuplicateArgumentInspection"/>
<localInspection language="go" displayName="Reserved word used as name"
groupName="Go" enabledByDefault="true" level="WARNING"
implementationClass="com.goide.inspections.GoReservedWordUsedAsName"/>
<localInspection language="go" displayName="Duplicate return argument"
groupName="Go" enabledByDefault="true" level="ERROR"
implementationClass="com.goide.inspections.GoDuplicateReturnArgumentInspection"/>
<localInspection language="go" displayName="Incorrect variadic parameter"
groupName="Go" enabledByDefault="true" level="ERROR"
implementationClass="com.goide.inspections.GoFunctionVariadicParameterInspection"/>
<localInspection language="go" displayName="Incorrect variable declaration"
groupName="Go" enabledByDefault="true" level="ERROR"
implementationClass="com.goide.inspections.GoVarDeclarationInspection"/>
<localInspection language="go" displayName="No new variables on left side of :="
groupName="Go" enabledByDefault="true" level="ERROR"
implementationClass="com.goide.inspections.GoNoNewVariablesInspection"/>
<localInspection language="go" displayName="Missing return at end of function"
groupName="Go" enabledByDefault="true" level="ERROR"
implementationClass="com.goide.inspections.GoReturnInspection"/>
<localInspection language="go" displayName="Function call inspection"
groupName="Go" enabledByDefault="true" level="ERROR"
implementationClass="com.goide.inspections.GoFunctionCallInspection"/>
<localInspection language="go" displayName="Defer/go statements check"
groupName="Go" enabledByDefault="true" level="ERROR"
implementationClass="com.goide.inspections.GoDeferGoInspection"/>
<localInspection language="go" displayName="Multiple packages in directory declaration"
groupName="Go" enabledByDefault="true" level="ERROR"
implementationClass="com.goide.inspections.GoMultiplePackagesInspection" />
<localInspection language="go" displayName="Usage of cgo in tests is not supported"
groupName="Go" enabledByDefault="true" level="ERROR"
implementationClass="com.goide.inspections.GoCgoInTestInspection"/>
<localInspection language="go" displayName="Wrong test declaration"
groupName="Go" enabledByDefault="true" level="ERROR"
implementationClass="com.goide.inspections.GoTestSignaturesInspection"/>
</extensions>
<actions>
<action id="Go.NewGoFile" class="com.goide.actions.GoCreateFileAction"
text="Go File" description="Create new Go file">
<add-to-group group-id="NewGroup" anchor="before" relative-to-action="NewFile"/>
</action>
<action id="GoShowTypeInternalAction"
class="com.goide.actions.internal.GoShowTypeInternalAction"
text="Show Go type info">
<add-to-group group-id="EditorPopupMenu" anchor="last"/>
</action>
<group id="GoTestGenerateGroup">
<action id="GoGenerateTest" class="com.goide.generate.GenerateTestAction" text="Test"
description="Creates Go test function"/>
<action id="GoGenerateBenchmark" class="com.goide.generate.GenerateBenchmarkAction" text="Benchmark"
description="Creates Go benchmark function"/>
<separator/>
<add-to-group group-id="GenerateGroup" anchor="first"/>
</group>
<action id="GoFmtFileAction" class="com.goide.actions.fmt.GoFmtFileAction" text="Go fmt file"
description="Format selected file with go fmt util">
<add-to-group group-id="CodeMenu" anchor="last"/>
<keyboard-shortcut keymap="$default" first-keystroke="shift ctrl alt F"/>
</action>
<action id="GoFmtProjectAction" class="com.goide.actions.fmt.GoFmtProjectAction" text="Go fmt project"
description="Format project with go fmt util">
<add-to-group group-id="CodeMenu" anchor="last"/>
<keyboard-shortcut keymap="$default" first-keystroke="shift ctrl alt P"/>
</action>
<action id="GoImportsFileAction" class="com.goide.actions.fmt.GoImportsFileAction" text="Goimports file"
description="Optimizes imports for selected file with goimports util">
<add-to-group group-id="CodeMenu" anchor="last"/>
</action>
</actions>
<application-components>
<component>
<implementation-class>com.goide.ui.ProjectTutorialNotification</implementation-class>
</component>
</application-components>
<!-- GAE -->
<!-- START plugin.xml of future GAE module -->
<!-- todo[IDEA 15] It's supposed that GAE-core module will be moved to IDEA source and bundled in IDEA 15 -->
<!--<id>com.intellij.appengine</id>-->
<depends optional="true" config-file="google-app-engine-core-yaml.xml">org.jetbrains.plugins.yaml</depends>
<extensionPoints>
<extensionPoint name="appengine.Extension" interface="com.intellij.appengine.AppEngineExtension"/>
</extensionPoints>
<!-- END plugin.xml of future GAE module -->
</idea-plugin>