diff --git a/src/org/intellij/erlang/documentation/ErlangSdkDocProviderBase.java b/src/org/intellij/erlang/documentation/ErlangSdkDocProviderBase.java index e861d620f..32b889cf8 100644 --- a/src/org/intellij/erlang/documentation/ErlangSdkDocProviderBase.java +++ b/src/org/intellij/erlang/documentation/ErlangSdkDocProviderBase.java @@ -76,7 +76,12 @@ protected ErlangSdkDocProviderBase(@NotNull Project project, @NotNull VirtualFil @Override public List getExternalDocUrls() { if (myExternalDocUrls == null) { - myExternalDocUrls = getHttpUrls(getOrderEntries(), myVirtualFile, getInDocRef()); + List httpUrls = getHttpUrls(getOrderEntries(), myVirtualFile, getInDocRef()); + if (httpUrls.isEmpty()) { + List fileUrls = getFileUrls(getOrderEntries(), myVirtualFile); + myExternalDocUrls = fileUrls; + } + else myExternalDocUrls = httpUrls; } return myExternalDocUrls; } diff --git a/src/org/intellij/erlang/documentation/ErlangSdkFunctionDocProvider.java b/src/org/intellij/erlang/documentation/ErlangSdkFunctionDocProvider.java index f0bcfa9ee..c4c8e08db 100644 --- a/src/org/intellij/erlang/documentation/ErlangSdkFunctionDocProvider.java +++ b/src/org/intellij/erlang/documentation/ErlangSdkFunctionDocProvider.java @@ -25,9 +25,9 @@ final class ErlangSdkFunctionDocProvider extends ErlangSdkDocProviderBase { private static final Pattern PATTERN_FUNC_BEGIN = Pattern.compile( - ".*?
"); + ""); private static final Pattern PATTERN_BIF_BEGIN = Pattern.compile( - ".*?
"); + ""); private static final Pattern PATTERN_END_OF_DOC = Pattern.compile("^
$"); @NotNull private final String myFuncSignature; diff --git a/src/org/intellij/erlang/sdk/ErlangSdkRelease.java b/src/org/intellij/erlang/sdk/ErlangSdkRelease.java index 73c34f14f..0362908e1 100644 --- a/src/org/intellij/erlang/sdk/ErlangSdkRelease.java +++ b/src/org/intellij/erlang/sdk/ErlangSdkRelease.java @@ -38,6 +38,11 @@ public final class ErlangSdkRelease { public ErlangSdkRelease(@NotNull String otpRelease, @NotNull String ertsVersion) { myOtpRelease = otpRelease; + + String[] splittedErtsVersion = ertsVersion.split("\\."); + if(splittedErtsVersion.length > 2){ + ertsVersion = splittedErtsVersion[0] + "." + splittedErtsVersion[1]; + } myErtsVersion = ertsVersion; } diff --git a/src/org/intellij/erlang/sdk/ErlangSdkType.java b/src/org/intellij/erlang/sdk/ErlangSdkType.java index c85f41ed0..4a2068feb 100644 --- a/src/org/intellij/erlang/sdk/ErlangSdkType.java +++ b/src/org/intellij/erlang/sdk/ErlangSdkType.java @@ -307,7 +307,7 @@ private static void configureSdkPaths(@NotNull Sdk sdk) { @Nullable private static String getDefaultDocumentationUrl(@Nullable ErlangSdkRelease version) { - return version == null ? null : "http://www.erlang.org/documentation/doc-" + version.getErtsVersion(); + return version == null ? null : "http://erlang.org/documentation/doc-" + version.getErtsVersion(); } private static void setupLocalSdkPaths(@NotNull SdkModificator sdkModificator) { diff --git a/tests/org/intellij/erlang/documentation/ErlangDocumentationProviderTest.java b/tests/org/intellij/erlang/documentation/ErlangDocumentationProviderTest.java index 817c99825..d1487acc8 100644 --- a/tests/org/intellij/erlang/documentation/ErlangDocumentationProviderTest.java +++ b/tests/org/intellij/erlang/documentation/ErlangDocumentationProviderTest.java @@ -47,21 +47,21 @@ public void setUp() throws Exception { } public void testExternalUrlSdkFunction() { - doTestGetUrls("http://www.erlang.org/documentation/doc-5.9.2/lib/stdlib-1.18.2/doc/html/lists.html#foreach-2", + doTestGetUrls("http://erlang.org/documentation/doc-5.9.2/lib/stdlib-1.18.2/doc/html/lists.html#foreach-2", "-module(test).\n" + "test() ->\n" + " lists:foreach(foo, bar).\n"); } public void testExternalUrlSdkBif() { - doTestGetUrls("http://www.erlang.org/documentation/doc-5.9.2/lib/stdlib-1.18.2/doc/html/lists.html#member-2", + doTestGetUrls("http://erlang.org/documentation/doc-5.9.2/lib/stdlib-1.18.2/doc/html/lists.html#member-2", "-module(test).\n" + "test() ->\n" + " lists:member(foo, bar).\n"); } public void testExternalUrlSdkModule() { - doTestGetUrls("http://www.erlang.org/documentation/doc-5.9.2/lib/stdlib-1.18.2/doc/html/lists.html", + doTestGetUrls("http://erlang.org/documentation/doc-5.9.2/lib/stdlib-1.18.2/doc/html/lists.html", "-module(test).\n" + "test() ->\n" + " lists:foreach(foo, bar).\n");