| <!-- |
| ~ Copyright (C) 2017 The Android Open Source Project |
| ~ |
| ~ Licensed under the Apache License, Version 2.0 (the "License"); |
| ~ you may not use this file except in compliance with the License. |
| ~ You may obtain a copy of the License at |
| ~ |
| ~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~ |
| ~ Unless required by applicable law or agreed to in writing, software |
| ~ distributed under the License is distributed on an "AS IS" BASIS, |
| ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ~ See the License for the specific language governing permissions and |
| ~ limitations under the License. |
| --> |
| <idea-plugin> |
| |
| <depends>org.intellij.intelliLang</depends> |
| |
| <extensionPoints> |
| <extensionPoint qualifiedName="com.android.tools.idea.lang.androidSql.contextProvider" |
| interface="com.android.tools.idea.lang.androidSql.AndroidSqlContext$Provider"/> |
| </extensionPoints> |
| |
| <extensions defaultExtensionNs="com.intellij"> |
| <!-- Android IDL support --> |
| <fileType name="AIDL" |
| implementationClass="com.android.tools.idea.lang.aidl.AidlFileType" |
| fieldName="INSTANCE" |
| language="AIDL" |
| extensions="aidl"/> |
| <lang.parserDefinition language="AIDL" implementationClass="com.android.tools.idea.lang.aidl.AidlParserDefinition"/> |
| <lang.syntaxHighlighter language="AIDL" |
| implementationClass="com.android.tools.idea.lang.aidl.highlight.AidlSyntaxHighlighter"/> |
| <annotator language="AIDL" implementationClass="com.android.tools.idea.lang.aidl.highlight.AidlAnnotator" order="first"/> |
| <lang.commenter language="AIDL" implementationClass="com.intellij.lang.java.JavaCommenter"/> |
| <lang.findUsagesProvider language="AIDL" implementationClass="com.android.tools.idea.lang.aidl.findUsages.AidlFindUsageProvider"/> |
| <findUsagesHandlerFactory implementation="com.android.tools.idea.lang.aidl.findUsages.AidlFindUsageHandlerFactory"/> |
| <lang.elementManipulator forClass="com.android.tools.idea.lang.aidl.psi.AidlQualifiedName" |
| implementationClass="com.android.tools.idea.lang.aidl.psi.AidlQualifiedNameElementManipulator"/> |
| <lang.braceMatcher language="AIDL" implementationClass="com.android.tools.idea.lang.aidl.AidlPairedBraceMatcher"/> |
| |
| <!-- Proguard support --> |
| <fileType name="Shrinker Config File" |
| implementationClass="com.android.tools.idea.lang.proguardR8.ProguardR8FileType" |
| fieldName="INSTANCE" |
| language="SHRINKER_CONFIG" |
| extensions="pro" |
| fileNames="proguard.cfg" |
| patterns="proguard-*.txt"/> |
| |
| <lang.parserDefinition language="SHRINKER_CONFIG" |
| implementationClass="com.android.tools.idea.lang.proguardR8.parser.ProguardR8ParserDefinition"/> |
| <lang.syntaxHighlighterFactory language="SHRINKER_CONFIG" |
| implementationClass="com.android.tools.idea.lang.proguardR8.ProguardR8SyntaxHighlighterFactory"/> |
| <completion.contributor language="SHRINKER_CONFIG" |
| implementationClass="com.android.tools.idea.lang.proguardR8.ProguardR8CompletionContributor" |
| order="before javaClassReference" |
| /> |
| <idIndexer filetype="Shrinker Config File" implementationClass="com.android.tools.idea.lang.proguardR8.psi.ProguardR8IdIndexer"/> |
| <annotator language="SHRINKER_CONFIG" implementationClass="com.android.tools.idea.lang.proguardR8.ProguardR8Annotator"/> |
| <lang.braceMatcher language="SHRINKER_CONFIG" |
| implementationClass="com.android.tools.idea.lang.proguardR8.ProguardR8PairedBraceMatcher"/> |
| <lang.quoteHandler language="SHRINKER_CONFIG" implementationClass="com.android.tools.idea.lang.proguardR8.ProguardR8QuoteHandler"/> |
| <lang.commenter language="SHRINKER_CONFIG" implementationClass="com.android.tools.idea.lang.proguardR8.ProguardR8Commenter"/> |
| <lang.findUsagesProvider language="SHRINKER_CONFIG" |
| implementationClass="com.android.tools.idea.lang.proguardR8.psi.ProguardR8FindUsagesProvider"/> |
| <usageTypeProvider implementation="com.android.tools.idea.lang.proguardR8.psi.ProguardR8UsageTypeProvider"/> |
| <useScopeEnlarger implementation="com.android.tools.idea.lang.proguardR8.ProguardR8UseScopeEnlarger"/> |
| <typedHandler implementation="com.android.tools.idea.lang.proguardR8.ProguardR8TypedHandler" id="proguardR8CompletionAutoPopup"/> |
| <lang.elementManipulator forClass="com.android.tools.idea.lang.proguardR8.psi.ProguardR8QualifiedName" |
| implementationClass="com.android.tools.idea.lang.proguardR8.psi.ProguardR8QualifiedNameManipulator"/> |
| <lang.elementManipulator forClass="com.android.tools.idea.lang.proguardR8.psi.ProguardR8ClassMemberName" |
| implementationClass="com.android.tools.idea.lang.proguardR8.psi.ProguardR8ClassMemberNameManipulator"/> |
| <lang.elementManipulator forClass="com.android.tools.idea.lang.proguardR8.psi.ProguardR8File" |
| implementationClass="com.android.tools.idea.lang.proguardR8.psi.ProguardR8FileManipulator"/> |
| |
| <!-- This inspection uses the same highlight as "unused symbol", so the level is only visible in the gutter. --> |
| <localInspection groupPath="Android" |
| groupName="Shrinker" |
| language="SHRINKER_CONFIG" |
| enabledByDefault="true" |
| level="ERROR" |
| shortName="ShrinkerUnresolvedReference" |
| implementationClass="com.android.tools.idea.lang.proguardR8.ProguardR8ReferenceInspection" |
| displayName="Unresolved reference in Shrinker Config file"/> |
| |
| <localInspection groupPath="Android" |
| groupName="Shrinker" |
| language="SHRINKER_CONFIG" |
| enabledByDefault="true" |
| level="WARNING" |
| shortName="R8IgnoredFlags" |
| implementationClass="com.android.tools.idea.lang.proguardR8.ProguardR8IgnoredFlagInspection" |
| displayName="Flags ignored by R8"/> |
| |
| <localInspection groupPath="Android" |
| groupName="Shrinker" |
| language="SHRINKER_CONFIG" |
| enabledByDefault="true" |
| level="ERROR" |
| shortName="ShrinkerInvalidFlags" |
| implementationClass="com.android.tools.idea.lang.proguardR8.ProguardR8InvalidFlagInspection" |
| displayName="Invalid flag in shrinker config"/> |
| |
| <localInspection groupPath="Android" |
| groupName="Shrinker" |
| language="SHRINKER_CONFIG" |
| enabledByDefault="true" |
| level="ERROR" |
| shortName="ShrinkerArrayType" |
| implementationClass="com.android.tools.idea.lang.proguardR8.ProguardR8ArrayTypeInspection" |
| displayName="Invalid using of array type"/> |
| |
| <localInspection groupPath="Android" |
| groupName="Shrinker" |
| language="SHRINKER_CONFIG" |
| enabledByDefault="true" |
| level="ERROR" |
| shortName="ShrinkerInnerClassSeparator" |
| implementationClass="com.android.tools.idea.lang.proguardR8.ProguardR8InnerClassSeparatorInspection" |
| displayName="Invalid separator between class and inner class"/> |
| |
| <localInspection groupPath="Android" |
| groupName="Shrinker" |
| language="SHRINKER_CONFIG" |
| enabledByDefault="true" |
| level="ERROR" |
| shortName="ExpensiveKeepRuleInspection" |
| implementationClass="com.android.tools.idea.lang.proguardR8.inspections.ExpensiveKeepRuleInspection" |
| displayName="An inspection that identifies expensive keep rules"/> |
| |
| <localInspection groupPath="Android" |
| groupName="Shrinker" |
| language="SHRINKER_CONFIG" |
| enabledByDefault="true" |
| level="ERROR" |
| shortName="ConsumerRulesInspection" |
| implementationClass="com.android.tools.idea.lang.proguardR8.inspections.ConsumerRulesInspection" |
| displayName="An inspection that identifies bad global directives in consumer rules"/> |
| |
| <lang.foldingBuilder language="SHRINKER_CONFIG" implementationClass="com.android.tools.idea.lang.proguardR8.ProguardR8CustomFoldingBuilder"/> |
| |
| <lang.inspectionSuppressor |
| language="SHRINKER_CONFIG" |
| implementationClass="com.android.tools.idea.lang.proguardR8.ProguardR8InspectionSuppressor"/> |
| |
| <!-- Renderscript --> |
| <fileType name="Android RenderScript" |
| implementationClass="com.android.tools.idea.lang.rs.AndroidRenderscriptFileType" |
| fieldName="INSTANCE" |
| language="Renderscript" |
| extensions="fs;rs;rsh" /> |
| <lang.parserDefinition language="Renderscript" |
| implementationClass="com.android.tools.idea.lang.rs.RenderscriptParserDefinition"/> |
| <lang.syntaxHighlighter language="Renderscript" |
| implementationClass="com.android.tools.idea.lang.rs.RenderscriptSyntaxHighlighter"/> |
| |
| |
| |
| <!-- SQL support --> |
| <fileType name="Android Room SQL" |
| implementationClass="com.android.tools.idea.lang.androidSql.AndroidSqlFileType" |
| fieldName="INSTANCE" |
| language="RoomSql" /> |
| |
| <lang.parserDefinition language="RoomSql" |
| implementationClass="com.android.tools.idea.lang.androidSql.parser.AndroidSqlParserDefinition"/> |
| <lang.syntaxHighlighterFactory language="RoomSql" |
| implementationClass="com.android.tools.idea.lang.androidSql.AndroidSqlSyntaxHighlighterFactory"/> |
| <annotator language="RoomSql" implementationClass="com.android.tools.idea.lang.androidSql.AndroidSqlAnnotator" order="first"/> |
| <lang.elementManipulator forClass="com.android.tools.idea.lang.androidSql.psi.impl.AndroidSqlDefinedTableNameImpl" |
| implementationClass="com.android.tools.idea.lang.androidSql.refactoring.AndroidSqlNameElementManipulator"/> |
| <lang.elementManipulator forClass="com.android.tools.idea.lang.androidSql.psi.impl.AndroidSqlSelectedTableNameImpl" |
| implementationClass="com.android.tools.idea.lang.androidSql.refactoring.AndroidSqlNameElementManipulator"/> |
| <lang.elementManipulator forClass="com.android.tools.idea.lang.androidSql.psi.impl.AndroidSqlColumnNameImpl" |
| implementationClass="com.android.tools.idea.lang.androidSql.refactoring.AndroidSqlNameElementManipulator"/> |
| <lang.elementManipulator forClass="com.android.tools.idea.lang.androidSql.psi.impl.AndroidSqlBindParameterImpl" |
| implementationClass="com.android.tools.idea.lang.androidSql.refactoring.AndroidSqlBindParameterManipulator"/> |
| <lang.findUsagesProvider language="RoomSql" |
| implementationClass="com.android.tools.idea.lang.androidSql.refactoring.AndroidSqlFindUsagesProvider"/> |
| <idIndexer filetype="Android Room SQL" implementationClass="com.android.tools.idea.lang.androidSql.refactoring.AndroidSqlIdIndexer"/> |
| <usageTypeProvider implementation="com.android.tools.idea.lang.androidSql.refactoring.AndroidSqlUsageTypeProvider"/> |
| |
| <localInspection groupPath="Android" |
| groupName="Room" |
| language="RoomSql" |
| shortName="AndroidUnresolvedRoomSqlReference" |
| enabledByDefault="true" |
| level="ERROR" |
| implementationClass="com.android.tools.idea.lang.androidSql.AndroidSqlUnresolvedReferenceInspection" |
| displayName="Unresolved reference in Room SQL"/> |
| |
| <lang.braceMatcher language="RoomSql" implementationClass="com.android.tools.idea.lang.androidSql.AndroidSqlPairedBraceMatcher"/> |
| <lang.quoteHandler language="RoomSql" implementationClass="com.android.tools.idea.lang.androidSql.AndroidSqlQuoteHandler"/> |
| |
| <!-- Room support --> |
| <useScopeEnlarger implementation="com.android.tools.idea.lang.androidSql.room.RoomUseScopeEnlarger"/> |
| <moduleService serviceImplementation="com.android.tools.idea.lang.androidSql.room.RoomSchemaManager"/> |
| <projectService serviceImplementation="com.android.tools.idea.lang.androidSql.room.RoomDependencyChecker"/> |
| <referencesSearch implementation="com.android.tools.idea.lang.androidSql.room.RoomReferenceSearchExecutor"/> |
| <vetoRenameCondition implementation="com.android.tools.idea.lang.androidSql.AndroidSqlRenameVetoCondition"/> |
| <localInspection groupPath="Android" |
| groupName="Room" |
| language="RoomSql" |
| shortName="AndroidRoomQuestionMarkBindParameter" |
| enabledByDefault="true" |
| level="ERROR" |
| implementationClass="com.android.tools.idea.lang.androidSql.room.RoomBindParameterSyntaxInspection" |
| displayName="'?' used as parameter in a Room query."/> |
| <localInspection groupPath="Android" |
| groupName="Room" |
| language="RoomSql" |
| shortName="AndroidRoomSqlBooleanLiteral" |
| enabledByDefault="true" |
| level="WARNING" |
| implementationClass="com.android.tools.idea.lang.androidSql.room.RoomSqlBooleanLiteralInspection" |
| displayName="Boolean literal used in a Room query"/> |
| |
| <!-- Multidex keep files support --> |
| <fileType name="MultiDexKeep" implementationClass="com.android.tools.idea.lang.multiDexKeep.MultiDexKeepFileType" |
| fileNames="multidex-config.txt" language="MultiDexKeep" fieldName="INSTANCE"/> |
| <lang.parserDefinition language="MultiDexKeep" implementationClass="com.android.tools.idea.lang.multiDexKeep.MultiDexKeepParserDefinition"/> |
| |
| <!-- AGSL (Android Graphics Shading Language) support --> |
| <fileType name="AGSL" implementationClass="com.android.tools.idea.lang.agsl.AgslFileType" |
| extensions="agsl" language="AGSL" fieldName="INSTANCE"/> |
| <lang.parserDefinition language="AGSL" implementationClass="com.android.tools.idea.lang.agsl.AgslParserDefinition"/> |
| <lang.syntaxHighlighter language="AGSL" |
| implementationClass="com.android.tools.idea.lang.agsl.AgslSyntaxHighlighter"/> |
| <annotator language="AGSL" implementationClass="com.android.tools.idea.lang.agsl.AgslAnnotator" order="first"/> |
| <lang.braceMatcher language="AGSL" implementationClass="com.android.tools.idea.lang.agsl.AgslPairMatcher"/> |
| <lang.commenter language="AGSL" implementationClass="com.android.tools.idea.lang.agsl.AgslCommenter"/> |
| </extensions> |
| |
| <extensions defaultExtensionNs="com.android.tools.idea.lang.androidSql"> |
| <contextProvider implementation="com.android.tools.idea.lang.androidSql.room.RoomSqlContext$Provider" /> |
| </extensions> |
| |
| <extensions defaultExtensionNs="org.intellij.intelliLang"> |
| <injectionConfig config="injections/roomSqlInjections.xml"/> |
| </extensions> |
| |
| </idea-plugin> |