Angular/angular-backend/resources/intellij.angular.backend.xml (479 lines of code) (raw):
<idea-plugin visibility="internal">
<dependencies>
<module name="intellij.xml.impl"/>
<module name="intellij.css.backend"/>
<module name="intellij.javascript.ultimate"/>
<plugin id="HtmlTools"/>
<plugin id="intellij.webpack"/>
<!-- TODO remove this dependency (see org.angular2.cli.config.AngularLintConfiguration ) -->
<plugin id="tslint"/>
</dependencies>
<extensionPoints>
<extensionPoint qualifiedName="org.angular2.templateScopesProvider"
interface="org.angular2.codeInsight.template.Angular2TemplateScopesProvider"
dynamic="true"/>
<extensionPoint qualifiedName="org.angular2.frameworkHandler"
interface="org.angular2.entities.Angular2FrameworkHandler"
dynamic="true"/>
<extensionPoint qualifiedName="org.angular2.configProvider"
interface="org.angular2.cli.config.AngularConfigProvider"
dynamic="true"/>
<extensionPoint qualifiedName="org.angular2.entitiesSource"
interface="org.angular2.entities.Angular2EntitiesSource"
dynamic="true"/>
<extensionPoint qualifiedName="org.angular2.jsHandlersFactory"
interface="org.angular2.codeInsight.Angular2JSHandlersFactory"
dynamic="true"/>
<extensionPoint qualifiedName="org.angular2.importsHandler"
interface="org.angular2.codeInsight.imports.Angular2ImportsHandler"
dynamic="true"/>
</extensionPoints>
<extensions defaultExtensionNs="com.intellij">
<additionalTextAttributes scheme="IntelliJ Light" file="colorSchemes/Angular2IntelliJLight.xml"/>
<additionalTextAttributes scheme="Darcula" file="colorSchemes/Angular2Darcula.xml"/>
<additionalTextAttributes scheme="High contrast" file="colorSchemes/Angular2HighContrast.xml"/>
<additionalTextAttributes scheme="Light" file="colorSchemes/Angular2Light.xml"/>
<additionalTextAttributes scheme="Dark" file="colorSchemes/Angular2Dark.xml"/>
<!-- Angular 2 contributions -->
<polySymbols.framework id="angular" implementation="org.angular2.Angular2Framework"/>
<projectService serviceInterface="org.angular2.cli.AngularCliSchematicsRegistryService"
serviceImplementation="org.angular2.cli.AngularCliSchematicsRegistryServiceImpl"/>
<javascript.names.suggester implementation="org.angular2.naming.Angular2NamesSuggester"/>
<projectService serviceInterface="org.angular2.refactoring.extractComponent.Angular2CliComponentGenerator"
serviceImplementation="org.angular2.refactoring.extractComponent.Angular2CliComponentGeneratorImpl"
/>
<platform.backend.documentation.psiTargetProvider
implementation="org.angular2.codeInsight.documentation.Angular2ElementDocumentationTargetFactory"/>
<javascript.rename.extension implementation="org.angular2.refactoring.Angular2RenameExtension"/>
<localInspection implementationClass="org.angular2.inspections.AngularCliAddDependencyInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" level="WARNING" language="JSON"
key="angular.inspection.install-with-ng-add.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularIncorrectTemplateDefinitionInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" level="ERROR" language="TypeScript"
key="angular.inspection.invalid-template-definition.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularMissingOrInvalidDeclarationInModuleInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" level="ERROR" language="TypeScript"
key="angular.inspection.invalid-declaration-in-module.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularInvalidImportedOrDeclaredSymbolInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" level="ERROR" language="TypeScript"
key="angular.inspection.wrong-entity-type.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularRecursiveModuleImportExportInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" level="ERROR" language="TypeScript"
key="angular.inspection.cyclic-module-dependency.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularUndefinedModuleExportInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" level="ERROR" language="TypeScript"
key="angular.inspection.undefined-export.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularInvalidEntryComponentInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" level="ERROR" language="TypeScript"
key="angular.inspection.invalid-entry-component.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularInvalidSelectorInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" level="ERROR"
key="angular.inspection.invalid-directive-selector.name"
bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularNonStandaloneComponentImportsInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" level="ERROR" language="TypeScript"
key="angular.inspection.non-standalone-component-imports.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularInaccessibleSymbolInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" level="ERROR"
key="angular.inspection.inaccessible-symbol.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularUncalledSignalLengthPropertyAccessInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" level="WARNING" language="TypeScript"
key="angular.inspection.uncalled-signal-length-property-access.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularUnusedComponentImportInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" level="ERROR" language="TypeScript"
key="angular.inspection.unused-component-import.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularIncorrectLetUsageInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" level="ERROR" language="Angular2"
key="angular.inspection.incorrect-let-usage.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularUnsupportedSyntaxInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" level="ERROR" language="Angular2"
key="angular.inspection.unsupported-syntax-inspection.name" bundle="messages.Angular2Bundle"/>
<intentionAction>
<language>Angular2</language>
<className>org.angular2.intentions.AngularIntroduceLetVariableIntention</className>
<bundleName>messages.Angular2Bundle</bundleName>
<categoryKey>angular.intention.category</categoryKey>
</intentionAction>
<intentionAction>
<language>TypeScript</language>
<className>org.angular2.intentions.AngularInlineComponentTemplate</className>
<bundleName>messages.Angular2Bundle</bundleName>
<categoryKey>angular.intention.category</categoryKey>
</intentionAction>
<intentionAction>
<language>TypeScript</language>
<className>org.angular2.intentions.AngularExtractComponentTemplate</className>
<bundleName>messages.Angular2Bundle</bundleName>
<categoryKey>angular.intention.category</categoryKey>
</intentionAction>
<usageFilteringRuleProvider implementation="org.angular2.findUsages.Angular2UsageFilteringRuleProvider"/>
<inlineActionHandler implementation="org.angular2.refactoring.inline.Angular2InlineHandler" id="Angular2Inline"
order="before genericJSInline"/>
<directoryProjectGenerator implementation="org.angular2.cli.AngularCliProjectGenerator"/>
<projectTemplatesFactory implementation="org.angular2.AngularProjectTemplatesFactory"/>
<!-- works in new IDEA wizard -->
<moduleBuilder builderClass="org.angular2.AngularCLIModuleBuilder"/>
<directoryProjectConfigurator implementation="org.angular2.cli.Angular2ProjectConfigurator"/>
<framework.detector implementation="org.angular2.cli.Angular2CliFrameworkDetector"/>
<registryKey key="angular.detect.cli.configuration" defaultValue="false" description="Enables framework detection for Angular CLI"/>
<stubIndex implementation="org.angular2.index.Angular2TemplateUrlIndex"/>
<stubIndex implementation="org.angular2.index.Angular2SymbolIndex"/>
<stubIndex implementation="org.angular2.index.Angular2SourcePipeIndex"/>
<stubIndex implementation="org.angular2.index.Angular2SourceDirectiveIndex"/>
<stubIndex implementation="org.angular2.index.Angular2SourceModuleIndex"/>
<stubIndex implementation="org.angular2.index.Angular2IvyPipeIndex"/>
<stubIndex implementation="org.angular2.index.Angular2IvyDirectiveIndex"/>
<stubIndex implementation="org.angular2.index.Angular2IvyModuleIndex"/>
<stubIndex implementation="org.angular2.index.Angular2CustomCssPropertyInJsIndex"/>
<stubIndex implementation="org.angular2.index.Angular2CustomCssPropertyInHtmlAttributeIndex"/>
<findUsagesHandlerFactory implementation="org.angular2.findUsages.Angular2FindUsagesHandlerFactory" order="before JavaScript"/>
<psi.referenceContributor language="TypeScript" implementation="org.angular2.codeInsight.refs.Angular2TSReferencesContributor"/>
<psi.referenceContributor language="HtmlCompatible" implementation="org.angular2.codeInsight.refs.Angular2HtmlReferencesContributor"/>
<polySymbols.psiReferenceProvider hostElementClass="org.angular2.lang.html.psi.Angular2HtmlNgContentSelector"
hostLanguage="Angular2Html"
implementationClass="org.angular2.web.references.Angular2SelectorReferenceProvider$NgContentSelectorProvider"/>
<polySymbols.psiReferenceProvider hostElementClass="com.intellij.lang.javascript.psi.JSLiteralExpression"
hostLanguage="TypeScript"
implementationClass="org.angular2.web.references.Angular2SelectorReferenceProvider$NgDecoratorSelectorProvider"/>
<polySymbols.psiReferenceProvider hostElementClass="com.intellij.lang.javascript.psi.JSLiteralExpression"
hostLanguage="TypeScript"
implementationClass="org.angular2.web.references.Angular2DirectivePropertyLiteralReferenceProvider"/>
<polySymbols.psiReferenceProvider hostElementClass="org.angular2.lang.html.psi.Angular2HtmlBlock"
hostLanguage="Angular2Html"
implementationClass="org.angular2.codeInsight.blocks.Angular2BlockReferenceProvider"/>
<polySymbols.declarationProvider implementation="org.angular2.web.declarations.Angular2SelectorDeclarationProvider"/>
<polySymbols.declarationProvider implementation="org.angular2.web.declarations.Angular2DirectiveExportAsDeclarationProvider"/>
<polySymbols.declarationProvider implementation="org.angular2.web.declarations.Angular2DirectivePropertyDeclarationProvider"/>
<polySymbols.declarationProvider implementation="org.angular2.web.declarations.Angular2DirectiveAttributeDeclarationProvider"/>
<polySymbols.declarationProvider implementation="org.angular2.web.declarations.Angular2CustomCssPropertyDeclarationProvider"/>
<polySymbols.webTypes.symbolFactory namespace="html" kindName="ng-blocks"
implementation="org.angular2.codeInsight.blocks.Angular2HtmlBlockSymbol$Factory"/>
<polySymbols.webTypes.symbolFactory namespace="html" kindName="ng-block-parameters"
implementation="org.angular2.codeInsight.blocks.Angular2BlockParameterSymbol$Factory"/>
<polySymbols.webTypes.symbolFactory namespace="html" kindName="ng-block-parameter-prefixes"
implementation="org.angular2.codeInsight.blocks.Angular2BlockParameterPrefixSymbol$Factory"/>
<polySymbols.psiSourcedSymbolProvider implementation="org.angular2.web.findUsages.Angular2PsiSourcedPolySymbolProvider"/>
<polySymbols.documentationCustomizer implementation="org.angular2.web.Angular2SymbolDocumentationCustomizer"/>
<polySymbols.highlightingCustomizer id="angular2"
implementation="org.angular2.web.Angular2SymbolHighlightingCustomizer"
order="before js, before html"/>
<elementDescriptionProvider
order="first"
implementation="org.angular2.refactoring.Angular2ElementDescriptionProvider"/>
<searcher forClass="com.intellij.psi.search.searches.ReferencesSearch$SearchParameters"
implementationClass="org.angular2.findUsages.Angular2ComponentClassInTemplateUsageSearcher"/>
<referencesSearch implementation="org.angular2.findUsages.Angular2ReferenceSearcher"/>
<gotoSymbolContributor implementation="org.angular2.navigation.Angular2GotoSymbolContributor"/>
<gotoRelatedProvider implementation="org.angular2.navigation.Angular2GotoRelatedProvider"/>
<typedHandler implementation="org.angular2.codeInsight.blocks.Angular2HtmlBlocksTypedHandler"/>
<typedHandler implementation="org.angular2.editor.Angular2BracesInterpolationTypedHandler"/>
<moveFileHandler implementation="org.angular2.refactoring.Angular2MoveFileHandler" order="first"/>
<completion.htmlInTextCompletionPopupExtension
implementation="org.angular2.codeInsight.blocks.Angular2HtmlBlocksInTextCompletionPopupExtension"/>
<liveTemplateContext contextId="Angular" implementation="org.angular2.liveTemplate.Angular2BaseLiveTemplateContextType"/>
<liveTemplateContext contextId="ANGULAR_TOP_LEVEL_STATEMENT" baseContextId="Angular"
implementation="com.intellij.lang.javascript.liveTemplates.typescript.TypeScriptTopLevelStatementContextType"/>
<liveTemplateContext contextId="ANGULAR_EXPRESSION" baseContextId="Angular"
implementation="com.intellij.lang.javascript.liveTemplates.typescript.TSExpressionContextType"/>
<liveTemplateContext contextId="ANGULAR_CLASS" baseContextId="Angular"
implementation="com.intellij.lang.javascript.liveTemplates.typescript.TSClassContextType"/>
<liveTemplateContext contextId="ANGULAR_STATEMENT" baseContextId="Angular"
implementation="com.intellij.lang.javascript.liveTemplates.typescript.TSStatementContextType"/>
<liveTemplateContext contextId="ANGULAR_TEMPLATE" baseContextId="Angular"
implementation="org.angular2.liveTemplate.Angular2TemplateContextType"/>
<defaultLiveTemplates file="liveTemplates/Angular2"/>
<lang.importOptimizer language="TypeScript" id="Angular2"
implementationClass="org.angular2.codeInsight.imports.Angular2TypeScriptImportsOptimizer"
order="before TypeScript"/>
<codeInsight.parameterInfo language="Angular2"
implementationClass="org.angular2.codeInsight.attributes.Angular2TemplateBindingsParameterInfoHandler"/>
<codeInsight.parameterInfo language="Angular2Html"
implementationClass="org.angular2.codeInsight.attributes.Angular2TemplateBindingsParameterInfoHandler"/>
<codeInsight.parameterInfo language="Angular2" implementationClass="org.angular2.codeInsight.blocks.Angular2BlockParameterInfoHandler"/>
<codeInsight.parameterInfo language="Angular2Html"
implementationClass="org.angular2.codeInsight.blocks.Angular2BlockParameterInfoHandler"/>
<!-- Angular 2 HTML template contributions -->
<fileType name="Angular2Html" implementationClass="org.angular2.lang.html.Angular2HtmlFileType" fieldName="INSTANCE"
language="Angular2Html"/>
<fileType name="Angular17Html" implementationClass="org.angular2.lang.html.Angular17HtmlFileType" fieldName="INSTANCE"
language="Angular17Html"/>
<fileType name="Angular181Html" implementationClass="org.angular2.lang.html.Angular181HtmlFileType" fieldName="INSTANCE"
language="Angular181Html"/>
<fileType name="Angular20Html" implementationClass="org.angular2.lang.html.Angular20HtmlFileType" fieldName="INSTANCE"
language="Angular20Html"/>
<langCodeStyleSettingsProvider implementation="org.angular2.options.Angular2HtmlCodeStyleSettingsProvider"/>
<fileIndentOptionsProvider implementation="org.angular2.lang.html.psi.formatter.Angular2HtmlFileIndentOptionsProvider"
id="angular2html" order="before html"/>
<extendWordSelectionHandler implementation="org.angular2.editor.AngularBlockExtendWordSelectionHandler"/>
<quoteHandler className="com.intellij.codeInsight.editorActions.HtmlQuoteHandler" fileType="Angular2Html"/>
<lang.rearranger language="Angular2Html" implementationClass="org.angular2.lang.html.psi.arrangement.Angular2HtmlRearranger"/>
<multiHostInjector implementation="org.angular2.editor.Angular2Injector" order="after JSCommentInjector, before JSConfigurationInjector"
id="angular2"/>
<xml.xmlExtension implementation="org.angular2.codeInsight.Angular2HtmlExtension" order="before html, before poly-symbols-react"
id="angular2"/>
<lang.parserDefinition language="Angular2Html" implementationClass="org.angular2.lang.html.Angular2HtmlParserDefinition"/>
<languageStubDefinition language="Angular2Html" implementationClass="org.angular2.lang.stubs.Angular2HtmlLanguageStubDefinition"/>
<lang.parserDefinition language="Angular17Html" implementationClass="org.angular2.lang.html.Angular17HtmlParserDefinition"/>
<lang.parserDefinition language="Angular181Html" implementationClass="org.angular2.lang.html.Angular181HtmlParserDefinition"/>
<lang.parserDefinition language="Angular20Html" implementationClass="org.angular2.lang.html.Angular20HtmlParserDefinition"/>
<braceMatcher filetype="Angular17Html" implementationClass="org.angular2.lang.html.Angular17HtmlBraceMatcher"/>
<braceMatcher filetype="Angular181Html" implementationClass="org.angular2.lang.html.Angular17HtmlBraceMatcher"/>
<braceMatcher filetype="Angular20Html" implementationClass="org.angular2.lang.html.Angular17HtmlBraceMatcher"/>
<tree.CustomLanguageASTComparator language="Angular2Html"
implementationClass="org.angular2.lang.expr.parser.Angular2HtmlASTComparator"/>
<lang.syntaxHighlighterFactory language="Angular2Html"
implementationClass="org.angular2.lang.html.Angular2HtmlSyntaxHighlighterFactory"/>
<lang.syntaxHighlighterFactory language="Angular17Html"
implementationClass="org.angular2.lang.html.Angular17HtmlSyntaxHighlighterFactory"/>
<lang.syntaxHighlighterFactory language="Angular181Html"
implementationClass="org.angular2.lang.html.Angular181HtmlSyntaxHighlighterFactory"/>
<lang.syntaxHighlighterFactory language="Angular20Html"
implementationClass="org.angular2.lang.html.Angular20HtmlSyntaxHighlighterFactory"/>
<completion.contributor language="Angular2Html" implementationClass="org.angular2.codeInsight.Angular2HtmlCompletionContributor"
id="Angular2HtmlCompletionContributor"/>
<lookup.charFilter implementation="org.angular2.editor.Angular2LookupCharFilter" order="before xml"/>
<localInspection implementationClass="org.angular2.inspections.AngularMissingEventHandlerInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" language="HtmlCompatible"
level="ERROR" key="angular.inspection.missing-event-handler.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularInsecureBindingToEventInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" language="HtmlCompatible"
level="WARNING" key="angular.inspection.insecure-binding-to-event.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularNonEmptyNgContentInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" language="HtmlCompatible"
level="ERROR" key="angular.inspection.ng-content-with-content.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularMultipleStructuralDirectivesInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" language="HtmlCompatible"
level="ERROR" key="angular.inspection.multiple-structural-directives.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularNgOptimizedImageInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" language="HtmlCompatible"
level="WEAK WARNING" key="angular.inspection.ng-optimized-image.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularInvalidAnimationTriggerAssignmentInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" language="HtmlCompatible"
level="ERROR" key="angular.inspection.animation-trigger-assignment.name"
bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularInvalidTemplateReferenceVariableInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" language="HtmlCompatible"
level="ERROR" key="angular.inspection.invalid-template-ref-var.name"
bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularUndefinedBindingInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" language="HtmlCompatible"
level="ERROR" key="angular.inspection.undefined-binding.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularInvalidI18nAttributeInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" language="HtmlCompatible"
level="WARNING" key="angular.inspection.i18n.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularAmbiguousComponentTagInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" language="HtmlCompatible"
level="ERROR" key="angular.inspection.ambiguous-component-tag.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularMissingRequiredDirectiveInputBindingInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" language="HtmlCompatible"
level="ERROR" key="angular.inspection.missing-required-directive-input.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularUndefinedTagInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" language="HtmlCompatible"
level="ERROR" key="angular.inspection.undefined-tag.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularBindingTypeMismatchInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" language="HtmlCompatible"
level="ERROR" key="angular.inspection.invalid-binding-type.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularIncorrectBlockUsageInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" language="Angular2Html"
level="ERROR" key="angular.inspection.incorrect-block-usage.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularForBlockNonIterableVarInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" language="Angular2Html"
level="ERROR" key="angular.inspection.for-block-non-iterable.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularDeferBlockOnTriggerInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" language="Angular2Html"
level="ERROR" key="angular.inspection.defer-block-on-trigger.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularUnresolvedPipeInspection"
groupKey="angular.inspection.group.name" enabledByDefault="true" language="HtmlCompatible"
level="ERROR" key="angular.inspection.unresolved-pipe.name" bundle="messages.Angular2Bundle"/>
<localInspection implementationClass="org.angular2.inspections.AngularIllegalForLoopTrackAccess"
groupKey="angular.inspection.group.name" enabledByDefault="true" language="HtmlCompatible"
level="ERROR" key="angular.inspection.illegal-for-loop-access.name" bundle="messages.Angular2Bundle"/>
<errorQuickFixProvider implementation="org.angular2.inspections.Angular2ErrorQuickFixProvider"/>
<idIndexer filetype="Angular2Html" implementationClass="org.angular2.lang.html.index.Angular2HtmlIdIndexer"/>
<todoIndexer filetype="Angular2Html" implementationClass="org.angular2.lang.html.index.Angular2HtmlTodoIndexer"/>
<idIndexer filetype="Angular17Html" implementationClass="org.angular2.lang.html.Angular17HtmlIdIndexer"/>
<todoIndexer filetype="Angular17Html" implementationClass="org.angular2.lang.html.Angular17HtmlTodoIndexer"/>
<idIndexer filetype="Angular181Html" implementationClass="org.angular2.lang.html.Angular181HtmlIdIndexer"/>
<todoIndexer filetype="Angular181Html" implementationClass="org.angular2.lang.html.Angular181HtmlTodoIndexer"/>
<idIndexer filetype="Angular20Html" implementationClass="org.angular2.lang.html.Angular20HtmlIdIndexer"/>
<todoIndexer filetype="Angular20Html" implementationClass="org.angular2.lang.html.Angular20HtmlTodoIndexer"/>
<lang.formatter language="Angular2Html" implementationClass="org.angular2.lang.html.psi.formatter.Angular2HtmlFormattingModelBuilder"/>
<lang.foldingBuilder language="Angular2Html" implementationClass="org.angular2.editor.Angular2HtmlFoldingBuilder"/>
<gotoDeclarationHandler implementation="org.angular2.editor.Angular2GotoDeclarationHandler" order="first"/>
<typeDeclarationProvider implementation="org.angular2.editor.Angular2TypeDeclarationProvider" order="first"/>
<lang.symbolTypeProvider implementation="org.angular2.editor.Angular2TypeDeclarationProvider"/>
<html.attributeValueProvider implementation="org.angular2.codeInsight.attributes.Angular2AttributeValueProvider"/>
<colorSettingsPage implementation="org.angular2.lang.html.highlighting.Angular2ColorsAndFontsPage"/>
<xml.xmlSuppressionProvider implementation="org.angular2.inspections.Angular2HtmlSuppressionProvider" order="first"/>
<html.embeddedContentSupport implementation="org.angular2.lang.html.lexer.Angular2HtmlEmbeddedContentSupport"/>
<copyPastePostProcessor implementation="org.angular2.codeInsight.imports.Angular2DeclarationsCopyPasteProcessor"/>
<copyPastePostProcessor implementation="org.angular2.codeInsight.imports.Angular2ExpressionsCopyPasteProcessor"/>
<platform.backend.documentation.linkHandler implementation="org.angular2.codeInsight.documentation.Angular2DocumentationLinkHandler"/>
<polySymbols.webTypes enableByDefault="true" source="web-types/angular-base@0.0.0.web-types.json"/>
<polySymbols.webTypes enableByDefault="false" source="web-types/angular@2.0.0.web-types.json"/>
<polySymbols.webTypes enableByDefault="false" source="web-types/angular@10.0.0.web-types.json"/>
<polySymbols.webTypes enableByDefault="false" source="web-types/angular@14.2.0.web-types.json"/>
<polySymbols.webTypes enableByDefault="false" source="web-types/angular@16.0.0.web-types.json"/>
<polySymbols.webTypes enableByDefault="true" source="web-types/angular@17.0.0.web-types.json"/>
<polySymbols.webTypes enableByDefault="false" source="web-types/angular@18.0.0.web-types.json"/>
<polySymbols.webTypes enableByDefault="false" source="web-types/angular@18.1.0.web-types.json"/>
<polySymbols.webTypes enableByDefault="false" source="web-types/angular@19.0.0.web-types.json"/>
<polySymbols.webTypes enableByDefault="false" source="web-types/angular@19.2.0.web-types.json"/>
<polySymbols.webTypes enableByDefault="false" source="web-types/angular@20.0.0.web-types.json"/>
<polySymbols.webTypes enableByDefault="false" source="web-types/angular@20.1.0.web-types.json"/>
<polySymbols.webTypes enableByDefault="false" source="web-types/angular@20.2.0.web-types.json"/>
<polySymbols.webTypes enableByDefault="true" source="web-types/angular-hacks.web-types.json"/>
<polySymbols.webTypes enableByDefault="true" source="web-types/hammerjs.web-types.json"/>
<polySymbols.queryScopeContributor implementation="org.angular2.web.Angular2SymbolQueryScopeContributor"/>
<polySymbols.queryConfigurator implementation="org.angular2.web.Angular2SymbolQueryConfigurator"/>
<polySymbols.queryResultsCustomizerFactory implementation="org.angular2.web.Angular2SymbolQueryResultsCustomizer$Factory"/>
<polySymbols.codeCompletionItemCustomizer implementation="org.angular2.web.Angular2CodeCompletionItemCustomizer"/>
<polySymbols.context kind="framework" name="angular" implementation="org.angular2.cli.AngularCliContextProvider"/>
<completion.confidence language="Angular2Html" implementationClass="org.angular2.editor.Angular2PreventCompletionAutoPopupOnImport"/>
<!-- Angular 2 SVG contributions -->
<lang.parserDefinition language="Angular2Svg" implementationClass="org.angular2.lang.svg.Angular2SvgParserDefinition"/>
<lang.parserDefinition language="Angular17Svg" implementationClass="org.angular2.lang.svg.Angular17SvgParserDefinition"/>
<lang.parserDefinition language="Angular181Svg" implementationClass="org.angular2.lang.svg.Angular181SvgParserDefinition"/>
<lang.parserDefinition language="Angular20Svg" implementationClass="org.angular2.lang.svg.Angular20SvgParserDefinition"/>
<fileType name="Angular2Svg" implementationClass="org.angular2.lang.svg.Angular2SvgFileType" fieldName="INSTANCE"
language="Angular2Svg"/>
<fileType name="Angular17Svg" implementationClass="org.angular2.lang.svg.Angular17SvgFileType" fieldName="INSTANCE"
language="Angular17Svg"/>
<fileType name="Angular181Svg" implementationClass="org.angular2.lang.svg.Angular181SvgFileType" fieldName="INSTANCE"
language="Angular181Svg"/>
<fileType name="Angular20Svg" implementationClass="org.angular2.lang.svg.Angular20SvgFileType" fieldName="INSTANCE"
language="Angular20Svg"/>
<braceMatcher filetype="Angular17Svg" implementationClass="org.angular2.lang.html.Angular17HtmlBraceMatcher"/>
<braceMatcher filetype="Angular181Svg" implementationClass="org.angular2.lang.html.Angular17HtmlBraceMatcher"/>
<braceMatcher filetype="Angular20Svg" implementationClass="org.angular2.lang.html.Angular17HtmlBraceMatcher"/>
<quoteHandler className="com.intellij.codeInsight.editorActions.HtmlQuoteHandler" fileType="Angular2Svg"/>
<!-- Angular 2 Expression Language contributions -->
<lang.syntaxHighlighter language="Angular2"
implementationClass="org.angular2.lang.expr.Angular2SyntaxHighlighter"/>
<lang.syntaxHighlighter language="Angular20"
implementationClass="org.angular2.lang.expr.Angular20SyntaxHighlighter"/>
<lang.formatter language="Angular2" implementationClass="org.angular2.lang.expr.formatter.Angular2FormattingModelBuilder"/>
<codeInsight.template.postfixTemplateProvider language="Angular2"
implementationClass="com.intellij.codeInsight.template.postfix.templates.EmptyPostfixTemplateProvider"/>
<lang.parserDefinition language="Angular2" implementationClass="org.angular2.lang.expr.Angular2ParserDefinition"/>
<lang.parserDefinition language="Angular20" implementationClass="org.angular2.lang.expr.Angular20ParserDefinition"/>
<stubElementRegistryExtension implementation="org.angular2.lang.Angular2StubRegistryExtension"/>
<completion.contributor language="any" implementationClass="org.angular2.codeInsight.Angular2CompletionContributor"
id="Angular2CompletionContributor"
order="before JSPatternBasedCompletionContributor, before JSCompletionContributor, before xmlNonFirst, before cssClassOrIdReferenceCompletionContributor, before TypeScriptServiceCompletionContributor"/>
<lang.braceMatcher language="Angular2" implementationClass="com.intellij.lang.javascript.highlighting.JSBraceMatcher"/>
<implicitUsageProvider implementation="org.angular2.codeInsight.refs.Angular2ImplicitUsageProvider"/>
<renamePsiElementProcessor implementation="org.angular2.refactoring.Angular2PipeRenameProcessor" order="first"/>
<codeInsight.parameterInfo language="Angular2" implementationClass="com.intellij.lang.typescript.hint.TypeScriptParameterInfoHandler"/>
<codeInsight.parameterNameHints language="Angular2Html"
implementationClass="org.angular2.editor.Angular2InlayParameterHintsProvider"/>
<highlightVisitor implementation="org.angular2.lang.expr.highlighting.Angular2RainbowVisitor"/>
<polySymbols.psiReferenceProvider hostElementClass="org.angular2.lang.expr.psi.Angular2BlockParameter"
hostLanguage="Angular2"
implementationClass="org.angular2.codeInsight.blocks.Angular2BlockParameterReferenceProvider"/>
<polySymbols.psiReferenceProvider hostElementClass="org.angular2.lang.expr.psi.Angular2TemplateBindingKey"
hostLanguage="Angular2"
implementationClass="org.angular2.codeInsight.attributes.Angular2TemplateBindingKeyReferenceProvider"/>
<!-- CSS support -->
<css.inclusionContext implementation="org.angular2.css.Angular2CssInclusionContext"/>
<css.embeddedCssProvider implementation="org.angular2.codeInsight.Angular2EmbeddedCssProvider"/>
<css.classOrIdUsagesProvider implementation="org.angular2.css.findUsages.Angular2CssClassOrIdUsagesProvider"/>
<psi.fileReferenceHelper order="before JsCss" implementation="org.angular2.css.refs.Angular2CssFileReferenceHelper" />
<!-- Angular2 metadata JSON contributions -->
<stubElementTypeHolder class="org.angular2.entities.metadata.Angular2MetadataElementTypes" externalIdPrefix="NG-META:"/>
<stubIndex implementation="org.angular2.index.Angular2MetadataPipeIndex"/>
<stubIndex implementation="org.angular2.index.Angular2MetadataClassNameIndex"/>
<stubIndex implementation="org.angular2.index.Angular2MetadataDirectiveIndex"/>
<stubIndex implementation="org.angular2.index.Angular2MetadataNodeModuleIndex"/>
<stubIndex implementation="org.angular2.index.Angular2MetadataFunctionIndex"/>
<stubIndex implementation="org.angular2.index.Angular2MetadataModuleIndex"/>
<fileType name="Angular Metadata JSON" implementationClass="org.angular2.entities.metadata.Angular2MetadataFileType"
fieldName="INSTANCE"/>
<filetype.stubBuilder filetype="Angular Metadata JSON" implementationClass="org.angular2.lang.metadata.MetadataJsonStubBuilder"/>
<fileType.fileViewProviderFactory filetype="Angular Metadata JSON"
implementationClass="org.angular2.lang.metadata.MetadataJsonFileViewProviderFactory"/>
<lang.elementManipulator forClass="org.angular2.lang.html.psi.Angular2HtmlNgContentSelector"
implementationClass="org.angular2.lang.html.psi.impl.Angular2HtmlNgContentSelectorManipulator"/>
<notificationGroup id="Angular CLI" displayType="BALLOON" isLogByDefault="false"
bundle="messages.Angular2Bundle" key="angular.description.angular-cli"/>
<!-- we store settings under ts since there are only ts server specific options there -->
<projectConfigurable parentId="settings.typescriptcompiler"
instance="org.angular2.options.AngularConfigurable"
id="settings.angularservice"
bundle="messages.Angular2Bundle"
key="angular.configurable.service.title"
nonDefaultProject="true"
/>
<advancedSetting default="false"
id="angular.gtr.toolbar.enable"
groupKey="advanced.setting.angular"
bundle="messages.Angular2Bundle"
/>
<!-- ReactiveForms support contributions -->
<polySymbols.queryResultsCustomizerFactory
implementation="org.angular2.library.forms.Angular2FormsPolySymbolQueryResultsCustomizer$Factory"/>
<polySymbols.queryScopeContributor implementation="org.angular2.library.forms.Angular2FormsSymbolQueryScopeContributor"/>
<polySymbols.codeCompletionItemCustomizer
implementation="org.angular2.library.forms.Angular2FormsCodeCompletionItemCustomizer"/>
<polySymbols.problemQuickFixProvider
implementation="org.angular2.library.forms.quickFixes.Angular2FormsProblemQuickFixProvider"/>
<annotator language="Angular2Html" implementationClass="org.angular2.library.forms.Angular2FormsAnnotator"/>
<annotator language="TypeScript" implementationClass="org.angular2.library.forms.Angular2FormsAnnotator"/>
<editorFloatingToolbarProvider implementation="org.angular2.navigation.Angular2GotoRelatedToolbarProvider"/>
<openInBrowserFloatingToolbarSuppressor implementation="org.angular2.navigation.BrowsersToolbarSuppressor"/>
</extensions>
<extensions defaultExtensionNs="JavaScript">
<jsDocCustomTagsHandler implementation="org.angular2.lang.Angular2JSDocTagsHandler" version="0"/>
<tsConfigCustomizer implementation="org.angular2.codeInsight.config.Angular2TypeScriptConfigCustomizer"/>
<!-- Angular2 HTML language contributions -->
<dialectSpecificHandlersFactory language="Angular2Html" implementationClass="org.angular2.codeInsight.Angular2SpecificHandlersFactory"/>
<!-- Angular 2 Expression language contributions -->
<frameworkIndexingHandler implementation="org.angular2.index.Angular2IndexingHandler" version="25"/>
<frameworkSpecificHandler language="Angular2" implementationClass="org.angular2.lang.expr.Angular2JSFrameworkSpecificHandler"/>
<elementScopeProvider implementation="org.angular2.codeInsight.Angular2ResolveScopeProvider"/>
<dialectSpecificHandlersFactory language="Angular2" implementationClass="org.angular2.codeInsight.Angular2SpecificHandlersFactory"/>
<analysisHandlersFactory language="Angular2" implementationClass="org.angular2.inspections.Angular2AnalysisHandlersFactory"/>
<highlightingHandlersFactory language="Angular2" implementationClass="org.angular2.inspections.Angular2HighlightingHandlersFactory"/>
<inheritedLanguagesConfigurableProvider language="Angular2"
implementationClass="org.angular2.codeInsight.Angular2LanguageConfigurableProvider"/>
<handlersFactory language="Angular2" implementationClass="org.angular2.codeInsight.Angular2HandlersFactory"/>
<importCandidatesFactory implementation="org.angular2.codeInsight.imports.Angular2GlobalImportCandidatesProvider$Factory"/>
<unresolvedReferenceErrorUpdater implementation="org.angular2.inspections.Angular2UnresolvedReferenceErrorUpdater"
order="last"/>
<!-- Angular2 metadata JSON contributions -->
<nodeModulesIndexableFileNamesProvider implementation="org.angular2.index.Angular2IndexableFileNamesProvider"/>
<scanningFileListenerContributor implementation="org.angular2.Angular2ExcludeContributor"/>
<!-- Angular2 TypeScript contributions -->
<frameworkSpecificHandler language="TypeScript" implementationClass="org.angular2.lang.Angular2TSFrameworkSpecificHandler"/>
<languageServiceProvider implementation="org.angular2.lang.expr.service.Angular2LanguageServiceProvider" order="first"/>
<languageServiceQuickFixProvider implementation="org.angular2.lang.expr.service.Angular2LanguageServiceQuickFixProvider"/>
<commonHandlersFactory language="Angular2" implementationClass="org.angular2.lang.expr.formatter.Angular2CommonHandlersFactory"/>
</extensions>
<extensions defaultExtensionNs="org.angular2">
<templateScopesProvider implementation="org.angular2.codeInsight.template.Angular2StandardSymbolsScopesProvider"
id="standardSymbols"/>
<templateScopesProvider implementation="org.angular2.codeInsight.template.Angular2TemplateElementsScopeProvider"
id="templateElements" order="after standardSymbols"/>
<templateScopesProvider implementation="org.angular2.codeInsight.template.Angular2ComponentScopeProvider"
id="component" order="after templateElements"/>
<configProvider implementation="org.angular2.cli.config.AngularCliConfigProvider"/>
<entitiesSource implementation="org.angular2.entities.source.Angular2SourceEntitiesSource" id="source"/>
<entitiesSource implementation="org.angular2.entities.ivy.Angular2IvyEntitiesSource" id="ivy"
order="after source"/>
<entitiesSource implementation="org.angular2.entities.metadata.Angular2MetadataEntitiesSource" id="metadata"
order="after ivy"/>
<jsHandlersFactory implementation="org.angular2.codeInsight.DefaultAngular2HandlersFactory"
id="default" order="last"/>
<importsHandler implementation="org.angular2.codeInsight.imports.Angular2ClassBasedEntityImportsHandler"/>
</extensions>
<actions resource-bundle="messages.Angular2Bundle">
<action class="org.angular2.cli.actions.AngularCliGenerateAction" id="angularCliGenerate"
icon="/icons/angular2.svg">
<add-to-group group-id="NewWebDevelopment" anchor="before" relative-to-action="NewJavaScriptFile"/>
</action>
<action class="org.angular2.cli.actions.AngularCliAddDependencyAction" id="angularCliAdd"
icon="/icons/angular2.svg">
<add-to-group group-id="NewWebDevelopment" anchor="before" relative-to-action="NewJavaScriptFile"/>
</action>
<action id="Angular2ExtractComponentAction"
icon="/icons/angular2.svg"
class="org.angular2.refactoring.extractComponent.Angular2ExtractComponentAction">
<add-to-group group-id="IntroduceActionsGroup"/>
</action>
<action id="Angular2VisualizeGeneratedTcbAction"
internal="true"
class="org.angular2.lang.expr.service.tcb.Angular2VisualizeGeneratedTcbAction">
<add-to-group group-id="Internal"/>
</action>
</actions>
<applicationListeners>
<listener class="org.angular2.cli.config.AngularConfigFileListener" topic="com.intellij.openapi.vfs.newvfs.BulkFileListener"/>
<listener class="org.angular2.navigation.Angular2GotoRelatedToolbarSettingsListener" topic="com.intellij.openapi.options.advanced.AdvancedSettingsChangeListener"/>
</applicationListeners>
</idea-plugin>