aboutsummaryrefslogtreecommitdiffstats
path: root/integration/intellij/src/main/resources/META-INF/plugin.xml
blob: e9eb44c87f7b8398815ac360cdfa92955fd0e4dd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<!-- Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -->
<idea-plugin>
    <id>ai.vespa</id>
    <name>Vespa</name>

    <!-- Text to display as company information on Preferences/Settings | Plugin page -->
    <vendor>vespa.ai</vendor>

    <!-- Product and plugin compatibility requirements -->
    <depends>com.intellij.java</depends>
    <depends>com.intellij.modules.platform</depends>

    <!-- Text to display as description on Preferences/Settings | Plugin page -->
    <description><![CDATA[    <p>Support for editing Vespa.ai
    <a href="https://docs.vespa.ai/en/reference/schema-reference.html">schema files</a>.</p>
    <p>Features:</p>
    <ul>
    <li>Syntax highlighting</li>
    <li>Structure view</li>
    <li>Find usages</li>
    <li>Go to declaration</li>
    <li>Function call hierarchy</li>
    <li>Go to symbol</li>
    <li>Refactoring</li>
    <li>Turn lines into a comment</li>
    </ul>
    ]]></description>
    
    <!-- Extension points defined by the plugin -->
    <extensions defaultExtensionNs="com.intellij">
        <fileType name="Sd File" implementationClass="ai.vespa.intellij.schema.SdFileType" fieldName="INSTANCE"
                  language="Sd" extensions="sd;profile"/>
        <lang.parserDefinition language="Sd" implementationClass="ai.vespa.intellij.schema.parser.SdParserDefinition"/>
        <lang.syntaxHighlighterFactory language="Sd" implementationClass="ai.vespa.intellij.schema.SdSyntaxHighlighterFactory"/>
        <completion.contributor language="Sd" implementationClass="ai.vespa.intellij.schema.SdCompletionContributor"/>

        <lang.findUsagesProvider language="Sd" implementationClass="ai.vespa.intellij.schema.findUsages.SdFindUsagesProvider"/>
        <findUsagesHandlerFactory implementation="ai.vespa.intellij.schema.findUsages.SdFindUsagesHandlerFactory"/>
        <fileStructureGroupRuleProvider implementation="ai.vespa.intellij.schema.findUsages.SdRankProfileGroupingRuleProvider"/>
        <fileStructureGroupRuleProvider implementation="ai.vespa.intellij.schema.findUsages.SdDocumentSummaryGroupingRuleProvider"/>
        <elementDescriptionProvider implementation="ai.vespa.intellij.schema.psi.SdElementDescriptionProvider"/>

        <lang.psiStructureViewFactory language="Sd" implementationClass="ai.vespa.intellij.schema.structure.SdStructureViewFactory"/>
        <codeStyleSettingsProvider implementation="ai.vespa.intellij.schema.SdCodeStyleSettingsProvider"/>
        <langCodeStyleSettingsProvider implementation="ai.vespa.intellij.schema.SdLanguageCodeStyleSettingsProvider"/>
        <lang.commenter language="Sd" implementationClass="ai.vespa.intellij.schema.SdCommenter"/>
        <lang.refactoringSupport language="Sd" implementationClass="ai.vespa.intellij.schema.SdRefactoringSupportProvider"/>
        <gotoSymbolContributor implementation="ai.vespa.intellij.schema.SdChooseByNameContributor"/>
        <callHierarchyProvider language="Sd" implementationClass="ai.vespa.intellij.schema.hierarchy.SdCallHierarchyProvider"/>
    </extensions>
    
</idea-plugin>