library to output formatted text on ANSI-compliant terminals
cl-charms is a set of CFFI bindings for libcurses (ncurses), a GUI-like console library. It began as more or less a port of cl-ncurses from using the less-portable UFFI system to using CFFI.cl-charms is maintained by Robert Smith and Mark Fedurin, and was initially developed by Abhishek Reddy. It is licensed under an MIT-style license.
An interface to the ncurses and pdcurses console user interface libraries for Common Lisp.Bug-reports and tests very appreciated.You can visit CL-Ncurses's home page for more details and release notes.I'll mention that ncurses is a version of curses, just so that people who search for "curses" will find this page. For the same reason, let me mention that this package could have been named cl-curses (especially since it's no longer ncurses-specific).cl-ncurses uses UFFI which is much less portable than CFFI, for foreign bindings. Consider cl-charms or croatoan which provide CFFI bindings to curses.
Common Lisp bindings to GNU Readline library
Common Lisp bindings for the ncurses terminal library.
Linedit is a portable line-editing console library for Common Lisp.Successor to cl-readline.More information on
Linedit homepage.New in release 0.16:
Should work on Lispworks and OpenMCL/CCL.
Bug-reports appreciated. Patches appreciated even more.
Well, submitting bugs and patches is not allowed at all without having a pre-existing gitlab account, there's no apparant way to get a gitlab account, and the mailing list link leads to a 404 page not found, so perhaps bug-reports and patches aren't all that appreciated after all. But maybe you meant submitting bug reports on the page here? I can do that!This is for SBCL 1.2.10 on Arch Linux, readline library version 6.3
pressing "Up-arrow" introduces garbage binary data to the input, if you are at the beginning of input history. Checking whether you are at the beginning of a list is pretty basic stuff... so this package should probably do that.
I don't know why I was having trouble with end-of-file conditions. It started working for some reason, ctrl-d and it prompts and lets me exit.
Might offer some patches later, but of course I can't send them to common-lisp.net without a gitlab account.
-- cyInstalling Linedit as REPL for SBCL without disturbing ILISP or SLIME requires some tweaking:In your .sbclrc:
;;; Check for --no-linedit command-line option.
(if (member "--no-linedit" sb-ext:*posix-argv* :test 'equal)
(remove "--no-linedit" sb-ext:*posix-argv* :test 'equal))
(when (interactive-stream-p *terminal-io*)
(funcall (intern "INSTALL-REPL" :linedit) :wrap-current t)))
And then in your .emacs:
(setq inferior-lisp-program "sbcl --noinform --no-linedit")
You might also want to add :eof-quits t to the install-repl form.Another way is instead to say in your .sbclrc
(when (and (interactive-stream-p *terminal-io*)
(null (find-package 'swank)))
(funcall (intern "INSTALL-REPL" :linedit) :wrap-current t))
which doesn't require having a separate file for your ordinary initialization code. -- James A. CrippenHow do you make this second method work? I can't and don't see how since
SBCL by necessity processes its initfiles before it gets around loading swank. -- Nikodemus Siivola
minimalistic parser of command line arguments
A library to provide a well-behaved debug console.
Log4CL is high performance extensible logging library for Common Lisp
Home page: https://github.com/sharplispers/log4cl
Previous (abandoned) home page: https://github.com/7max/log4cl
Status Library is maintained by sharplispers at https://github.com/sharplispers/log4cl. Features
Modeled after Log4J with the familiar concepts such as log categories, appenders and layouts
No dependencies other then Bordeaux-threads
High performance implementation that minimizes consing, with benchmarking showing it faster then log4j in most cases.
Buffered and un-buffered stream appenders, console appender, file appender and daily rolling file appender with configurable name are all implemented. Auto-flushing of buffered appenders by background thread.
Automatic naming of log categories, so that a log statement that does
not specifically name a logger, appearing in a function SOME-PACKAGE:FOO inside of a local flet function BAR, will automatically log into the category SOME-PACKAGE:FOO:BAR
Appenders, layouts, and most everything else is implemented via CLOS,
and can be easily changed/extended/customized. Automatic log category naming
is also implemented via CLOS and can be specialized per-package, so packages
can implement their own custom naming options.
Easy/abbreviated configuration function for interactive REPL work, with several pre-defined "sane" configurations, as well as traditional log4j like configuration via properties file, with option to auto-reload on changes.
Pattern layout, with several enhancements, such as options to modify
separator and case (including invert) of log categories, for example one can print log category FOO:BAR:BAZ as foo--bar--baz
Multiple logging hierarchies support, with each having an completely
independent configuration with regards to log levels and appenders, suitable for example for virtual hosts.
Extensive test suite with over 400+ assertions.
Tested on SBCL, CCL, CLISP and LispWorks
A quick-start guide is provided in README.md file
Runtime for cl-launch
Common Lisp bindings for the Doryen Library (http://doryen.eptalys.net/libtcod/).
The Doryen Library is a "free, fast, portable and uncomplicated API for roguelike developers providing an advanced true color console, input, and lots of other utilities frequently used in roguelike games."
CLFSWM: Fullscreen Window Manager