<?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 Idea-keybindings.xml to make them work on Mac OS.
-->

<bindings>
    <!-- Things we add that replace standard keybindings -->
    
    <bind key="F3" remove="true"/>
    <bind key="M-G" actionName="find-next"/> 
    
    <bind key="S-F3" remove="true"/>
    <bind key="MS-G" actionName="find-previous"/> 
    
    <bind key="C-HOME" remove="true"/>
    <bind actionName="caret-begin" key="M-UP"/>

    <bind key="C-END" remove="true"/>
    <bind actionName="caret-end" key="M-DOWN"/>

    <bind key="C-LEFT" remove="true"/>
    <bind key="A-LEFT" actionName="caret-previous-word"/> 
    
    <bind key="C-RIGHT" remove="true"/>
    <bind key="A-RIGHT" actionName="caret-next-word"/> 

    <bind key="C-DELETE" remove="true"/>
    <bind actionName="remove-word-next" key="A-DELETE"/>

    <bind key="C-BACK_SPACE" remove="true"/>
    <bind actionName="remove-word-previous" key="A-BACK_SPACE"/>

    <bind key="CS-LEFT" remove="true"/>
    <bind key="AS-LEFT" actionName="selection-previous-word"/>

    <bind key="CS-RIGHT" remove="true"/>
    <bind key="AS-RIGHT" actionName="selection-next-word"/>
        
    <bind key="O-I" actionName="generate-code"/>
    
    <!-- Things we add only on the mac -->
    
    <bind actionName="selection-begin-line" key="MS-LEFT"/>
    <bind actionName="selection-end-line" key="MS-RIGHT"/>
    <bind actionName="caret-end-line" key="M-RIGHT"/>
    <bind actionName="caret-begin-line" key="M-LEFT"/>

    <!-- Things we remove on Mac -->
    
    <!-- remove Ctrl-INSERT on Mac (no INSERT on Mac keyboard)-->
    <bind key="O-INSERT" remove="true"/>
    
</bindings>
