Maktaba: A Plugin API by Google

Android and iOS are amazing, but you know what kind of sucks? Xcode, Eclipse, and Android Studio! If you've ever developed iOS projects, you'll have wasted countless hours dealing with Xcode build configuration issues, or struggled with Xcode crashing. Faced with these demanding development environments, going back to Vim feels like a breath of fresh air. Everything is made of concrete text files and cold-hard logs, instead of the ambiguity of a GUI that dramatically changes between releases.

When I saw Maktaba, released through Google's GitHub repository, I was surprised -- a Vim project from Google? It turns out Maktaba is a library for Vim plugin authors. It's written by Nathaniel Soares, and was only just released so there are only two contributors so far. I expect this number to increase if it really does streamline plugin development, and Nathaniel can get people using it.

If you've ever dabbled with Vim script you'll know it has its quirks. Maktaba provides a framework that helps bring some sensible conventions to plugin authoring:

For plugin authors, maktaba provides two things:

  1. Conventions and tools for writing consistent plugins. These conventions allow your plugins to use a dependency manager and the maktaba configuration tools. See plugin.vroom for details.

  2. A number of utility functions that help you avoid the pitfalls of vimscript. Vimscript is a finicky language with many gotchas. Some functionality depends upon the end user's settings. Maktaba helps you avoid these pitfalls and write portable plugins. See other vroom files in this directory for details.

There's even some support for tests, but it's basic for now. It includes features for overriding and restoring autoloaded functions and 'runtime'.

blog comments powered by Disqus