<!--
  ~ 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 version="2">
  <id>com.android.tools.idea.smali</id>
  <name>Smali Support</name>
  <category>Android</category>
  <vendor url="http://www.google.com">Google, Inc.</vendor>

  <description><![CDATA[Adds support for <em>smali</em> files produced by Android disassembler]]></description>

  <!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.html
       on how to target different products -->
  <depends>com.intellij.modules.lang</depends>
  <depends>com.intellij.java</depends>

  <extensions defaultExtensionNs="com.intellij">
    <fileType name="Smali" implementationClass="com.android.tools.idea.smali.SmaliFileType" fieldName="INSTANCE"
              extensions="smali" language="Smali"/>
    <lang.parserDefinition language="Smali" implementationClass="com.android.tools.idea.smali.SmaliParserDefinition"/>
    <lang.syntaxHighlighterFactory language="Smali" implementationClass="com.android.tools.idea.smali.SmaliSyntaxHighlighterFactory"/>
    <annotator language="Smali" implementationClass="com.android.tools.idea.smali.SmaliAnnotator"/>
  </extensions>

  <actions>
    <!-- Add your actions here -->
  </actions>

</idea-plugin>