Update Theia, CLI and LS (#610)

* Update Theia to 1.19.0

* update CLI to 0.20.0-rc3

* Add language selector to settings

* updated language server and vscode-arduino-tools

* update Language Server flags

* get cli port from config

* force native menu on windows

* pinned Language Server to rc2

* fix search icon

* update CLI version
This commit is contained in:
Francesco Stasi
2021-11-29 15:54:13 +01:00
committed by GitHub
parent 6e34a27b7e
commit dd76f9180c
97 changed files with 1437 additions and 1310 deletions

View File

@@ -12,6 +12,7 @@ import { Event, Emitter } from '@theia/core/lib/common/event';
import { environment } from '@theia/application-package/lib/environment';
import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
import { BackendApplicationContribution } from '@theia/core/lib/node/backend-application';
import { LocalizationProvider } from '@theia/core/lib/node/i18n/localization-provider';
import { ArduinoDaemon, NotificationServiceServer } from '../common/protocol';
import { DaemonLog } from './daemon-log';
import { CLI_CONFIG } from './cli-config';
@@ -31,6 +32,9 @@ export class ArduinoDaemonImpl
@inject(NotificationServiceServer)
protected readonly notificationService: NotificationServiceServer;
@inject(LocalizationProvider)
protected readonly localizationProvider: LocalizationProvider;
protected readonly toDispose = new DisposableCollection();
protected readonly onDaemonStartedEmitter = new Emitter<void>();
protected readonly onDaemonStoppedEmitter = new Emitter<void>();

View File

@@ -1,4 +1,5 @@
import { RecursivePartial } from '@theia/core/lib/common/types';
import { Daemon } from '../common/protocol/config-service';
export const CLI_CONFIG = 'arduino-cli.yaml';
@@ -21,29 +22,6 @@ export namespace BoardManager {
}
}
export interface Daemon {
readonly port: string | number;
}
export namespace Daemon {
export function is(
daemon: RecursivePartial<Daemon> | undefined
): daemon is Daemon {
return !!daemon && !!daemon.port;
}
export function sameAs(
left: RecursivePartial<Daemon> | undefined,
right: RecursivePartial<Daemon> | undefined
): boolean {
if (left === undefined) {
return right === undefined;
}
if (right === undefined) {
return left === undefined;
}
return String(left.port) === String(right.port);
}
}
export interface Directories {
readonly data: string;
readonly downloads: string;
@@ -123,6 +101,7 @@ export interface Network {
// Arduino CLI config scheme
export interface CliConfig {
locale?: string;
board_manager?: RecursivePartial<BoardManager>;
directories?: RecursivePartial<Directories>;
logging?: RecursivePartial<Logging>;

View File

@@ -95,6 +95,7 @@ export class ConfigServiceImpl
downloadsDirUri,
sketchDirUri,
network,
locale,
} = config;
copyDefaultCliConfig.directories = {
data: FileUri.fsPath(dataDirUri),
@@ -104,6 +105,7 @@ export class ConfigServiceImpl
copyDefaultCliConfig.board_manager = {
additional_urls: [...additionalUrls],
};
copyDefaultCliConfig.locale = locale || 'en';
const proxy = Network.stringify(network);
copyDefaultCliConfig.network = { proxy };
const { port } = copyDefaultCliConfig.daemon;
@@ -214,7 +216,7 @@ export class ConfigServiceImpl
protected async mapCliConfigToAppConfig(
cliConfig: DefaultCliConfig
): Promise<Config> {
const { directories } = cliConfig;
const { directories, locale = 'en', daemon } = cliConfig;
const { data, user, downloads } = directories;
const additionalUrls: Array<string> = [];
if (cliConfig.board_manager && cliConfig.board_manager.additional_urls) {
@@ -229,6 +231,8 @@ export class ConfigServiceImpl
downloadsDirUri: FileUri.create(downloads).toString(),
additionalUrls,
network,
locale,
daemon,
};
}