<?xml version="1.0" encoding="UTF-8"?>
<!--

    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.

-->
<!DOCTYPE bindings PUBLIC "-//NetBeans//DTD Editor KeyBindings settings 1.1//EN" "http://www.netbeans.org/dtds/EditorKeyBindings-1_1.dtd">

<!--
    IMPORTANT:  This file modifies keybindings from Emacs-keybindings.xml to make them work on Mac OS.
-->

<bindings>
    
    <!-- Things we add that replace standard keybindings -->
    <bind key="CO-G" remove="true"/>
    <bind key="CM-G" actionName="goto-declaration"/>
    
    <bind key="O-D" remove="true"/>
    <bind key="M-D" actionName="remove-word-next"/>
    
    <bind key="O-W" remove="true"/>
    <bind key="M-W" actionName="copy-to-clipboard"/>

    <bind key="O-G$G" remove="true"/>
    <bind key="O-G$O-G" remove="true"/>
    <bind key="M-G$G" actionName="goto"/>
    <bind key="M-G$M-G" actionName="goto" />
    
    <bind key="O-V" remove="true"/>
    <bind key="M-V" actionName="page-up"/>
    
    <bind key="O-P" remove="true"/>
    <bind actionName="tooltip-show" key="M-P"/>
    
    <bind key="O-B" remove="true"/>
    <bind actionName="caret-previous-word" key="M-B"/>
    
    <bind key="O-F" remove="true"/>
    <bind actionName="caret-next-word" key="M-F"/>

    <bind key="O-S" remove="true"/>
    <bind actionName="find-next" key="M-S"/>

    <!-- Things we add only on the mac -->
    <bind key="C-P" actionName="caret-up"/>
    <bind key="C-W" actionName="cut-to-clipboard"/>
    <bind key="C-D" actionName="delete-next"/>
    <bind key="C-V" actionName="page-down"/>
    <bind key="M-UP" actionName="page-up"/> <!-- macbook support -->
    <bind key="M-DOWN" actionName="page-down"/> <!-- macbook support -->
    
</bindings>
