Skip to content

Commit

Permalink
replace go to docs intention with external documentation provider
Browse files Browse the repository at this point in the history
  • Loading branch information
denofevil committed Dec 5, 2013
1 parent 2f3f082 commit c3e63da
Show file tree
Hide file tree
Showing 7 changed files with 34 additions and 60 deletions.
2 changes: 1 addition & 1 deletion AngularJS/AngularJS.iml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/resources" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
Expand Down
6 changes: 2 additions & 4 deletions AngularJS/resources/META-INF/plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,7 @@
<defaultLiveTemplatesProvider implementation="org.angularjs.AngularJSTemplatesProvider"/>

<typedHandler implementation="org.angularjs.editor.AngularBracesInterpolationTypedHandler"/>
<intentionAction>
<className>org.angularjs.intentions.OpenAngularJSDocsIntention</className>
<category>HTML</category>
</intentionAction>

<applicationService serviceInterface="org.angularjs.settings.AngularJSConfig"
serviceImplementation="org.angularjs.settings.AngularJSConfig"/>
<editorSmartKeysConfigurable instance="org.angularjs.settings.AngularJSConfigurationPage"/>
Expand All @@ -60,6 +57,7 @@
<fileBasedIndex implementation="com.intellij.lang.javascript.index.AngularSymbolIndex"/>

<gotoSymbolContributor implementation="org.angularjs.navigation.AngularGotoSymbolContributor"/>
<lang.documentationProvider language="JavaScript" implementationClass="org.angularjs.AngularJSDocumentationProvider" />

<multiHostInjector implementation="org.angularjs.editor.AngularJSInjector"/>
</extensions>
Expand Down
Empty file.
Empty file.

This file was deleted.

31 changes: 31 additions & 0 deletions AngularJS/src/org/angularjs/AngularJSDocumentationProvider.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package org.angularjs;

import com.intellij.lang.documentation.DocumentationProviderEx;
import com.intellij.lang.javascript.index.AngularDirectivesIndex;
import com.intellij.lang.javascript.index.JSNamedElementProxy;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.PsiElement;
import org.angularjs.index.AngularIndexUtil;

import java.util.Collections;
import java.util.List;

/**
* @author Dennis.Ushakov
*/
public class AngularJSDocumentationProvider extends DocumentationProviderEx {
@Override
public List<String> getUrlFor(PsiElement element, PsiElement originalElement) {
if (element instanceof JSNamedElementProxy) {
final String name = ((JSNamedElementProxy)element).getName();
if (AngularIndexUtil.resolve(element.getProject(), AngularDirectivesIndex.INDEX_ID, name) != null) {
final String[] words = name.split("-");
for (int i = 1; i < words.length; i++) {
words[i] = StringUtil.capitalize(words[i]);
}
return Collections.singletonList("http://docs.angularjs.org/api/ng.directive:" + StringUtil.join(words));
}
}
return null;
}
}

This file was deleted.

0 comments on commit c3e63da

Please sign in to comment.