Version 0.18.4 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 m...@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.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 candidates based on the text around point, making the entire process much faster in large projects with many defined predicates. Removed the `-face' suffix from names of defined faces ────────────────────────────────────────────────────── Sweep defines many faces for highlighting different kinds of text. In prior versions, these faces were given names such as `sweeprolog-foo-face'. This version removes the redundant `-face' suffix from all face names. (So the same face would now be called simply `sweeprolog-foo'.) Version 0.17.0 on 2023-02-16 ════════════════════════════ New user option `sweeprolog-dependency-directive' ───────────────────────────────────────────────── This user option determines the preferred Prolog directive to use in `sweeprolog-update-dependencies' for adding new explicit dependencies in the buffer. See the documentation for possible values. Modified formatting of added dependency directives ────────────────────────────────────────────────── The format `sweeprolog-update-dependencies' uses for new dependency is modified to be more concise and similar to the format used by the corresponding command of the SWI-Prolog built-in editor. Mode line indication for loaded buffers ─────────────────────────────────────── Buffers in `sweeprolog-mode' now display an indication in the mode line if they are loaded into the current SWI-Prolog runtime. New commands for managing breakpoints ───────────────────────────────────── This version includes new commands for setting and removing breakpoints `sweeprolog-mode' buffers. See the new “Setting Breakpoints” manual section for more information. Minor bug fix in `sweeprolog-beginning-of-top-term' ─────────────────────────────────────────────────── … …