Hi all,
PicoLisp now supports Bash completion.

While it not precisely the absolute killer-feature, bash completion is
quite handy when developing PicoLisp applications from the shell command

If you like to try it, you could simply 'apt-get' it in Debian sid
(wheezy in about 10 days).

If Debian is not available, you can also install a local current
PicoLisp release, and copy two files

   cp lib/complete.l /usr/lib/picolisp/lib/
   cp lib/bash_completion /etc/bash_completion.d/pil

As ever, source . /etc/bash_completion in your .bashrc

Per default, if you hit the TAB key during command line input, Bash
completes things it knows about, like commands and path names.

PicoLisp -- in addition to normal path/file name arguments -- accepts
two particular types of arguments:

1. If the argument's first character is '-', then the rest of that
   argument is taken as a Lisp function call (without the surrounding

2. If the argument's first character is '@', then it is interpreted as a
   path into the interpreter's installation directory.

For (1), the expansion actually searches all built-in function names of
the given invocation. For example, entering

   $ pil -ver

and then hitting TAB will expand to "-version".

The expansion also honors single or double quotes, to allow for function

   $ pil -'pri


   $ pil -"pri

This expands to the printing functions.

For (2), the intended path name is properly expanded. This works
regardless of whether it is a global or a local installation, as it
always searches the invoked interpreter's environment.

   $ pil @lib/xh


   $ <somePath>/pil @lib/xh

both will expand to "@lib/xhtml.l".

As an extra goody, an empty argument expands to '+' (the trailing debug
flag -- perhaps the most often needed command line argument).

- Alex
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to