Either be a reference to an existing color or a color value as a hex string, rgba, or hsla.
Define the action of the menu item, when specified the click
property will
be ignored. See roles.
Application configuration for the frontend. The following properties will be injected into the index.html
.
Configuration for the generator.
Copyright (C) 2017 TypeFox and others.
This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU General Public License, version 2 with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
Union of all possible key/value pairs for a type T
Typesafe schema-based preferences utility based on the PreferenceService. Can be used to get preferences as well as listen to preference changes.
See createPreferenceProxy on how to instantiate preference proxies.
preferences.onPreferenceChanged(({ preferenceName, newValue }) => { ... });
const enabled = preferences['myext.enabled'];
It provides bindings which are scoped per a connection, e.g. in order to allow backend services to access frontend service within the same connection.
const myConnectionModule = ConnectionContainerModule.create(({ bindFrontendService }) => {
bindFrontendService(myFrontendServicePath, MyFrontendService);
});
export const myBackendApplicationModule = new ContainerModule(bind => {
bind(ConnectionContainerModule).toConstantValue(myConnectionModule);
}
const myConnectionModule2 = ConnectionContainerModule.create(({ bind, bindBackendService }) => {
bind(MyBackendService).toSelf().inSingletonScope();
bindBackendService(myBackendServicePath, MyBackendService);
});
export const myBackendApplicationModule2 = new ContainerModule(bind => {
bind(ConnectionContainerModule).toConstantValue(myConnectionModule2);
}
@injectable()
export class MyBackendService {
@inject(MyFrontendService)
protected readonly myFrontendService: MyFrontendService;
}
Service for listening on backend connection changes.
This is the fallback keyboard layout selected when nothing else matches. It has an empty mapping, so user inputs are handled like with a standard US keyboard.
The default supported API version the framework supports.
The version should be in the format x.y.z
.
The default supported API version the framework supports.
The version should be in the format x.y.z
.
The window hash value that is used to spawn a new default window.
Electron-IPC-specific connection handler. Use this if you want to establish communication between the frontend and the electron-main process.
The default entrypoint will handle a very rudimentary CLI to open workspaces by doing app path/to/workspace
. To override this behavior, you can extend and rebind the
ElectronMainApplication
class and overriding the launch
method.
A JSON-RPC communication between the Electron Main Process and the Renderer Processes is available: You can bind services using the ElectronConnectionHandler
and
ElectronIpcConnectionProvider
APIs, example:
From an electron-main
module:
bind(ElectronConnectionHandler).toDynamicValue(context =>
new JsonRpcConnectionHandler(electronMainWindowServicePath,
() => context.container.get(ElectronMainWindowService))
).inSingletonScope();
And from the electron-browser
module:
bind(ElectronMainWindowService).toDynamicValue(context =>
ElectronIpcConnectionProvider.createProxy(context.container, electronMainWindowServicePath)
).inSingletonScope();
This token is unique the the current running instance. It is used by the backend to make sure it is an electron browser window that is connecting to its services.
The identifier is a string, which makes it usable as a key for cookies or similar.
Internal file icon class for the default (File Icons) theme.
Internal folder icon class for the default (File Icons) theme.
Copyright (C) 2021 STMicroelectronics and others.
This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU General Public License, version 2 with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
Clients can implement to get a callback for contributing widgets to a shell on start.
The class name added to the left and right area panels.
Bind components to this symbol to subscribe to WebSocket events.
We cannot load providers directly in the case if they depend on PreferenceService
somehow.
It allows to load them lazily after DI is configured.
Copyright (C) 2021 TypeFox and others.
This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU General Public License, version 2 with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
Menu path for tab bars used throughout the application shell.
Copyright (C) 2019 Xuye Cai and others.
This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU General Public License, version 2 with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
Search box factory.
Name of the channel used with ipcMain.on/emit
.
Clients should implement this interface if they want to contribute to the tab-bar toolbar.
Factory for instantiating tab-bar toolbars.
The tree model.
The tree selection service.
Copyright (C) 2020 TypeFox and others.
This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU General Public License, version 2 with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
Service for opening new browser windows.
Bind components to this symbol to filter WebSocket connections.
When a version is increased, make sure to introduce a migration (ApplicationShellLayoutMigration) to this version.
The default tree properties.
Copyright (C) 2018 Red Hat, Inc. and others.
This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU General Public License, version 2 with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
Copyright (C) 2021 Red Hat, Inc. and others.
This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU General Public License, version 2 with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
Copyright (C) 2021 TypeFox and others.
This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU General Public License, version 2 with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
IMPORTANT: don't use in tests, since it overrides console
Resolves after the next animation frame if no parameter is given, or after the given number of animation frames.
Helper function to bind a service to a list of contributions easily.
a Container or the bind function directly.
an already bound service to refer the contributions to.
array of contribution identifiers to bind the service to.
Exit the current process if the parent process is not alive. Relevant only for some OS, like Windows
the length of the common prefix of the two strings.
Helper to fully read a T stream into a T.
Helper to read a T stream up to a maximum of chunks. If the limit is reached, will return a stream instead to ensure all data can still be read.
Creates a preference proxy for typesafe preference handling.
the underlying preference service to use for preference handling.
the JSON Schema which describes which preferences are available including types and descriptions. Can be a promise.
configuration options.
the created preference proxy.
createPreferenceProxy
to make your preferences available wherever needed.See CorePreferences for an example.
Note that if schema
is a Promise, most actions will be no-ops until the promise is resolved.
Copyright (C) 2018 Ericsson and others.
This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU General Public License, version 2 with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
A function to allow a promise resolution to be delayed by a number of milliseconds. Usage is as follows:
const stringValue = await myPromise.then(delay(600)).then(value => value.toString());
the number of millisecond to delay
a function that returns a promise that returns the given value, but delayed
Copyright (C) 2021 Ericsson and others.
This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU General Public License, version 2 with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
const disableJSDOM = enableJSDOM();
// actions require DOM
disableJSDOM();
Determines if haystack ends with needle.
Escapes regular expression characters in a given string
Filter the list of quick pick items based on the provided filter. Items are filtered based on if:
label
satisfies the filter using fuzzy
.description
satisfies the filter using fuzzy
.detail
satisfies the filter using fuzzy
.
Filtered items are also updated to display proper highlights based on how they were filtered.the list of quick pick items.
the filter to search for.
the list of quick pick items that satisfy the filter.
Find match highlights when testing a word against a pattern.
the word to test.
the word to match against.
the list of highlights if present.
true
if the argument is an empty object. Otherwise, false
.
Parse a magnitude value (e.g. width, height, left, top) from a CSS attribute value.
Returns the given default value (or undefined) if the value cannot be determined,
e.g. because it is a relative value like 50%
or auto
.
Parse the number of milliseconds from a CSS time value. Returns the given default value (or undefined) if the value cannot be determined.
Helper to peek up to maxChunks
into a stream. The return type signals if
the stream has ended or not. If not, caller needs to add a data
listener
to continue reading.
Prevent browser back/forward navigation of a mouse wheel event.
resolves after a specified number of milliseconds
Helper to convert a T into a Readable
Helper to create a readable stream from an existing T.
Helper to transform a readable stream into another stream.
Throws when called and statically make sure that all variants of a type were consumed.
Counterpart of the #setRootLogger(ILogger)
. Restores the console.xxx
bindings to the original one.
Invoking has no side-effect if setRootLogger
was not called before. Multiple function invocation has
no side-effect either.
Constructs a promise that will resolve after a given delay.
the number of milliseconds to wait
Resolves when the given widget is detached and hidden.
Resolves when the given widget is hidden regardless of attachment.
Resolves when the given widget is attached and visible.
Application configuration for the backend.