Merge remote-tracking branch 'origin/master'
[idea/community.git] / python / src / META-INF / python-core.xml
1 <idea-plugin version="2">
2   <!-- Components and extensions declared in this file work both in PyCharm and Python plugin. -->
3
4   <resource-bundle>com.jetbrains.python.PyBundle</resource-bundle>
5
6   <extensions defaultExtensionNs="com.intellij">
7     <nameSuggestionProvider implementation="com.jetbrains.python.refactoring.PyNameSuggestionProvider"/>
8     <methodNavigationOffsetProvider implementation="com.jetbrains.python.codeInsight.PyMethodNavigationOffsetProvider"/>
9     <copyPastePreProcessor implementation="com.jetbrains.python.editor.PythonCopyPasteProcessor"/>
10     <errorHandler implementation="com.intellij.diagnostic.ITNReporter"/>
11     <fileTypeFactory implementation="com.jetbrains.python.PythonFileTypeFactory"/>
12     <fileTypeDetector implementation="com.jetbrains.python.PyFileTypeDetector"/>
13     <editorHighlighterProvider filetype="Python" implementationClass="com.jetbrains.python.PyEditorHighlighterProvider"/>
14     <lang.syntaxHighlighterFactory key="Python" implementationClass="com.jetbrains.python.highlighting.PySyntaxHighlighterFactory"/>
15     <lang.braceMatcher language="Python" implementationClass="com.jetbrains.python.PyBraceMatcher"/>
16     <lang.parserDefinition language="Python" implementationClass="com.jetbrains.python.PythonParserDefinition"/>
17     <lang.commenter language="Python" implementationClass="com.jetbrains.python.PythonCommenter"/>
18     <lang.foldingBuilder language="Python" implementationClass="com.jetbrains.python.PythonFoldingBuilder"/>
19     <lang.findUsagesProvider language="Python" implementationClass="com.jetbrains.python.findUsages.PythonFindUsagesProvider"/>
20     <lang.formatter language="Python" implementationClass="com.jetbrains.python.formatter.PythonFormattingModelBuilder"/>
21     <lang.whiteSpaceFormattingStrategy language="Python"
22                                        implementationClass="com.jetbrains.python.formatter.PyWhiteSpaceFormattingStrategy"/>
23     <lang.lineWrapStrategy language="Python" implementationClass="com.jetbrains.python.formatter.PyLineWrapPositionStrategy"/>
24     <lang.namesValidator language="Python" implementationClass="com.jetbrains.python.refactoring.rename.PythonNamesValidator"/>
25     <lang.surroundDescriptor language="Python"
26                              implementationClass="com.jetbrains.python.refactoring.surround.PyStatementSurroundDescriptor"/>
27     <lang.surroundDescriptor language="Python"
28                              implementationClass="com.jetbrains.python.refactoring.surround.PyExpressionSurroundDescriptor"/>
29     <lang.unwrapDescriptor language="Python" implementationClass="com.jetbrains.python.refactoring.unwrap.PyUnwrapDescriptor"/>
30     <lang.psiStructureViewFactory language="Python" implementationClass="com.jetbrains.python.structureView.PyStructureViewFactory"/>
31     <lang.documentationProvider language="Python" implementationClass="com.jetbrains.python.documentation.PythonDocumentationProvider"/>
32     <lang.documentationProvider language="Python" implementationClass="com.jetbrains.python.console.PydevDocumentationProvider"/>
33     <lang.emacs language="Python" implementationClass="com.jetbrains.python.editor.PyEmacsHandler"/>
34     <annotator language="Python" implementationClass="com.jetbrains.python.validation.PyAnnotatingVisitor"/>
35     <annotator language="Python" implementationClass="com.jetbrains.python.validation.PyDumbAwareAnnotator"/>
36     <backspaceHandlerDelegate implementation="com.jetbrains.python.editor.PythonBackspaceHandler"/>
37     <quoteHandler fileType="Python" className="com.jetbrains.python.editor.PythonQuoteHandler"/>
38     <enterHandlerDelegate implementation="com.jetbrains.python.editor.PythonEnterHandler"/>
39     <enterHandlerDelegate implementation="com.jetbrains.python.editor.PyEnterAtIndentHandler" order="first"/>
40     <enterHandlerDelegate implementation="com.jetbrains.python.editor.PyEnterBetweenBracketsHandler"/>
41     <sdkType implementation="com.jetbrains.python.sdk.PythonSdkType"/>
42     <gotoClassContributor implementation="com.jetbrains.python.PyGotoClassContributor"/>
43     <gotoSymbolContributor implementation="com.jetbrains.python.PyGotoSymbolContributor"/>
44     <codeInsight.parameterInfo language="Python" implementationClass="com.jetbrains.python.PyParameterInfoHandler"/>
45     <codeInsight.fillParagraph language="Python" implementationClass="com.jetbrains.python.actions.PyFillParagraphHandler"/>
46     <colorSettingsPage implementation="com.jetbrains.python.highlighting.PythonColorsPage"/>
47     <extendWordSelectionHandler implementation="com.jetbrains.python.editor.selectWord.PyWordSelectionHandler"/>
48     <extendWordSelectionHandler implementation="com.jetbrains.python.editor.selectWord.PyLiteralSelectionHandler"/>
49     <extendWordSelectionHandler implementation="com.jetbrains.python.editor.selectWord.PyStatementSelectionHandler"/>
50     <extendWordSelectionHandler implementation="com.jetbrains.python.editor.selectWord.PyListSelectionHandler"/>
51     <extendWordSelectionHandler implementation="com.jetbrains.python.editor.selectWord.PyCommaSelectionHandler"/>
52     <basicWordSelectionFilter implementation="com.jetbrains.python.editor.selectWord.PyBasicWordSelectionFilter"/>
53     <completion.contributor language="Python"
54                             implementationClass="com.jetbrains.python.codeInsight.completion.PyKeywordCompletionContributor"/>
55     <completion.contributor language="Python"
56                             implementationClass="com.jetbrains.python.codeInsight.completion.PySpecialMethodNamesCompletionContributor"/>
57     <completion.contributor language="Python"
58                             implementationClass="com.jetbrains.python.codeInsight.completion.PySuperMethodCompletionContributor"/>
59     <completion.contributor language="Python"
60                             implementationClass="com.jetbrains.python.codeInsight.completion.PySuperClassAttributesCompletionContributor"/>
61     <completion.contributor language="Python"
62                             implementationClass="com.jetbrains.python.codeInsight.completion.PyDictKeyNamesCompletionContributor"/>
63     <completion.contributor language="Python"
64                             implementationClass="com.jetbrains.python.codeInsight.completion.PyParameterCompletionContributor"/>
65     <completion.contributor language="Python"
66                             implementationClass="com.jetbrains.python.codeInsight.completion.PyDocstringCompletionContributor"/>
67     <lang.tokenSeparatorGenerator language="Python" implementationClass="com.jetbrains.python.PyTokenSeparatorGenerator"/>
68     <lang.elementManipulator forClass="com.jetbrains.python.psi.PyReferenceExpression"
69                              implementationClass="com.jetbrains.python.psi.impl.PyReferenceExpressionManipulator"/>
70
71     <projectService serviceInterface="com.jetbrains.python.psi.PyElementGenerator"
72                     serviceImplementation="com.jetbrains.python.psi.impl.PyElementGeneratorImpl"/>
73
74     <applicationService serviceInterface="com.jetbrains.python.packaging.PyPackageService"
75                         serviceImplementation="com.jetbrains.python.packaging.PyPackageService"/>
76     <applicationService serviceInterface="com.jetbrains.python.module.PyModuleService"
77                         serviceImplementation="com.jetbrains.python.module.PyModuleServiceImpl"/>
78
79     <typedHandler implementation="com.jetbrains.python.codeInsight.KeywordTypedHandler" id="pyCommaAfterKwd"/>
80     <typedHandler implementation="com.jetbrains.python.codeInsight.PyMethodNameTypedHandler" id="pyMethodNameTypedHandler"/>
81     <typedHandler implementation="com.jetbrains.python.editor.PythonSpaceHandler"/>
82
83     <stubIndex implementation="com.jetbrains.python.psi.stubs.PyClassNameIndex"/>
84     <stubIndex implementation="com.jetbrains.python.psi.stubs.PyClassNameIndexInsensitive"/>
85     <stubIndex implementation="com.jetbrains.python.psi.stubs.PyFunctionNameIndex"/>
86     <stubIndex implementation="com.jetbrains.python.psi.stubs.PySuperClassIndex"/>
87     <stubIndex implementation="com.jetbrains.python.psi.stubs.PyVariableNameIndex"/>
88     <stubIndex implementation="com.jetbrains.python.psi.stubs.PyInstanceAttributeIndex"/>
89
90     <declarationRangeHandler key="com.jetbrains.python.psi.PyClass"
91                              implementationClass="com.jetbrains.python.codeInsight.PyDeclarationRangeHandler"/>
92
93     <declarationRangeHandler key="com.jetbrains.python.psi.PyFunction"
94                              implementationClass="com.jetbrains.python.codeInsight.PyDeclarationRangeHandler"/>
95
96     <targetElementEvaluator language="Python" implementationClass="com.jetbrains.python.codeInsight.PyTargetElementEvaluator"/>
97
98     <moduleService serviceInterface="com.jetbrains.python.ReSTService"
99                    serviceImplementation="com.jetbrains.python.ReSTService"/>
100
101     <!-- Run/Debug -->
102     <applicationService serviceInterface="com.jetbrains.python.run.PyRunConfigurationFactory"
103                         serviceImplementation="com.jetbrains.python.run.PyRunConfigurationFactoryImpl"/>
104     <applicationService serviceInterface="com.jetbrains.python.run.PythonRunConfigurationExtensionsManager"
105                         serviceImplementation="com.jetbrains.python.run.PythonRunConfigurationExtensionsManager"/>
106     <configurationType implementation="com.jetbrains.python.run.PythonConfigurationType"/>
107     <programRunner implementation="com.jetbrains.python.run.PythonRunner" order="first"/>
108     <programRunner implementation="com.jetbrains.python.debugger.PyDebugRunner"/>
109     <runConfigurationProducer implementation="com.jetbrains.python.run.PythonRunConfigurationProducer"/>
110     <xdebugger.breakpointType implementation="com.jetbrains.python.debugger.PyLineBreakpointType"/>
111     <xdebugger.breakpointType implementation="com.jetbrains.python.debugger.PyExceptionBreakpointType"/>
112
113     <configurationType implementation="com.jetbrains.python.testing.PythonTestConfigurationType"/>
114
115     <runConfigurationProducer implementation="com.jetbrains.python.testing.unittest.PythonUnitTestConfigurationProducer"/>
116     <testSrcLocator implementation="com.jetbrains.python.testing.PythonUnitTestTestIdUrlProvider"/>
117
118     <runConfigurationProducer implementation="com.jetbrains.python.testing.pytest.PyTestConfigurationProducer"/>
119     <runConfigurationProducer implementation="com.jetbrains.python.testing.doctest.PythonDocTestConfigurationProducer"/>
120     <runConfigurationProducer implementation="com.jetbrains.python.testing.nosetest.PythonNoseTestConfigurationProducer"/>
121     <runConfigurationProducer implementation="com.jetbrains.python.testing.attest.PythonAtTestConfigurationProducer"/>
122
123     <!-- <referenceImporter implementation="com.jetbrains.python.codeInsight.imports.PythonReferenceImporter"/> -->
124     <codeInsight.lineMarkerProvider language="Python" implementationClass="com.jetbrains.python.codeInsight.PyLineMarkerProvider"/>
125     <definitionsSearch implementation="com.jetbrains.python.psi.search.PyDefinitionsSearch"/>
126     <gotoTargetRendererProvider implementation="com.jetbrains.python.codeInsight.PyGotoTargetRendererProvider"/>
127
128     <typeHierarchyProvider language="Python" implementationClass="com.jetbrains.python.hierarchy.PyTypeHierachyProvider"/>
129     <highlightUsagesHandlerFactory implementation="com.jetbrains.python.codeInsight.highlighting.PyHighlightExitPointsHandlerFactory"/>
130
131     <joinLinesHandler implementation="com.jetbrains.python.editor.PyJoinLinesHandler"/>
132     <duplicates.profile implementation="com.jetbrains.python.duplocator.PyDuplicatesProfile"/>
133
134     <intentionAction>
135       <className>com.jetbrains.python.codeInsight.intentions.PyConvertMethodToPropertyIntention</className>
136       <category>Python</category>
137     </intentionAction>
138
139     <intentionAction>
140       <className>com.jetbrains.python.codeInsight.intentions.ImportToImportFromIntention</className>
141       <category>Python</category>
142     </intentionAction>
143
144     <intentionAction>
145       <className>com.jetbrains.python.codeInsight.intentions.PyConvertStaticMethodToFunctionIntention</className>
146       <category>Python</category>
147     </intentionAction>
148
149     <intentionAction>
150       <className>com.jetbrains.python.codeInsight.intentions.SpecifyTypeInDocstringIntention</className>
151       <category>Python</category>
152     </intentionAction>
153
154     <intentionAction>
155       <className>com.jetbrains.python.codeInsight.intentions.SpecifyTypeInPy3AnnotationsIntention</className>
156       <category>Python</category>
157     </intentionAction>
158
159     <intentionAction>
160       <className>com.jetbrains.python.codeInsight.intentions.TypeAssertionIntention</className>
161       <category>Python</category>
162     </intentionAction>
163
164     <intentionAction>
165       <className>com.jetbrains.python.codeInsight.intentions.ImportFromToImportIntention</className>
166       <category>Python</category>
167     </intentionAction>
168
169     <intentionAction>
170       <className>com.jetbrains.python.codeInsight.intentions.ImportToggleAliasIntention</className>
171       <category>Python</category>
172     </intentionAction>
173
174     <intentionAction>
175       <className>com.jetbrains.python.codeInsight.intentions.PySplitIfIntention</className>
176       <category>Python</category>
177     </intentionAction>
178
179     <intentionAction>
180       <className>com.jetbrains.python.codeInsight.intentions.PyNegateComparisonIntention</className>
181       <category>Python</category>
182     </intentionAction>
183
184     <intentionAction>
185       <className>com.jetbrains.python.codeInsight.intentions.PyStringConcatenationToFormatIntention</className>
186       <category>Python</category>
187     </intentionAction>
188
189     <intentionAction>
190       <className>com.jetbrains.python.codeInsight.intentions.ConvertFormatOperatorToMethodIntention</className>
191       <category>Python</category>
192     </intentionAction>
193
194     <intentionAction>
195       <className>com.jetbrains.python.codeInsight.intentions.PyFlipComparisonIntention</className>
196       <category>Python</category>
197     </intentionAction>
198
199     <intentionAction>
200       <className>com.jetbrains.python.codeInsight.intentions.PyDemorganIntention</className>
201       <category>Python</category>
202     </intentionAction>
203
204     <intentionAction>
205       <className>com.jetbrains.python.codeInsight.intentions.ReplaceListComprehensionWithForIntention</className>
206       <category>Python</category>
207     </intentionAction>
208
209     <intentionAction>
210       <className>com.jetbrains.python.codeInsight.intentions.PyJoinIfIntention</className>
211       <category>Python</category>
212     </intentionAction>
213
214     <intentionAction>
215       <className>com.jetbrains.python.codeInsight.intentions.PyDictConstructorToLiteralFormIntention</className>
216       <category>Python</category>
217     </intentionAction>
218
219     <intentionAction>
220       <className>com.jetbrains.python.codeInsight.intentions.PyDictLiteralFormToConstructorIntention</className>
221       <category>Python</category>
222     </intentionAction>
223
224     <intentionAction>
225       <className>com.jetbrains.python.codeInsight.intentions.PyQuotedStringIntention</className>
226       <category>Python</category>
227     </intentionAction>
228
229     <intentionAction>
230       <className>com.jetbrains.python.codeInsight.intentions.PyConvertLambdaToFunctionIntention</className>
231       <category>Python</category>
232     </intentionAction>
233
234     <intentionAction>
235       <className>com.jetbrains.python.codeInsight.intentions.ConvertVariadicParamIntention</className>
236       <category>Python</category>
237     </intentionAction>
238
239     <intentionAction>
240       <className>com.jetbrains.python.codeInsight.intentions.PyConvertTripleQuotedStringIntention</className>
241       <category>Python</category>
242     </intentionAction>
243
244     <intentionAction>
245       <className>com.jetbrains.python.codeInsight.intentions.PyTransformConditionalExpressionIntention</className>
246       <category>Python</category>
247     </intentionAction>
248
249     <intentionAction>
250       <className>com.jetbrains.python.codeInsight.intentions.PyGenerateDocstringIntention</className>
251       <category>Python</category>
252     </intentionAction>
253
254     <intentionAction>
255       <className>com.jetbrains.python.codeInsight.intentions.PyYieldFromIntention</className>
256       <category>Python</category>
257     </intentionAction>
258
259     <testFinder implementation="com.jetbrains.python.codeInsight.testIntegration.PyTestFinder"/>
260     <testCreator language="Python" implementationClass="com.jetbrains.python.codeInsight.testIntegration.PyTestCreator"/>
261
262     <stubElementTypeHolder class="com.jetbrains.python.PyElementTypes"/>
263
264     <localInspection language="Python" shortName="PyArgumentListInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.incorrect.call.arguments" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyArgumentListInspection"/>
265     <localInspection language="Python" shortName="PyRedeclarationInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.redeclaration" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyRedeclarationInspection"/>
266     <localInspection language="Python" shortName="PyUnresolvedReferencesInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.unresolved.refs" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyUnresolvedReferencesInspection"/>
267     <localInspection language="Python" shortName="PyInterpreterInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.invalid.interpreter" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyInterpreterInspection"/>
268     <localInspection language="Python" shortName="PyMethodParametersInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.problematic.first.parameter" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyMethodParametersInspection"/>
269     <localInspection language="Python" shortName="PyUnreachableCodeInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.unreachable.code" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyUnreachableCodeInspection"/>
270     <localInspection language="Python" shortName="PyMethodFirstArgAssignmentInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.first.arg.assign" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyMethodFirstArgAssignmentInspection"/>
271     <localInspection language="Python" shortName="PyStringFormatInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.str.format" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyStringFormatInspection"/>
272     <localInspection language="Python" shortName="PyMethodOverridingInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.method.over" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyMethodOverridingInspection"/>
273     <localInspection language="Python" shortName="PyInitNewSignatureInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.new.init.signature" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyInitNewSignatureInspection"/>
274     <localInspection language="Python" shortName="PyTrailingSemicolonInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.trailing.semicolon" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyTrailingSemicolonInspection"/>
275     <localInspection language="Python" shortName="PyReturnFromInitInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.init.return" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyReturnFromInitInspection"/>
276     <localInspection language="Python" shortName="PyUnusedLocalInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.unused" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyUnusedLocalInspection"/>
277     <localInspection language="Python" shortName="PyDictCreationInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.dict.creation" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyDictCreationInspection"/>
278     <localInspection language="Python" shortName="PyDictDuplicateKeysInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.duplicate.keys" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyDictDuplicateKeysInspection"/>
279     <localInspection language="Python" shortName="PyExceptClausesOrderInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.bad.except.clauses.order" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyExceptClausesOrderInspection"/>
280     <localInspection language="Python" shortName="PyTupleAssignmentBalanceInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.incorrect.assignment" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyTupleAssignmentBalanceInspection"/>
281     <localInspection language="Python" shortName="PyClassicStyleClassInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.classic.class.usage" groupKey="INSP.GROUP.python" enabledByDefault="false"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyClassicStyleClassInspection"/>
282     <localInspection language="Python" shortName="PyExceptionInheritInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.exception.not.inherit" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyExceptionInheritInspection"/>
283     <localInspection language="Python" shortName="PyDefaultArgumentInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.default.argument" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyDefaultArgumentInspection"/>
284     <localInspection language="Python" shortName="PyRaisingNewStyleClassInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.raising.new.style.class" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyRaisingNewStyleClassInspection"/>
285     <localInspection language="Python" shortName="PyDocstringInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.docstring" groupKey="INSP.GROUP.python" enabledByDefault="false"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyDocstringInspection"/>
286     <localInspection language="Python" shortName="PyUnboundLocalVariableInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.unbound" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyUnboundLocalVariableInspection"/>
287     <localInspection language="Python" shortName="PyStatementEffectInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.statement.effect" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyStatementEffectInspection"/>
288     <localInspection language="Python" shortName="PySimplifyBooleanCheckInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.check.can.be.simplified" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PySimplifyBooleanCheckInspection"/>
289     <localInspection language="Python" shortName="PyFromFutureImportInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.from.future.import" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyFromFutureImportInspection"/>
290     <localInspection language="Python" shortName="PyComparisonWithNoneInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.comparison.with.none" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyComparisonWithNoneInspection"/>
291     <localInspection language="Python" shortName="PyStringExceptionInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.raising.string.exception" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyStringExceptionInspection"/>
292     <localInspection language="Python" shortName="PySuperArgumentsInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.wrong.super.arguments" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PySuperArgumentsInspection"/>
293     <localInspection language="Python" shortName="PyByteLiteralInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.byte.literal" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyByteLiteralInspection"/>
294     <localInspection language="Python" shortName="PyNonAsciiCharInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.non.ascii" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyNonAsciiCharInspection"/>
295     <localInspection language="Python" shortName="PyTupleItemAssignmentInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.tuple.item.assignment" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyTupleItemAssignmentInspection"/>
296     <localInspection language="Python" shortName="PyCallingNonCallableInspection" displayName="Trying to call a non-callable object" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyCallingNonCallableInspection"/>
297     <localInspection language="Python" shortName="PyPropertyAccessInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.property.access" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyPropertyAccessInspection"/>
298     <localInspection language="Python" shortName="PyPropertyDefinitionInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.property.definition" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyPropertyDefinitionInspection"/>
299     <localInspection language="Python" shortName="PyInconsistentIndentationInspection" displayName="Inconsistent indentation" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyInconsistentIndentationInspection"/>
300     <localInspection language="Python" shortName="PyNestedDecoratorsInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.nested.decorators" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyNestedDecoratorsInspection"/>
301     <localInspection language="Python" shortName="PyCallByClassInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.different.class.call" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyCallByClassInspection"/>
302     <localInspection language="Python" shortName="PyBroadExceptionInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.too.broad.exception.clauses" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyBroadExceptionInspection"/>
303     <localInspection language="Python" shortName="PyRedundantParenthesesInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.redundant.parentheses" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyRedundantParenthesesInspection"/>
304     <localInspection language="Python" shortName="PyAugmentAssignmentInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.augment.assignment" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyAugmentAssignmentInspection"/>
305     <localInspection language="Python" shortName="PyChainedComparisonsInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.chained.comparisons" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyChainedComparisonsInspection"/>
306     <localInspection language="Python" shortName="PyOldStyleClassesInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.oldstyle.class" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyOldStyleClassesInspection"/>
307     <localInspection language="Python" shortName="PyCompatibilityInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.compatibility" groupKey="INSP.GROUP.python" enabledByDefault="false"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyCompatibilityInspection"/>
308     <localInspection language="Python" shortName="PyListCreationInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.list.creation" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyListCreationInspection"/>
309     <localInspection language="Python" shortName="PyUnnecessaryBackslashInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.unnecessary.backslash" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyUnnecessaryBackslashInspection"/>
310     <localInspection language="Python" shortName="PySingleQuotedDocstringInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.single.quoted.docstring" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PySingleQuotedDocstringInspection"/>
311     <localInspection language="Python" shortName="PyMissingConstructorInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.missing.super.constructor" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyMissingConstructorInspection"/>
312     <localInspection language="Python" shortName="PyArgumentEqualDefaultInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.argument.equal.default" groupKey="INSP.GROUP.python" enabledByDefault="false"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyArgumentEqualDefaultInspection"/>
313     <localInspection language="Python" shortName="PySetFunctionToLiteralInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.set.function.to.literal" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PySetFunctionToLiteralInspection"/>
314     <localInspection language="Python" shortName="PyDecoratorInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.decorator.outside.class" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyDecoratorInspection"/>
315     <localInspection language="Python" shortName="PyTypeCheckerInspection" displayName="Type checker" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyTypeCheckerInspection"/>
316     <localInspection language="Python" shortName="PyDeprecationInspection" displayName="Deprecated function, class or module" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyDeprecationInspection"/>
317     <localInspection language="Python" shortName="PyMandatoryEncodingInspection" displayName="No encoding specified for file" groupKey="INSP.GROUP.python" enabledByDefault="false"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyMandatoryEncodingInspection"/>
318     <localInspection language="Python" shortName="PyPackageRequirementsInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.requirements" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyPackageRequirementsInspection"/>
319     <localInspection language="Python" shortName="PyPep8Inspection" displayName="PEP 8 coding style violation" groupKey="INSP.GROUP.python" enabledByDefault="true" level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyPep8Inspection"/>
320     <localInspection language="Python" shortName="PyAttributeOutsideInitInspection" displayName="Instance attribute defined outside _init_" groupKey="INSP.GROUP.python" enabledByDefault="true" level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyAttributeOutsideInitInspection"/>
321     <localInspection language="Python" shortName="PyClassHasNoInitInspection" displayName="Class has no __init__ method" groupKey="INSP.GROUP.python" enabledByDefault="true" level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyClassHasNoInitInspection"/>
322     <localInspection language="Python" shortName="PyNoneFunctionAssignmentInspection" displayName="Assigning function call that doesn't return anything" groupKey="INSP.GROUP.python" enabledByDefault="true" level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyNoneFunctionAssignmentInspection"/>
323     <localInspection language="Python" shortName="PyGlobalUndefinedInspection" displayName="Global variable is undefined at the module level" groupKey="INSP.GROUP.python" enabledByDefault="true" level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyGlobalUndefinedInspection"/>
324     <localInspection language="Python" shortName="PyProtectedMemberInspection" displayName="Access to a protected member of a class" groupKey="INSP.GROUP.python" enabledByDefault="true" level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyProtectedMemberInspection"/>
325     <localInspection language="Python" shortName="PyMethodMayBeStaticInspection" displayName="Method may be static" groupKey="INSP.GROUP.python" enabledByDefault="true" level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyMethodMayBeStaticInspection"/>
326     <localInspection language="Python" shortName="PyDocstringTypesInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.docstring.types" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyDocstringTypesInspection"/>
327     <localInspection language="Python" shortName="PyShadowingBuiltinsInspection" displayName="Shadowing built-ins" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyShadowingBuiltinsInspection"/>
328     <localInspection language="Python" shortName="PyShadowingNamesInspection" displayName="Shadowing names from outer scopes" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyShadowingNamesInspection"/>
329     <localInspection language="Python" shortName="PyAbstractClassInspection" displayName="Class must implement all abstract methods" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyAbstractClassInspection"/>
330     <localInspection language="Python" shortName="PyPep8NamingInspection" displayName="PEP 8 naming convention violation" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyPep8NamingInspection"/>
331
332     <liveTemplateContext implementation="com.jetbrains.python.codeInsight.liveTemplates.PythonTemplateContextType"/>
333     <liveTemplateMacro implementation="com.jetbrains.python.codeInsight.liveTemplates.CollectionElementNameMacro"/>
334     <liveTemplateMacro implementation="com.jetbrains.python.codeInsight.liveTemplates.PyClassNameMacro"/>
335     <liveTemplateMacro implementation="com.jetbrains.python.codeInsight.liveTemplates.PyFunctionNameMacro"/>
336
337     <codeInsight.overrideMethod language="Python" implementationClass="com.jetbrains.python.codeInsight.override.PyOverrideMethodsHandler"/>
338     <lang.refactoringSupport language="Python" implementationClass="com.jetbrains.python.refactoring.PyRefactoringProvider"/>
339     <lang.refactoringSupport.classMembersRefactoringSupport language="Python"
340                                                             implementationClass="com.jetbrains.python.refactoring.classes.PyClassMembersRefactoringSupport"/>
341     <inlineActionHandler implementation="com.jetbrains.python.refactoring.inline.PyInlineLocalHandler"/>
342     <codeInsight.gotoSuper language="Python" implementationClass="com.jetbrains.python.codeInsight.PyGotoSuperHandler"/>
343     <gotoDeclarationHandler implementation="com.jetbrains.python.codeInsight.PyBreakContinueGotoProvider" order="FIRST"/>
344     <lang.smartEnterProcessor language="Python"
345                               implementationClass="com.jetbrains.python.codeInsight.editorActions.smartEnter.PySmartEnterProcessor"/>
346     <statementUpDownMover implementation="com.jetbrains.python.codeInsight.editorActions.moveUpDown.PyStatementMover" id="statement"
347                           order="before line"/>
348
349     <filePropertyPusher implementation="com.jetbrains.python.psi.impl.PythonLanguageLevelPusher"/>
350
351     <elementDescriptionProvider implementation="com.jetbrains.python.findUsages.PyElementDescriptionProvider"/>
352     <fileStructureGroupRuleProvider implementation="com.jetbrains.python.findUsages.PyFunctionGroupingRuleProvider" id="py-function"/>
353     <usageTypeProvider implementation="com.jetbrains.python.findUsages.PyUsageTypeProvider"/>
354     <importFilteringRule implementation="com.jetbrains.python.findUsages.PyImportFilteringRule"/>
355
356     <multiHostInjector implementation="com.jetbrains.python.codeInsight.regexp.PythonRegexpInjector"/>
357     <lang.parserDefinition language="PythonRegExp"
358                            implementationClass="com.jetbrains.python.codeInsight.regexp.PythonRegexpParserDefinition"/>
359     <lang.parserDefinition language="PythonVerboseRegExp"
360                            implementationClass="com.jetbrains.python.codeInsight.regexp.PythonVerboseRegexpParserDefinition"/>
361     <lang.syntaxHighlighterFactory key="PythonVerboseRegExp"
362                                    implementationClass="com.jetbrains.python.codeInsight.regexp.PythonVerboseRegexpSyntaxHighlighterFactory"/>
363
364     <applicationService serviceInterface="com.jetbrains.python.codeInsight.PyCodeInsightSettings"
365                         serviceImplementation="com.jetbrains.python.codeInsight.PyCodeInsightSettings"/>
366     <autoImportOptionsProvider instance="com.jetbrains.python.codeInsight.imports.PyAutoImportOptions"/>
367
368     <defaultLiveTemplatesProvider implementation="com.jetbrains.python.codeInsight.liveTemplates.PyDefaultLiveTemplatesProvider"/>
369
370     <completion.contributor language="Python"
371                             implementationClass="com.jetbrains.python.codeInsight.completion.PyClassNameCompletionContributor"/>
372     <completion.contributor language="Python"
373                             implementationClass="com.jetbrains.python.codeInsight.completion.PyBracketProtectingCompletionContributor"/>
374     <weigher key="completion" implementationClass="com.jetbrains.python.codeInsight.completion.PythonCompletionWeigher" order="first"/>
375     <completion.confidence language="Python" implementationClass="com.jetbrains.python.codeInsight.completion.PyCompletionConfidence"/>
376     <typedHandler implementation="com.jetbrains.python.console.completion.PythonConsoleAutopopupBlockingHandler" id="pydevBlockAutoPopup"
377                   order="first, before completionAutoPopup"/>
378
379     <referencesSearch implementation="com.jetbrains.python.psi.search.PyInitReferenceSearchExecutor"/>
380     <referencesSearch implementation="com.jetbrains.python.psi.search.PyKeywordArgumentSearchExecutor"/>
381     <referencesSearch implementation="com.jetbrains.python.psi.search.PyStringReferenceSearch"/>
382     <findUsagesHandlerFactory implementation="com.jetbrains.python.findUsages.PyFindUsagesHandlerFactory" id="Python"
383                               order="last, before default"/>
384     <readWriteAccessDetector implementation="com.jetbrains.python.findUsages.PyReadWriteAccessDetector"/>
385
386     <renamePsiElementProcessor implementation="com.jetbrains.python.refactoring.rename.RenamePyVariableProcessor" order="last" id="pyvar"/>
387     <renamePsiElementProcessor implementation="com.jetbrains.python.refactoring.rename.RenamePyFunctionProcessor" order="before pyvar"/>
388     <renamePsiElementProcessor implementation="com.jetbrains.python.refactoring.rename.RenamePyClassProcessor" order="before pyvar"/>
389     <renamePsiElementProcessor implementation="com.jetbrains.python.refactoring.rename.RenamePyFileProcessor" order="first"/>
390
391     <automaticRenamerFactory implementation="com.jetbrains.python.refactoring.rename.PyContainingFileRenamerFactory"/>
392     <automaticRenamerFactory implementation="com.jetbrains.python.refactoring.rename.PyInheritorRenameFactory"/>
393     <automaticRenamerFactory implementation="com.jetbrains.python.refactoring.rename.PyParametersRenameFactory"/>
394
395     <moveFileHandler implementation="com.jetbrains.python.refactoring.move.PyMoveFileHandler"/>
396     <refactoring.moveHandler implementation="com.jetbrains.python.refactoring.move.PyMoveClassOrFunctionDelegate"/>
397
398     <refactoring.changeSignatureUsageProcessor implementation="com.jetbrains.python.refactoring.changeSignature.PyChangeSignatureUsageProcessor" id="Python"/>
399
400     <lang.importOptimizer language="Python" implementationClass="com.jetbrains.python.codeInsight.imports.PyImportOptimizer"/>
401
402     <codeStyleSettingsProvider implementation="com.jetbrains.python.formatter.PyCodeStyleSettingsProvider"/>
403     <langCodeStyleSettingsProvider implementation="com.jetbrains.python.formatter.PyLanguageCodeStyleSettingsProvider"/>
404
405     <lang.elementManipulator forClass="com.jetbrains.python.psi.PyStringLiteralExpression"
406                              implementationClass="com.jetbrains.python.psi.impl.PyStringLiteralExpressionManipulator"/>
407     <lang.elementManipulator forClass="com.jetbrains.python.psi.PyKeywordArgument"
408                              implementationClass="com.jetbrains.python.psi.impl.PyKeywordArgumentManipulator"/>
409
410     <analyzeStacktraceFilter implementation="com.jetbrains.python.run.PythonTracebackFilter"/>
411
412     <internalFileTemplate name="Python Script"/>
413     <internalFileTemplate name="Python Unit Test"/>
414     <internalFileTemplate name="Setup Script"/>
415
416     <moduleService serviceInterface="com.jetbrains.python.psi.resolve.PythonPathCache"
417                    serviceImplementation="com.jetbrains.python.psi.resolve.PythonModulePathCache"/>
418
419     <problemFileHighlightFilter implementation="com.jetbrains.python.codeInsight.PyProblemFileHighlightFilter"/>
420
421     <editorSmartKeysConfigurable instance="com.jetbrains.python.codeInsight.PySmartKeysOptions"/>
422     <editorSmartKeysConfigurable instance="com.jetbrains.python.codeInsight.PySpecificSmartKeysOptions"/>
423
424     <psi.referenceContributor implementation="com.jetbrains.python.codeInsight.PyStdReferenceContributor"/>
425
426     <applicationService serviceInterface="com.jetbrains.python.documentation.PythonDocumentationMap"
427                         serviceImplementation="com.jetbrains.python.documentation.PythonDocumentationMap"/>
428     <applicationConfigurable instance="com.jetbrains.python.documentation.PythonDocumentationConfigurable"
429                              id="com.jetbrains.python.documentation.PythonDocumentationConfigurable"
430                              displayName="Python External Documentation"/>
431     <projectConfigurable instance="com.jetbrains.python.configuration.PyIntegratedToolsModulesConfigurable"
432                          id="com.jetbrains.python.configuration.PyIntegratedToolsModulesConfigurable" displayName="Python Integrated Tools"
433                          nonDefaultProject="true"/>
434     <moduleService serviceInterface="com.jetbrains.python.documentation.PyDocumentationSettings"
435                    serviceImplementation="com.jetbrains.python.documentation.PyDocumentationSettings"/>
436     <psi.referenceContributor implementation="com.jetbrains.python.documentation.DocStringReferenceContributor"/>
437     <completion.contributor language="Python" implementationClass="com.jetbrains.python.documentation.DocStringTagCompletionContributor"/>
438
439     <projectService serviceInterface="com.intellij.psi.search.ProjectScopeBuilder"
440                     serviceImplementation="com.jetbrains.python.psi.search.PyProjectScopeBuilder"
441                     overrides="true"/>
442
443     <treeStructureProvider implementation="com.jetbrains.python.projectView.PyTreeStructureProvider"/>
444
445     <project.converterProvider implementation="com.jetbrains.python.testing.converters.PythonTestConverterProvider"/>
446
447     <projectConfigurable instance="com.jetbrains.python.console.PyConsoleOptionsConfigurable"/>
448     <projectService serviceImplementation="com.jetbrains.python.console.PyConsoleOptions"/>
449
450     <projectConfigurable instance="com.jetbrains.python.debugger.PyDebuggerConfigurable"/>
451     <projectService serviceImplementation="com.jetbrains.python.debugger.PyDebuggerOptionsProvider"/>
452
453     <codeBlockProvider language="Python" implementationClass="com.jetbrains.python.codeInsight.PyCodeBlockProvider"/>
454
455     <iconProvider implementation="com.jetbrains.python.PyDirectoryIconProvider"/>
456
457     <projectService serviceInterface="com.jetbrains.python.debugger.PySignatureCacheManager"
458                     serviceImplementation="com.jetbrains.python.debugger.PySignatureCacheManagerImpl"/>
459
460     <projectService serviceInterface="com.jetbrains.python.psi.PyPsiFacade"
461                     serviceImplementation="com.jetbrains.python.psi.impl.PyPsiFacadeImpl"/>
462     <applicationService serviceInterface="com.jetbrains.python.packaging.PyPackageManagers"
463                         serviceImplementation="com.jetbrains.python.packaging.PyPackageManagersImpl"/>
464
465     <qualifiedNameProvider implementation="com.jetbrains.python.actions.PyQualifiedNameProvider"/>
466
467     <externalAnnotator language="Python" implementationClass="com.jetbrains.python.validation.Pep8ExternalAnnotator"/>
468
469     <statistics.usagesCollector implementation="com.jetbrains.python.statistics.PyInterpreterUsagesCollector"/>
470     <statistics.usagesCollector implementation="com.jetbrains.python.statistics.PyPackageUsagesCollector"/>
471
472     <additionalTextAttributes scheme="Default" file="colorSchemes/PythonDefault.xml"/>
473     <additionalTextAttributes scheme="Darcula" file="colorSchemes/PythonDarcula.xml"/>
474
475     <postStartupActivity implementation="com.jetbrains.python.sdk.PythonSdkUpdater"/>
476     <postStartupActivity implementation="com.jetbrains.python.packaging.PyPIPackagesUpdater"/>
477     <postStartupActivity implementation="com.jetbrains.python.testing.PyTestRunnerUpdater"/>
478
479     <macro implementation="com.jetbrains.python.sdk.InterpreterDirectoryMacro"/>
480
481     <!-- User skeletons -->
482     <codeInsight.lineMarkerProvider language="Python" implementationClass="com.jetbrains.python.codeInsight.userSkeletons.PyUserSkeletonsLineMarkerProvider"/>
483
484     <!-- Buildout -->
485     <facetType implementation="com.jetbrains.python.buildout.BuildoutFacetType"/>
486     <framework.detector implementation="com.jetbrains.python.buildout.BuildoutFrameworkDetector"/>
487
488     <lang.parserDefinition language="BuildoutCfg" implementationClass="com.jetbrains.python.buildout.config.BuildoutCfgParserDefinition"/>
489     <fileTypeFactory implementation="com.jetbrains.python.buildout.config.BuildoutCfgFileTypeFactory"/>
490     <lang.syntaxHighlighterFactory key="BuildoutCfg"
491                                    implementationClass="com.jetbrains.python.buildout.config.BuildoutCfgHighlighterFactory"/>
492
493     <localInspection language="BuildoutCfg" shortName="BuildoutUnresolvedPartInspection" bundle="com.jetbrains.python.PyBundle"
494                      key="buildout.unresolved.part.inspection" groupKey="buildout" enabledByDefault="true" level="WARNING"
495                      implementationClass="com.jetbrains.python.buildout.config.inspection.BuildoutUnresolvedPartInspection"/>
496
497     <colorSettingsPage implementation="com.jetbrains.python.buildout.config.BuildoutCfgColorsPage"/>
498     <moduleService serviceInterface="com.jetbrains.python.testing.TestRunnerService"
499                    serviceImplementation="com.jetbrains.python.testing.TestRunnerService"/>
500
501     <problemFileHighlightFilter implementation="com.jetbrains.python.buildout.config.BuildoutCfgProblemFileHighlightFilter"/>
502
503
504     <!-- PyDocstring -->
505     <languageInjector implementation="com.jetbrains.python.documentation.doctest.PyDocstringLanguageInjector"/>
506     <lang.parserDefinition language="PyDocstring" implementationClass="com.jetbrains.python.documentation.doctest.PyDocstringParserDefinition"/>
507     <highlightErrorFilter implementation="com.jetbrains.python.documentation.doctest.PyDocstringErrorFilter"/>
508
509     <!-- Packaging -->
510     <moduleService serviceInterface="com.jetbrains.python.packaging.PyPackageRequirementsSettings"
511                    serviceImplementation="com.jetbrains.python.packaging.PyPackageRequirementsSettings"/>
512   </extensions>
513
514   <extensionPoints>
515     <extensionPoint qualifiedName="Pythonid.importResolver" interface="com.jetbrains.python.psi.impl.PyImportResolver"/>
516     <extensionPoint qualifiedName="Pythonid.resolveResultRater" interface="com.jetbrains.python.psi.impl.PyResolveResultRater"/>
517     <extensionPoint qualifiedName="Pythonid.typeProvider" interface="com.jetbrains.python.psi.impl.PyTypeProvider"/>
518     <extensionPoint qualifiedName="Pythonid.pySuperMethodsSearch" interface="com.intellij.util.QueryExecutor"/>
519     <extensionPoint qualifiedName="Pythonid.pyClassInheritorsSearch" interface="com.intellij.util.QueryExecutor"/>
520     <extensionPoint qualifiedName="Pythonid.pyClassMembersProvider" interface="com.jetbrains.python.psi.types.PyClassMembersProvider"/>
521     <extensionPoint qualifiedName="Pythonid.pyModuleMembersProvider" interface="com.jetbrains.python.psi.types.PyModuleMembersProvider"/>
522     <extensionPoint qualifiedName="Pythonid.pyOverridingMethodsSearch" interface="com.intellij.util.QueryExecutor"/>
523     <extensionPoint qualifiedName="Pythonid.runnableScriptFilter" interface="com.jetbrains.python.run.RunnableScriptFilter"/>
524     <extensionPoint qualifiedName="Pythonid.runnableUnitTestFilter" interface="com.jetbrains.python.testing.RunnableUnitTestFilter"/>
525     <extensionPoint qualifiedName="Pythonid.unresolvedReferenceQuickFixProvider"
526                     interface="com.jetbrains.python.inspections.PyUnresolvedReferenceQuickFixProvider"/>
527     <extensionPoint qualifiedName="Pythonid.dumbAnnotator" interface="com.jetbrains.python.validation.PyAnnotator"/>
528     <extensionPoint qualifiedName="Pythonid.inspectionExtension" interface="com.jetbrains.python.inspections.PyInspectionExtension"/>
529     <extensionPoint qualifiedName="Pythonid.customTargetExpressionStubType"
530                     interface="com.jetbrains.python.psi.impl.stubs.CustomTargetExpressionStubType"/>
531     <extensionPoint qualifiedName="Pythonid.knownDecoratorProvider" interface="com.jetbrains.python.psi.PyKnownDecoratorProvider"/>
532     <extensionPoint qualifiedName="Pythonid.documentationLinkProvider" interface="com.jetbrains.python.documentation.PythonDocumentationLinkProvider"/>
533     <extensionPoint qualifiedName="Pythonid.importCandidateProvider" interface="com.jetbrains.python.codeInsight.imports.PyImportCandidateProvider"/>
534     <extensionPoint qualifiedName="Pythonid.dialectsTokenSetContributor" interface="com.jetbrains.python.PythonDialectsTokenSetContributor"/>
535     <extensionPoint qualifiedName="Pythonid.runConfigurationExtension" interface="com.jetbrains.python.run.PythonRunConfigurationExtension"/>
536     <extensionPoint qualifiedName="Pythonid.visitorFilter" beanClass="com.intellij.lang.LanguageExtensionPoint"/>
537     <extensionPoint qualifiedName="Pythonid.remoteInterpreterManager" interface="com.jetbrains.python.remote.PythonRemoteInterpreterManager"/>
538     <extensionPoint qualifiedName="Pythonid.keywordArgumentProvider" interface="com.jetbrains.python.psi.impl.PyKeywordArgumentProvider"/>
539     <extensionPoint qualifiedName="Pythonid.canonicalPathProvider" interface="com.jetbrains.python.psi.resolve.PyCanonicalPathProvider"/>
540     <extensionPoint qualifiedName="Pythonid.templateContextProvider" interface="com.jetbrains.python.templateLanguages.TemplateContextProvider"/>
541     <extensionPoint qualifiedName="Pythonid.pyReferenceResolveProvider" interface="com.jetbrains.python.psi.resolve.PyReferenceResolveProvider"/>
542     <extensionPoint qualifiedName="Pythonid.breakpointHandler" interface="com.jetbrains.python.debugger.PyBreakpointHandlerFactory"/>
543     <extensionPoint qualifiedName="Pythonid.consoleOptionsProvider" interface="com.jetbrains.python.console.PyConsoleOptionsProvider"/>
544   </extensionPoints>
545
546   <extensions defaultExtensionNs="Pythonid">
547     <pySuperMethodsSearch implementation="com.jetbrains.python.psi.search.PySuperMethodsSearchExecutor"/>
548     <pyClassInheritorsSearch implementation="com.jetbrains.python.psi.search.PyClassInheritorsSearchExecutor"/>
549     <pyOverridingMethodsSearch implementation="com.jetbrains.python.psi.search.PyOverridingMethodsSearchExecutor"/>
550     <runnableScriptFilter implementation="com.jetbrains.python.testing.pytest.PyTestRunnableScriptFilter"/>
551     <runnableScriptFilter implementation="com.jetbrains.python.testing.PythonUnitTestRunnableScriptFilter"/>
552     <dumbAnnotator implementation="com.jetbrains.python.validation.DocStringAnnotator"/>
553     <dumbAnnotator implementation="com.jetbrains.python.validation.PyDefinitionsAnnotator"/>
554     <dumbAnnotator implementation="com.jetbrains.python.validation.GeneratorInArgumentListAnnotator"/>
555     <dumbAnnotator implementation="com.jetbrains.python.validation.StarAnnotator"/>
556     <dumbAnnotator implementation="com.jetbrains.python.validation.StringLiteralQuotesAnnotator"/>
557
558     <customTargetExpressionStubType implementation="com.jetbrains.python.psi.impl.stubs.PropertyStubType"/>
559     <dialectsTokenSetContributor implementation="com.jetbrains.python.PythonTokenSetContributor"/>
560     <pyClassMembersProvider implementation="com.jetbrains.python.codeInsight.stdlib.PyStdlibClassMembersProvider"/>
561     <typeProvider implementation="com.jetbrains.python.codeInsight.stdlib.PyStdlibTypeProvider"/>
562     <pyModuleMembersProvider implementation="com.jetbrains.python.codeInsight.stdlib.PyStdlibModuleMembersProvider"/>
563     <documentationLinkProvider implementation="com.jetbrains.python.codeInsight.stdlib.PyStdlibDocumentationLinkProvider"/>
564     <canonicalPathProvider implementation="com.jetbrains.python.codeInsight.stdlib.PyStdlibCanonicalPathProvider"/>
565
566     <!-- User skeletons -->
567     <pyModuleMembersProvider implementation="com.jetbrains.python.codeInsight.userSkeletons.PyUserSkeletonsModuleMembersProvider"/>
568     <pyClassMembersProvider implementation="com.jetbrains.python.codeInsight.userSkeletons.PyUserSkeletonsClassMembersProvider"/>
569     <typeProvider implementation="com.jetbrains.python.codeInsight.userSkeletons.PyUserSkeletonsTypeProvider"/>
570
571     <typeProvider implementation="com.jetbrains.python.debugger.PyCallSignatureTypeProvider"/>
572     <pyReferenceResolveProvider implementation="com.jetbrains.python.psi.resolve.PythonBuiltinReferenceResolveProvider"/>
573
574     <!-- PyDocstring -->
575     <dialectsTokenSetContributor implementation="com.jetbrains.python.documentation.doctest.PyDocstringTokenSetContributor"/>
576     <visitorFilter language="PyDocstring" implementationClass="com.jetbrains.python.documentation.doctest.PyDocstringVisitorFilter"/>
577
578     <!-- Console -->
579     <visitorFilter language="Python" implementationClass="com.jetbrains.python.console.ConsoleVisitorFilter"/>
580
581     <!-- Packaging -->
582     <keywordArgumentProvider implementation="com.jetbrains.python.packaging.setupPy.SetupKeywordArgumentProvider"/>
583
584     <!-- PyQt -->
585     <typeProvider implementation="com.jetbrains.pyqt.PyQtTypeProvider"/>
586
587     <!-- NumPy -->
588     <pyModuleMembersProvider implementation="com.jetbrains.numpy.codeInsight.NumpyModuleMembersProvider"/>
589     <typeProvider implementation="com.jetbrains.numpy.codeInsight.NumpyDocStringTypeProvider"/>
590   </extensions>
591
592   <project-components>
593     <component>
594       <implementation-class>com.jetbrains.python.PythonPsiManager</implementation-class>
595     </component>
596   </project-components>
597
598   <actions>
599     <group id="PyTypeHierarchyPopupMenu">
600       <reference ref="TypeHierarchyBase.BaseOnThisType"/>
601       <reference ref="TypeHierarchy.Class"/>
602       <reference ref="TypeHierarchy.Subtypes"/>
603       <reference ref="TypeHierarchy.Supertypes"/>
604       <separator/>
605       <reference ref="EditSource"/>
606       <separator/>
607       <reference ref="FindUsages"/>
608       <reference ref="RefactoringMenu"/>
609       <separator/>
610       <reference ref="AddToFavorites"/>
611       <separator/>
612       <reference ref="RunContextPopupGroup"/>
613       <separator/>
614       <reference ref="ReformatCode"/>
615       <reference ref="OptimizeImports"/>
616       <reference ref="$Delete"/>
617       <separator/>
618       <reference ref="VersionControlsGroup"/>
619       <separator/>
620       <reference ref="ExternalToolsGroup"/>
621       <separator/>
622       <reference ref="CompareTwoFiles"/>
623       <reference ref="CompareFileWithEditor"/>
624     </group>
625
626     <action id="com.jetbrains.python.console.RunPythonConsoleAction"
627             class="com.jetbrains.python.console.RunPythonConsoleAction"
628             text="Run Python Console..." description="Allows to quickly run Python console">
629       <add-to-group group-id="ToolsMenu" anchor="last"/>
630     </action>
631
632     <action id="com.jetbrains.python.console.PyOpenDebugConsoleAction"
633             class="com.jetbrains.python.console.PyOpenDebugConsoleAction"
634             text="Open Debug Command Line" description="Opens debug command line for running process">
635       <add-to-group group-id="ToolsMenu" anchor="last"/>
636     </action>
637
638
639     <action id="ExecuteInPyConsoleAction"
640             class="com.jetbrains.python.actions.ExecuteInConsoleAction"
641             text="Execute selection in console"
642             description="Executes selected code fragment in Python/Django console">
643       <add-to-group group-id="EditorPopupMenu" anchor="before" relative-to-action="CompareClipboardWithSelection"/>
644
645       <keyboard-shortcut keymap="$default" first-keystroke="alt shift E"/>
646       <keyboard-shortcut keymap="Eclipse" first-keystroke="ctrl alt E" replace-all="true"/>
647       <keyboard-shortcut keymap="NetBeans 6.5" first-keystroke="ctrl alt E" replace-all="true"/>
648     </action>
649
650     <action id="NewPythonFile" class="com.jetbrains.python.actions.CreatePythonFileAction">
651       <add-to-group group-id="NewGroup" anchor="before" relative-to-action="NewXml"/>
652     </action>
653
654     <action id="NewPythonPackage" class="com.jetbrains.python.actions.CreatePackageAction" text="Python Package"
655             description="Create a new directory and __init__.py inside it" icon="AllIcons.Nodes.Package">
656       <add-to-group group-id="NewGroup" anchor="after" relative-to-action="NewDir"/>
657     </action>
658
659     <action id="CompuleQrc" class="com.jetbrains.pyqt.CompileQrcAction" text="Compile .qrc file">
660       <add-to-group group-id="ProjectViewPopupMenuRunGroup" anchor="first"/>
661     </action>
662
663     <action id="CleanPyc" class="com.jetbrains.python.actions.CleanPycAction" text="Clean Python Compiled Files"
664             description="Delete compiled bytecode files in selected directory and its subdirectories">
665       <add-to-group group-id="ProjectViewPopupMenu" anchor="after" relative-to-action="ProjectViewPopupMenuRefactoringGroup"/>
666     </action>
667
668     <group id="PyPackagingMenu" text="Packaging">
669       <action id="CreateSetupPy" class="com.jetbrains.python.packaging.setupPy.CreateSetupPyAction"/>
670       <action id="RunSetupPyTask" class="com.jetbrains.python.packaging.setupPy.SetupTaskChooserAction"/>
671       <add-to-group group-id="ToolsMenu" anchor="last"/>
672     </group>
673
674     <action id="PythonGenerateDictionaries" class="com.jetbrains.python.spellchecker.PythonSpellcheckerGenerateDictionariesAction"
675             text="Generate Python Spellchecker Dictionaries" internal="true">
676       <add-to-group group-id="Internal"/>
677     </action>
678
679     <action id="PyInvertBooleanAction" class="com.jetbrains.python.refactoring.invertBoolean.PyInvertBooleanAction" text="Invert Boolean">
680       <add-to-group group-id="RefactoringMenu" anchor="last" />
681     </action>
682   </actions>
683
684   <extensions defaultExtensionNs="com.intellij.spellchecker">
685     <support language="Python" implementationClass="com.jetbrains.python.spellchecker.PythonSpellcheckerStrategy"/>
686     <bundledDictionaryProvider implementation="com.jetbrains.python.spellchecker.PythonBundledDictionaryProvider"/>
687   </extensions>
688
689   <application-components>
690     <component>
691       <implementation-class>com.jetbrains.python.testing.VFSTestFrameworkListener</implementation-class>
692     </component>
693   </application-components>
694
695 </idea-plugin>