vuejs/vuejs-backend/resources/intellij.vuejs.backend.xml (338 lines of code) (raw):
<idea-plugin visibility="internal">
<dependencies>
<module name="intellij.platform.backend"/>
<module name="intellij.vuejs.common"/>
<plugin id="com.intellij.modules.xml"/>
<plugin id="JavaScript"/>
<plugin id="com.intellij.css"/>
<plugin id="intellij.webpack"/>
<plugin id="org.intellij.plugins.postcss"/>
<module name="intellij.spellchecker"/>
<module name="intellij.javascript.ultimate"/>
<!-- region Generated dependencies - run `Generate Product Layouts` to regenerate -->
<module name="intellij.libraries.commons.text"/>
<!-- endregion -->
</dependencies>
<extensionPoints>
<extensionPoint qualifiedName="com.intellij.vuejs.containerInfoProvider"
interface="org.jetbrains.vuejs.model.source.VueContainerInfoProvider"
dynamic="true"/>
<extensionPoint qualifiedName="com.intellij.vuejs.templateScopesProvider"
interface="org.jetbrains.vuejs.codeInsight.template.VueTemplateScopesProvider"
dynamic="true"/>
</extensionPoints>
<extensions defaultExtensionNs="com.intellij">
<registryKey defaultValue="true" description="Use bundled Vue service" key="vue.language.server.bundled.enabled"/>
<registryKey defaultValue="" description="Vue service version for downloading" key="vue.language.server.default.version"/>
<registryKey defaultValue="" description="Vue TypeScript plugin version for downloading" key="vue.ts.plugin.default.version"/>
<registryKey defaultValue="true" description="Use bundled Vue TypeScript plugin" key="vue.ts.plugin.bundled.enabled"/>
<css.embeddedCssProvider implementation="org.jetbrains.vuejs.css.VueEmbeddedCssProvider"/>
<css.inclusionContext implementation="org.jetbrains.vuejs.css.VueCssInclusionContext"/>
<html.attributeValueProvider implementation="org.jetbrains.vuejs.codeInsight.attributes.VueCustomAttributeValueProvider"/>
<metaLanguage implementation="org.jetbrains.vuejs.lang.expr.VueExprMetaLanguage"/>
<fileType name="Vue.js" extensions="vue" language="Vue" implementationClass="org.jetbrains.vuejs.lang.html.VueFileType"
fieldName="INSTANCE"/>
<lang.parserDefinition language="Vue" implementationClass="org.jetbrains.vuejs.lang.html.parser.VueParserDefinition"/>
<lang.parserDefinition language="VueJS" implementationClass="org.jetbrains.vuejs.lang.expr.parser.VueJSParserDefinition"/>
<lang.parserDefinition language="VueTS" implementationClass="org.jetbrains.vuejs.lang.expr.parser.VueTSParserDefinition"/>
<tree.CustomLanguageASTComparator language="Vue" implementationClass="org.jetbrains.vuejs.lang.html.parser.VueASTComparator"/>
<html.embeddedContentSupport implementation="org.jetbrains.vuejs.lang.html.lexer.VueEmbeddedContentSupport"/>
<html.embeddedContentSupport implementation="org.jetbrains.vuejs.libraries.i18n.VueI18nEmbeddedContentSupport"/>
<typedHandler implementation="org.jetbrains.vuejs.editor.VueJSBracesInterpolationTypedHandler"/>
<lang.braceMatcher language="VueExpr" implementationClass="com.intellij.lang.javascript.highlighting.JSBraceMatcher"/>
<psi.referenceContributor language="JavaScript" implementation="org.jetbrains.vuejs.codeInsight.refs.VueJSReferenceContributor"/>
<psi.referenceContributor language="Vue" implementation="org.jetbrains.vuejs.codeInsight.refs.VueReferenceContributor"/>
<psi.referenceContributor language="JavaScript"
implementation="org.jetbrains.vuejs.libraries.vuex.codeInsight.refs.VuexReferenceContributor"/>
<psi.referenceContributor language="VueExpr" implementation="org.jetbrains.vuejs.css.refs.VueCssReferencesContributor"/>
<psi.referenceContributor language="CSS" implementation="org.jetbrains.vuejs.css.refs.VueCssReferencesContributor"/>
<pom.declarationSearcher implementation="org.jetbrains.vuejs.codeInsight.refs.VuePomDeclarationSearcher"/>
<psi.fileReferenceHelper implementation="org.jetbrains.vuejs.libraries.nuxt.codeInsight.NuxtFileReferenceHelper"/>
<useScopeEnlarger implementation="org.jetbrains.vuejs.findUsages.VueUseScopeEnlarger"/>
<implicitUsageProvider implementation="org.jetbrains.vuejs.codeInsight.refs.VueImplicitUsageProvider"/>
<platform.lsp.serverSupportProvider implementation="org.jetbrains.vuejs.lang.typescript.service.lsp.VueLspServerSupportProvider"/>
<quoteHandler className="com.intellij.codeInsight.editorActions.HtmlQuoteHandler" fileType="Vue.js"/>
<copyPastePostProcessor implementation="org.jetbrains.vuejs.codeInsight.imports.VueTemplateExpressionsCopyPasteProcessor"/>
<copyPastePostProcessor implementation="org.jetbrains.vuejs.codeInsight.imports.VueComponentCopyPasteProcessor"/>
<lang.syntaxHighlighterFactory language="Vue"
implementationClass="org.jetbrains.vuejs.lang.html.highlighting.VueSyntaxHighlighterFactory"/>
<xml.xmlExtension implementation="org.jetbrains.vuejs.codeInsight.VueXmlExtension" order="before poly-symbols-react"/>
<xml.xmlSuppressionProvider implementation="org.jetbrains.vuejs.inspections.VueXmlSuppressionProvider" order="first"/>
<notificationGroup displayType="BALLOON" id="Vue" isLogByDefault="true"
bundle="messages.VueBundle" key="vue.documentation.vue"/>
<stubIndex implementation="org.jetbrains.vuejs.index.VueComponentsIndex"/>
<stubIndex implementation="org.jetbrains.vuejs.index.VueCompositionAppIndex"/>
<stubIndex implementation="org.jetbrains.vuejs.index.VueOptionsIndex"/>
<stubIndex implementation="org.jetbrains.vuejs.index.VueMixinBindingIndex"/>
<stubIndex implementation="org.jetbrains.vuejs.index.VueExtendsBindingIndex"/>
<stubIndex implementation="org.jetbrains.vuejs.index.VueGlobalDirectivesIndex"/>
<stubIndex implementation="org.jetbrains.vuejs.index.VueUrlIndex"/>
<stubIndex implementation="org.jetbrains.vuejs.index.VueIdIndex"/>
<stubIndex implementation="org.jetbrains.vuejs.index.VueGlobalFiltersIndex"/>
<stubIndex implementation="org.jetbrains.vuejs.libraries.vuex.index.VuexStoreIndex"/>
<fileBasedIndex implementation="org.jetbrains.vuejs.index.VueEmptyComponentInitializersIndex"/>
<fileBasedIndex implementation="org.jetbrains.vuejs.index.VueComponentStylesIndex"/>
<languageStubDefinition language="Vue" implementationClass="org.jetbrains.vuejs.lang.stubs.VueLanguageStubDefinition"/>
<stubElementRegistryExtension implementation="org.jetbrains.vuejs.lang.stubs.VueStubRegistryExtension"/>
<langCodeStyleSettingsProvider implementation="org.jetbrains.vuejs.options.VueCodeStyleSettingsProvider"/>
<fileIndentOptionsProvider implementation="org.jetbrains.vuejs.lang.html.psi.formatter.VueFileIndentOptionsProvider"
id="vue" order="before html"/>
<!-- we store settings under ts since there are only ts server specific options there -->
<projectConfigurable parentId="settings.typescriptcompiler"
instance="org.jetbrains.vuejs.options.VueConfigurable"
id="settings.vue"
bundle="messages.VueBundle"
key="vue.configurable.title"
nonDefaultProject="true"
/>
<postStartupActivity implementation="org.jetbrains.vuejs.lang.html.psi.arrangement.VueArrangementSettingsMigration"/>
<!-- works in WebStorm and other SmallIDEs -->
<directoryProjectGenerator implementation="org.jetbrains.vuejs.cli.VueCliProjectGenerator"/>
<directoryProjectGenerator implementation="org.jetbrains.vuejs.cli.NuxtProjectGenerator"/>
<!-- works in IDEA -->
<projectTemplatesFactory implementation="org.jetbrains.vuejs.cli.VueProjectTemplateFactory"/>
<projectTemplatesFactory implementation="org.jetbrains.vuejs.cli.NuxtProjectTemplateFactory"/>
<!-- works in new IDEA wizard -->
<moduleBuilder builderClass="org.jetbrains.vuejs.cli.VueCLIProjectModuleBuilder"/>
<moduleBuilder builderClass="org.jetbrains.vuejs.cli.NuxtProjectModuleBuilder"/>
<workspaceModel.fileIndexContributor implementation="org.jetbrains.vuejs.libraries.nuxt.library.NuxtFolderLibraryContributor"/>
<postStartupActivity implementation="org.jetbrains.vuejs.libraries.nuxt.library.NuxtFolderLibraryStartupActivity"/>
<localInspection language="Vue" groupKey="vue.inspection.group.name" shortName="VueDataFunction"
enabledByDefault="true" level="WARNING"
implementationClass="org.jetbrains.vuejs.inspections.DataFunctionInspection"
key="vue.inspection.display.name.data.function"
bundle="messages.VueBundle"/>
<localInspection language="Vue" groupKey="vue.inspection.group.name" shortName="VueDuplicateTag"
enabledByDefault="true" level="WARNING"
implementationClass="org.jetbrains.vuejs.inspections.DuplicateTagInspection"
key="vue.inspection.display.name.duplicate.tag" bundle="messages.VueBundle"/>
<localInspection language="Vue" groupKey="vue.inspection.group.name" shortName="VueMissingComponentImportInspection"
enabledByDefault="true" level="WARNING"
implementationClass="org.jetbrains.vuejs.inspections.VueMissingComponentImportInspection"
key="vue.inspection.display.name.missing.component.import" bundle="messages.VueBundle"/>
<localInspection language="Vue" groupKey="vue.inspection.group.name" shortName="VueUnrecognizedSlot"
enabledByDefault="true" level="WEAK WARNING"
implementationClass="org.jetbrains.vuejs.inspections.VueUnrecognizedSlotInspection"
key="vue.inspection.display.name.unrecognized.slot" bundle="messages.VueBundle"/>
<polySymbols.inspectionToolMapping problemKind="UnknownSymbol" symbolNamespace="html" symbolKind="vue-available-slots"
toolShortName="VueUnrecognizedSlot"/>
<localInspection language="Vue" groupKey="vue.inspection.group.name" shortName="VueUnrecognizedDirective"
enabledByDefault="true" level="WARNING"
implementationClass="org.jetbrains.vuejs.inspections.VueUnrecognizedDirectiveInspection"
key="vue.inspection.display.name.unrecognized.directive" bundle="messages.VueBundle"/>
<polySymbols.inspectionToolMapping problemKind="UnknownSymbol" symbolNamespace="html" symbolKind="vue-directives"
toolShortName="VueUnrecognizedDirective"/>
<localInspection language="Vue" groupKey="vue.inspection.group.name" shortName="VueDeprecatedSymbol"
enabledByDefault="true" level="WARNING"
implementationClass="org.jetbrains.vuejs.inspections.VueDeprecatedSymbolInspection"
key="vue.inspection.display.name.deprecated.symbol" bundle="messages.VueBundle"/>
<polySymbols.inspectionToolMapping problemKind="DeprecatedSymbol" symbolNamespace="html" symbolKind="vue-available-slots"
toolShortName="VueDeprecatedSymbol"/>
<polySymbols.inspectionToolMapping problemKind="DeprecatedSymbol" symbolNamespace="html" symbolKind="vue-components"
toolShortName="VueDeprecatedSymbol"/>
<polySymbols.inspectionToolMapping problemKind="DeprecatedSymbol" symbolNamespace="html" symbolKind="vue-directives"
toolShortName="VueDeprecatedSymbol"/>
<polySymbols.inspectionToolMapping problemKind="DeprecatedSymbol" symbolNamespace="html" symbolKind="vue-special-properties"
toolShortName="VueDeprecatedSymbol"/>
<polySymbols.inspectionToolMapping problemKind="DeprecatedSymbol" symbolNamespace="html" symbolKind="vue-file-top-elements"
toolShortName="VueDeprecatedSymbol"/>
<polySymbols.inspectionToolMapping problemKind="DeprecatedSymbol" symbolNamespace="html" symbolKind="vue-model-modifiers"
toolShortName="VueDeprecatedSymbol"/>
<polySymbols.documentationCustomizer implementation="org.jetbrains.vuejs.web.VueDocumentationCustomizer"/>
<intentionAction>
<language>Vue</language>
<className>org.jetbrains.vuejs.intentions.extractComponent.VueExtractComponentIntention</className>
<!--suppress PluginXmlI18n -->
<category>VueJS</category>
</intentionAction>
<intentionAction>
<language>Vue</language>
<className>org.jetbrains.vuejs.intentions.VueExpandVModelIntention</className>
<!--suppress PluginXmlI18n -->
<category>VueJS</category>
</intentionAction>
<intentionAction>
<language>Vue</language>
<className>org.jetbrains.vuejs.intentions.VueImportComponentIntention</className>
<!--suppress PluginXmlI18n -->
<category>VueJS</category>
</intentionAction>
<!--suppress PluginXmlValidity -->
<multiHostInjector implementation="org.jetbrains.vuejs.editor.VueInjector"
order="before JSConfigurationInjector, before PolySymbolsHtmlText, after TemporaryPlacesInjector"
id="VueInjector"/>
<internalFileTemplate name="Vue Composition API Component"/>
<internalFileTemplate name="Vue Options API Component"/>
<internalFileTemplate name="Vue Class API Component"/>
<createFromTemplateHandler implementation="org.jetbrains.vuejs.VueCreateFromTemplateHandler"/>
<defaultTemplatePropertiesProvider implementation="org.jetbrains.vuejs.VueDefaultTemplatePropertiesProvider"/>
<spellchecker.bundledDictionaryProvider implementation="org.jetbrains.vuejs.spellchecker.VueSpellcheckingDictionaryProvider"/>
<liveTemplateContext contextId="Vue" implementation="org.jetbrains.vuejs.liveTemplate.VueBaseLiveTemplateContextType"/>
<liveTemplateContext contextId="VUE_SCRIPT" baseContextId="Vue"
implementation="org.jetbrains.vuejs.liveTemplate.VueScriptLiveTemplateContextType"/>
<liveTemplateContext contextId="VUE_COMPONENT_DESCRIPTOR" baseContextId="Vue"
implementation="org.jetbrains.vuejs.liveTemplate.VueComponentDescriptorLiveTemplateContextType"/>
<liveTemplateContext contextId="VUE_TEMPLATE" baseContextId="Vue"
implementation="org.jetbrains.vuejs.liveTemplate.VueTemplateLiveTemplateContextType"/>
<liveTemplateContext contextId="VUE_INSIDE_TAG" baseContextId="Vue"
implementation="org.jetbrains.vuejs.liveTemplate.VueInsideTagLiveTemplateContextType"/>
<liveTemplateContext contextId="VUE_TOP_LEVEL" baseContextId="Vue"
implementation="org.jetbrains.vuejs.liveTemplate.VueTopLevelLiveTemplateContextType"/>
<defaultLiveTemplates file="liveTemplates/Vue"/>
<referencesSearch implementation="org.jetbrains.vuejs.findUsages.VueReferenceSearcher"/>
<completion.contributor language="any"
implementationClass="org.jetbrains.vuejs.codeInsight.VueCompletionContributor"
id="VueCompletionContributor"
order="before JSPatternBasedCompletionContributor, before JSCompletionContributor, before xmlNonFirst, before cssClassOrIdReferenceCompletionContributor"/>
<completion.contributor language="JavaScript"
implementationClass="org.jetbrains.vuejs.libraries.vuex.codeInsight.VuexCompletionContributor"
id="VuexCompletionContributor"/>
<typedHandler implementation="org.jetbrains.vuejs.codeInsight.completion.VueAutoPopupHandler"/>
<include.provider implementation="org.jetbrains.vuejs.index.VueFileIncludeProvider"/>
<lang.formatter language="Vue" implementationClass="org.jetbrains.vuejs.lang.html.psi.formatter.VueFormattingModelBuilder"/>
<lang.formatter language="VueExpr" implementationClass="org.jetbrains.vuejs.lang.expr.psi.formatter.VueExprFormattingModelBuilder"/>
<lang.rearranger language="Vue" implementationClass="org.jetbrains.vuejs.lang.html.psi.arrangement.VueRearranger"/>
<multiLangCommenter implementation="org.jetbrains.vuejs.editor.VueCommenterProvider"/>
<lang.syntaxHighlighterFactory language="VueJS"
implementationClass="org.jetbrains.vuejs.lang.expr.highlighting.VueJSHighlighterFactory"/>
<lang.syntaxHighlighterFactory language="VueTS"
implementationClass="org.jetbrains.vuejs.lang.expr.highlighting.VueTSHighlighterFactory"/>
<idIndexer filetype="Vue.js" implementationClass="org.jetbrains.vuejs.lang.html.index.VueIdIndexer"/>
<todoIndexer filetype="Vue.js" implementationClass="org.jetbrains.vuejs.lang.html.index.VueTodoIndexer"/>
<codeInsight.parameterInfo language="VueExpr" implementationClass="com.intellij.javascript.JSParameterInfoHandler"/>
<codeInsight.parameterNameHints language="Vue"
implementationClass="org.jetbrains.vuejs.editor.VueInlayParameterHintsProvider"/>
<eslint.ruleMappersFactory implementation="org.jetbrains.vuejs.libraries.eslint.VueEslintRuleMappersFactory"/>
<polySymbols.psiReferenceProvider hostElementClass="com.intellij.psi.xml.XmlAttributeValue"
hostLanguage="HtmlCompatible"
implementationClass="org.jetbrains.vuejs.web.VueDeprecatedSlotAttributeReferenceProvider"/>
<polySymbols.declarationProvider implementation="org.jetbrains.vuejs.web.VueSymbolDeclarationProvider"/>
<vetoRenameCondition implementation="org.jetbrains.vuejs.web.VueRenameHandlerVeto"/>
<lang.elementManipulator forClass="org.jetbrains.vuejs.model.VueFakeSrcAttributeValue"
implementationClass="org.jetbrains.vuejs.model.VueFakeScrAttributeValueManipulator"/>
<polySymbols.framework id="vue" implementation="org.jetbrains.vuejs.web.VueFramework"/>
<polySymbols.context kind="framework" name="vue" implementation="org.jetbrains.vuejs.context.VueFileContextProvider"
id="vue.file"/>
<polySymbols.webTypes source="web-types/vue@1.0.0.web-types.json"/>
<polySymbols.webTypes source="web-types/vue@2.0.0.web-types.json"/>
<polySymbols.webTypes source="web-types/vue@2.1.0.web-types.json"/>
<polySymbols.webTypes source="web-types/vue@2.1.8.web-types.json"/>
<polySymbols.webTypes source="web-types/vue@2.2.0.web-types.json"/>
<polySymbols.webTypes source="web-types/vue@2.3.0.web-types.json"/>
<polySymbols.webTypes source="web-types/vue@2.4.0.web-types.json"/>
<polySymbols.webTypes source="web-types/vue@2.5.0.web-types.json"/>
<polySymbols.webTypes source="web-types/vue@2.6.0.web-types.json"/>
<polySymbols.webTypes source="web-types/vue@2.7.0.web-types.json"/>
<polySymbols.webTypes source="web-types/vue@3.0.0.web-types.json"/>
<polySymbols.webTypes source="web-types/vue@3.1.0.web-types.json"/>
<polySymbols.webTypes source="web-types/vue@3.2.0.web-types.json"/>
<polySymbols.webTypes source="web-types/vue@3.3.0.web-types.json"/>
<polySymbols.webTypes source="web-types/vue@3.4.0.web-types.json"/>
<polySymbols.webTypes source="web-types/vue@3.5.0.web-types.json" enableByDefault="true"/>
<polySymbols.webTypes source="web-types/vue@3.6.0.web-types.json"/>
<polySymbols.webTypes source="web-types/vue-i18n@0.0.0.web-types.json"/>
<polySymbols.webTypes source="web-types/vue-contexts@0.0.0.web-types.json" enableByDefault="true"/>
<polySymbols.webTypes source="web-types/nuxt@0.0.0.web-types.json"/>
<polySymbols.queryConfigurator implementation="org.jetbrains.vuejs.web.VueSymbolQueryConfigurator" id="vue"/>
<polySymbols.queryScopeContributor implementation="org.jetbrains.vuejs.web.VueSymbolQueryScopeContributor" id="vue"/>
<polySymbols.queryScopeContributor implementation="org.jetbrains.vuejs.libraries.i18n.VueI18NSymbolQueryScopeContributor"
id="vue-i18n"/>
<polySymbols.queryResultsCustomizerFactory implementation="org.jetbrains.vuejs.web.VueSymbolQueryResultsCustomizer$Factory"/>
<polySymbols.webTypes.filter name="vue-bind" implementation="org.jetbrains.vuejs.web.VueBindFilter"/>
<polySymbols.codeCompletionItemCustomizer
implementation="org.jetbrains.vuejs.web.VueCodeCompletionItemCustomizer"/>
<vuejs.templateScopesProvider
implementation="org.jetbrains.vuejs.codeInsight.template.VueStandardSymbolsScopesProvider"
id="standardSymbols"
order="before templateElements"/>
<vuejs.templateScopesProvider
implementation="org.jetbrains.vuejs.codeInsight.template.VueTemplateElementsScopeProvider"
id="templateElements"/>
<vuejs.templateScopesProvider
implementation="org.jetbrains.vuejs.codeInsight.template.VueScriptSetupScopeProvider"
id="scriptSetupScope"
order="after templateElements"/>
<vuejs.templateScopesProvider
implementation="org.jetbrains.vuejs.codeInsight.template.VueContainerScopeProvider"
id="containerScope"
order="after scriptSetupScope"/>
<vuejs.containerInfoProvider implementation="org.jetbrains.vuejs.model.source.VueDefaultContainerInfoProvider"
id="default"/>
<vuejs.containerInfoProvider implementation="org.jetbrains.vuejs.model.source.VueComponentTemplateInfoProvider"
id="defaultTemplate"
order="after default, before decoratedComponent"/>
<vuejs.containerInfoProvider implementation="org.jetbrains.vuejs.model.source.VueCompositionInfoProvider"
id="composition"
order="after default, before decoratedComponent"/>
<vuejs.containerInfoProvider implementation="org.jetbrains.vuejs.model.source.VueScriptSetupInfoProvider"
id="scriptSetup"
order="after default, before decoratedComponent"/>
<vuejs.containerInfoProvider implementation="org.jetbrains.vuejs.libraries.componentDecorator.VueDecoratedComponentInfoProvider"
id="decoratedComponent"
order="after default"/>
<vuejs.containerInfoProvider implementation="org.jetbrains.vuejs.libraries.vuex.model.component.VuexBasicComponentInfoProvider"
id="vuexBasic"
order="after decoratedComponent"/>
<vuejs.containerInfoProvider implementation="org.jetbrains.vuejs.libraries.vuex.model.component.VuexDecoratedComponentInfoProvider"
id="vuexDecoratedComponent"
order="after decoratedComponent"/>
<vuejs.containerInfoProvider implementation="org.jetbrains.vuejs.libraries.templateLoader.TemplateLoaderComponentInfoProvider"
id="templateLoader"
order="after defaultTemplate"/>
<vuejs.containerInfoProvider implementation="org.jetbrains.vuejs.libraries.vuelidate.VuelidateContainerInfoProvider"
id="vuelidate"
order="after decoratedComponent"/>
<vuejs.containerInfoProvider implementation="org.jetbrains.vuejs.libraries.nuxt.model.NuxtComponentProvider"
id="nuxt"/>
<vuejs.containerInfoProvider implementation="org.jetbrains.vuejs.libraries.cssModules.VueCssModulesInfoProvider"
id="css-modules"/>
<platform.backend.documentation.psiTargetProvider implementation="org.jetbrains.vuejs.web.VuePsiDocumentationProvider"/>
<codeInsight.codeVisionSettingsPreviewLanguage language="Vue" modelId="component.usage"/>
</extensions>
<actions resource-bundle="messages.VueBundle">
<action class="org.jetbrains.vuejs.CreateVueSingleFileComponentAction" id="CreateVueSingleFileComp"
icon="org.jetbrains.vuejs.VuejsIcons.Vue">
<add-to-group group-id="NewWebDevelopment" anchor="before" relative-to-action="NewJavaScriptFile"/>
</action>
<action id="VueExtractComponentAction"
class="org.jetbrains.vuejs.intentions.extractComponent.VueExtractComponentAction"
icon="org.jetbrains.vuejs.VuejsIcons.Vue">
<add-to-group group-id="IntroduceActionsGroup" anchor="last"/>
</action>
</actions>
<applicationListeners>
<listener class="org.jetbrains.vuejs.lang.html.VueFileType$FileTypeChangeListener"
topic="com.intellij.openapi.fileTypes.FileTypeListener"/>
</applicationListeners>
<extensions defaultExtensionNs="JavaScript">
<elementScopeProvider implementation="org.jetbrains.vuejs.VueElementResolveScopeProvider"/>
<indexedFileTypeProvider implementation="org.jetbrains.vuejs.lang.html.VueIndexedFileTypeProvider"/>
<frameworkIndexingHandler implementation="org.jetbrains.vuejs.index.VueFrameworkHandler" version="39"/>
<frameworkIndexingHandler implementation="org.jetbrains.vuejs.libraries.vuex.index.VuexFrameworkHandler" version="7"/>
<frameworkIndexingHandler implementation="org.jetbrains.vuejs.libraries.templateLoader.TemplateLoaderFrameworkHandler" version="1"/>
<intentionAndInspectionFilter language="VueExpr" implementationClass="org.jetbrains.vuejs.inspections.VueInspectionFilter"/>
<inheritedLanguagesConfigurableProvider language="VueExpr"
implementationClass="org.jetbrains.vuejs.codeInsight.VueExprLanguageConfigurableProvider"/>
<dialectSpecificHandlersFactory language="VueJS" implementationClass="org.jetbrains.vuejs.codeInsight.VueJSSpecificHandlersFactory"/>
<dialectSpecificHandlersFactory language="VueTS" implementationClass="org.jetbrains.vuejs.codeInsight.VueTSSpecificHandlersFactory"/>
<!-- control flow, strict null checks -->
<dialectSpecificHandlersFactory language="Vue" implementationClass="org.jetbrains.vuejs.codeInsight.VueFileSpecificHandlersFactory"/>
<handlersFactory language="VueJS" implementationClass="org.jetbrains.vuejs.codeInsight.VueJSHandlersFactory"/>
<handlersFactory language="VueTS" implementationClass="org.jetbrains.vuejs.codeInsight.VueTSHandlersFactory"/>
<handlersFactory language="Vue"
implementationClass="org.jetbrains.vuejs.codeInsight.VueJSHandlersFactory"/> <!-- JSImportOnCopyCollectors -->
<analysisHandlersFactory language="VueJS" implementationClass="org.jetbrains.vuejs.inspections.VueJSAnalysisHandlersFactory"/>
<analysisHandlersFactory language="VueTS" implementationClass="org.jetbrains.vuejs.inspections.VueTSAnalysisHandlersFactory"/>
<frameworkSpecificHandler language="JavaScript"
implementationClass="org.jetbrains.vuejs.libraries.nuxt.codeInsight.NuxtFrameworkSpecificHandler"/>
<frameworkSpecificHandler language="JavaScript"
implementationClass="org.jetbrains.vuejs.codeInsight.VueFrameworkSpecificHandler"/>
<frameworkSpecificHandler language="JavaScript"
implementationClass="org.jetbrains.vuejs.codeInsight.VueFrameworkInsideScriptSpecificHandler"/>
<frameworkSpecificHandler language="JavaScript"
implementationClass="org.jetbrains.vuejs.libraries.vuex.codeInsight.VuexFrameworkSpecificHandler"/>
<tsImportResolver implementation="org.jetbrains.vuejs.lang.typescript.VueTypeScriptImportsResolverProvider" order="first"/>
<importModulePathStrategy order="after TypeScript"
implementation="org.jetbrains.vuejs.lang.VueImportModulePathStrategy"/>
<languageServiceProvider order="first" implementation="org.jetbrains.vuejs.lang.typescript.service.VueLanguageServiceProvider"/>
<importCandidatesFactory implementation="org.jetbrains.vuejs.codeInsight.imports.VueScriptCandidatesProviderFactory"/>
<importCandidatesFactory implementation="org.jetbrains.vuejs.codeInsight.imports.VueComponentImportCandidatesProviderFactory"/>
<scanningFileListenerContributor implementation="org.jetbrains.vuejs.libraries.nuxt.library.NuxtFolderScanningListenerContributor"/>
<moduleExportsProvider id="vue" implementation="org.jetbrains.vuejs.codeInsight.imports.VueModuleExportsProvider"/>
<componentUsageProvider language="Vue" implementationClass="org.jetbrains.vuejs.codeInsight.hints.VueComponentUsageProvider"/>
<typeScriptCompilerTypeFilter implementation="org.jetbrains.vuejs.libraries.nuxt.codeInsight.NuxtTypeScriptTypeFilter"/>
</extensions>
<extensions defaultExtensionNs="intellij.webpack">
<webpackLocator implementation="org.jetbrains.vuejs.cli.VueCliWebpackConfigLocator"/>
<webpackLocator implementation="org.jetbrains.vuejs.libraries.nuxt.codeInsight.NuxtWebpackConfigLocator"/>
</extensions>
</idea-plugin>