KeyBindingReport is a Sublime Text Package that produces a wide variety
of reports about the current state of Sublime Text key bindings on the
system it is running on.


What You Can Do, and the Reports that Support It
------------------------------------------------

- Find out what key binding is failing to do what is expected.  Say you hit the
  [Enter] key and nothing happens.  Right then and there (without moving your cursor
  in the file you are editing), run `Tools > Key Binding Report > Other Reports >
  Which Binding?`, fill in "enter", hit [Enter] twice to find the binding on your
  current platform taking the current context into consideration.  It will tell you
  immediately what binding Sublime Text was trying to use.  (Most likely signals a
  missing command in the run-time environment, which you can then take action on to
  remedy.)

  Pre-Built reports that do this:

  - Which Binding? Report

- Find out what key conflicts that are in your installation
  that you didn't already know about.

  Pre-Built Reports that Do This:

  - Key-Binding Overrides
  - Key-Binding Overrides (in Current Context)

- Find out what key combinations are available for your Plugin
  or other customization(s).

  Pre-Built Reports that Do This:

  - <key group> for All Installed Packages
    (There are 7 key groups.)
  - All Key Combinations for All Installed Packages
  - All Key Combinations for All Installed Packages (Separate Tables)
    (Tables are separated by key groups.)

- Find out the names of all keys (including modifier keys) that
  currently having bindings in your Sublime Text installation,
  including how many times each key was used in a binding.

  Pre-Built Reports that Do This:

  - Keys Used Report (Current Platform)

- Find out all key combinations that have no key bindings.

  Pre-Built Reports that Do This:

  - Keys Available Report (Current Platform)

- Find out what key binding Sublime Text is choosing for a given key
  combination in a given editing context. Editing contexts can also
  include when the caret is in a text box in a Panel (e.g. one of the
  Find Panels) or in an Overlay (e.g. Command Palette).

  Pre-Built Reports that Do This:

  - Which Binding? Report

- If you're not already an expert at interpreting key binding "context"
  entries, the natural-language descriptions of key-binding "context"
  entries can speed your understanding of what they mean.

- Each report is headed by its specification so you can see what
  arguments generated it.  This is helpful for running your own
  custom versions of each report to focus on your specific needs.

- Run custom versions of each report from your own Plugins.  You can:

  - focus on specific key groups (`key_groups` argument);
  - focus on specific keys (`key_names` argument);
  - focus on specific key combinations (`keypress_list` argument);
  - limit search to a specified list of Packages (`limit_to_packages` argument);
  - limit search to take current editing context into account;
  - specify what format you want from a list of 4 formats;
  - include or exclude different columns in the report;
  - include or exclude different pieces of information in the report,
    including raw (untranslated) and natural-language context descriptions;
  - simulate being on other platforms (e.g. testing OSX key bindings
    from a Windows system);
  - optionally send reports to text files (configurable).


Overview
--------

All reports that come with this Package are accessible through the
Command Palette and begin with "KeyBindingReport: ...".  Menu option

  Tools > KeyBindingReport > All KeyBindingReport Commands

takes you to the Command Palette with that prefix already entered,
filtering the list to just those Commands.

Also, most pre-built reports are available via menu:

  Tools > KeyBindingReport > <format> > <pkg filter> > ...

  or

  Tools > KeyBindingReport > Other Reports > ...


Quick Start
-----------

Review the README to learn how to use it (Usage and Settings sections)
and enjoy!


Problems?
---------

If you encounter any problems with KeyBindingReport, or think that it
can be improved to make your work easier, please log an issue with
the KeyBindingReport issue tracker:

    https://github.com/vwheeler63/KeyBindingReport/issues
