cache groovy inner classes, more correctly cache groovy class methods (IDEA-52183)
[idea/community.git] / plugins / groovy / src / META-INF / plugin.xml
1 <!--
2   ~  Copyright 2000-2009 JetBrains s.r.o.
3   ~  Licensed under the Apache License, Version 2.0 (the "License");
4   ~  you may not use this file except in compliance with the License.
5   ~  You may obtain a copy of the License at
6   ~
7   ~  http://www.apache.org/licenses/LICENSE-2.0
8   ~
9   ~  Unless required by applicable law or agreed to in writing, software
10   ~  distributed under the License is distributed on an "AS IS" BASIS,
11   ~  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12   ~  See the License for the specific language governing permissions and
13   ~  limitations under the License.
14   ~
15   -->
16
17 <idea-plugin url="http://www.jetbrains.net/confluence/display/GRVY/Groovy+Home">
18   <id>org.intellij.groovy</id>
19   <name>JetGroovy</name>
20   <description>Plugin for Groovy language support</description>
21   <version>9.0</version>
22   <vendor logo="/org/jetbrains/plugins/groovy/images/groovy_16x16.png" url="http://www.jetbrains.com">JetBrains Inc.
23   </vendor>
24   <depends>com.intellij.properties</depends>
25
26   <depends optional="true" config-file="groovy-copyright.xml">com.intellij.copyright</depends>
27
28   <extensionPoints>
29     <extensionPoint name="libraryManager" interface="org.jetbrains.plugins.groovy.config.AbstractGroovyLibraryManager"/>
30
31     <extensionPoint name="nonCodeProcessor" interface="org.jetbrains.plugins.groovy.lang.resolve.NonCodeMembersProcessor"/>
32     <extensionPoint name="propertyEnhancer" interface="org.jetbrains.plugins.groovy.lang.psi.PropertyEnhancer"/>
33
34     <extensionPoint name="positionManagerDelegate" interface="org.jetbrains.plugins.groovy.extensions.debugger.ScriptPositionManagerHelper"/>
35     <extensionPoint name="compilerExtension" interface="org.jetbrains.plugins.groovy.compiler.GroovyCompilerExtension"/>
36     <extensionPoint name="scriptType" interface="org.jetbrains.plugins.groovy.extensions.GroovyScriptTypeEP"/>
37
38     <!-- Groovy DSL extension points -->
39     <extensionPoint name="psiEnhancerCategory" interface="org.jetbrains.plugins.groovy.dsl.psi.PsiEnhancerCategory"/>
40     <extensionPoint name="gdslTopLevelProvider" interface="org.jetbrains.plugins.groovy.dsl.dsltop.GdslMembersProvider"/>
41
42   </extensionPoints>
43
44   <extensions defaultExtensionNs="org.intellij.groovy">
45     <nonCodeProcessor implementation="org.jetbrains.plugins.groovy.lang.resolve.noncode.ImmutableAnnotationProcessor"/>
46     <libraryManager implementation="org.jetbrains.plugins.groovy.config.GroovyLibraryManager"/>
47     <libraryManager implementation="org.jetbrains.plugins.groovy.gant.GantLibraryManager" order="last"/>
48     <libraryManager implementation="org.jetbrains.plugins.groovy.gradle.GradleLibraryManager" order="last"/>
49     <positionManagerDelegate implementation="org.jetbrains.plugins.groovy.gant.GantPositionManagerHelper"/>
50     <positionManagerDelegate implementation="org.jetbrains.plugins.groovy.gradle.GradlePositionManager"/>
51
52     <scriptType extensions="gant" descriptorClass="org.jetbrains.plugins.groovy.gant.GantScriptType"/>
53     <scriptType extensions="gradle" descriptorClass="org.jetbrains.plugins.groovy.gradle.GradleScriptType"/>
54
55     <!-- GroovyDSL extensions -->
56     <gdslTopLevelProvider implementation="org.jetbrains.plugins.groovy.dsl.dsltop.GroovyDslDefaultMembers"/>
57     <psiEnhancerCategory implementation="org.jetbrains.plugins.groovy.dsl.psi.PsiClassCategory"/>
58     <psiEnhancerCategory implementation="org.jetbrains.plugins.groovy.dsl.psi.PsiElementCategory"/>
59     <psiEnhancerCategory implementation="org.jetbrains.plugins.groovy.dsl.psi.PsiMethodCategory"/>
60     <psiEnhancerCategory implementation="org.jetbrains.plugins.groovy.dsl.psi.PsiExpressionCategory"/>
61   </extensions>
62
63   <extensions defaultExtensionNs="com.intellij">
64     <refactoring.introduceParameterMethodUsagesProcessor implementation="org.jetbrains.plugins.groovy.refactoring.introduceParameter.java2groovy.GroovyIntroduceParameterMethodUsagesProcessor"/>
65
66     <constantExpressionEvaluator language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.psi.util.GroovyConstantExpressionEvaluator"/>
67     <annotationSupport language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.psi.impl.auxiliary.annotation.GroovyAnnotationSupport"/>
68
69     <errorHandler implementation="com.intellij.diagnostic.ITNReporter"/>
70     <fileTypeFactory implementation="org.jetbrains.plugins.groovy.GroovyFileTypeLoader"/>
71
72     <projectConfigurable implementation="org.jetbrains.plugins.groovy.gant.GantConfigurable"/>
73     <projectConfigurable implementation="org.jetbrains.plugins.groovy.gradle.GradleConfigurable"/>
74
75     <projectService serviceInterface="org.jetbrains.plugins.groovy.gant.GantSettings" serviceImplementation="org.jetbrains.plugins.groovy.gant.GantSettings"/>
76     <projectService serviceInterface="org.jetbrains.plugins.groovy.gradle.GradleSettings" serviceImplementation="org.jetbrains.plugins.groovy.gradle.GradleSettings"/>
77
78     <colorSettingsPage implementation="org.jetbrains.plugins.groovy.highlighter.GroovyColorsAndFontsPage"/>
79     <frameworkSupport implementation="org.jetbrains.plugins.groovy.config.GroovyFacetSupportProvider"/>
80     <renameHandler implementation="org.jetbrains.plugins.groovy.refactoring.rename.PropertyRenameHandler"/>
81     <renamePsiElementProcessor implementation="org.jetbrains.plugins.groovy.refactoring.rename.RenameGroovyPropertyProcessor"
82                                order="first"/>
83     <applicationService serviceInterface="org.jetbrains.plugins.groovy.settings.GroovyApplicationSettings"
84                         serviceImplementation="org.jetbrains.plugins.groovy.settings.GroovyApplicationSettings"/>
85
86     <!-- Groovy language -->
87     <syntaxHighlighter key="Groovy" implementationClass="org.jetbrains.plugins.groovy.highlighter.GroovySyntaxHighlighter"/>
88
89     <annotator language="Groovy" implementationClass="org.jetbrains.plugins.groovy.annotator.GroovyAnnotator"/>
90     <annotator language="Groovy" implementationClass="org.jetbrains.plugins.groovy.dsl.GroovyDslAnnotator"/>
91
92     <lang.psiStructureViewFactory language="Groovy"
93                                   implementationClass="org.jetbrains.plugins.groovy.structure.GroovyStructureViewFactory"/>
94     <lang.parserDefinition language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.parser.GroovyParserDefinition"/>
95     <lang.commenter language="Groovy" implementationClass="org.jetbrains.plugins.groovy.highlighter.GroovyCommenter"/>
96     <lang.foldingBuilder language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.folding.GroovyFoldingBuilder"/>
97     <lang.formatter language="Groovy" implementationClass="org.jetbrains.plugins.groovy.formatter.GroovyFormattingModelBuilder"/>
98
99     <enterHandlerDelegate implementation="org.jetbrains.plugins.groovy.lang.editor.actions.GroovyEnterHandler" order="after EnterBetweenBracesHandler"/>
100     <typedHandler implementation="org.jetbrains.plugins.groovy.lang.editor.actions.GStringTypedActionHandler"/>
101     <backspaceHandlerDelegate implementation="org.jetbrains.plugins.groovy.lang.editor.actions.GStringBackspaceHandlerDelegate"/>
102
103     <liveTemplateContext implementation="org.jetbrains.plugins.groovy.GroovyTemplateContextType"/>
104
105
106     <gotoSymbolContributor implementation="org.jetbrains.plugins.groovy.gotoclass.GroovyGoToSymbolContributor"/>
107     <lang.refactoringSupport language="Groovy"
108                              implementationClass="org.jetbrains.plugins.groovy.refactoring.GroovyRefactoringSupportProvider"/>
109     <lang.surroundDescriptor language="Groovy"
110                              implementationClass="org.jetbrains.plugins.groovy.lang.surroundWith.descriptors.GroovyStmtsSurroundDescriptor"/>
111     <lang.findUsagesProvider language="Groovy" implementationClass="org.jetbrains.plugins.groovy.findUsages.GroovyFindUsagesProvider"/>
112     <lang.braceMatcher language="Groovy" implementationClass="org.jetbrains.plugins.groovy.highlighter.GroovyBraceMatcher"/>
113     <lang.importOptimizer language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.editor.GroovyImportOptimizer"/>
114     <lang.documentationProvider language="Groovy"
115                                 implementationClass="org.jetbrains.plugins.groovy.lang.documentation.GroovyDocumentationProvider"/>
116     <lang.smartEnterProcessor language="Groovy"
117                               implementationClass="org.jetbrains.plugins.groovy.lang.completion.smartEnter.GroovySmartEnterProcessor"/>
118     <codeInsight.overrideMethod language="Groovy"
119                                 implementationClass="org.jetbrains.plugins.groovy.overrideImplement.GroovyOverrideMethodsHandler"/>
120     <codeInsight.implementMethod language="Groovy"
121                                  implementationClass="org.jetbrains.plugins.groovy.overrideImplement.GroovyImplementMethodsHandler"/>
122     <codeInsight.parameterInfo language="Groovy"
123                                implementationClass="org.jetbrains.plugins.groovy.lang.parameterInfo.GroovyParameterInfoHandler"/>
124     <refactoring.inlineHandler language="Groovy" implementationClass="org.jetbrains.plugins.groovy.refactoring.inline.GroovyInlineHandler"/>
125     <refactoring.moveClassHandler implementation="org.jetbrains.plugins.groovy.refactoring.move.MoveGroovyClassHandler"/>
126     <refactoring.moveMemberHandler language="Groovy" implementationClass="org.jetbrains.plugins.groovy.refactoring.move.MoveGroovyMemberHandler"/>
127     <refactoring.moveHandler implementation="org.jetbrains.plugins.groovy.refactoring.move.MoveGroovyScriptHandler" id="moveGroovyScript" order="before moveFileOrDir, before moveJavaFileOrDir"/>
128     <refactoring.helper implementation="org.jetbrains.plugins.groovy.refactoring.GroovyImportOptimizerRefactoringHelper"/>
129     <codeInsight.lineMarkerProvider language="Groovy"
130                                     implementationClass="org.jetbrains.plugins.groovy.codeInsight.GroovyLineMarkerProvider"/>
131     <codeInsight.gotoSuper language="Groovy" implementationClass="com.intellij.codeInsight.navigation.JavaGotoSuperHandler"/>
132     <lookup.charFilter implementation="org.jetbrains.plugins.groovy.lang.completion.GroovyReferenceCharFilter"/>
133     <completion.contributor language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.completion.GroovyCompletionContributor"/>
134     <completion.contributor language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.completion.GroovySmartCompletionContributor"/>
135
136     <debuggerClassFilterProvider implementation="org.jetbrains.plugins.groovy.debugger.filters.GroovyDebuggerClassFilterProvider"/>
137     <xdebugger.settings implementation="org.jetbrains.plugins.groovy.debugger.filters.GroovyDebuggerSettings"/>
138     <fileTypeIndentOptionsProvider implementation="org.jetbrains.plugins.groovy.formatter.GroovyIndentOptionsProvider"/>
139
140     <typeHierarchyProvider language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.GroovyTypeHierarchyProvider"/>
141
142
143     <lang.elementManipulator forClass="org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.literals.GrLiteral"
144                              implementationClass="org.jetbrains.plugins.groovy.lang.resolve.GroovyStringLiteralManipulator"/>
145
146     <directClassInheritorsSearch implementation="org.jetbrains.plugins.groovy.lang.psi.impl.GroovyDirectInheritorsSearcher"/>
147
148     <!--Run/debug-->
149     <configurationType implementation="org.jetbrains.plugins.groovy.runner.GroovyScriptRunConfigurationType"/>
150     <configurationProducer implementation="org.jetbrains.plugins.groovy.runner.GroovyScriptRunConfigurationProducer"/>
151
152     <quoteHandler fileType="Groovy" className="org.jetbrains.plugins.groovy.lang.editor.GroovyQuoteHandler"/>
153
154     <indexPatternBuilder implementation="org.jetbrains.plugins.groovy.util.GroovyIndexPatternBuilder"/>
155
156     <basicWordSelectionFilter implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyWordSelectionFilter"/>
157     <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyLiteralSelectioner"/>
158     <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyBlockStatementsSelectioner"/>
159     <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyTypeCastSelectioner"/>
160     <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyDocParamsSelectioner"/>
161     <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyArgListSelectioner"/>
162     <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyGStringSelectioner" order="before wordSelectioner"/>
163     <extendWordSelectionHandler implementation="org.jetbrains.plugins.groovy.editor.selection.GroovyParameterListSelectioner"/>
164
165     <methodReferencesSearch implementation="org.jetbrains.plugins.groovy.findUsages.AccessorReferencesSearcher"/>
166     <methodReferencesSearch implementation="org.jetbrains.plugins.groovy.findUsages.MethodLateBoundReferencesSearcher"/>
167     <methodReferencesSearch implementation="org.jetbrains.plugins.groovy.findUsages.GroovyConstructorUsagesSearcher"/>
168     <annotatedElementsSearch implementation="org.jetbrains.plugins.groovy.findUsages.AnnotatedMembersSearcher"/>
169     <superMethodsSearch implementation="org.jetbrains.plugins.groovy.findUsages.GDKSuperMethodSearcher"/>
170
171     <!--<gotoDeclarationHandler implementation="org.jetbrains.plugins.groovy.actions.GotoConstructorDeclarationHandler"/>-->
172     <targetElementEvaluator language="Groovy" implementationClass="org.jetbrains.plugins.groovy.codeInsight.GroovyTargetElementEvaluator"/>
173
174     <!--<compiler implementation="org.jetbrains.plugins.groovy.compiler.GroovyCompiler"/>-->
175
176     <fileTemplateGroup implementation="org.jetbrains.plugins.groovy.actions.GroovyTemplatesFactory"/>
177
178     <usageGroupingRuleProvider implementation="org.jetbrains.plugins.groovy.findUsages.GroovyUsageViewGroupingRuleProvider"/>
179
180     <compilerSettingsFactory implementation="org.jetbrains.plugins.groovy.compiler.GroovyCompilerConfigurable"/>
181
182     <stubElementTypeHolder class="org.jetbrains.plugins.groovy.lang.parser.GroovyElementTypes"/>
183     <!--Stubs index-->
184     <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrShortClassNameIndex"/>
185     <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrFullClassNameIndex"/>
186     <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrFullScriptNameIndex"/>
187     <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrFieldNameIndex"/>
188     <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrMethodNameIndex"/>
189     <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrAnnotationMethodNameIndex"/>
190     <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrAnnotatedMemberIndex"/>
191     <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrScriptClassNameIndex"/>
192     <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrDirectInheritorsIndex"/>
193     <stubIndex implementation="org.jetbrains.plugins.groovy.lang.psi.stubs.index.GrAnonymousClassIndex"/>
194
195     <referencesSearch implementation="org.jetbrains.plugins.groovy.findUsages.ConstructorReferencesSearcher"/>
196     <antCustomCompiler implementation="org.jetbrains.plugins.groovy.ant.GroovyAntCustomCompilerProvider"/>
197
198     <project.converterProvider implementation="org.jetbrains.plugins.groovy.config.GroovyModuleConverterProvider"/>
199
200     <iconProvider implementation="org.jetbrains.plugins.groovy.GroovyIconProvider"/>
201
202     <projectService serviceInterface="org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElementFactory"
203                     serviceImplementation="org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiElementFactoryImpl"/>
204     <projectService serviceInterface="org.jetbrains.plugins.groovy.compiler.GroovyCompilerConfiguration"
205                     serviceImplementation="org.jetbrains.plugins.groovy.compiler.GroovyCompilerConfiguration"/>
206     <projectService serviceInterface="org.jetbrains.plugins.groovy.codeInspection.GroovyImportsTracker"
207                     serviceImplementation="org.jetbrains.plugins.groovy.codeInspection.GroovyImportsTracker"/>
208
209     <psi.referenceContributor implementation="org.jetbrains.plugins.groovy.gant.GantReferenceContributor"/>
210     <psi.referenceContributor implementation="org.jetbrains.plugins.groovy.lang.resolve.providers.GroovyReferenceContributor"/>
211
212     <projectService serviceInterface="org.jetbrains.plugins.groovy.gant.AntTasksProvider"
213                     serviceImplementation="org.jetbrains.plugins.groovy.gant.AntTasksProvider"/>
214
215     <java.elementFinder implementation="org.jetbrains.plugins.groovy.lang.psi.impl.javaView.GroovyClassFinder"/>
216     <java.elementFinder implementation="org.jetbrains.plugins.groovy.gant.GantClassFinder"/>
217     <java.elementFinder implementation="org.jetbrains.plugins.groovy.gradle.GradleClassFinder"/>
218     <java.shortNamesCache implementation="org.jetbrains.plugins.groovy.lang.stubs.GroovyShortNamesCache"/>
219
220     <projectService serviceInterface="org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager"
221                     serviceImplementation="org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager"/>
222
223     <inspectionToolProvider implementation="org.jetbrains.plugins.groovy.codeInspection.GroovyInspectionProvider"/>
224
225     <problemFileHighlightFilter implementation="org.jetbrains.plugins.groovy.GroovyProblemFileHighlightFilter"/>
226
227     <!-- Groovy DSL support -->
228     <indexedRootsProvider implementation="org.jetbrains.plugins.groovy.dsl.StandardDslIndexedRootsProvider"/>
229     <fileBasedIndex implementation="org.jetbrains.plugins.groovy.dsl.GroovyDslFileIndex"/>
230
231     <!-- control flow -->
232     <intentionAction>
233       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
234       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
235       <className>org.jetbrains.plugins.groovy.intentions.control.DemorgansLawIntention</className>
236     </intentionAction>
237     <intentionAction>
238       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
239       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
240       <className>org.jetbrains.plugins.groovy.intentions.control.MergeIfAndIntention</className>
241     </intentionAction>
242     <intentionAction>
243       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
244       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
245       <className>org.jetbrains.plugins.groovy.intentions.control.ExpandBooleanIntention</className>
246     </intentionAction>
247     <intentionAction>
248       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
249       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
250       <className>org.jetbrains.plugins.groovy.intentions.control.FlipConjunctionIntention</className>
251     </intentionAction>
252     <intentionAction>
253       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
254       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
255       <className>org.jetbrains.plugins.groovy.intentions.control.FlipComparisonIntention</className>
256     </intentionAction>
257     <intentionAction>
258       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
259       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
260       <className>org.jetbrains.plugins.groovy.intentions.control.NegateComparisonIntention</className>
261     </intentionAction>
262     <intentionAction>
263       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
264       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
265       <className>org.jetbrains.plugins.groovy.intentions.control.MergeElseIfIntention</className>
266     </intentionAction>
267     <intentionAction>
268       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
269       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
270       <className>org.jetbrains.plugins.groovy.intentions.control.SplitElseIfIntention</className>
271     </intentionAction>
272     <intentionAction>
273       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
274       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
275       <className>org.jetbrains.plugins.groovy.intentions.control.FlipConditionalIntention</className>
276     </intentionAction>
277     <intentionAction>
278       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
279       <categoryKey>intention.category.groovy/intention.category.control.flow</categoryKey>
280       <className>org.jetbrains.plugins.groovy.intentions.control.ConditionalToElvisIntention</className>
281     </intentionAction>
282
283     <!-- closures -->
284     <intentionAction>
285       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
286       <categoryKey>intention.category.groovy/intention.category.closures</categoryKey>
287       <className>org.jetbrains.plugins.groovy.intentions.closure.MakeClosureCallExplicitIntention</className>
288     </intentionAction>
289     <intentionAction>
290       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
291       <categoryKey>intention.category.groovy/intention.category.closures</categoryKey>
292       <className>org.jetbrains.plugins.groovy.intentions.closure.MakeClosureCallImplicitIntention</className>
293     </intentionAction>
294     <intentionAction>
295       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
296       <categoryKey>intention.category.groovy/intention.category.closures</categoryKey>
297       <className>org.jetbrains.plugins.groovy.intentions.closure.ForToEachIntention</className>
298     </intentionAction>
299     <intentionAction>
300       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
301       <categoryKey>intention.category.groovy/intention.category.closures</categoryKey>
302       <className>org.jetbrains.plugins.groovy.intentions.closure.EachToForIntention</className>
303     </intentionAction>
304     <!--
305     todo make this work
306     <intentionAction>
307       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
308       <categoryKey>intention.category.groovy/intention.category.closures</categoryKey>
309       <className>org.jetbrains.plugins.groovy.intentions.closure.ConvertClosureArgToItIntention</className>
310     </intentionAction>
311     -->
312
313     <!-- comments -->
314     <intentionAction>
315       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
316       <categoryKey>intention.category.groovy/intention.category.comments</categoryKey>
317       <className>org.jetbrains.plugins.groovy.intentions.comments.ChangeToCStyleCommentIntention</className>
318     </intentionAction>
319     <!--
320     todo make this work
321     <intentionAction>
322       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
323       <categoryKey>intention.category.groovy/intention.category.comments</categoryKey>
324       <className>org.jetbrains.plugins.groovy.intentions.comments.ChangeToEndOfLineCommentIntention</className>
325     </intentionAction>
326     -->
327
328     <!-- conversions -->
329     <intentionAction>
330       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
331       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
332       <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertIntegerToDecimalIntention</className>
333     </intentionAction>
334     <intentionAction>
335       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
336       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
337       <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertIntegerToHexIntention</className>
338     </intentionAction>
339     <intentionAction>
340       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
341       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
342       <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertIntegerToOctalIntention</className>
343     </intentionAction>
344     <intentionAction>
345       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
346       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
347       <className>org.jetbrains.plugins.groovy.intentions.conversions.IndexingMethodConversionIntention</className>
348     </intentionAction>
349     <intentionAction>
350       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
351       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
352       <className>org.jetbrains.plugins.groovy.intentions.conversions.IndexedExpressionConversionIntention</className>
353     </intentionAction>
354     <!--<intentionAction>
355       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
356       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
357       <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertStringToGStringIntention</className>
358     </intentionAction>-->
359     <intentionAction>
360       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
361       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
362       <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertGStringToStringIntention</className>
363     </intentionAction>
364     <intentionAction>
365       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
366       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
367       <className>org.jetbrains.plugins.groovy.intentions.conversions.RemoveParenthesesFromMethodCallIntention</className>
368     </intentionAction>
369     <intentionAction>
370       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
371       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
372       <className>org.jetbrains.plugins.groovy.intentions.conversions.RemoveUnnecessaryBracesInGStringIntention</className>
373     </intentionAction>
374     <intentionAction>
375       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
376       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
377       <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertConcatenationToGstringIntention</className>
378     </intentionAction>
379     <intentionAction>
380       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
381       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
382       <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertMethodToClosureIntention</className>
383     </intentionAction>
384     <intentionAction>
385       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
386       <categoryKey>intention.category.groovy/intention.category.conversions</categoryKey>
387       <className>org.jetbrains.plugins.groovy.intentions.conversions.ConvertClosureToMethodIntention</className>
388     </intentionAction>
389
390     <!-- groovy style -->
391     <intentionAction>
392       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
393       <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
394       <className>org.jetbrains.plugins.groovy.intentions.style.JavaStylePropertiesInvocationIntention</className>
395     </intentionAction>
396     <intentionAction>
397       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
398       <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
399       <className>org.jetbrains.plugins.groovy.intentions.style.parameterToEntry.ConvertParameterToMapEntryIntention</className>
400     </intentionAction>
401     <intentionAction>
402       <bundleName>org.jetbrains.plugins.groovy.intentions.GroovyIntentionsBundle</bundleName>
403       <categoryKey>intention.category.groovy/intention.category.groovy.style</categoryKey>
404       <className>org.jetbrains.plugins.groovy.intentions.style.ReplaceAbstractClassInstanceByMapIntention</className>
405     </intentionAction>
406
407     <projectService serviceInterface="org.jetbrains.plugins.groovy.annotator.intentions.dynamic.DynamicToolWindowWrapper"
408                     serviceImplementation="org.jetbrains.plugins.groovy.annotator.intentions.dynamic.DynamicToolWindowWrapper"/>
409
410   </extensions>
411
412   <extensions defaultExtensionNs="com.intellij.debugger">
413     <codeFragmentFactory implementation="org.jetbrains.plugins.groovy.debugger.GroovyCodeFragmentFactory"/>
414   </extensions>
415
416   <actions>
417     <action id="Groovy.NewClass" class="org.jetbrains.plugins.groovy.actions.NewGroovyClassAction"
418             text="Groovy Class" description="Create new Groovy class">
419       <add-to-group group-id="NewGroup" anchor="after" relative-to-action="NewGroup1"/>
420     </action>
421     <action id="Groovy.NewScript" class="org.jetbrains.plugins.groovy.actions.NewScriptAction"
422             text="Groovy Script" description="Create new Groovy script">
423       <add-to-group group-id="NewGroup" anchor="after" relative-to-action="Groovy.NewClass"/>
424     </action>
425
426     <action id="Gant.NewScript" class="org.jetbrains.plugins.groovy.gant.NewGantScriptAction"
427             text="Gant Script" description="Create new Gant script">
428       <add-to-group group-id="NewGroup" anchor="last"/>
429     </action>
430
431
432     <action id="RenameJavaFileToGroovyFileAction"
433             class="org.jetbrains.plugins.groovy.refactoring.javaToGrovyRename.RenameJavaFileToGroovyFileAction"
434             text="Rename To Groovy" description="Rename Java File to Groovy">
435       <add-to-group group-id="EditorTabPopupMenu" anchor="last"/>
436     </action>
437     <action id="ExcludeFromStubGeneration"
438             class="org.jetbrains.plugins.groovy.compiler.ExcludeFromStubGenerationAction"
439             text="Exclude from stub generation" description="Don't generate Java stubs for this Groovy file on compilation">
440       <add-to-group group-id="EditorTabPopupMenu" anchor="after" relative-to-action="RenameJavaFileToGroovyFileAction"/>
441     </action>
442     <action id="org.jetbrains.plugins.groovy.actions.generate.equals.EqualsGenerateAction"
443             class="org.jetbrains.plugins.groovy.actions.generate.equals.EqualsGenerateAction"
444             text="equals() and hashCode()" description="Action generates equals and hashCode now">
445       <add-to-group group-id="GenerateGroup" anchor="first"/>
446     </action>
447     <action id="org.jetbrains.plugins.groovy.actions.generate.constructors.CostructorGenerateAction"
448             class="org.jetbrains.plugins.groovy.actions.generate.constructors.CostructorGenerateAction"
449             text="Constructor" description="Generates constructor">
450       <add-to-group group-id="GenerateGroup" anchor="first"/>
451     </action>
452
453     <action id="Groovy.Doc.Generating"
454             class="org.jetbrains.plugins.groovy.doc.actions.GenerateGroovyDocAction"
455             text="Generate GroovyDoc" description="Generating Groovy Documentation"
456             icon="/org/jetbrains/plugins/groovy/images/GroovyDoc.png">
457       <add-to-group group-id="ToolsMenu" anchor="last"/>
458       <keyboard-shortcut keymap="$default" first-keystroke="ctrl alt D"/>
459     </action>
460
461   </actions>
462
463   <application-components>
464     <component>
465       <implementation-class>org.jetbrains.plugins.groovy.GroovyLoader</implementation-class>
466     </component>
467     <component>
468       <implementation-class>org.jetbrains.plugins.groovy.gant.GantLoader</implementation-class>
469     </component>
470     <component>
471       <implementation-class>org.jetbrains.plugins.groovy.extensions.completion.InsertHandlerRegistry</implementation-class>
472     </component>
473   </application-components>
474
475   <project-components>
476     <component>
477       <implementation-class>org.jetbrains.plugins.groovy.compiler.GroovyCompilerLoader</implementation-class>
478     </component>
479     <component>
480       <implementation-class>org.jetbrains.plugins.groovy.codeInspection.local.GroovyUnusedImportsPassFactory</implementation-class>
481     </component>
482     <component>
483       <interface-class>org.jetbrains.plugins.groovy.annotator.intentions.dynamic.DynamicManager</interface-class>
484       <implementation-class>org.jetbrains.plugins.groovy.annotator.intentions.dynamic.DynamicManagerImpl</implementation-class>
485     </component>
486   </project-components>
487
488   <actions>
489     <!-- Add your actions here -->
490       <action id="show-gradle" class="org.jetbrains.plugins.groovy.gradle.ui.ShowGradleUIAction"
491               text="Gradle UI" description="Run native Gradle UI for current project" icon="/icons/gradle/gradle.png">
492           <add-to-group group-id="ViewMenu" anchor="after" relative-to-action="HierarchyGroup"/>
493           <keyboard-shortcut keymap="$default" first-keystroke="shift ctrl G"/>
494       </action>
495   </actions>
496
497   <extensions defaultExtensionNs="com.intellij">
498     <projectService serviceInterface="org.jetbrains.plugins.groovy.gradle.ui.GradleUISettings"
499                     serviceImplementation="org.jetbrains.plugins.groovy.gradle.ui.GradleUISettings"/>
500   </extensions>
501
502 </idea-plugin>