Retrieve current directory from workspaces

This commit is contained in:
Lucas Spits 2019-03-11 20:38:46 +01:00
parent 011bd4b2fc
commit 7185c594fe
No known key found for this signature in database
GPG Key ID: AE25DF7B645AA2B0

View File

@ -1,6 +1,6 @@
import * as lc from 'vscode-languageclient'; import * as lc from 'vscode-languageclient';
import { window } from 'vscode'; import { window, workspace } from 'vscode';
import { Config } from './config'; import { Config } from './config';
import { Highlighter } from './highlighting'; import { Highlighter } from './highlighting';
@ -12,9 +12,25 @@ export class Server {
public static start( public static start(
notificationHandlers: Iterable<[string, lc.GenericNotificationHandler]> notificationHandlers: Iterable<[string, lc.GenericNotificationHandler]>
) { ) {
// '.' Is the fallback if no folder is open
// TODO?: Workspace folders support Uri's (eg: file://test.txt). It might be a good idea to test if the uri points to a file.
let folder: string = '.';
if (workspace.workspaceFolders !== undefined) {
folder = workspace
.workspaceFolders[0].uri.fsPath
.toString();
if (workspace.workspaceFolders.length > 1) {
// Tell the user that we do not support multi-root workspaces yet
window.showWarningMessage("Multi-root workspaces are not currently supported");
}
}
const run: lc.Executable = { const run: lc.Executable = {
command: this.config.raLspServerPath, command: this.config.raLspServerPath,
options: { cwd: '.' } options: { cwd: folder }
}; };
const serverOptions: lc.ServerOptions = { const serverOptions: lc.ServerOptions = {
run, run,