Minimum Java 11 for all spring LS. Upgrade vscode dependencies.
This commit is contained in:
@@ -2,16 +2,17 @@
|
||||
|
||||
|
||||
import * as VSCode from 'vscode';
|
||||
import { LanguageClient, RequestType } from 'vscode-languageclient';
|
||||
import { RequestType } from 'vscode-languageclient';
|
||||
import { LanguageClient } from 'vscode-languageclient/node';
|
||||
|
||||
export function registerClasspathService(client : LanguageClient) : void {
|
||||
|
||||
let addRequest = new RequestType<ClasspathListenerParams, ClasspathListenerResponse, void, void>("sts/addClasspathListener");
|
||||
let addRequest = new RequestType<ClasspathListenerParams, ClasspathListenerResponse, void>("sts/addClasspathListener");
|
||||
client.onRequest(addRequest, async (params: ClasspathListenerParams) => {
|
||||
return <ClasspathListenerResponse> await VSCode.commands.executeCommand("java.execute.workspaceCommand", "sts.java.addClasspathListener", params.callbackCommandId);
|
||||
});
|
||||
|
||||
let removeRequest = new RequestType<ClasspathListenerParams, ClasspathListenerResponse, void, void>("sts/removeClasspathListener");
|
||||
let removeRequest = new RequestType<ClasspathListenerParams, ClasspathListenerResponse, void>("sts/removeClasspathListener");
|
||||
client.onRequest(removeRequest, async (params: ClasspathListenerParams) => {
|
||||
return <ClasspathListenerResponse> await VSCode.commands.executeCommand("java.execute.workspaceCommand", "sts.java.removeClasspathListener", params.callbackCommandId);
|
||||
});
|
||||
|
||||
@@ -1,49 +1,50 @@
|
||||
import * as VSCode from "vscode";
|
||||
import {LanguageClient, RequestType} from "vscode-languageclient";
|
||||
import {RequestType} from "vscode-languageclient";
|
||||
import {LanguageClient} from 'vscode-languageclient/node';
|
||||
|
||||
export function registerJavaDataService(client : LanguageClient) : void {
|
||||
|
||||
const javaTypeRequest = new RequestType<JavaDataParams, any, void, void>("sts/javaType");
|
||||
const javaTypeRequest = new RequestType<JavaDataParams, any, 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");
|
||||
const javadocHoverLinkRequest = new RequestType<JavaDataParams, any, void>("sts/javadocHoverLink");
|
||||
client.onRequest(javadocHoverLinkRequest, async (params: JavaDataParams) =>
|
||||
<any> await VSCode.commands.executeCommand("java.execute.workspaceCommand", "sts.java.javadocHoverLink", params)
|
||||
);
|
||||
|
||||
const javaLocationRequest = new RequestType<JavaDataParams, any, void, void>("sts/javaLocation");
|
||||
const javaLocationRequest = new RequestType<JavaDataParams, any, void>("sts/javaLocation");
|
||||
client.onRequest(javaLocationRequest, async (params: JavaDataParams) =>
|
||||
<any> await VSCode.commands.executeCommand("java.execute.workspaceCommand", "sts.java.location", params)
|
||||
);
|
||||
|
||||
const javadocRequest = new RequestType<JavaDataParams, any, void, void>("sts/javadoc");
|
||||
const javadocRequest = new RequestType<JavaDataParams, any, void>("sts/javadoc");
|
||||
client.onRequest(javadocRequest, async (params: JavaDataParams) =>
|
||||
<any> await VSCode.commands.executeCommand("java.execute.workspaceCommand", "sts.java.javadoc", params)
|
||||
);
|
||||
|
||||
const javaSearchTypes = new RequestType<JavaSearchParams, any, void, void>("sts/javaSearchTypes");
|
||||
const javaSearchTypes = new RequestType<JavaSearchParams, any, void>("sts/javaSearchTypes");
|
||||
client.onRequest(javaSearchTypes, async (params: JavaSearchParams) =>
|
||||
<any> await VSCode.commands.executeCommand("java.execute.workspaceCommand", "sts.java.search.types", params)
|
||||
);
|
||||
|
||||
const javaSearchPackages = new RequestType<JavaSearchParams, any, void, void>("sts/javaSearchPackages");
|
||||
const javaSearchPackages = new RequestType<JavaSearchParams, any, void>("sts/javaSearchPackages");
|
||||
client.onRequest(javaSearchPackages, async (params: JavaSearchParams) =>
|
||||
<any> await VSCode.commands.executeCommand("java.execute.workspaceCommand", "sts.java.search.packages", params)
|
||||
);
|
||||
|
||||
const javaSubTypes = new RequestType<JavaTypeHierarchyParams, any, void, void>("sts/javaSubTypes");
|
||||
const javaSubTypes = new RequestType<JavaTypeHierarchyParams, any, void>("sts/javaSubTypes");
|
||||
client.onRequest(javaSubTypes, async (params: JavaTypeHierarchyParams) =>
|
||||
<any> await VSCode.commands.executeCommand("java.execute.workspaceCommand", "sts.java.hierarchy.subtypes", params)
|
||||
);
|
||||
|
||||
const javaSuperTypes = new RequestType<JavaTypeHierarchyParams, any, void, void>("sts/javaSuperTypes");
|
||||
const javaSuperTypes = new RequestType<JavaTypeHierarchyParams, any, void>("sts/javaSuperTypes");
|
||||
client.onRequest(javaSuperTypes, async (params: JavaTypeHierarchyParams) =>
|
||||
<any> await VSCode.commands.executeCommand("java.execute.workspaceCommand", "sts.java.hierarchy.supertypes", params)
|
||||
);
|
||||
|
||||
const javaCodeCompletion = new RequestType<JavaCodeCompleteParams, any, void, void>('sts/javaCodeComplete');
|
||||
const javaCodeCompletion = new RequestType<JavaCodeCompleteParams, any, void>('sts/javaCodeComplete');
|
||||
client.onRequest(javaCodeCompletion, async (params: JavaCodeCompleteParams) =>
|
||||
<any> await VSCode.commands.executeCommand("java.execute.workspaceCommand", "sts.java.code.completions", params)
|
||||
);
|
||||
@@ -75,4 +76,4 @@ interface JavaCodeCompleteParams {
|
||||
prefix: string;
|
||||
includeTypes: boolean;
|
||||
includePackages: boolean;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,8 @@ import PortFinder = require('portfinder');
|
||||
import * as Net from 'net';
|
||||
import * as ChildProcess from 'child_process';
|
||||
import * as CommonsCommands from './commands';
|
||||
import { TextDocumentIdentifier, RequestType, LanguageClient, LanguageClientOptions, SettingMonitor, ServerOptions, StreamInfo, Position } from 'vscode-languageclient';
|
||||
import { RequestType, LanguageClientOptions, Position } from 'vscode-languageclient';
|
||||
import {LanguageClient, StreamInfo, ServerOptions} from 'vscode-languageclient/node';
|
||||
import {
|
||||
Disposable,
|
||||
window,
|
||||
@@ -17,7 +18,7 @@ import {
|
||||
Progress,
|
||||
} from 'vscode';
|
||||
import { Trace, NotificationType } from 'vscode-jsonrpc';
|
||||
import * as P2C from 'vscode-languageclient/lib/protocolConverter';
|
||||
import * as P2C from 'vscode-languageclient/lib/common/protocolConverter';
|
||||
import {HighlightService, HighlightParams} from './highlight-service';
|
||||
import { log } from 'util';
|
||||
import { JVM, findJvm, findJdk } from '@pivotal-tools/jvm-launch-utils';
|
||||
@@ -25,7 +26,7 @@ import { registerClasspathService } from './classpath';
|
||||
import {HighlightCodeLensProvider} from "./code-lens-service";
|
||||
import {registerJavaDataService} from "./java-data";
|
||||
|
||||
let p2c = P2C.createConverter();
|
||||
const p2c = P2C.createConverter(undefined, undefined);
|
||||
|
||||
PortFinder.basePort = 45556;
|
||||
|
||||
@@ -128,14 +129,14 @@ export function activate(options: ActivatorOptions, context: VSCode.ExtensionCon
|
||||
}
|
||||
let javaExecutablePath = jvm.getJavaExecutable();
|
||||
log("Found java exe: " + javaExecutablePath);
|
||||
|
||||
|
||||
let version = jvm.getMajorVersion();
|
||||
if (version<8) {
|
||||
VSCode.window.showErrorMessage('Java-based Language Server requires Java 8 or higher (using ' + javaExecutablePath + ')');
|
||||
if (version<11) {
|
||||
VSCode.window.showErrorMessage('Java-based Language Server requires Java 11 or higher (using ' + javaExecutablePath + ')', {});
|
||||
return;
|
||||
}
|
||||
log("isJavaEightOrHigher => true");
|
||||
|
||||
|
||||
function createServer(): Promise<StreamInfo> {
|
||||
return new Promise((resolve, reject) => {
|
||||
PortFinder.getPort((err, port) => {
|
||||
@@ -220,7 +221,7 @@ function hasHeapArg(vmargs?: string[]) : boolean {
|
||||
}
|
||||
|
||||
function findServerJar(jarsDir) : string {
|
||||
let serverJars = FS.readdirSync(jarsDir).filter(jar =>
|
||||
let serverJars = FS.readdirSync(jarsDir).filter(jar =>
|
||||
jar.indexOf('language-server')>=0 &&
|
||||
jar.endsWith(".jar")
|
||||
);
|
||||
@@ -261,9 +262,9 @@ function setupLanguageClient(context: VSCode.ExtensionContext, createServer: Ser
|
||||
client.trace = Trace.Verbose;
|
||||
}
|
||||
|
||||
let progressNotification = new NotificationType<ProgressParams,void>("sts/progress");
|
||||
let highlightNotification = new NotificationType<HighlightParams,void>("sts/highlight");
|
||||
let moveCursorRequest = new RequestType<MoveCursorParams,MoveCursorResponse,void,void>("sts/moveCursor");
|
||||
let progressNotification = new NotificationType<ProgressParams>("sts/progress");
|
||||
let highlightNotification = new NotificationType<HighlightParams>("sts/highlight");
|
||||
let moveCursorRequest = new RequestType<MoveCursorParams,MoveCursorResponse,void>("sts/moveCursor");
|
||||
|
||||
let disposable = client.start();
|
||||
|
||||
@@ -385,7 +386,7 @@ class ProgressService {
|
||||
title: "",
|
||||
cancellable: false
|
||||
}, progress => new Promise(resolve => {
|
||||
this.status.set(params.id, new ProgressHandle(progress, resolve));
|
||||
this.status.set(params.id, new ProgressHandle(progress, <() => void>resolve));
|
||||
progress.report({
|
||||
message: params.statusMsg,
|
||||
increment: -1
|
||||
|
||||
Reference in New Issue
Block a user