
@binding-set default-ide-source-view
{
  bind "<ctrl>comma" { "action" ("app", "preferences", "") };
  bind "<ctrl>f" { "action" ("frame", "find", "") };
  bind "<ctrl>period" { "action" ("workbench", "global-search", "") };
  bind "<ctrl>n" { "action" ("workbench", "new-document", "") };
  bind "<ctrl>o" { "action" ("workbench", "open", "") };
  bind "<ctrl>s" { "action" ("view", "save", "") };
  bind "<ctrl><shift>s" { "action" ("view", "save-as", "") };
  bind "<alt><shift>Left" { "action" ("navigation", "go-backward", "") };
  bind "<alt><shift>Right" { "action" ("navigation", "go-forward", "") };
  bind "<ctrl>w" { "action" ("view", "close", "") };
  bind "<alt>period" { "goto-definition" () };

  /* cycle "tabs" */
  bind "<ctrl>Page_Up" { "action" ("view-stack", "previous-view", "") };
  bind "<ctrl>KP_Page_Up" { "action" ("view-stack", "previous-view", "") };
  bind "<ctrl>Page_Down" { "action" ("view-stack", "next-view", "") };
  bind "<ctrl>KP_Page_Down" { "action" ("view-stack", "next-view", "") };

  bind "F2" { "clear-selection" ()
              "movement" (previous-word-end, 0, 1, 1)
              "movement" (next-word-start, 0, 1, 0)
              "movement" (next-word-end, 1, 0, 1)
              "request-documentation" ()
              "clear-count" ()
              "clear-selection" () };
  bind "F4" { "action" ("view", "find-other-file", "") };
  bind "F6" { "action" ("view", "preview", "") };
  bind "F9" { "action" ("workspace", "toggle-sidebar", "") };

  bind "<alt>n" { "move-error" (down) };
  bind "<alt>p" { "move-error" (up) };

  bind "<ctrl>Return" { "action" ("workbench", "show-command-bar", "") };
  bind "<ctrl>KP_Enter" { "action" ("workbench", "show-command-bar", "") };
}

IdeSourceViewMode.default {
  gtk-key-bindings: default-ide-source-view;
}

