Linedit

latest version 0.16.1

Linedit is a readline-style library written in Common Lisp that provides customizable line-editing features, licensed under a MIT-style license.

Linedit uses UFFI for foreign bindings, so it is a least theoretically portable, though REPL-wrapping is currently SBCL specific.

Features

Note

Linedit version 0.15.12 and later require Osicat 0.4.0 or later.

Installation

If you have asdf-install, just:

CL-USER(1): (require :asdf-install)
...
CL-USER(2): (asdf-install:install :linedit)
...select restarts as approriate...

Linedit can manually be downloaded from here: linedit_latest.tar.gz .

There is also anonymous CVS and ViewCVS .

Installing Linedit at the REPL from .sbclrc

;;; Check for --no-linedit command-line option.
(if (member "--no-linedit" sb-ext:*posix-argv* :test 'equal)
    (setf sb-ext:*posix-argv* 
	  (remove "--no-linedit" sb-ext:*posix-argv* :test 'equal))
    (when (interactive-stream-p *terminal-io*)
      (require :sb-aclrepl)
      (require :linedit)
      (funcall (intern "INSTALL-REPL" :linedit) :wrap-current t)))

Additionally, to prevent Linedit from causing trouble with Slime, in your .emacs:

(setq inferior-lisp-program "sbcl --noinform --no-linedit")

Terminfo note

Linedit uses terminfo.lisp by Paul Foley, which is currently kept mirrored in the Linedit CVS.

The terminfo interface is distributed available as a separate asdf-installable bundle: Terminfo.

Contact

Questions, feature requests, and bug-reports are welcome on linedit-devel.


Valid XHTML 1.1! Valid CSS!