| <?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 |
| defaultsTo="org.eclipse.jface.textfont" |
| id="terminal.views.view.font.definition" |
| label="%terminal.font.label"> |
| <description> |
| %terminal.font.description |
| </description> |
| </fontDefinition> |
| </extension> |
| |
| <!-- Theme contributions --> |
| <extension point="org.eclipse.e4.ui.css.swt.theme"> |
| <stylesheet |
| uri="css/org.eclipse.tm.terminal.stylesheet.dark.css"> |
| <themeid refid="org.eclipse.e4.ui.css.theme.e4_dark"/> |
| </stylesheet> |
| </extension> |
| |
| </plugin> |