Another Devember draws to a close

As the last hours (literally) of Devember draw to a close, the last commits are in and pushed up to the devember-2017 repository. From this point forward, the development focus for hyperhelp and SnAPI will revert back to their respective dedicated repositories, and a new repository for HyperHelpAuthor will be created. Look for the changes made during Devember to be pushed over to those repositories in the coming days.

For changes made today, the bulk was the addition of some more core hyperhelp help, covering the settings and commands that are currently provided, as well as some extra changes to clean up all but one lint error on the existing help system. The final parts of the help still left to do are the description of the index file format and all of it’s components, along with some extra information on help authoring.

Along the way I also added in some small code changes:

  • Topics in externals are now allowed to have aliases, so that things like package files and URL’s can be referenced by more than one name.
  • The hyperhelp_current_help command was clarified using the current_help_package API call that was added after it was created, and it can now take as optional arguments the text to use for its caption.
  • Authoring key bindings for inserting literal tabs as spaces in constructs that need them were expanded to include key bindings and pushed to Windows/MacOS as well (previously they were only available on Linux).
  • Implement a new SnAPI command.

The last of these changes may bear a little explanation. Previously the key binding for SnAPI would open the help index for that package, allowing you to easily zero in on the help you require. The new command does this, but also has a little bit of extra power.

If you invoke the key while you’re within a python file, the selected text (or word under the cursor, if there’s no selection) is used as a potential help topic.If there is a topic with this text, it’s displayed immediately. Otherwise the help index is displayed as usual, but the text grabbed from the buffer is used as the initial filter text in the quick list. This allows you to easily look up help for something that you’ve already doing, look up help for view or window, and so on.

In my usual tradition, in a few days there will be one follow up post mortem development log to synopsize how the project went.

If you followed along this year and you’re a Sublime Text user, you may want to follow development of this code in the respective repositories, which you can find on my GitHub Profile. There are existing repositories for previous versions of these projects, but sometime in the next day or two the code from the Devember repository will be merged across and development will continue in the respective repositories.

For now, I shall sign off this last 2017 devlog entry and thank everyone who came along for the ride this year. I hope everyone had a good 2017 and will have an even more epic 2018!