PT #162167333: Ask JDT server for hover links (Eclipse, VSCode)

This commit is contained in:
BoykoAlex
2018-12-11 16:59:40 -05:00
parent 02f45063b8
commit db429f9c21
60 changed files with 1496 additions and 209 deletions

View File

@@ -0,0 +1,26 @@
import * as VSCode from "vscode";
import {LanguageClient, RequestType} from "vscode-languageclient";
export function registerJavaDataService(client : LanguageClient) : void {
const javaTypeRequest = new RequestType<JavaDataParams, any, void, void>("sts/javaType");
client.onRequest(javaTypeRequest, async (params: JavaDataParams) =>
<any> await VSCode.commands.executeCommand("java.execute.workspaceCommand", "sts.java.type", params)
);
const javadocHoverLinkRequest = new RequestType<JavaDataParams, any, void, void>("sts/javadocHoverLink");
client.onRequest(javadocHoverLinkRequest, async (params: JavaDataParams) =>
<any> await VSCode.commands.executeCommand("java.execute.workspaceCommand", "sts.java.javadocHoverLink", params)
);
const javadocRequest = new RequestType<JavaDataParams, any, void, void>("sts/javadoc");
client.onRequest(javadocRequest, async (params: JavaDataParams) =>
<any> await VSCode.commands.executeCommand("java.execute.workspaceCommand", "sts.java.javadoc", params)
);
}
interface JavaDataParams {
projectUri: string;
bindingKey: string;
}

View File

@@ -1,23 +0,0 @@
'use strict';
import * as VSCode from 'vscode';
import { LanguageClient, RequestType } from 'vscode-languageclient';
export function registerJavadocService(client : LanguageClient) : void {
let addRequest = new RequestType<JavadocParams, JavadocResponse, void, void>("sts/javadoc");
client.onRequest(addRequest, async (params: JavadocParams) =>
<JavadocResponse> await VSCode.commands.executeCommand("java.execute.workspaceCommand", "sts.java.javadoc", params)
);
}
interface JavadocParams {
projectUri: string;
bindingKey: string;
}
interface JavadocResponse {
content: string;
}

View File

@@ -16,8 +16,8 @@ import { log } from 'util';
import { tmpdir } from 'os';
import { JVM, findJvm, findJdk } from '@pivotal-tools/jvm-launch-utils';
import { registerClasspathService } from './classpath';
import { registerJavadocService } from './javadoc';
import {HighlightCodeLensProvider} from "./code-lens-service";
import {registerJavaDataService} from "./java-data";
let p2c = P2C.createConverter();
@@ -260,7 +260,7 @@ function setupLanguageClient(context: VSCode.ExtensionContext, createServer: Ser
return { applied: true};
});
registerClasspathService(client);
registerJavadocService(client);
registerJavaDataService(client);
return client;
});
}