Description

Lightning is a commandline framework that lets users wrap commands with
shell functions that are able to refer to any filesystem path by its
basename. To achieve this, a group of paths to be translated are defined
with shell globs. These shell globs, known as a lightning bolt,
are then applied to commands to produce functions. In addition to
translating basenames to full paths, lightning functions can
autocomplete these basenames, resolve conflicts if they have the same name,
leave any non-basename arguments untouched, and autocomplete directories
above and below a basename. To make bolts shareable between users and
functions easier to create, lightning has generators. A
generator generates filesystem-specific globs for a bolt.
Lightning comes with some default generators. Users can make their own
generators with generator plugins placed under ~/.lightning/generators/.

Intro

Lightning generates shell functions which can interpret paths by their
basenames. So instead of carpal-typing

$ less /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/irb.rb

just type

$ less-ruby irb.rb

less-ruby is a lightning function which wraps `less` with the ability to
refer to system ruby files by their basenames. Being a lightning function,
it can also autocomplete system ruby files: