git clone 'git://github.com/flexibeast/picolisp-mode.git'
Author: Alexis mailto:email@example.com
picolisp-mode provides a major mode for PicoLisp programming.
This package is not based on, nor connected with, the PicoLisp support for Emacs provided in the PicoLisp distribution, or the more recently updated version of that support. At this stage, the main advantages provided by this package are:
an actively maintained and supported system;
access to the PicoLisp reference documentation, including via ElDoc;
basic Imenu support;
ease of customisability; and
a cleaner codebase.
Syntax highlighting of PicoLisp code. (But please read the below note on syntax highlighting.)
pil REPL buffers.
Quick access to documentation for symbol at point.
Install picolisp-mode from MELPA, or put the
picolisp-mode folder in your load-path and do a
Enable syntax highlighting for a PicoLisp source buffer with M-x picolisp-mode.
pil REPL session with M-x picolisp-repl or, from a
picolisp-mode buffer, with C-c C-r (
Access documentation for the function at point with C-c C-d (
picolisp-describe-symbol). By default, documentation will be displayed via the
lynx HTML browser. However, one can set the value of
picolisp-documentation-method to either a string containing the absolute path to an alternative browser, or - for users of Emacs 24.4 and above - to the symbol
picolisp--shr-documentation; this function uses the
shr library to display the documentation in an Emacs buffer. The absolute path to the documentation is specified via
picolisp-documentation-directory, and defaults to
ElDoc support is available; note, however, that documentation is not yet accessible for some symbols - in particular, the
c[ad]*ar functions - due to edge-cases in the reference documentation structure.
Comment a region in a
picolisp-mode buffer with C-c C-; (
picolisp-comment-region); uncomment a region in a
picolisp-mode buffer with C-c C-: (
picolisp-uncomment-region). By default one ‘#’ character is added/removed; to specify more, supply a numeric prefix argument to either command.
Indent a region in a
picolisp-mode buffer with C-c M-q (
picolisp-indent-region). Indentation is done via the
pilIndent script provided with the current PicoLisp distribution; the path to the script is specified via the
SLIME users should read the below note on SLIME.
The various customisation options, including the faces used for syntax highlighting, are available via the
PicoLisp's creator is opposed to syntax highlighting of symbols in PicoLisp, for good reasons. However, some - such as the author of this package! - feel that, even taking such issues into consideration, the benefits can outweigh the costs. (For example, when learning PicoLisp, it can be useful to get immediate visual feedback about unintentionally redefining a PicoLisp ‘builtin’.) To accommodate both views, syntax highlighting can be enabled or disabled via the
picolisp-syntax-highlighting-p variable; by default, it is set to
The design of SLIME is such that it can override
picolisp-mode functionality. (The documentation for
picolisp--disable-slime-modes provides details.) The user-customisable variable
picolisp-disable-slime-p specifies whether to override these overrides, and defaults to
pilIndent in Emacs Lisp, make available as a fallback when
pilIndent is not available.
Fix misalignment of single-‘#’ comments upon newline.
Handle edge-cases in reference documentation structure:
picolisp--eldoc-function fails on e.g.
If you discover an issue or bug in
picolisp-mode not already noted:
as a TODO item, or
please create a new issue with as much detail as possible, including:
which version of Emacs you're running on which operating system, and
how you installed
GNU General Public License version 3, or (at your option) any later version.
picolisp-mode.el by el2markdown.