Version 0.19.1 of package Sweeprolog has just been released in NonGNU ELPA.
You can now find it in M-x list-packages RET.
Sweeprolog describes itself as:
===================
Embedded SWI-Prolog
===================
More at https://elpa.nongnu.org/nongnu/sweeprolog.html
## Summary:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SWEEP: SWI-PROLOG EMBEDDED IN EMACS
Eshel Yaron
me@eshelyaron.com
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This manual describes the Emacs package Sweep (or `sweeprolog.el'),
which provides an embedded SWI-Prolog runtime inside of Emacs.
Table of Contents
─────────────────
## Recent NEWS:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SWEEP NEWS – HISTORY OF USER-VISIBLE CHANGES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This file contains the release notes for Sweep, an embedding of
SWI-Prolog in Emacs.
For further details, please consult the manual:
[https://eshelyaron.com/sweep.html].
[https://eshelyaron.com/sweep.html] <https://eshelyaron.com/sweep.html>
Version 0.19.1 on 2023-06-14
════════════════════════════
New user option `sweeprolog-predicate-visible-p-function'
─────────────────────────────────────────────────────────
This option specifies a function that is used for filtering completion
candidates in commands that prompt for a predicate. By default, it is
set to a function that hides predicates whose functor begin with the
character `$'.
Further improvements in DCG support
───────────────────────────────────
DCG completion at point argument names
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
Sweep is now able to use the argument names from the documentation of
DCG grammar rules to give more indicative names for holes when
completing a DCG invocation.
Documenting DCGs with `C-c C-d'
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
The command `sweeprolog-document-predicate-at-point' (`C-c C-d') now
correctly handles documenting DCG grammar rules.
Minor code simplifications and bug fixes
────────────────────────────────────────
Version 0.19.0 on 2023-06-08
════════════════════════════
Greatly improved support for DCG grammar rules
──────────────────────────────────────────────
This version includes an overhaul of Sweep’s treatment of DCG grammar
rules. Crucially, commands that suggest the predicate at point as a
default option now correctly recognize and format grammar rules as
such. Furthermore, `sweeprolog-describe-predicate' now correctly
displays the documentation for grammar rules.
Bug fix in `context-menu-mode' integration
──────────────────────────────────────────
In previous versions, Sweep would change the global value of
`context-menu-functions' which caused non-Prolog buffers to be
analyzed as such. This was never intended, and now Sweep only changes
`context-menu-functions' locally in Prolog buffers.
Version 0.18.4 on 2023-06-06
════════════════════════════
Highlighting and tooltip info for string-style DCG terminals
────────────────────────────────────────────────────────────
Sweep now highlights and annotates DCG terminals written as quoted
strings in grammar rule definitions.
Improved exporting of DCG non-terminals
───────────────────────────────────────
The command `sweeprolog-export-predicate' now exports DCG
non-terminals as such, using the `F//N' notation, instead of `F/N+2'.
Version 0.18.3 on 2023-06-01
════════════════════════════
Semantic highlighting and tooltip info for declaration options
──────────────────────────────────────────────────────────────
Sweep now highlights declaration options, such as the `volatile'
keyword in the following definition:
┌────
│ :- dynamic foo/1 as volatile.
└────
Declaration options use the new face `sweeprolog-declaration-option'.
Furthermore, Sweep now adds the `help-echo' property to declaration
options, providing additional information about specific declarations
on hover.
Backward compatibility for `sweeprolog-make-example-usage-comment'
──────────────────────────────────────────────────────────────────
The new command `sweeprolog-make-example-usage-comment', added to
Sweep in version 0.18.2, can now be used also with Emacs 27. (The
prior version of this command relied on an Emacs function that has
only been introduced in Emacs 28.)
Version 0.18.2 on 2023-05-30
════════════════════════════
New command `sweeprolog-make-example-usage-comment'
───────────────────────────────────────────────────
This command, bound to `C-c C-%' in `sweeprolog-mode' buffers, lets
you capture and insert top-level interaction logs demonstrating your
code’s usage as source code comments. See the new “Example Usage
Comments” in the manual for more details.
Version 0.18.1 on 2023-05-26
════════════════════════════
Support for SWI-Prolog’s new macros mechanism
─────────────────────────────────────────────
SWI-Prolog recently introduced a new mechanism for using macros,
implemented in `library(macros)'. Sweep now provides semantic
highlighting and tooltip information for these macros, as well as a
new command `sweeprolog-expand-macro-at-point' for replacing macro
invocations with their replacements in source buffers.
Fixed issue with tokenization of adjacent distinct operators in Elisp
─────────────────────────────────────────────────────────────────────
Version 0.18.0 on 2023-05-24
════════════════════════════
Faster predicate completion in large projects
─────────────────────────────────────────────
Completing predicates in `sweeprolog-mode' buffers now pre-filters …
…