https://github.com/flexibeast/picolisp-mode.git
git clone 'git://github.com/flexibeast/picolisp-mode.git'
Author: Alexis mailto:flexibeast@gmail.com
URL: https://github.com/flexibeast/picolisp-mode
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.)
Comint-based 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 (require 'picolisp-mode).
Enable syntax highlighting for a PicoLisp source buffer with M-x picolisp-mode.
Start a pil REPL session with M-x picolisp-repl or, from a picolisp-mode buffer, with C-c C-r (picolisp-repl).
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 /usr/share/picolisp/doc/.
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 picolisp-pilindent-executable variable.
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 customize-group.
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 t (enabled).
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 t.
Implement 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-describe-symbol failures;
picolisp--eldoc-function fails on e.g. c[ad]*ar.
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 picolisp-mode.
GNU General Public License version 3, or (at your option) any later version.
—
Converted from picolisp-mode.el by el2markdown.