This allows both a more fine-grained and more flexible control over where
templates can be located and which templates are suppoed to be used for the item
at point. This function could also be bound to a custom key binding to make it
easier to invoke.