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 line.
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 parentheses). 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 arguments: $ pil -'pri or $ 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 and $ <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). Cheers, - Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe