1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-02 22:05:44 +02:00
cdt/terminal/plugins/org.eclipse.tm.terminal.control/plugin.xml
Jonah Graham d6818fbb03 Bug 549697: Define standard terminal colors with Eclipse preferences
New types TerminalColor and TerminalStyle replace StyleColor and Style
to separate the meta information about styles and colors from the
user currently selected colors.

The StyleMap maps the TerminalColor/Style to the concrete fonts and
colors used in the display.

Colors are now configurable via the terminal preference page using
the new TerminalColorsFieldEditor.

All preferences are now passed in to the VT100 control so that
different terminal consumers can have different preferences and
styles.

Remove dark theme contribution. The colors of the terminal are
now inherited from the editor settings (using SystemDefaultColors)
which come from the theme. If we were to invert colors
too when in Dark theme then the colors actually end up light
background.

Change-Id: I2cf5427ac0be9a189a7f0d3565cfc97ceedb8749
2020-08-03 17:28:59 -04:00

278 lines
12 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
# Copyright (c) 2006, 2018 Wind River Systems, Inc. and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
#
# Contributors:
# Michael Scharf (Wind River) - initial API and implementation
# Martin Oberhuber (Wind River) - fixed copyright headers and beautified
# Michael Scharf (Wind River) - [237425] undefined tm.terminal command
# Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget
# Martin Oberhuber (Wind River) - [434294] Add Mac bindings with COMMAND
# Martin Oberhuber (Wind River) - [434487] Add key bindings for "maximize view" and "quick access"
# Martin Oberhuber (Wind River) - [434939] Fix Keybinding conflicts with JEE Luna package
-->
<plugin>
<extension-point id="connectors" name="%terminal.connectors.name" schema="schema/connectors.exsd"/>
<extension point="org.eclipse.ui.contexts">
<context
name="%terminal.context.name.terminal"
description="%terminal.context.description.terminal"
parentId="org.eclipse.ui.contexts.window"
id="org.eclipse.tm.terminal.TerminalContext"
/>
<context
name="%terminal.context.name.edit"
description="%terminal.context.description.edit"
parentId="org.eclipse.ui.contexts.window"
id="org.eclipse.tm.terminal.EditContext" />
</extension>
<extension point="org.eclipse.help.contexts">
<contexts file="HelpContexts.xml"/>
</extension>
<extension
point="org.eclipse.ui.commands">
<!-- Dummy commands for bindings, see below -->
<command
categoryId="org.eclipse.tm.terminal.category1"
id="org.eclipse.tm.terminal.command1"
name="%terminal.insertion.name"/>
<command
categoryId="org.eclipse.tm.terminal.category1"
id="org.eclipse.tm.terminal.copy"
name="%terminal.command.copy.name"/>
<command
categoryId="org.eclipse.tm.terminal.category1"
id="org.eclipse.tm.terminal.paste"
name="%terminal.command.paste.name"/>
<command
categoryId="org.eclipse.tm.terminal.category1"
id="org.eclipse.tm.terminal.maximize"
name="%terminal.command.maximize.name">
</command>
<command
categoryId="org.eclipse.tm.terminal.category1"
id="org.eclipse.tm.terminal.quickaccess"
name="%terminal.command.quickaccess.name"/>
<category
description="%terminal.view.insertion.description"
id="org.eclipse.tm.terminal.category1"
name="%terminal.insertion.category.name"/>
</extension>
<extension point="org.eclipse.help.contexts">
<contexts file="HelpContexts.xml"/>
</extension>
<extension
point="org.eclipse.ui.bindings">
<!--
These keybindings are needed to disable the menu-activation keys (e.g.,
Alt-F for the File menu, etc.). The code in method
TerminalControl.TerminalFocusListener.focusGained() disables the Eclipse key
binding service, but it doesn't disable the global menu-activation
keys.
-->
<key
commandId="org.eclipse.tm.terminal.command1"
contextId="org.eclipse.tm.terminal.TerminalContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="Alt+A"/> <!-- Search -->
<key
commandId="org.eclipse.tm.terminal.command1"
contextId="org.eclipse.tm.terminal.TerminalContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="Alt+B"/> <!-- Readline word-left: just to be safe -->
<key
commandId="org.eclipse.tm.terminal.command1"
contextId="org.eclipse.tm.terminal.TerminalContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="Alt+C"/> <!-- ClearCase, Extract Constant -->
<key
commandId="org.eclipse.tm.terminal.command1"
contextId="org.eclipse.tm.terminal.TerminalContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="Alt+D"/> <!-- Design, Diagram, Debug -->
<key
commandId="org.eclipse.tm.terminal.command1"
contextId="org.eclipse.tm.terminal.TerminalContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="Alt+E"/> <!-- Edit -->
<key
commandId="org.eclipse.tm.terminal.command1"
contextId="org.eclipse.tm.terminal.TerminalContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="Alt+F"/> <!-- File -->
<key
commandId="org.eclipse.tm.terminal.command1"
contextId="org.eclipse.tm.terminal.TerminalContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="Alt+G"/> <!-- Tar&get -->
<key
commandId="org.eclipse.tm.terminal.command1"
contextId="org.eclipse.tm.terminal.TerminalContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="Alt+H"/> <!-- Help -->
<key
commandId="org.eclipse.tm.terminal.command1"
contextId="org.eclipse.tm.terminal.TerminalContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="Alt+L"/> <!-- Ana&lyze -->
<key
commandId="org.eclipse.tm.terminal.command1"
contextId="org.eclipse.tm.terminal.TerminalContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="Alt+N"/> <!-- Navigate -->
<key
commandId="org.eclipse.tm.terminal.command1"
contextId="org.eclipse.tm.terminal.TerminalContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="Alt+P"/> <!-- Project, Papyrus, Ping -->
<key
commandId="org.eclipse.tm.terminal.command1"
contextId="org.eclipse.tm.terminal.TerminalContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="Alt+R"/> <!-- Run -->
<key
commandId="org.eclipse.tm.terminal.command1"
contextId="org.eclipse.tm.terminal.TerminalContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="Alt+S"/> <!-- Source -->
<key
commandId="org.eclipse.tm.terminal.command1"
contextId="org.eclipse.tm.terminal.TerminalContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="Alt+T"/> <!-- Refactor -->
<key
commandId="org.eclipse.tm.terminal.command1"
contextId="org.eclipse.tm.terminal.TerminalContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="Alt+V"/> <!-- CVS -->
<key
commandId="org.eclipse.tm.terminal.command1"
contextId="org.eclipse.tm.terminal.TerminalContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="Alt+W"/> <!-- Window -->
<key
commandId="org.eclipse.tm.terminal.command1"
contextId="org.eclipse.tm.terminal.TerminalContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="Alt+Y"/> <!-- S&ystem -->
<!--
For Copy and Paste, we need replacements since the default Ctrl+C / Ctrl+V
need to go to the terminal and thus are not available for local Copy and Paste.
This is not an issue on Mac, where COMMAND+C / COMMAND+V works fine.
We add both CTRL+INSERT and CTRL+SHIFT+C since on some keyboards, an INSERT key
may not be available. Note: we want the "least surprising" and "most available"
of all bindings to be shown in the context menu according to the algorithm in
IBindingService#getBestActiveBindingFor().
Therefore, we do not want these extra bindings to be shown on the Mac.
Unfortunately, there is no way in Bindings to say "NOT Platforms X,Y,Z"
We would really like one of the following here but it doesnt work with Eclipse 4.3:
platforms="!carbon,!cocoa"
platforms="win32,motif,gtk,photon,wpf"
Since Eclipse doesnt support this, we will redefine the original Mac bindings below,
just to make them show up in the context menu.
-->
<key
commandId="org.eclipse.tm.terminal.copy"
contextId="org.eclipse.tm.terminal.EditContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="M1+INSERT"/><!-- Ctrl+Insert -->
<key
commandId="org.eclipse.tm.terminal.copy"
contextId="org.eclipse.tm.terminal.EditContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="M1+M2+C"><!-- Ctrl+Shift+C -->
</key>
<key
commandId="org.eclipse.tm.terminal.paste"
contextId="org.eclipse.tm.terminal.EditContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="M2+INSERT"/><!-- Shift+Insert -->
<key
commandId="org.eclipse.tm.terminal.paste"
contextId="org.eclipse.tm.terminal.EditContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="M1+M2+V"/><!-- Ctrl+Shift+V -->
<!--
Mac shortcuts need to be redefined with Platform Filter, in order to make
them "better" than the bindings above and thus show up in the menu.
See the algorithm in IBindingService#getBestActiveBindingFor().
It looks like the "carbon" entry is also valid for "cocoa" automatically.
-->
<key
commandId="org.eclipse.tm.terminal.copy"
contextId="org.eclipse.tm.terminal.EditContext"
platform="carbon"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="M1+C">
</key>
<key
commandId="org.eclipse.tm.terminal.paste"
contextId="org.eclipse.tm.terminal.EditContext"
platform="carbon"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="M1+V"/>
<!--
Additional Bindings for Quick Access (Ctrl+3) and Maximize View (Ctrl+M)
since these are extremely valuable, but the original shortcut may need
to go to the Terminal.
-->
<!-- org.eclipse.ui.window.quickAccess -->
<key
commandId="org.eclipse.tm.terminal.quickaccess"
contextId="org.eclipse.tm.terminal.EditContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="M3+ARROW_RIGHT"/>
<!-- org.eclipse.ui.window.maximizePart -->
<key
commandId="org.eclipse.tm.terminal.maximize"
contextId="org.eclipse.tm.terminal.EditContext"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="M3+ARROW_UP"/>
</extension>
<extension point="org.eclipse.ui.preferencePages">
<page
name="%terminal.preferences.name"
class="org.eclipse.tm.internal.terminal.preferences.TerminalPreferencePage"
id="org.eclipse.tm.terminal.TerminalPreferencePage">
</page>
</extension>
<extension point="org.eclipse.core.runtime.preferences">
<initializer class="org.eclipse.tm.internal.terminal.preferences.TerminalPreferenceInitializer"/>
</extension>
<extension point="org.eclipse.ui.themes" id="terminal.font">
<fontDefinition
categoryId="terminal.views.theme.category"
defaultsTo="org.eclipse.jface.textfont"
id="terminal.views.view.font.definition"
label="%terminal.font.label">
<description>
%terminal.font.description
</description>
</fontDefinition>
<themeElementCategory
id="terminal.views.theme.category"
label="%terminal.views.theme.category.label">
<description>
%terminal.views.theme.category.description
</description>
</themeElementCategory>
</extension>
</plugin>