mirror of
https://github.com/arduino/arduino-ide.git
synced 2025-11-11 11:19:26 +00:00
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:
@@ -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>();
|
||||
|
||||
@@ -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>;
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user