Vitag has proven useful enough to me that I’ve added a bit of polish and some new features. I do think this is going to end up being a RubyGem eventually for ease of install, but at this point still only requires a single script file to run.

The main new feature is that you can add a config file at ~/.vitagrc. It currently supports just one section called ‘alias’, but it’s handy if you use a consistent tagging system the way I do.

The config file just includes a section header and then k=v pairs:

[alias]
// comment...
#ar = #Archive

Formatting is loose; indentation is ignored, whitespace around separators (= and ,) is ignored, lines starting with // (after any indentation) are ignored. Anything before the = is an shorcut term, anything after becomes the tag(s) applied when the shortcut is found after saving a vitag file.

The above config file would allow me to change the tags on a file to [#ar,:systematic] and “#ar” would expand to “#Archive” before the tags were applied. An alias can also be expanded to two or more tags by separating with commas after the =, e.g. #as = #Archive,:systematic,podcast would expand “#as” in my tag file to all three tags when applying after save.

See the Vitag project page for updates and more info.

I also started working on a class in a separate file that will scan full hierarchies for all tags in use, then rank them by the number of files they’re each used on. It’s headed toward a tag-suggestion and cleaning set of tools, but isn’t implemented anywhere yet. Feel free to play with it if you like.