Hi there! I wrote FileDiffs, so I feel compelled to answer these questions, but my answer is generic.
There are many ways a plugin can make expose its commands. The most basic is to simply provide the classes and let the user figure it out. Not very helpful, but if the developer is busy, this is all youāre gonna get.
Next, and you can provide a .sublime-commands file that will add the commands to the ācommand paletteā (ctrl+shift+P I think). This is good because it provides a place for users to look up the important commands and, hopefully, the argument syntax if the command has some optional arguments. I usually provide these files, and indeed FileDiffs does have one.
Next, you can (but I donāt) provide .sublime-keymap files. I frown on providing these, though, because I hold key bindings as āoff limitsā. I like mine, I donāt expect you to. However! I always include a file called Example.sublime-keymap
, which can be copied into your keymap file.